You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Joe Brenner <do...@kzsu.stanford.edu> on 2000/10/03 01:43:30 UTC
Trouble setting up mod_perl and name-based virtual hosts
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>
Re: Trouble setting up mod_perl and name-based virtual hosts
Posted by Kyle Dawkins <ky...@centralparksoftware.com>.
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.
cheers
kyle
--
kyle dawkins
kyle@centralparksoftware.com
----- Original Message -----
From: "Joe Brenner" <do...@kzsu.stanford.edu>
To: <mo...@apache.org>
Sent: Monday, October 02, 2000 19:43
Subject: Trouble setting up mod_perl and name-based virtual hosts
>
> 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):