Linux / Ubuntu
Configurer Apache 2 avec Django 1.7
Déployer son site internet Lille réalisé sous Django sur un serveur Apache 2 peut se faire de différentes manières. Voici la version simple via un fichier httpd.conf avec mod_wsgi.
On suppose que :Envoyer le dossier du projet sur le serveur (par ssh par exemple, depuis le serveur:
scp -r user@IP-source:/chemin/vers/le/projet /home/projet
1. Installer mod-wsgi sur le serveur
$ sudo aptitude install libapache2-mod-wsgi
Redémarrer Apache
$ sudo service apache2 restart
Activer mod-wsgi
$ a2enmod wsgi
2. Modifier le fichier wsgi.py sur le serveur
import sys
sys.path.append("/home/projet/;)
3. Créer un fichier "static" (pour ma part, je le crée dans un autre répertoire que celui du projet: /var/www/) et on attribue les droits à Apache (www-data)
$ mkdir /var/www/projet-static
chown www-data:www-data /var/www/projet-static
Modidier settings.py
STATIC_ROOT = "/var/www/projet-static/"
Et on lance un collectstatic:
cd /home/projet
python manage.py collectstatic
4. On crée le fichier de configuration Apache dans /etc/apache2/
nano /etc/apache2/httpd.conf
Et on y insère la configuration suivante :
<Directory /home/psychloe/> <Files wsgi.py> Require all granted </Files> </Directory> Alias /static/ /var/www/psychloe/static/ <Directory /var/www/psychloe/static> Require all granted AllowOverride All </Directory>
5. Enfin, on redémarre Apache (vu plus haut)