Httpd.conf problem

i have httpd.conf configured as shown in
http://fsck.com/rtfm/article.html?id=2#49 to run rt with other content.
with this configuration, apache will not start. running ‘apachectl
start’ will cause ‘httpd started’ to be echoed, but no job is actually
started.

if i remove the line ‘PerlRequire /usr/local/rt2/bin/webmux.pl’ and run
’apachectl start’ httpd actually starts and I can view all content
except the rt material. the error going to log is:

[Mon Sep 23 16:54:47 2002] [error] Can’t locate RT/Mason.pm in @INC
(@INC contains: /usr/lib/perl5/5.6.1/i386-linux /usr/lib/perl5/5.6.1
/usr/lib/perl5/site_perl/5.6.1/i386-linux /usr/lib/perl5/site_perl/5.6.1
/usr/lib/perl5/site_perl/5.6.0 /usr/lib/perl5/site_perl
/usr/lib/perl5/vendor_perl/5.6.1/i386-linux
/usr/lib/perl5/vendor_perl/5.6.1 /usr/lib/perl5/vendor_perl .
/etc/httpd/ /etc/httpd/lib/perl) at (eval 4) line 3.

[Mon Sep 23 16:54:47 2002] [error] Undefined subroutine
&RT::Mason::handler called.

:so if RT::Mason existed i could include it in one of the lib
directories above or add it to my @INC. but this doesn’t seem to be the
case as far as i can tell.

This is what the httpd.conf is:

Alias /perl /var/www/perl
<Location /perl>
SetHandler perl-script
PerlHandler Apache::Registry
Options +ExecCGI

Alias /rt2 /var/www/html/rt2/WebRT/html
#PerlRequire /var/www/html/rt2/bin/webmux.pl
<Location /rt2>
SetHandler perl-script
PerlHandler RT::Mason

<Directory “/var/www/html”>
<FilesMatch “(.html)$”>
SetHandler perl-script
PerlHandler HTML::Mason::ApacheHandler


i have httpd.conf configured as shown in
http://fsck.com/rtfm/article.html?id=2#49 to run rt with other
content. with this configuration, apache will not start. running
’apachectl start’ will cause ‘httpd started’ to be echoed, but no
job is actually started.

if i remove the line ‘PerlRequire /usr/local/rt2/bin/webmux.pl’ and
run’apachectl start’ httpd actually starts and I can view all
content except the rt material. the error going to log is:

[Mon Sep 23 16:54:47 2002] [error] Can’t locate RT/Mason.pm in @INC
(@INC contains: /usr/lib/perl5/5.6.1/i386-linux /usr/lib/perl5/5.6.1
/usr/lib/perl5/site_perl/5.6.1/i386-linux
/usr/lib/perl5/site_perl/5.6.1/usr/lib/perl5/site_perl/5.6.0
/usr/lib/perl5/site_perl/usr/lib/perl5/vendor_perl/5.6.1/i386-linux
/usr/lib/perl5/vendor_perl/5.6.1 /usr/lib/perl5/vendor_perl .
/etc/httpd/ /etc/httpd/lib/perl) at (eval 4) line 3.

RT2 requires that you have correctly installed all these perl modules
listed below. may be you start from there…just to be sure.

Apache-Session-1.53.tar.gz
ApacheDBI-0.88.tar.gz
CGI.pm-2.77.tar.gz
DBI-1.18.tar.gz
DBIx-DataSource-0.02.tar.gz
DBIx-SearchBuilder-0.48.tar.gz
Digest-MD5-2.14.tar.gz
Errno-1.09.tar.gz
File-Spec-0.8.tar.gz
File-Temp-0.12.tar.gz
FreezeThaw-0.41.tar.gz
Getopt-Long-2.24.tar.gz
HTML-Mason-1.02.tar.gz
HTML-Parser-3.25.tar.gz
HTML-Tagset-3.03.tar.gz
IO-stringy-1.220.tar.gz
Log-Dispatch-1.77.tar.gz
MD5-2.02.tar.gz
MIME-Base64-2.12.tar.gz
MIME-Types-0.16.tar.gz
MIME-tools-5.411a.tar.gz
MLDBM-2.00.tar.gz
MailTools-1.15.tar.gz
Msql-Mysql-modules-1.2216.tar.gz
Params-Validate-0.04.tar.gz
Storable-1.0.11.tar.gz
Text-Template-1.31.tar.gz
Text-Wrapper-1.000.tar.gz
Tie-IxHash-1.21.tar.gz
Time-HiRes-01.20.tar.gz
Time-modules-101.062101.tar.gz
TimeDate-1.10.tar.gz
libapreq-0.31.tar.gz
libnet-1.0703.tar.gz

-Wash
Odhiambo Washington wash@wananchi.com "The box said 'Requires

Okay, I have all those modules, and RT WILL run by itself, even before I
had all the modules. The problem is that I want to run things other than
RT from the same apache server. I currently do not have the knowledge of
apache httpd.conf files to do this while running RT::Mason. I can’t put
it into my @INC because I can’t even find RT::Mason in existence. RT is
great and all but to have to consume an entire apache server just to run
it??? There must be a way to configure so that I can run RT and other
content.
Sorry for the length, but here is my current httpd.conf minus a whole
bunch of comments.

Section 1: Global Environment

ServerType standalone

ServerRoot “/etc/httpd”

LockFile /var/lock/httpd.lock

PidFile /var/run/httpd.pid

CoreDumpDirectory “/etc/httpd”

ScoreBoardFile /var/run/httpd.scoreboard

#ResourceConfig conf/srm.conf
#AccessConfig conf/access.conf

Timeout 300

KeepAlive Off

MaxKeepAliveRequests 100

KeepAliveTimeout 15

MinSpareServers 5
MaxSpareServers 20

StartServers 8

MaxClients 150

MaxRequestsPerChild 1000

#Listen 3000
#Listen 12.34.56.78:80
#Listen 80

#BindAddress *

Dynamic Shared Object (DSO) Support

#LoadModule mmap_static_module modules/mod_mmap_static.so
LoadModule vhost_alias_module modules/mod_vhost_alias.so

LoadModule bandwidth_module modules/mod_bandwidth.so


LoadModule throttle_module modules/mod_throttle.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_magic_module modules/mod_mime_magic.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 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
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 auth_any_module modules/mod_auth_any.so
#LoadModule dbm_auth_module modules/mod_auth_dbm.so
#LoadModule auth_ldap_module modules/mod_auth_ldap.so
#LoadModule mysql_auth_module modules/mod_auth_mysql.so
#LoadModule auth_pgsql_module modules/mod_auth_pgsql.so
#LoadModule digest_module modules/mod_digest.so
#LoadModule proxy_module modules/libproxy.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 example_module modules/mod_example.so
#LoadModule unique_id_module modules/mod_unique_id.so
LoadModule setenvif_module modules/mod_setenvif.so

LoadModule perl_module modules/libperl.so


LoadModule php_module modules/mod_php.so


LoadModule php3_module modules/libphp3.so


LoadModule php4_module modules/libphp4.so


LoadModule dav_module modules/libdav.so


LoadModule roaming_module modules/mod_roaming.so


LoadModule ssl_module modules/libssl.so


LoadModule put_module modules/mod_put.so


LoadModule python_module modules/mod_python.so

ClearModuleList
#AddModule mod_mmap_static.c
AddModule mod_vhost_alias.c

AddModule mod_bandwidth.c


AddModule mod_throttle.c

AddModule mod_env.c
AddModule mod_log_config.c
AddModule mod_log_agent.c
AddModule mod_log_referer.c
#AddModule mod_mime_magic.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_speling.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_auth_any.c
#AddModule mod_auth_dbm.c
#AddModule auth_ldap.c
#AddModule mod_auth_mysql.c
#AddModule mod_auth_pgsql.c
#AddModule mod_digest.c
#AddModule mod_proxy.c
#AddModule mod_cern_meta.c
AddModule mod_expires.c
AddModule mod_headers.c
#AddModule mod_usertrack.c
#AddModule mod_example.c
#AddModule mod_unique_id.c
AddModule mod_so.c
AddModule mod_setenvif.c

AddModule mod_perl.c


AddModule mod_php.c


AddModule mod_php3.c


AddModule mod_php4.c


AddModule mod_dav.c


AddModule mod_roaming.c


AddModule mod_ssl.c


AddModule mod_put.c


AddModule mod_python.c

#ExtendedStatus On

Section 2: ‘Main’ server configuration

Port 80

Listen 80 Listen 443

User apache
Group apache

ServerAdmin root@localhost

ServerName itserver

DocumentRoot “/var/www/html”

Options FollowSymLinks AllowOverride None

<Directory “/var/www/html”>

Options Indexes FollowSymLinks

AllowOverride None

Order allow,deny
Allow from all
UserDir public_html

<Directory “/”>
Options FollowSymLinks
AllowOverride None

<Directory “/var/www/html”>
Options Indexes Includes FollowSymLinks
AllowOverride None
Allow from from all
Order deny,allow

<Directory “/var/www/icons”>
Options Indexes Multiviews
AllowOverride None
Allow from from all
Order deny,allow

<Directory “/var/www/cgi-bin”>
Options ExecCGI
AllowOverride None
Allow from from all
Order allow,deny

DirectoryIndex index.html index.htm index.shtml index.php index.php4 index.php3 index.phtml index.cgi

AccessFileName .htaccess

<Files ~ “^.ht”>
Order allow,deny
Deny from all
Satisfy All

#CacheNegotiatedDocs

UseCanonicalName On

TypesConfig /etc/mime.types

DefaultType text/plain

# MIMEMagicFile /usr/share/magic.mime MIMEMagicFile conf/magic

HostnameLookups Off

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

CustomLog logs/access_log combined

#CustomLog logs/referer_log referer
#CustomLog logs/agent_log agent

#CustomLog logs/access_log combined

ServerSignature On

Aliases: Add here as many aliases as you need (with no limit). The

format is Alias fakename realname

Alias /icons/ “/var/www/icons/”

Alias /icons/ "/var/www/icons/"
Alias /images "/var/www/images"

<Directory "/var/www/icons">
    Options Indexes MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

<Directory "/var/www/images">
    Options Indexes MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

<Directory "/var/www/cgi-bin">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>
IndexOptions FancyIndexing NameWidth=*

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

#AddDescription "GZIP compressed document" .gz
#AddDescription "tar archive" .tar
#AddDescription "GZIP compressed tar archive" .tgz

ReadmeName README
HeaderName HEADER

IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t

Document types.

AddEncoding x-compress Z
AddEncoding x-gzip gz tgz

AddLanguage da .dk
AddLanguage nl .nl
AddLanguage en .en
AddLanguage et .ee
AddLanguage fr .fr
AddLanguage de .de
AddLanguage el .el
AddLanguage he .he
AddCharset ISO-8859-8 .iso8859-8
AddLanguage it .it
AddLanguage ja .ja
AddCharset ISO-2022-JP .jis
AddLanguage kr .kr
AddCharset ISO-2022-KR .iso-kr
AddLanguage nn .nn
AddLanguage no .no
AddLanguage pl .po
AddCharset ISO-8859-2 .iso-pl
AddLanguage pt .pt
AddLanguage pt-br .pt-br
AddLanguage ltz .lu
AddLanguage ca .ca
AddLanguage es .es
AddLanguage sv .se
AddLanguage cz .cz
AddLanguage ru .ru
AddLanguage zh-tw .tw
AddLanguage tw .tw
AddCharset Big5         .Big5    .big5
AddCharset WINDOWS-1251 .cp-1251
AddCharset CP866        .cp866
AddCharset ISO-8859-5   .iso-ru
AddCharset KOI8-R       .koi8-r
AddCharset UCS-2        .ucs2
AddCharset UCS-4        .ucs4
AddCharset UTF-8        .utf8

<IfModule mod_negotiation.c>
    LanguagePriority en de fr da nl et el it ja kr no pl pt pt-br ru

ltz ca es sv tw

AddType application/x-tar .tgz

<IfModule mod_php4.c>
    AddType application/x-httpd-php .php .php4 .php3 .phtml
    AddType application/x-httpd-php-source .phps
</IfModule>
<IfModule mod_php3.c>
    AddType application/x-httpd-php3 .php3
    AddType application/x-httpd-php3-source .phps
</IfModule>
<IfModule mod_php.c>
    AddType application/x-httpd-php .phtml
</IfModule>

#AddHandler cgi-script .cgi

AddType text/html .shtml
AddHandler server-parsed .shtml

#AddHandler send-as-is asis

AddHandler imap-file map

#AddHandler type-map var

#MetaDir .web

#MetaSuffix .meta

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 /perl /var/www/perl SetHandler perl-script PerlHandler Apache::Registry Options +ExecCGI Alias /rt2 /var/www/html/rt2/WebRT/html #PerlRequire /var/www/html/rt2/bin/webmux.pl SetHandler perl-script PerlHandler RT::Mason #Order allow,deny #Allow from from all #PerlSetVar MasonCompRoot "/var/www/html" #PerlSetVar MasonDataDir "/var/www/html" #"/etc/httpd/mason" #PerlModule HTML::Mason::ApacheHandler SetHandler perl-script PerlHandler HTML::Mason::ApacheHandler

#

Alias /upload /tmp

<Directory /tmp>

EnablePut On

AuthType Basic

AuthName Temporary

AuthUserFile /etc/httpd/conf/passwd

EnableDelete Off

umask 007

require valid-user

#

#<Location /server-status>

SetHandler server-status

Order deny,allow

Deny from all

Allow from .your-domain.com

#

#<Location /server-info>

SetHandler server-info

Order deny,allow

Deny from all

Allow from .your-domain.com

#

Alias /doc/ /usr/share/doc/
<Directory /usr/share/doc>
order deny,allow
deny from all
allow from localhost .localdomain
Options Indexes FollowSymLinks

#<Location /cgi-bin/phf*>

Deny from all

ErrorDocument 403 http://phf.apache.org/phf_abuse_log.cgi

#

#

ProxyRequests On

<Directory proxy:*>

Order deny,allow

Deny from all

Allow from .your-domain.com

ProxyVia On

CacheRoot “/var/cache/httpd”

CacheSize 5

CacheGcInterval 4

CacheMaxExpire 24

CacheLastModifiedFactor 0.1

CacheDefaultExpire 1

NoCache a-domain.com another-domain.edu joes.garage-sale.com

#

End of proxy directives.

Section 3: Virtual Hosts

#NameVirtualHost *

SSL Global Context

AddType application/x-x509-ca-cert .crt AddType application/x-pkcs7-crl .crl

Pass Phrase Dialog:

SSLPassPhraseDialog builtin

Inter-Process Session Cache:

#SSLSessionCache none
#SSLSessionCache shmht:logs/ssl_scache(512000)
#SSLSessionCache shmcb:logs/ssl_scache(512000)
SSLSessionCache dbm:logs/ssl_scache
SSLSessionCacheTimeout 300

Semaphore:

SSLMutex file:logs/ssl_mutex

Pseudo Random Number Generator (PRNG):

SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
#SSLRandomSeed startup file:/dev/random 512
#SSLRandomSeed startup file:/dev/urandom 512
#SSLRandomSeed connect file:/dev/random 512
#SSLRandomSeed connect file:/dev/urandom 512

Logging:

SSLLog logs/ssl_engine_log
SSLLogLevel error

SSL Virtual Host Context

#DocumentRoot “/etc/httpd/htdocs”
#ServerName new.host.name
#ServerAdmin you@your.address
ErrorLog logs/error_log
TransferLog logs/access_log

SSL Engine Switch:

Enable/Disable SSL for this virtual host.

SSLEngine on

SSL Cipher Suite:

#SSLCipherSuite
#ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL

Server Certificate:

SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt
#SSLCertificateFile /etc/httpd/conf/ssl.crt/server-dsa.crt

Server Private Key:

SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key
#SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server-dsa.key

Server Certificate Chain:

#SSLCertificateChainFile /etc/httpd/conf/ssl.crt/ca.crt

Certificate Authority (CA):

#SSLCACertificatePath /etc/httpd/conf/ssl.crt
#SSLCACertificateFile /etc/httpd/conf/ssl.crt/ca-bundle.crt

Certificate Revocation Lists (CRL):

#SSLCARevocationPath /etc/httpd/conf/ssl.crl
#SSLCARevocationFile /etc/httpd/conf/ssl.crl/ca-bundle.crl

Client Authentication (Type):

#SSLVerifyClient require
#SSLVerifyDepth 10

Access Control:

#
#SSLRequire ( %{SSL_CIPHER} !~ m/^(EXP|NULL)/ \

and %{SSL_CLIENT_S_DN_O} eq “Snake Oil, Ltd.” \

and %{SSL_CLIENT_S_DN_OU} in {“Staff”, “CA”, “Dev”} \

and %{TIME_WDAY} >= 1 and %{TIME_WDAY} <= 5 \

and %{TIME_HOUR} >= 8 and %{TIME_HOUR} <= 20 ) \

or %{REMOTE_ADDR} =~ m/^192.76.162.[0-9]+$/

#

SSL Engine Options:

#SSLOptions +FakeBasicAuth +ExportCertData +CompatEnvVars +StrictRequire
<Files ~ “.(cgi|shtml|phtml|php3?)$”>
SSLOptions +StdEnvVars

<Directory “/var/www/cgi-bin”>
SSLOptions +StdEnvVars

SSL Protocol Adjustments:

SetEnvIf User-Agent “.MSIE.
nokeepalive ssl-unclean-shutdown
downgrade-1.0 force-response-1.0

Per-Server Logging:

CustomLog logs/ssl_request_log
“%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x “%r” %b”

you’ll want to set rt and others up as virtual servers. Give them their
own ip addresses.On Fri, 27 Sep 2002, Ron Alexander wrote:

Rick Rezinas 503-889-7091
Unix Systems Administrator
Qsent, Inc.

When Gladstone was British Prime Minister he visited Michael Faraday’s
laboratory and asked if some esoteric substance called `Electricity’
would ever have practical significance.
“One day, sir, you will tax it,” was the answer.
– Science, 1994

i have httpd.conf configured as shown in
http://fsck.com/rtfm/article.html?id=2#49 to run rt with other content.
with this configuration, apache will not start. running ‘apachectl
start’ will cause ‘httpd started’ to be echoed, but no job is actually
started.

if i remove the line ‘PerlRequire /usr/local/rt2/bin/webmux.pl’ and run
’apachectl start’ httpd actually starts and I can view all content
except the rt material. the error going to log is:
[Mon Sep 23 16:54:47 2002] [error] Can’t locate RT/Mason.pm in @INC

RT::Mason comes from webmux.pl . It is quite possible that webmux.pl is
simply not readable by the user that is running Apache.

Personally I would suggest running RT on a seperate instance of Apache as
the rt user. (Use a seperate port and mod_proxy in your main Apache)

                         Bruce Campbell                            RIPE
               Systems/Network Engineer                             NCC
             www.ripe.net - PGP562C8B1B             Operations/Security