Install d’un serveur apache avec execution python via WSGI
apt-get install apache2
apt-get install libapache2-mod-wsgi
/etc/init.d/apache2 restart
sans SSL
script python dans /var/www/stl-user
fichier /etc/apache2/sites-available/000-default.conf
WSGIDaemonProcess stl-user-app python-path=/var/www/stl-user:/usr/local/lib/python2.7/site-packages user=www-data group=www-data processes=1 threads=5 WSGIScriptAlias / /var/www/stl-user/init.py <Directory /var/www/stl-user> WSGIProcessGroup stl-user-app WSGIApplicationGroup %{GLOBAL} Require all granted </Directory>
le fichier init.py doit exposer un objet de type application.
Avec SSL
script python dans /var/www/stl-user
install support ssl
apt-get install openssl
mkdir /etc/apache2/ssl
cré&ation du certificat apache
/usr/sbin/make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem
nom du site url utiliser pour la connexion
NE PAS modifier le fichier /etc/apache2/ports.conf
Dans le fichier /etc/apache2/sites-available/default-ssl.conf
Commenter « #
» toute référence à d’autres certificats que celui que nous venons de générer
ajouter notre certificat à la fin du bloc </VirtualHost>
SSLEngine on SSLCertificateFile /etc/apache2/ssl/apache.pem
ainsi que la référence à notre siite
WSGIDaemonProcess stl-user-app python-path=/var/www/stl-user:/usr/local/lib/python2.7/site-packages user=www-data group=www-data processes=1 threads=5 WSGIScriptAlias / /var/www/stl-user/init.py <Directory /var/www/stl-user> WSGIProcessGroup stl-user-app WSGIApplicationGroup %{GLOBAL} Require all granted </Directory>
Activation ssl
activer le site default-ssl
redémarrer apache
a2enmod ssl a2ensite default-ssl sudo /etc/init.d/apache2 restart
Variables d’environnement
La définition de variable d’environnempent qui seront transmises au module wgsi puis vers python peuvent etre faites dans le fichier:
/etc/apache2/envvars
par exemple le definition d’une variable pour un service (utilisateur sans fichier .baschrc) dans mon cas www-data
est faite via ce fichier
export LD_LIBRARY_PATH=/etc/oracle/instantclient