class PhusionPassenger::PlatformInfo::ApacheDetector
def detect_one(apxs2)
def detect_one(apxs2) log "<banner>Analyzing #{apxs2}...</banner>" add_result do |result| result.apxs2 = apxs2 log "Detecting main Apache executable..." result.httpd = PlatformInfo.httpd(:apxs2 => apxs2) if result.httpd if result.version = PlatformInfo.httpd_version(:httpd => result.httpd) log "Version detected: #{result.version}" else log "<red>Cannot detect version!</red>" result.httpd = nil end end if result.httpd log "Detecting control command..." result.ctl = PlatformInfo.apache2ctl(:apxs2 => apxs2) result.httpd = nil if !result.ctl end if result.httpd result.config_file = PlatformInfo.httpd_default_config_file(:httpd => result.httpd) if result.config_file log "Default config file location detected: #{result.config_file}" else log "<red>Cannot detect default config file location!</red>" result.httpd = nil end end if result.httpd result.error_log = PlatformInfo.httpd_actual_error_log(:httpd => result.httpd) if result.error_log log "Error log file detected: #{result.error_log}" else log "<red>Cannot detect error log file!</red>" result.httpd = nil end end if result.httpd if PlatformInfo.httpd_supports_a2enmod?(:httpd => result.httpd) log "This Apache installation does not support a2enmod." else log "Detecting a2enmod and a2dismod..." result.a2enmod = PlatformInfo.a2enmod(:apxs2 => apxs2) result.a2dismod = PlatformInfo.a2dismod(:apxs2 => apxs2) end end if result.httpd log "<green>Found a usable Apache installation using #{apxs2}.</green>" true else log "<yellow>Cannot find a usable Apache installation using #{apxs2}.</yellow>" false end end log "" end