--
AdriaCasajus - 12 Feb 2008
Apache + mod_python + Pylons + DIRAC
Required packages
- httpd-devel
- httpd
- mod_ssl
- gcc
- gcc-c++
- zlib
- zlib-devel
Prepare DIRAC
Compile python if it's not there
For Python2.5
<DIRACROOT>/external/sqlite-3.5.4/dirac-make
<DIRACROOT>/external/Python-2.5/dirac-make
<DIRACROOT>/contrib/pyOpenSSL/dirac-make
For Python2.4
<DIRACROOT>/external/Python-2.4.4/dirac-make
<DIRACROOT>/contrib/pyOpenSSL/dirac-make
Install Pylons
<DIRACROOT>/<DIRACARCH>/bin/python <DIRACROOT>/contrib/pyOpenSSL/ez_setup.py
<DIRACROOT>/<DIRACARCH>/bin/easy_install Pylons
Grid Requirements
In order to only allow valid certificates apache needs a CA directory (with CAs and CRLs updated periodically) and a certificate.
Setting up Apache
Install mod_python
<DIRACROOT>/external/mod_python/dirac-make
cp <DIRACROOT>/DIRAC/Interfaces/Web/wgsi.py <DIRACROOT>/<DIRACARCH>/lib/python<PYTHONVERSION>/site-packages/mod_python
Configure Apache
Under SLC4 apache configuration file is
/etc/httpd/conf/httpd.conf
LoadModule python_module modules/mod_python.so
- Define mod_python as the handler for the DIRAC web directory
<Directory "/opt/dirac/webRoot/DIRAC">
SetHandler mod_python
PythonHandler mod_python.wsgi
PythonPath "['/opt/dirac/DIRAC3/DIRAC/Interfaces/Web'] + sys.path"
PythonOption wsgi.application startup::app
PythonOption SCRIPT_NAME /DIRAC
</Directory>
Configuring mod_ssl
Under SLC4 mod_ssl configuration file is
/etc/httpd/conf.d/ssl.conf and it has to have defined the following settings:
- SSLCertificateFile /pathto/certfile
- SSLCertificateKeyFile /pathto/keyfile
- SSLCACertificatePath /etc/grid-security/certificates
- SSLCARevocationPath /etc/grid-security/certificates
- SSLVerifyClient require
- SSLVerifyDepth 10
- SSLOptions +StdEnvVars