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