When no network is available, the boot process hangs on apache2 and the apache2 init script even doesn't write that it's attempting to start apache. 1) I suggest these two lines to be swapped: ebegin "Starting apache2" checkconfig || return 1 At least the user knows what he has to shoot down with init=/bin/bash and not spend one hour determining where the problem is like me. 2) the apache configuration file contains DNS names: NameVirtualHost kestrel.twibright.com:80 NameVirtualHost kestrel.twibright.com:8192 The /etc/init.d/apache2 script is calling apache -t to test the configuration files and Apache is hanging on the DNS resolution. It takes several minutes for this to timeout. The error message intermediately produced during this is: [Sat Aug 20 09:39:03 2005] [error] (EAI 3)Temporary failure in name resolution: Cannot resolve host name kestrel.twibright.com --- ignoring! [Sat Aug 20 09:40:13 2005] [error] (EAI 2)Name or service not known: Cannot resolve host name kestrel.twibright.com --- ignoring! [ ok ] I suggest to tell Apache not to DNS resolve hosts from config file during checking. It is bullshit - what about temporary dropouts in connectivity or DNS availability? Will it hang boots of server machines just because of such details? Moreover the syntactical correctness is independent on actual IP address. or to delete the whole config file checking. If I should choose between waiting 5 minutes for machine to boot or having unchecked config file, I opt for unchecked config file. Reproducible: Always Steps to Reproduce: apache2.conf: ### /etc/apache2/conf/apache2.conf ### $Id: apache2.conf,v 1.1 2004/03/22 21:17:57 stuart Exp $ ### ### Main Configuration Section ### You really shouldn't change these settings unless you're a guru ### ServerRoot /usr/lib/apache2 ServerName localhost #LockFile /etc/apache2/apache2.lock PidFile /var/run/apache2.pid ErrorLog logs/error_log LogLevel warn #DocumentRoot /var/www/localhost/htdocs <Directory /> AllowOverride None </Directory> <Directory "/home/clock/creat/ronja"> Order allow,deny Allow from all AllowOverride FileInfo Indexes Options </Directory> <Directory "/home/clock/creat/vault/ronja"> Options Indexes FollowSymLinks AllowOverride FileInfo Indexes Options Order deny,allow Allow from all AuthType Basic AuthName "Authorized Personnel Only" AuthUserFile /home/clock/creat/vault/.htpasswd Require user area51 Satisfy All </Directory> DirectoryIndex index.html index.php index.html.var AccessFileName .htaccess <Files ~ "^\.ht"> Order allow,deny Deny from all </Files> IndexOptions FancyIndexing VersionSort ### Dynamic Shared Object (DSO) Support ### ### You should always leave these three, as they are needed for normal use. ### mod_access (Order, Allow, etc..) ### mod_log_config (Transferlog, etc..) ### mod_mime (AddType, etc...) ### LoadModule access_module modules/mod_access.so LoadModule auth_module modules/mod_auth.so LoadModule auth_anon_module modules/mod_auth_anon.so LoadModule auth_dbm_module modules/mod_auth_dbm.so LoadModule auth_digest_module modules/mod_auth_digest.so LoadModule include_module modules/mod_include.so LoadModule log_config_module modules/mod_log_config.so LoadModule env_module modules/mod_env.so LoadModule mime_magic_module modules/mod_mime_magic.so LoadModule cern_meta_module modules/mod_cern_meta.so LoadModule expires_module modules/mod_expires.so LoadModule headers_module modules/mod_headers.so LoadModule usertrack_module modules/mod_usertrack.so LoadModule unique_id_module modules/mod_unique_id.so LoadModule setenvif_module modules/mod_setenvif.so LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_connect_module modules/mod_proxy_connect.so LoadModule proxy_ftp_module modules/mod_proxy_ftp.so LoadModule proxy_http_module modules/mod_proxy_http.so LoadModule mime_module modules/mod_mime.so LoadModule status_module modules/mod_status.so LoadModule autoindex_module modules/mod_autoindex.so LoadModule asis_module modules/mod_asis.so LoadModule info_module modules/mod_info.so LoadModule cgi_module modules/mod_cgi.so LoadModule cgid_module modules/mod_cgid.so LoadModule vhost_alias_module modules/mod_vhost_alias.so LoadModule negotiation_module modules/mod_negotiation.so LoadModule dir_module modules/mod_dir.so LoadModule imap_module modules/mod_imap.so LoadModule actions_module modules/mod_actions.so LoadModule speling_module modules/mod_speling.so LoadModule userdir_module modules/mod_userdir.so LoadModule alias_module modules/mod_alias.so LoadModule rewrite_module modules/mod_rewrite.so ### ### New Modules for 2.0 (some are experimental) ### LoadModule file_cache_module modules/mod_file_cache.so LoadModule echo_module modules/mod_echo.so LoadModule charset_lite_module modules/mod_charset_lite.so LoadModule cache_module modules/mod_cache.so LoadModule disk_cache_module modules/mod_disk_cache.so LoadModule mem_cache_module modules/mod_mem_cache.so LoadModule ext_filter_module modules/mod_ext_filter.so LoadModule case_filter_module modules/mod_case_filter.so LoadModule case_filter_in_module modules/mod_case_filter_in.so LoadModule deflate_module modules/mod_deflate.so #LoadModule optional_hook_export_module modules/mod_optional_hook_export.so #LoadModule optional_hook_import_module modules/mod_optional_hook_import.so #LoadModule optional_fn_import_module modules/mod_optional_fn_import.so #LoadModule optional_fn_export_module modules/mod_optional_fn_export.so #LoadModule bucketeer_module modules/mod_bucketeer.so LoadModule logio_module modules/mod_logio.so ### ### Global Configuration ### # Splitting up apache2.conf into two files makes it easier to support # multiple configurations on the same serer. In commonapache2.conf # you keep directives that apply to all implementations and in this # file you keep server-specific directives. While we don't yet have # multiple configurations out-of-the-box, this allows us to do that # in the future easily. (PERLPROXIED *ahem*) # # For Apache2 we load all conf files in conf/modules.d Include conf/modules.d/*.conf Include conf/commonapache2.conf ### ### IP Address/Port ### #BindAddress 127.0.0.1 Listen 80 Listen 8192 NameVirtualHost localhost:80 NameVirtualHost localhost:8192 NameVirtualHost kestrel.twibright.com:80 NameVirtualHost kestrel.twibright.com:8192 <VirtualHost localhost:80 kestrel.twibright.com:80> #<VirtualHost 127.0.0.1:80 10.255.0.224:80> DocumentRoot "/home/clock/creat/ronja" </VirtualHost> <VirtualHost localhost:8192 kestrel.twibright.com:8192> DocumentRoot "/home/clock/creat/vault/ronja" </VirtualHost> ### ### Log configuration Section ### <IfModule mod_log_config.c> #Single logfile with access, agent and referer information #This is the default, if vlogs are not defined for the main server CustomLog logs/access_log combined env=!VLOG #If VLOG is defined in conf/vhosts/vhosts.conf, we use this entry #CustomLog "|/usr/sbin/apache2splitlogfile" vhost env=VLOG </IfModule> ### ### Virtual Hosts ### # We include different templates for Virtual Hosting. Have a look in the # vhosts directory and modify to suit your needs. #Include conf/vhosts/vhosts.conf #Include conf/vhosts/dynamic-vhosts.conf #Include conf/vhosts/virtual-homepages.conf ### ### Performance settings Section ### # # Timeout: The number of seconds before receives and sends time out. # Timeout 300 # # KeepAlive: Whether or not to allow persistent connections (more than # one request per connection). Set to "Off" to deactivate. # KeepAlive On # # MaxKeepAliveRequests: The maximum number of requests to allow # during a persistent connection. Set to 0 to allow an unlimited amount. # We recommend you leave this number high, for maximum performance. # MaxKeepAliveRequests 100 # # KeepAliveTimeout: Number of seconds to wait for the next request from the # same client on the same connection. # KeepAliveTimeout 15 # prefork MPM [THIS IS THE DEFAULT] # StartServers: number of server processes to start # MinSpareServers: minimum number of server processes which are kept spare # MaxSpareServers: maximum number of server processes which are kept spare # MaxClients: maximum number of server processes allowed to start # MaxRequestsPerChild: maximum number of requests a server process serves <IfModule prefork.c> StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxClients 150 MaxRequestsPerChild 0 </IfModule> # worker MPM # StartServers: initial number of server processes to start # MaxClients: maximum number of simultaneous client connections # MinSpareThreads: minimum number of worker threads which are kept spare # MaxSpareThreads: maximum number of worker threads which are kept spare # ThreadsPerChild: constant number of worker threads in each server process # MaxRequestsPerChild: maximum number of requests a server process serves <IfModule worker.c> StartServers 2 MaxClients 150 MinSpareThreads 25 MaxSpareThreads 75 ThreadsPerChild 25 MaxRequestsPerChild 0 </IfModule> # perchild MPM # NumServers: constant number of server processes # StartThreads: initial number of worker threads in each server process # MinSpareThreads: minimum number of worker threads which are kept spare # MaxSpareThreads: maximum number of worker threads which are kept spare # MaxThreadsPerChild: maximum number of worker threads in each server process # MaxRequestsPerChild: maximum number of connections per server process <IfModule perchild.c> NumServers 5 StartThreads 5 MinSpareThreads 5 MaxSpareThreads 10 MaxThreadsPerChild 20 MaxRequestsPerChild 0 </IfModule> Portage 2.0.51.22-r2 (default-linux/x86/2005.0, gcc-3.3.5-20050130, glibc-2.3.5-r1, 2.6.11-gentoo-r9 i686) ================================================================= System uname: 2.6.11-gentoo-r9 i686 Intel(R) Pentium(R) M processor 1.50GHz Gentoo Base System version 1.6.13 dev-lang/python: 2.3.5 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.5 sys-devel/binutils: 2.15.92.0.2-r10 sys-devel/libtool: 1.5.18-r1 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -mcpu=i686 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 X aac aalib alsa apm arts avi berkdb bitmap-fonts cdr crypt cups curl dga divx4linux dri dv dvd dvdread eds emboss encode esd exif fam ffmpeg fftw flac flash foomatic foomaticdb fortran ftp gd gdbm gif glut gnome gpm gstreamer gtk gtk2 guile icq imagemagick imap imlib ipv6 jabber jack java javascript jpeg kde ldap libcaca libg++ libwww live matroska mikmod ming mmap mmx mng motif mozilla mp3 mpeg mysql nas ncurses nls ogg oggvorbis opengl oss pam pdflib perl php png python qt quicktime readline real ruby samba sdl sharedmem shorten slang socks5 speex spell sse ssl svg svga tcltk tcpd tetex theora threads tiff tls truetype truetype-fonts type1-fonts unicode vorbis wifi win32codecs wmf xine xinerama xml xml2 xmms xpm xv xvid zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTDIR_OVERLAY
*** This bug has been marked as a duplicate of 90636 ***