====== Installation avec Apache2 ======
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.
===== Exigences =====
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 :
- mod_rewrite
- mod_proxy
- mod_proxy_http
Enfin il faut python et pip en version récente.
===== Installation =====
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
===== Création des répertoires =====
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/
===== Installation de NoethysWeb =====
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.
====== Exemple de fichier (téléchargeable et commenté) ======
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
Require all granted
Require all granted
Require all granted
Options FollowSymlinks
AllowOverride all
Allow from all
Require all granted
Options SymLinksIfOwnerMatch
DirectoryIndex index.php
Require all denied
Require all denied
Require all granted
Options FollowSymlinks
AllowOverride all
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
=====Voir aussi=====
Dans la rubrique installation-hébergement :
* [[autohebergement]]
* [[installation_apache]]
* [[settings_production_detail]]
* [[noethysweb_easy]]