Cette page décrit l'installation de NoethysWeb servie par un serveur Apache2 (Apache2.4) et hébergeant en plus de NoethysWeb un site institutionnel, cette partie étant optionnelle.
Il faut disposer d'un serveur Linux, la démonstration est faite sur Ubuntu 20.04.
$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=20.04 DISTRIB_CODENAME=focal DISTRIB_DESCRIPTION="Ubuntu 20.04.6 LTS"
Il faut un serveur apache, idéalement en version 2.4
$ apache2 -v Server version: Apache/2.4.41 (Ubuntu) Server built: 2023-03-08T17:32:54
Ainsi que les modules suivants :
Enfin il faut python et pip en version récente.
On commence par installer les paquets nécessaires.
sudo apt install apache2 python3 pip3
Ensuite on va activer les modules nécessaires à Apache2.
sudo a2en mod_rewrite mod_proxy mod_proxy_http
Puis on rédémarre le service
sudo service apache2 reload
Il faut créer des répertoires. Dans le cas présent, nous avons 2 répertoires à la racine de /var/www/. Le répertoire site/ contient NoethysWeb et grav/, le site vitrine (Optionnel).
cd /var/www/ mkdir site/ cd site/
Il faut télécharger la dernière version de NoethysWeb
wget https://github.com/Noethys/Noethysweb/archive/refs/heads/main.zip
Une fois le fichier télécharger il suffit d'extraire le contenu depuis le répertoire actuel.
<IfModule mod_ssl.c> <VirtualHost *:443> DocumentRoot /var/www/grav/ # Gestion des alias sur le serveur # Alias pour l'accès au géstionnaire de base de donné MySQL. Alias /phpmyadmin /usr/share/phpmyadmin # Alias des media et des fichiers statiques de NoethysWeb Alias /media /var/www/site/noethysweb/media Alias /static /var/www/site/noethysweb/static # Alias de la racine du Site créé avec le CMS GRAV (Optionnel) Alias / /var/www/grav/ # ProxyPreserveHost permet de servir NoethysWeb tel qu'il est exposé par Django ProxyPreserveHost On # Cette route permet la transmission du captcha via apache. ProxyPass /captcha http://localhost:8000/captcha # Routes spécifiques correspondantes aux URLS paramétrées dans le fichier settings.production.py ProxyPass /utilisateur http://localhost:8000/utilisateur ProxyPassReverse /utilisateur http://localhost:8000/utilisateur ProxyPass /administrateur http://localhost:8000/administrateur ProxyPassReverse /administrateur http://localhost:8000/administrateur ProxyPass /portail http://localhost:8000/portail ProxyPassReverse /portail http://localhost:8000/portail # Route spécifique à l'outil de gestion des tableaux. ProxyPass /select2/fields http://localhost:8000/select2/fields ProxyPassReverse /select2/fields http://localhost:8000/select2/fields # Route avertissant l'utilisateur qu'il est bloqué. ProxyPass /locked http://localhost:8000/locked ProxyPassReverse /locked http://localhost:8000/locked ServerAdmin webmaster@localhost <Directory /var/www/site/noethysweb/media> Require all granted </Directory> <Directory /var/www/site/noethysweb/static> Require all granted </Directory> <Directory /var/www/grav> Require all granted Options FollowSymlinks AllowOverride all Allow from all </Directory> <Directory /var/www/html> Require all granted </Directory> <Directory /usr/share/phpmyadmin> Options SymLinksIfOwnerMatch DirectoryIndex index.php </Directory> <Directory /usr/share/phpmyadmin/templates> Require all denied </Directory> <Directory /usr/share/phpmyadmin/libraries> Require all denied </Directory> <Directory /var/www/grav/> Require all granted Options FollowSymlinks AllowOverride all </Directory> ErrorLog ${APACHE_LOG_DIR}/error_grav.log CustomLog ${APACHE_LOG_DIR}/access_grav.log combined ServerName www.mon_association.fr SSLCertificateFile /etc/letsencrypt/live/polygones-lentilly.fr/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/polygones-lentilly.fr/privkey.pem Include /etc/letsencrypt/options-ssl-apache.conf </VirtualHost> </IfModule>
Dans la rubrique installation-hébergement :