Когда я запускаю # /etc/init.d/apache2 restart Он с радостью утверждает, что запустил программу, но на самом деле этого не сделал. Результат выглядит примерно так.
www ~ # /etc/init.d/apache2 restart
* Stopping apache2 ... [Sun Oct 25 23:50:38 2009] [warn] Useless use of AllowOverride in line 63 of /etc/apache2/vhosts.d/30_subversion_ssl_vhost.conf. [Sun Oct 25 23:50:38 2009] [warn] NameVirtualHost --removed--:443 has no VirtualHosts [Sun Oct 25 23:50:38 2009] [warn] NameVirtualHost --removed1--:8443 has no VirtualHosts httpd (no pid file) not running [ ok ] * Starting apache2 ... [Sun Oct 25 23:50:38 2009] [warn] Useless use of AllowOverride in line 63 of /et c/apache2/vhosts.d/30_subversion_ssl_vhost.conf. [Sun Oct 25 23:50:38 2009] [warn] NameVirtualHost --removed--:443 has no VirtualHosts [Sun Oct 25 23:50:38 2009] [warn] NameVirtualHost --removed1--:8443 has no VirtualHosts [ ok ]
Как видите, ни один процесс httpd никогда не запускался, несмотря на заявления о том, что он запускался раньше, как это происходит здесь снова. Проверяя вручную, /var/run/apache2/apache2.pid не существует. Каталог run / apache2 / даже не был там до того, как я добавил и отредактировал его вручную. Ничего не добавляется ни в / var / log / apache2 / error_log, ни в какие-либо журналы домена для любого из моих хостов.
Однако при работе с параметрами --verbose и --debug кажется, что он зависает в цикле for, включающем местоположение /var/run/apache2/apache2.pid
+ i=0
+ '[' '!' -e /var/run/apache2.pid ']'
+ '[' 0 -lt 10 ']'
+ sleep 1
++ expr 0 + 1
+ i=1
+ '[' '!' -e /var/run/apache2.pid ']'
+ '[' 1 -lt 10 ']'
+ sleep 1
++ expr 1 + 1
...
Я использую apache 2.2 на последней сборке Gentoo Linux. Файлы конфигурации vhosts.d были импортированы из предыдущей установки, fyi, но httpd.conf и связанные с ним файлы совершенно новые.
изменить: при дальнейшем исследовании сценарий инициализации apache2 вызывает
/ usr / sbin / apache2 -D DEFAULT_VHOST -D INFO -D SSL -D SSL_DEFAULT_VHOST \If I remove the -D SSL part, the pid creates itself fine... however, I would like ssl... any ideas?
-D ЯЗЫК -d / usr / lib / apache2 -f /etc/apache2/httpd.conf -k start
edit2:
start() {
checkconfig || return 1
[ -f /var/log/apache2/ssl_scache ] && rm /var/log/apache2/ssl_scache
ebegin "Starting ${SVCNAME}"
${APACHE2} ${APACHE2_OPTS} -k start
i=0
while [ ! -e "${PIDFILE}" ] && [ $i -lt ${TIMEOUT} ]; do
sleep 1 && i=$(expr $i + 1)
done
test $i -le ${TIMEOUT}
eend $?
}
Если это поможет, дайте мне знать
edit3:
если в моих ssl vhosts я закомментирую SSLEngine on
, apache успешно запускается ...
edit4:
Просто взгляните на мои варианты сборки apache
www ~ # emerge -av apache These are the packages that would be merged, in order: Calculating dependencies |... done! [ebuild R ] www-servers/apache-2.2.11-r2 USE="sni ssl -debug -doc -ldap (-s elinux) -static -suexec -threads" APACHE2_MODULES="actions alias asis auth_diges t authz_host autoindex cache dav deflate dir env expires filter headers include info log_config logio mime negotiation proxy rewrite setenvif speling status use rdir usertrack -auth_basic -authn_alias -authn_anon -authn_dbd -authn_dbm -authn _default -authn_file -authz_dbm -authz_default -authz_groupfile -authz_owner -au thz_user -cern_meta -charset_lite -dav_fs -dav_lock -dbd -disk_cache -dumpio -ex t_filter -file_cache -ident -imagemap -log_forensic -mem_cache -mime_magic -prox y_ajp -proxy_balancer -proxy_connect -proxy_ftp -proxy_http -substitute -unique_ id -version -vhost_alias" APACHE2_MPMS="-event -itk -peruser -prefork -worker" 0 kB Total: 1 package (1 reinstall), Size of downloads: 0 kB Would you like to merge these packages? [Yes/No]
А также проверка контрольных сумм
www ~ # equery check apache [ Checking www-servers/apache-2.2.11-r2 ] !!! /etc/apache2/vhosts.d/00_default_vhost.conf has incorrect md5sum !!! /etc/conf.d/apache2 has incorrect md5sum !!! /etc/apache2/vhosts.d/00_default_ssl_vhost.conf has incorrect md5sum * 403 out of 406 files good
edit5:
Ву! Редактировать 5!
Вывод при запуске после изменения соответствующей строки в /etc/conf.d/apache2
к APACHE2_OPTS="-X -e debug -D DEFAULT_VHOST -D INFO -D SSL -D SSL_DEFAULT_VHOST -D LANGUAGE -D PHP5
* Starting apache2 ... [Tue Oct 27 23:15:19 2009] [debug] mod_so.c(246): loaded module actions_module [Tue Oct 27 23:15:19 2009] [debug] mod_so.c(246): loaded module alias_module [Tue Oct 27 23:15:19 2009] [debug] mod_so.c(246): loaded module asis_module [Tue Oct 27 23:15:19 2009] [debug] mod_so.c(246): loaded module authz_host_modul e [Tue Oct 27 23:15:19 2009] [debug] mod_so.c(246): loaded module autoindex_module [Tue Oct 27 23:15:19 2009] [debug] mod_so.c(246): loaded module cgi_module [Tue Oct 27 23:15:19 2009] [debug] mod_so.c(246): loaded module deflate_module [Tue Oct 27 23:15:19 2009] [debug] mod_so.c(246): loaded module dir_module [Tue Oct 27 23:15:19 2009] [debug] mod_so.c(246): loaded module env_module [Tue Oct 27 23:15:19 2009] [debug] mod_so.c(246): loaded module expires_module [Tue Oct 27 23:15:19 2009] [debug] mod_so.c(246): loaded module filter_module [Tue Oct 27 23:15:19 2009] [debug] mod_so.c(246): loaded module headers_module [Tue Oct 27 23:15:19 2009] [debug] mod_so.c(246): loaded module include_module [Tue Oct 27 23:15:19 2009] [debug] mod_so.c(246): loaded module info_module [Tue Oct 27 23:15:19 2009] [debug] mod_so.c(246): loaded module log_config_modul e [Tue Oct 27 23:15:19 2009] [debug] mod_so.c(246): loaded module logio_module [Tue Oct 27 23:15:19 2009] [debug] mod_so.c(246): loaded module mime_module [Tue Oct 27 23:15:19 2009] [debug] mod_so.c(246): loaded module negotiation_modu le [Tue Oct 27 23:15:19 2009] [debug] mod_so.c(246): loaded module rewrite_module [Tue Oct 27 23:15:19 2009] [debug] mod_so.c(246): loaded module setenvif_module [Tue Oct 27 23:15:19 2009] [debug] mod_so.c(246): loaded module speling_module [Tue Oct 27 23:15:19 2009] [debug] mod_so.c(246): loaded module ssl_module [Tue Oct 27 23:15:19 2009] [debug] mod_so.c(246): loaded module usertrack_module [Tue Oct 27 23:15:19 2009] [debug] mod_so.c(246): loaded module php5_mod [ ok ]
Намеков пока нет. Кроме того, не уверен, как проверить конфигурацию ssl, если это действительно проблема
сценарий обращается к /var/run/apache2.pid, а не к /var/run/apache2/apache2.pid. Можете ли вы проверить, есть ли у /var/run/apache2.pid нужные разрешения?
Каким-то образом, после создания моих собственных файлов .crt и .key, попытка emerge mod_ssl
, который в конечном итоге проделал кучу вещей и снова перестроил apache, все как-то стало на свои места. У меня нет объяснений, за исключением, может быть, некоторого предыдущего несоответствия с тем, как я создавал свои файлы .crt и .key: /
Это путешествие оставило меня опустошенным и неудовлетворенным. Ну, кроме вашей помощи:] Всем спасибо.
Хм, я очень подозрительно отношусь к файлу конфигурации
/etc/apache2/vhosts.d/30_subversion_ssl_vhost.conf
Когда вы удаляете '-D SSL', вы пропускаете все части файлов конфигурации, заключенные в .... Файл vhost SSL по умолчанию в моем Gentoo-ящике заключен в этот тег, поэтому мне интересно, если, удалив '-D SSL', вы вообще предотвращаете запуск конфигурации в 30_subversion_ssl_vhost.conf, и если это то, что позволяет Apache начать.
Если вы временно удалите файл 30_subversion_ssl_vhost.conf из /etc/apache2/vhosts.d, запустится ли Apache? Есть ли в vhosts.d какие-либо другие файлы vhost.conf, связанные с SSL? Мой относительно свежий / неиспользованный каталог vhosts.d для установки Apache выглядит так:
# pwd && ls
/etc/apache2/vhosts.d
00_default_ssl_vhost.conf 00_default_vhost.conf default_vhost.include
редактировать 1:
Вот и вся теория :) Теперь мне интересно, не в самой ли настройке Apache SSL. Прошу прощения, если я закрываю то, что вы уже проверили, но мне интересно, могли бы вы сделать следующее, чтобы помочь проверить установку Apache.
На моей установке Apache с работающим SSL используются следующие флаги:
# emerge -av apache
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild U ] www-servers/apache-2.2.11-r2 [2.2.11] USE="ssl -debug -doc -ldap (-selinux) -sni -static -suexec -threads" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias -asis -auth_digest -authn_dbd -cern_meta -charset_lite -dbd -dumpio -ident -imagemap -log_forensic -proxy -proxy_ajp -proxy_balancer -proxy_connect -proxy_ftp -proxy_http -substitute -version" APACHE2_MPMS="-event -itk -peruser -prefork -worker" 64 kB
В частности, установлен ли USE-флаг 'ssl'?
Кроме того, не могли бы вы использовать equery для проверки целостности вашей установки apache2? Если у вас нет команды equery, вы можете установить ее, запустив emerge -av gentoolkit. Следующая команда должна проверить целостность вашей установки apache:
equery check apache
На моем сервере приведенная выше команда дает следующий результат:
[ Checking www-servers/apache-2.2.11 ]
!!! /etc/apache2/vhosts.d/00_default_ssl_vhost.conf has wrong mtime (is 1256620928, should be 1246793824)
!!! /etc/apache2/modules.d/00_default_settings.conf has wrong mtime (is 1246796304, should be 1246793824)
!!! /etc/conf.d/apache2 has incorrect md5sum
* 429 out of 432 files good
редактировать 2:
Что ж, установка мне кажется хорошей, так что для теории 2. Мне интересно, можем ли мы уговорить Apache предоставить дополнительную информацию о запуске. В /etc/conf.d/apache2, если вы измените строку APACHE2_OPTS с:
APACHE2_OPTS="-D DEFAULT_VHOST -D INFO -D SSL -D SSL_DEFAULT_VHOST -D LANGUAGE"
к
APACHE2_OPTS="-X -e debug -D DEFAULT_VHOST -D INFO -D SSL -D SSL_DEFAULT_VHOST -D LANGUAGE"
а затем запустите Apache (/etc/init.d/apache2 start), демон должен оставаться на переднем плане (флаг -X) и выводить сообщения отладки при запуске (параметр -e отладки). Может быть, это даст понять, почему он умирает при запуске.