This is part of The Pile, a partial archive of some open source mailing lists and newsgroups.
Subject: Trouble setting up mod_perl and name-based virtual hosts From: Joe Brenner <doom@kzsu.stanford.edu> Date: Mon, 02 Oct 2000 16:43:30 -0700 I've run into problems adding virtual hosts to a machine where I've already got mod_perl working, but I'm having some trouble pinning it down, because apache just seems to die silently without giving me any hints in the error_log. It definitely does have something to do with an interaction with mod_perl though, because if I comment out "AddModule mod_perl.c" I can at least get apache to restart (though I guess whether the vhosts are working is another question). Does anyone out there have some sucessful examples of httpd.conf files for mod_perl+vhost sites that they can point me at? (Sorry if the answer to this one is out there somewhere, but I've been looking and having found it.) Here's my entire httpd.conf file, if anyone wants see it (I'm running a RedHat 6.1 linux system, using perl 5.05, mod_perl 1.21, and apache 1.3.9): ServerType standalone ServerRoot "/etc/httpd" LockFile /var/lock/httpd.lock PidFile /var/run/httpd.pid ScoreBoardFile /var/run/httpd.scoreboard Timeout 300 KeepAlive On MaxKeepAliveRequests 100 KeepAliveTimeout 15 MinSpareServers 5 MaxSpareServers 20 StartServers 8 MaxClients 150 MaxRequestsPerChild 100 LoadModule vhost_alias_module modules/mod_vhost_alias.so LoadModule env_module modules/mod_env.so LoadModule config_log_module modules/mod_log_config.so LoadModule agent_log_module modules/mod_log_agent.so LoadModule referer_log_module modules/mod_log_referer.so LoadModule mime_module modules/mod_mime.so LoadModule negotiation_module modules/mod_negotiation.so LoadModule status_module modules/mod_status.so LoadModule info_module modules/mod_info.so LoadModule includes_module modules/mod_include.so LoadModule autoindex_module modules/mod_autoindex.so LoadModule dir_module modules/mod_dir.so LoadModule cgi_module modules/mod_cgi.so LoadModule asis_module modules/mod_asis.so LoadModule imap_module modules/mod_imap.so LoadModule action_module modules/mod_actions.so LoadModule userdir_module modules/mod_userdir.so LoadModule alias_module modules/mod_alias.so LoadModule rewrite_module modules/mod_rewrite.so LoadModule access_module modules/mod_access.so LoadModule auth_module modules/mod_auth.so LoadModule anon_auth_module modules/mod_auth_anon.so LoadModule db_auth_module modules/mod_auth_db.so LoadModule digest_module modules/mod_digest.so LoadModule proxy_module modules/libproxy.so LoadModule expires_module modules/mod_expires.so LoadModule headers_module modules/mod_headers.so LoadModule usertrack_module modules/mod_usertrack.so LoadModule setenvif_module modules/mod_setenvif.so LoadModule perl_module modules/libperl.so ClearModuleList AddModule mod_vhost_alias.c AddModule mod_env.c AddModule mod_log_config.c AddModule mod_log_agent.c AddModule mod_log_referer.c AddModule mod_mime.c AddModule mod_negotiation.c AddModule mod_status.c AddModule mod_info.c AddModule mod_include.c AddModule mod_autoindex.c AddModule mod_dir.c AddModule mod_cgi.c AddModule mod_asis.c AddModule mod_imap.c AddModule mod_actions.c AddModule mod_userdir.c AddModule mod_alias.c AddModule mod_rewrite.c AddModule mod_access.c AddModule mod_auth.c AddModule mod_auth_anon.c AddModule mod_auth_db.c AddModule mod_digest.c AddModule mod_proxy.c AddModule mod_expires.c AddModule mod_headers.c AddModule mod_usertrack.c AddModule mod_so.c AddModule mod_setenvif.c AddModule mod_perl.c Port 80 User nobody Group nobody # ServerAdmin webmaster@polymuse.com ServerAdmin doom@kzsu.stanford.edu ServerName www.polymuse.com DocumentRoot "/home/httpd/html" <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory "/home/httpd/html"> Options Indexes Includes FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory> UserDir public_html DirectoryIndex index.html index.htm index.shtml index.cgi AccessFileName .htaccess <Files ~ "^\.ht"> Order allow,deny Deny from all </Files> UseCanonicalName On TypesConfig /etc/mime.types DefaultType text/plain <IfModule mod_mime_magic.c> MIMEMagicFile share/magic </IfModule> HostnameLookups Off ### Now also below inside the polymuse vhost... not good? ### Doesn't matter? ErrorLog /var/log/httpd/error_log LogLevel warn LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common LogFormat "%{Referer}i -> %U" referer LogFormat "%{User-agent}i" agent # CustomLog /var/log/httpd/access_log common ServerSignature On Alias /icons/ "/home/httpd/icons/" <Directory "/home/httpd/icons"> Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all </Directory> ScriptAlias /cgi-bin/ "/home/httpd/cgi-bin/" <Directory "/home/httpd/cgi-bin"> AllowOverride None Options ExecCGI Order allow,deny Allow from all </Directory> IndexOptions FancyIndexing AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip AddIconByType (TXT,/icons/text.gif) text/* AddIconByType (IMG,/icons/image2.gif) image/* AddIconByType (SND,/icons/sound2.gif) audio/* AddIconByType (VID,/icons/movie.gif) video/* AddIcon /icons/binary.gif .bin .exe AddIcon /icons/binhex.gif .hqx AddIcon /icons/tar.gif .tar AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip AddIcon /icons/a.gif .ps .ai .eps AddIcon /icons/layout.gif .html .shtml .htm .pdf AddIcon /icons/text.gif .txt AddIcon /icons/c.gif .c AddIcon /icons/p.gif .pl .py AddIcon /icons/f.gif .for AddIcon /icons/dvi.gif .dvi AddIcon /icons/uuencoded.gif .uu AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl AddIcon /icons/tex.gif .tex AddIcon /icons/bomb.gif core AddIcon /icons/back.gif .. AddIcon /icons/hand.right.gif README AddIcon /icons/folder.gif ^^DIRECTORY^^ AddIcon /icons/blank.gif ^^BLANKICON^^ DefaultIcon /icons/unknown.gif ReadmeName README HeaderName HEADER IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t AddEncoding x-compress Z AddEncoding x-gzip gz tgz AddLanguage en .en AddLanguage fr .fr AddLanguage de .de AddLanguage da .da AddLanguage el .el AddLanguage it .it LanguagePriority en fr de AddType application/x-tar .tgz AddType text/html .shtml AddHandler server-parsed .shtml AddHandler imap-file map BrowserMatch "Mozilla/2" nokeepalive BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0 BrowserMatch "RealPlayer 4\.0" force-response-1.0 BrowserMatch "Java/1\.0" force-response-1.0 BrowserMatch "JDK/1\.0" force-response-1.0 Alias /doc/ /usr/doc/ <Location /doc> order deny,allow deny from all allow from localhost Options Indexes FollowSymLinks </Location> NameVirtualHost 216.59.5.124 <VirtualHost www.polymuse.com> ServerAdmin webmaster@polymuse.com DocumentRoot "/home/httpd/html" ServerName www.polymuse.com ErrorLog /var/log/httpd/error_log CustomLog /var/log/httpd/access_log common <IfModule mod_perl.c> Alias /modperl/ /etc/httpd/lib/modperl/ <Location /modperl> SetHandler perl-script PerlHandler Apache::Registry Options ExecCGI </Location> Alias /common /home/httpd/common/ <Location /common> SetHandler perl-script PerlHandler Apache::Registry Options ExecCGI DirectoryIndex common.pl </Location> Alias /color/ /home/httpd/color/ <Location /color> SetHandler perl-script PerlHandler Apache::Registry Options ExecCGI DirectoryIndex color.pl </Location> PerlRequire conf/startup.pl PerlFreshRestart On PerlTaintCheck On <Location /hello/world> SetHandler perl-script PerlHandler Apache::Hello </Location> <Location /perl-status> SetHandler perl-script PerlHandler Apache::Status order deny,allow #deny from all #allow from </Location> </IfModule> </VirtualHost> <VirtualHost www.thejademonkey.com> ServerAdmin doom@kzsu.stanford.edu DocumentRoot "/home/html/jade" ServerName www.thejademonkey.com ErrorLog /var/log/httpd/jade/error_log CustomLog /var/log/httpd/jade/access_log common </VirtualHost> === Subject: Re: Trouble setting up mod_perl and name-based virtual hosts From: "Kyle Dawkins" <kyle@centralparksoftware.com> Date: Mon, 2 Oct 2000 23:36:55 -0400 Joe Your problem is with the RPMs that you're using (I bet). I am guessing you're using the pre-built ones that come with RH6.1, right? Don't be fooled... these are buggy. You solution is extremely simple and will only take a short time if you follow the instructions: 1. Use "rpm -e" to remove mod_perl and mod_php, then remove apache. 2. DOWNLOAD THE SOURCES for Apache 1.3.12 and mod_perl 1.24 3. Build them from the source tarballs. You probably want to enable "EVERYTHING" when you build mod_perl. Make sure you build a new apache executable with mod_perl statically linked in. This apache executable takes a bit more RAM but it's faster and way more stable. 4. To make sure that your new httpd has mod_perl built in, execute httpd -l and it should list its modules. If mod_perl appears, you're golden. 5. Remove all the LoadModule and AddModule stuff from your httpd.conf, restart apache, and if it doesn't work, I'd be very surprised... I had the same problem as you (although it was LinuxPPC2000). As did many others in the past (do a search for "SIGSEGV" or "core dump" or "segmentation fault" in the mailing list archives...), and it's a bummer of a bug because it doesn't bite you until you try something slightly difficult (uhhhhh, like "PerlModule Apache::DBI") and it explodes. === Subject: Re: Trouble setting up mod_perl and name-based virtual hosts From: Joe Brenner <doom@kzsu.stanford.edu> Date: Mon, 02 Oct 2000 21:42:56 -0700 Kyle Dawkins" <kyle@centralparksoftware.com> wrote: > "Joe Brenner" <doom@kzsu.stanford.edu> wrote: > > > I've run into problems adding virtual hosts to a machine > > where I've already got mod_perl working, but I'm having > > some trouble pinning it down, because apache just seems to > > die silently without giving me any hints in the error_log. > > > > It definitely does have something to do with an interaction > > with mod_perl though, because if I comment out "AddModule > > mod_perl.c" I can at least get apache to restart (though I > > guess whether the vhosts are working is another question). > > > > Does anyone out there have some sucessful examples of > > httpd.conf files for mod_perl+vhost sites that they can > > point me at? (Sorry if the answer to this one is out there > > somewhere, but I've been looking and having found it.) > > (I'm running a RedHat 6.1 linux system, using perl 5.05, > > mod_perl 1.21, and apache 1.3.9): > Your problem is with the RPMs that you're using (I bet). I am guessing > you're using the pre-built ones that come with RH6.1, right? Don't be > fooled... these are buggy. Well, you're quite right that I've been trying to stick to the rpms. In many cases they're the ones that came with RH 6.1, in other cases I downloaded newer ones... I guess I'll have to think about just building from source. Doesn't seem like it can hurt. (It occurs to me that I'm also using mod_perl as a DSO... it seemed to me like that was working fine, I wondered a bit why some people thought it was a bad idea. Maybe I've found out why...?) > You solution is extremely simple and will only > take a short time if you follow the instructions: > > 1. Use "rpm -e" to remove mod_perl and mod_php, then remove apache. > 2. DOWNLOAD THE SOURCES for Apache 1.3.12 and mod_perl 1.24 > 3. Build them from the source tarballs. You probably want to enable > "EVERYTHING" when you build mod_perl. Make sure you build a new apache > executable with mod_perl statically linked in. This > apache executable takes a bit more RAM but it's faster and way > more stable. > 4. To make sure that your new httpd has mod_perl built in, execute > httpd -l > and it should list its modules. If mod_perl appears, you're golden. > 5. Remove all the LoadModule and AddModule stuff from your httpd.conf, > restart apache, and if it doesn't work, I'd be very surprised... > > I had the same problem as you (although it was > LinuxPPC2000). Oh yeah, I'm just running i386 stuff on a oldish Pentium. It's a bad habit to fall into, not to mention that... > As did many others in the past (do a search for "SIGSEGV" > or "core dump" or "segmentation fault" in the mailing list > archives...), and it's a bummer of a bug because it > doesn't bite you until you try something slightly > difficult (uhhhhh, like "PerlModule Apache::DBI") and it > explodes. ===