autohebergement
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
autohebergement [2023/09/17 10:07] – guerdal | autohebergement [2023/12/08 22:37] (Version actuelle) – voir aussi + hiérarchie fred.th | ||
---|---|---|---|
Ligne 9: | Ligne 9: | ||
- Une base de données | - Une base de données | ||
- | ===== Un hébergement sécurisé et compatible | + | ==== Un hébergement sécurisé et compatible ==== |
La solution NoethysWeb fonctionne grâce au moteur [[https:// | La solution NoethysWeb fonctionne grâce au moteur [[https:// | ||
Nous partirons du postulat que la machine fonctionne avec le système d' | Nous partirons du postulat que la machine fonctionne avec le système d' | ||
- | ===== Une adresse sécurisée SSL ===== | + | ==== Une adresse sécurisée SSL ==== |
Afin de permettre l' | Afin de permettre l' | ||
- | //**Note de l' | + | //**Note de l' |
- | ===== Une connexion SFTP/ | + | ==== Une connexion SFTP/SSH ==== |
Afin d' | Afin d' | ||
- | ===== Base de données | + | ==== Base de données ==== |
NoethysWeb fonctionne avec une base de données, celle-ci est de base sur le moteur sqlite3. On peut aussi utiliser d' | NoethysWeb fonctionne avec une base de données, celle-ci est de base sur le moteur sqlite3. On peut aussi utiliser d' | ||
Ligne 29: | Ligne 29: | ||
Nous partirons du postulat que le moteur sélectionné est Mysql. | Nous partirons du postulat que le moteur sélectionné est Mysql. | ||
- | ====== Installation | + | ===== Installation |
- | Une fois le système d' | + | Une fois le système d' |
+ | Pour l' | ||
* Django étant basé sur Python, nous allons installer Python3 et son pendant Webserveur : Gunicorn. | * Django étant basé sur Python, nous allons installer Python3 et son pendant Webserveur : Gunicorn. | ||
- | < | + | < |
apt install python3 python3-pip gunicorn | apt install python3 python3-pip gunicorn | ||
</ | </ | ||
* Le téléchargement de NoethysWeb et sa mise à jour se faisant via Git, on l' | * Le téléchargement de NoethysWeb et sa mise à jour se faisant via Git, on l' | ||
- | < | + | < |
apt install git | apt install git | ||
</ | </ | ||
* Nous aurons besoin d'un serveur Web avec certificat https pour fournir l' | * Nous aurons besoin d'un serveur Web avec certificat https pour fournir l' | ||
- | < | + | < |
apt install nginx certbot | apt install nginx certbot | ||
</ | </ | ||
- | ===== Installation de NoethysWeb | + | |
+ | |||
+ | ==== Installation de NoethysWeb ==== | ||
On crée un espace qui va acceuillir le code de NoethysWeb, on va placer ça dans **/ | On crée un espace qui va acceuillir le code de NoethysWeb, on va placer ça dans **/ | ||
- | < | + | < |
mkdir / | mkdir / | ||
</ | </ | ||
Ligne 56: | Ligne 59: | ||
On téléchargement le code source de NoethysWeb, on met à jour le système avec les pré-requis de l' | On téléchargement le code source de NoethysWeb, on met à jour le système avec les pré-requis de l' | ||
- | < | + | < |
cd / | cd / | ||
git clone https:// | git clone https:// | ||
Ligne 68: | Ligne 71: | ||
On initialise ensuite la base de données et l' | On initialise ensuite la base de données et l' | ||
- | < | + | < |
python3 manage.py makemigrations | python3 manage.py makemigrations | ||
python3 manage.py migrate | python3 manage.py migrate | ||
Ligne 77: | Ligne 80: | ||
Si vous souhaitez commencer avec une base de données vide : | Si vous souhaitez commencer avec une base de données vide : | ||
- | < | + | < |
python3 manage.py import_defaut | python3 manage.py import_defaut | ||
</ | </ | ||
Ou si vous souhaitez importer la base de données d'un fichier Noethys - où xxx est le nom du fichier d' | Ou si vous souhaitez importer la base de données d'un fichier Noethys - où xxx est le nom du fichier d' | ||
- | < | + | < |
python3 manage.py import_fichier xxx.nweb motdepasse | python3 manage.py import_fichier xxx.nweb motdepasse | ||
</ | </ | ||
Lancez enfin le serveur intégré pour tester si tout fonctionne jusque là. | Lancez enfin le serveur intégré pour tester si tout fonctionne jusque là. | ||
- | < | + | < |
python3 manage.py runserver | python3 manage.py runserver | ||
</ | </ | ||
Ligne 96: | Ligne 99: | ||
* http:// | * http:// | ||
- | ===== Mise en production ===== | + | ==== Mise en production ==== |
+ | |||
+ | Une fois les tests effectués, on passe à la mise en production. | ||
La mise en production va passer par la configuration à la fois de Gunicorn, applicatif qui va faire tourner la partie Web Python, et Nginx, applicatif qui va s' | La mise en production va passer par la configuration à la fois de Gunicorn, applicatif qui va faire tourner la partie Web Python, et Nginx, applicatif qui va s' | ||
- | **/ | + | Le démarrage de l' |
- | < | + | < |
[Unit] | [Unit] | ||
Description=gunicorn daemon | Description=gunicorn daemon | ||
Ligne 116: | Ligne 121: | ||
</ | </ | ||
- | **/ | + | Puis on passe les commandes : |
- | < | + | <code bash> |
+ | systemctl daemon-reload | ||
+ | systemctl restart gunicorn.service | ||
+ | </ | ||
+ | |||
+ | Ensuite, concernant Nginx, on va faire ça en deux étapes : | ||
+ | - Génération du certificat SSL avec certbot | ||
+ | - Configuration de Nginx pour gérer le SSL | ||
+ | |||
+ | === Gestion Certificat === | ||
+ | |||
+ | On va utiliser [[https:// | ||
+ | |||
+ | Pour ce faire nous allons configurer nginx en créant le fichier **/ | ||
+ | <code bash> | ||
+ | server { | ||
+ | listen 80 default_server; | ||
+ | listen [::]:80 default_server; | ||
+ | |||
+ | server_name nom_de_domaine; | ||
+ | |||
+ | # On va gérer les apples de Certbot | ||
+ | location / | ||
+ | root / | ||
+ | try_files $uri index.php; | ||
+ | } | ||
+ | |||
+ | # On redirige les appels vers la partie https du site | ||
+ | location / { | ||
+ | rewrite ^ https:// | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | On supprime le fichier **default** présent dans le répertoire **/ | ||
+ | On relance nginx avec la commande **systemctl restart nginx.service** | ||
+ | |||
+ | Puis on lance la commande certbot pour acquérir un certificat pour notre domaine | ||
+ | <code bash> | ||
+ | certbot --renew-by-default certonly --webroot -w / | ||
+ | </ | ||
+ | |||
+ | Une fois le certificat récupéré, | ||
+ | < | ||
server { | server { | ||
listen 80 default_server; | listen 80 default_server; | ||
Ligne 200: | Ligne 248: | ||
} | } | ||
</ | </ | ||
+ | |||
+ | On relance le service nginx (**systemctl restart nginx.service**) et on teste avec les urls : | ||
+ | * < | ||
+ | * < | ||
+ | * < | ||
+ | |||
+ | =====Voir aussi===== | ||
+ | Dans la rubrique installation-hébergement : | ||
+ | * [[autohebergement]] | ||
+ | * [[installation_apache]] | ||
+ | * [[settings_production_detail]] | ||
+ | * [[noethysweb_easy]] |
autohebergement.1694938073.txt.gz · Dernière modification : 2023/09/17 10:07 de guerdal