I know that I have probably beat this issue to a dead horse but has
anyone been successful getting Apache to work with mod_perl from RPM
installations in the initial setup of Linux (RedHat 6.2, Mandrake Linux
7.0 or the like)? Bear with me, this email includes all my
configuration information including samples from httpd.conf,
mod_perl.conf, apachectl status, httpd -l, mod_perl execution error,
etc. Thanks!
****************************************************************
ENVIRONMENT:
Apache, version 1.3.12
Perl, version 5.005_03 built for i386-linux
GCC version 2.95.2 19991024 (release)
Mod_perl, version 1.21
****************************************************************
I have been hesitant to remove what has been installed but I may have to
go with building everything from source.
I believe that mod_perl on my system has been configured as a DSO. At
the end of my httpd.conf file I have the following line:
****************************************************************
END OF HTTPD.CONF FILE --- /etc/httpd/conf/httpd.conf
Include conf/addon-modules/mod_perl.conf
****************************************************************
MOD_PERL.CONF FILE --- /etc/httpd/conf/addon-modules/mod_perl.conf
LoadModule perl_module /usr/lib/apache/libperl.so
AddModule mod_perl.c
Alias /mod-perl/ /home/httpd/mod-perl/
<Location /mod-perl>
SetHandler perl-script
PerlHandler Apache::Registry
PerlSendHeader On
Options +ExecCGI
</Location>
****************************************************************
It appears that mod_perl was not originally compiled into Apache is
included as a DSO and is addressed at the end of httpd.conf. I would
expect to see mod_perl.c as output of 'httpd -l' but I do not get that.
****************************************************************
OUTPUT OF 'httpd -l'
Compiled-in modules:
http_core.c
mod_so.c
****************************************************************
I am confused however in that if I run 'apachectl status' while Apache
is running I get the following.
****************************************************************
OUTPUT OF 'apachectl status'
Apache Server Status for LaZaRus.ubfQd.net
Server Version: Apache/1.3.9 (NetRevolution Advanced Extranet
Server/Linux-Mandrake) PHP/3.0.13 mod_perl/1.21
Server Built: Jan 5 2000 05:09:42
_________________________________________________________________
Current Time: Monday, 17-Jul-2000 22:03:40 CDT
Restart Time: Monday, 17-Jul-2000 17:28:00 CDT
Parent Server Generation: 2
Server uptime: 4 hours 35 minutes 40 seconds
1 requests currently being processed, 8 idle servers
_._______W......................................................
................................................................
................................................................
................................................................
Scoreboard Key:
"_" Waiting for Connection, "S" Starting up, "R" Reading Request,
"W" Sending Reply, "K" Keepalive (read), "D" DNS Lookup,
"L" Logging, "G" Gracefully finishing, "." Open slot with no current
process
****************************************************************
The configuration line seems to indicate that mod_perl is installed???
Server Version: Apache/1.3.9 (NetRevolution Advanced Extranet
Server/Linux-Mandrake) PHP/3.0.13 mod_perl/1.21
****************************************************************
HTTPD.CONF WITHOUT COMMENTS
ResourceConfig /dev/null
AccessConfig /dev/null
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 proxy_module modules/libproxy.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 digest_module modules/mod_digest.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
ClearModuleList
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_proxy.c
AddModule mod_alias.c
AddModule mod_rewrite.c
AddModule mod_access.c
AddModule mod_auth.c
AddModule mod_auth_anon.c
AddModule mod_digest.c
AddModule mod_expires.c
AddModule mod_headers.c
AddModule mod_usertrack.c
AddModule mod_so.c
AddModule mod_setenvif.c
DocumentRoot /home/httpd/html
UserDir public_html
DirectoryIndex index.html index.htm index.shtml index.cgi Default.htm
default.htm index.php3
FancyIndexing on
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
AccessFileName .htaccess
TypesConfig /etc/httpd/conf/apache-mime.types
DefaultType text/plain
AddEncoding x-compress Z
AddEncoding x-gzip gz
AddLanguage en .en
AddLanguage fr .fr
AddLanguage de .de
AddLanguage da .da
AddLanguage el .el
AddLanguage it .it
LanguagePriority en fr de
Alias /icons/ /home/httpd/icons/
ScriptAlias /cgi-bin/ /home/httpd/cgi-bin/
ScriptAlias /protected-cgi-bin/ /home/httpd/protected-cgi-bin/
AddType application/x-httpd-php3 .php3 .phtml .php
AddType application/x-httpd-php3-source .phps
AddHandler cgi-script .cgi
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
<Directory />
Options Indexes Includes FollowSymLinks
AllowOverride None
</Directory>
<Directory /home>
Options Indexes Includes FollowSymLinks
AllowOverride All
order allow,deny
allow from all
</Directory>
<Directory /home/httpd/cgi-bin>
AllowOverride None
Options ExecCGI
</Directory>
<Directory /home/httpd/protected-cgi-bin>
order deny,allow
deny from all
allow from localhost
AllowOverride None
Options ExecCGI
</Directory>
<Location /server-status>
SetHandler server-status
order deny,allow
deny from all
allow from localhost, 127.0.0.1
</Location>
Alias /doc /usr/doc
<Directory /usr/doc>
order deny,allow
deny from all
allow from localhost, 127.0.0.1
Options Indexes FollowSymLinks
</Directory>
ServerType standalone
Port 80
HostnameLookups off
User nobody
Group nobody
ServerAdmin root@localhost
ServerRoot /etc/httpd
Listen 80
ErrorLog logs/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 logs/access_log combined
PidFile /var/run/httpd.pid
ScoreBoardFile /etc/httpd/httpd.scoreboard
LockFile /etc/httpd/httpd.lock
UseCanonicalName on
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 15
MinSpareServers 8
MaxSpareServers 20
StartServers 10
MaxClients 150
MaxRequestsPerChild 500
Include conf/vhosts/vhost0.conf
Include conf/addon-modules/mod_perl.conf
Include conf/addon-modules/mod_php3.conf
****************************************************************
Server IP: 192.168.0.2
CGI EXECUTION: http://192.168.0.2/cgi-bin/cgi_test.pl --- works fine!!!
MOD_PERL EXEC: http://192.168.0.2/mod-perl/modperl.pl ---does not
work!!!
****************************************************************
MOD_PERL EXECUTION ERROR
The document contained no data. Try again later, or contact the
server's
administrator. <OK>
****************************************************************
The file (modperl.pl) exists and is not empty. What permissions do you
usually assign to a CGI or mod_perl script?
Right now they are perm, user, group respectively: 755 root root
Should these be changed to user and group nobody???
****************************************************************
UNINSTALLING RPM DISTRIBUTIONS???
If indeed I am stupid for continuing to mess with this RPM install - be
honest and tell me. If you recommend installing from source, what is
the best way to clean up all of this default installation stuff -
Apache, Apache front-end utility in DrakConf, mod_perl, etc. If I use
RPM to uninstall these is that all I need to do?
Guys if I can get this figured out I will ask no more questions. :)
THANK YOU VERY VERY MUCH!!!
Rich Lemanski
Software Engineer