Bugzilla – Bug 148273
Cannot start apache2 in SL10.1 beta3
Last modified: 2006-02-07 23:33:53 UTC
After update from beta2 to beta3 using /pub/opensuse/distribution/SL-OSS-factory/inst-source/suse/i586 I cannot start apache2 (I also tried without loading php5, but that did not help). /var/log/rcapache2.out shows that syntax is OK, as does /etc/init.d/apache2 configtest No error messages are given on the console or in the /var/log/apache2/error_log rpm -qa | grep apache apache2-prefork-2.2.0-6 apache2-mod_auth_mysql-3.0.0-3 apache2-worker-2.2.0-6 apache2-2.2.0-6 apache2-doc-2.2.0-6 apache2-mod_php5-5.1.2-6
If `httpd2 -S' does not show any error and there is no logged error in the default server's error_log, it looks like a crash. Can you add your configuration if it differs from the shipped default and create a backtrace? Thanks.
httpd2 -S Syntax OK My configuration is not very different. Perhaps the following is sufficient? rpm -V apache2 S.5....T c /etc/apache2/listen.conf S.5....T c /etc/apache2/ssl-global.conf S.5....T c /etc/apache2/ssl.crt/server.crt S.5....T c /etc/apache2/ssl.csr/server.csr S.5....T c /etc/apache2/ssl.key/server.key diff -u listen.conf /etc/apache2/listen.conf --- listen.conf 2006-02-06 22:30:40.000000000 +0100 +++ /etc/apache2/listen.conf 2006-02-06 22:31:23.000000000 +0100 @@ -16,7 +16,6 @@ #Listen 80 #Listen 443 -Listen 80 <IfDefine SSL> @@ -45,3 +44,5 @@ # #NameVirtualHost * +Listen 80 +Listen 8080 --- ssl-global.conf 2006-02-06 22:30:05.000000000 +0100 +++ /etc/apache2/ssl-global.conf 2006-01-09 00:37:35.000000000 +0100 @@ -67,6 +67,26 @@ #SSLRandomSeed startup file:/dev/urandom 512 #SSLRandomSeed connect file:/dev/urandom 512 +SSLCertificateFile /etc/apache2/ssl.crt/server.crt +SSLCertificateKeyFile /etc/apache2/ssl.key/server.key +SSLCACertificateFile /etc/apache2/ssl.crt/ca.crt +# SSLCertificateChainFile /etc/apache2/ssl.crt/ca.crt +# SSLCACertificatePath /etc/apache2/ssl.crt/ + +# SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM +# +# Use these if you want the remote clients to have certificates +# issued to them. Might be useful for high security needs +# +#SSLProtocol -all +SSLv2 +#SSLCipherSuite SSLv2:+HIGH:+MEDIUM:+LOW:+EXP +#SSLVerifyClient require + </IfModule> </IfDefine> </IfDefine> --- And then I have made a certificate and installed for server.crt, server.csr, and server.key ----- I have used 'strace -f' on httpd2, and attached it here. I hope that is what you were requesting.
Created attachment 66627 [details] strace of my httpd2 Sorry to send this separately. Did not understand Bugzilla interface.
From the backtrace: 5673 setsockopt(5, SOL_TCP, TCP_NODELAY, [1], 4) = 0 5673 bind(5, {sa_family=AF_INET, sin_port=htons(8080), sin_addr=inet_addr("0.0.0.0")}, 16) = -1 EADDRINUSE (Address already in use) 5673 write(2, "(98)Address already in use: make"..., 78) = 78 5673 close(5) = 0 5673 write(2, "no listening sockets available, "..., 46) = 46 5673 write(2, "Unable to open logs\n", 20) = 20 It looks like Apache fails to bind a socket to Port 8080, which is probably already in use. Are you sure there is no other process blocking/using this port? It might even be an old apache process, please check this. Then it also reports that it was not able to open the logfiles, check the ErrorLog-directive within your configuration. After all this looks very hard like a configuration problem ;)
Created attachment 66869 [details] strace of /etc/init.d/apache2 start Michael: I can agree that it looks like configuration. Though I did not make any changes in configuration from beta2 to beta3 (except for those noted above, and as confirmed by rpm -V) But here are some more experiments: 1. Tried again, commenting out Listen 8080. a. issuing httpd2 from command line would start httpd2 (consistent with configuration problem) b. /etc/init.d/apache2 start returns "failed" (have attached a backtrace: strace -t -f /etc/init.d/apache2 start (error log gets up to: [Tue Feb 07 21:03:41 2006] [info] Server: Apache/2.2.0, Interface: mod_ssl/2.2.0, Library: OpenSSL/0.9.8a) 2. px ax | grep httpd returns nothing (i.e., no old apache process) 3. If it is a config problem then it must be in the rpm, because as shown above, I have only changed two of the config files, and one of them I changed back and the problem still appears. Here is: httpd2 -M Loaded Modules: core_module (static) mpm_prefork_module (static) http_module (static) so_module (static) suexec_module (shared) actions_module (shared) alias_module (shared) autoindex_module (shared) cgi_module (shared) dir_module (shared) include_module (shared) log_config_module (shared) mime_module (shared) negotiation_module (shared) setenvif_module (shared) status_module (shared) asis_module (shared) dav_module (shared) dav_fs_module (shared) info_module (shared) rewrite_module (shared) speling_module (shared) ssl_module (shared) auth_basic_module (shared) authz_groupfile_module (shared) authz_default_module (shared) authz_user_module (shared) authz_host_module (shared) authn_dbm_module (shared) imagemap_module (shared) Syntax OK
I have now upgraded to the beta4 kernel (2.6.16_rc2-3) and apache2 is happy. Perhaps this is connected to the problem with port 8080. Anyway, I am going to close this bug and let you do something more useful.