Web Server Configuration

In order to access the main RELEASE, make the following changes to the Apache configuration file (/etc/httpd/conf/httpd.conf):

#
# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, in addition to the default. See also the <VirtualHost>
# directive.
#
# Change this to Listen on specific IP addresses as shown below to
# prevent Apache from glomming onto all bound IP addresses (0.0.0.0)
#
#Port 80  :  Stable production version (release)
Listen 80

User              procksi
Group             procksi_dev
[[ServerAdmin]]        procksi@cs.nott.ac.uk
[[ServerName]]         procksi.cs.nott.ac.uk
[[DocumentRoot]] /home/procksi/latest/html
<Directory /home/procksi/latest/html">
   [[AllowOverride]] AuthConfig
</Directory>
[[LogFormat]] "%t %h %l %u \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
[[LogFormat]] "%t %h %l %u \"%r\" %>s %b" common
[[LogFormat]] "%t %{Referer}i -> %U" referer
[[LogFormat]] "%t %{User-agent}i" agent

#Exclude Logging of Ganglia Requests
[[SetEnvIf]] Request_URI "ganglia" ganglia

#
# [[ErrorLog]]: The location of the error log file.
# If you do not specify an [[ErrorLog]] directive within a <VirtualHost>
# container, error messages relating to that virtual host will be
# logged here.  If you *do* define an error logfile for a <VirtualHost>
# container, that host's errors will be logged there and not here.
#
[[ErrorLog]] /home/procksi/logs/latest_error.log

#
# The location and format of the access logfile (Common Logfile Format).
# If you do not define any access logfiles within a <VirtualHost>
# container, they will be logged here.  Contrariwise, if you *do*
# define per-<VirtualHost> access logfiles, transactions will be
# logged therein and *not* in this file.
#

[[CustomLog]] /home/procksi/logs/latest_access.log common env=!ganglia

#
# If you would like to have agent and referer logfiles, uncomment the
# following directives.
#

[[CustomLog]] /home/procksi/logs/latest_referer.log referer env=!ganglia
[[CustomLog]] /home/procksi/logs/latest_agent.log agent env=!ganglia

#
# For a single logfile with access, agent, and referer information
# (Combined Logfile Format), use the following directive:
#
#CustomLog logs/access_log combined env=!ganglia

[[ScriptAlias]] /cgi-bin/ /home/procksi/latest/cgi-bin/

<Directory "/home/procksi/latest/cgi-bin">
    [[AllowOverride]] None
    Options None
    Order allow,deny
    Allow from all
</Directory>

Alias  /data/       /home/procksi/latest/data/
Alias  /images/   /home/procksi/latest/images/
Alias  /styles/   /home/procksi/latest/styles/
Alias  /applets/  /home/procksi/latest/applets/
Alias  /scripts/  /home/procksi/latest/scripts/
Alias  /ganglia/  /usr/local/ganglia/html/

#Redirection
Redirect /trac https://psiren.cs.nott.ac.uk/projects/procksi/

[[AddLanguage]] de .de
[[AddLanguage]] en .en
[[AddLanguage]] es .es
[[AddLanguage]] fr .fr 
[[LanguagePriority]] en es de fr

Alias /errordocs/ "/home/procksi/errordocs" 
<IfModule mod_negotiation.c>
    <IfModule mod_include.c>
        <Directory /home/procksi/errordocs>
            [[AllowOverride]] none
            Options [[MultiViews]] IncludesNoExec [[FollowSymLinks]]
            [[AddType]] text/html .shtml
            <FilesMatch "\.shtml[.$]">
                [[SetOutputFilter]] INCLUDES
            </FilesMatch>
        </Directory>

        [[ErrorDocument]] 400 /errordocs/400_BAD_REQUEST
        [[ErrorDocument]] 401 /errordocs/401_UNAUTHORIZED
        [[ErrorDocument]] 403 /errordocs/403_FORBIDDEN
        [[ErrorDocument]] 404 /errordocs/404_NOT_FOUND
        [[ErrorDocument]] 405 /errordocs/405_METHOD_NOT_ALLOWED
        [[ErrorDocument]] 406 /errordocs/406_NOT_ACCEPTABLE
        [[ErrorDocument]] 408 /errordocs/408_REQUEST_TIMEOUT
        [[ErrorDocument]] 410 /errordocs/410_GONE
        [[ErrorDocument]] 411 /errordocs/411_LENGTH_REQUIRED
        [[ErrorDocument]] 412 /errordocs/412_PRECONDITION_FAILED
        [[ErrorDocument]] 413 /errordocs/413_REQUEST_ENTITY_TOO_LARGE
        [[ErrorDocument]] 414 /errordocs/414_REQUEST_URI_TOO_LARGE
        [[ErrorDocument]] 415 /errordocs/415_UNSUPPORTED_MEDIA_TYPE
        [[ErrorDocument]] 500 /errordocs/500_INTERNAL_SERVER_ERROR
        [[ErrorDocument]] 501 /errordocs/501_NOT_IMPLEMENTED
        [[ErrorDocument]] 502 /errordocs/502_BAD_GATEWAY
        [[ErrorDocument]] 503 /errordocs/503_SERVICE_UNAVAILABLE
        [[ErrorDocument]] 506 /errordocs/506_VARIANT_ALSO_VARIES
    </IfModule>
</IfModule>

<Location /server-status>
    [[SetHandler]] server-status
    Order deny,allow
    Deny from all
    Allow from .cs.nott.ac.uk
</Location>

<Location /server-info>
    [[SetHandler]] server-info
    Order deny,allow
    Deny from all
    Allow from .cs.nott.ac.uk
</Location>

For each TEST version that shall be accessible from the web, make the following changes to the Apache configuration file (/etc/httpd/conf/httpd.conf), and change the Firewall rules to allow access to the give port nubmer:

#
# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, in addition to the default. See also the <VirtualHost>
# directive.
#
# Change this to Listen on specific IP addresses as shown below to
# prevent Apache from glomming onto all bound IP addresses (0.0.0.0)
#
#Port 80  :  Stable production version (release)
#Port 8080:  Stable test       version (pre-release)
Listen 80
Listen 8080

#
# Use name-based virtual hosting.
#
[[NameVirtualHost]] *:8080

<VirtualHost *:8080>
    [[ServerName]] procksi.cs.nott.ac.uk
    [[ServerAdmin]] webmaster@procksi.net
    [[DocumentRoot]] /home/procksi/test/html
    [[ServerName]] procksi.cs.nott.ac.uk:8080
    [[ErrorLog]]  /home/procksi/logs/test_error.log
    [[CustomLog]] /home/procksi/logs/test_access.log common env=!dontlog
    [[LogLevel]] debug
    [[ScriptAlias]] /cgi-bin/ /home/procksi/test/cgi-bin/
    Alias /data/ /home/procksi/test/data/
    Alias /images/ /home/procksi/test/images/
    Alias /styles/ /home/procksi/test/styles/
    Alias /applets/ /home/procksi/test/applets/
    Alias /scripts/ /home/procksi/test/scripts/
</VirtualHost>

  • Add search path for programs. Modify /etc/init.d/httpd to read:
     RETVAL=0
     PATH="$PATH:/usr/local/bin" 
    
  • Make the apache daemon start at bootup. Enter at the command line of the master node:
     /sbin/chkconfig  --add httpd
     /sbin/chkconfig  httpd  on
    
  • Start the apache daemon. Enter at the command line of the master node:
     /sbin/service  httpd  graceful