Noethysweb

Application de gestion multi-activités

Outils pour utilisateurs

Outils du site


autohebergement

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
autohebergement [2023/09/17 11:03] – [Installation] ajout du nom du code dans balise code. baalthautohebergement [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://www.djangoproject.com/|Django]], donc pour l'héberger il faut une machine supportant cette solution. La solution NoethysWeb fonctionne grâce au moteur [[https://www.djangoproject.com/|Django]], donc pour l'héberger il faut une machine supportant cette solution.
  
 Nous partirons du postulat que la machine fonctionne avec le système d'exploitation Debian 11 Bullseye qui est compatible avec la solution Django. Nous partirons du postulat que la machine fonctionne avec le système d'exploitation Debian 11 Bullseye qui est compatible avec la solution Django.
  
-===== Une adresse sécurisée SSL =====+==== Une adresse sécurisée SSL ====
  
 Afin de permettre l'accès à la solution en toute sécurité, celle-ci devra être installé sur un système ayant un nom de domaine et une adresse (url) fonctionnant en https avec un certificat reconnu par les navigateurs. Cela est nécessaire pour l'utilisation de la partie "Portail Famille". Afin de permettre l'accès à la solution en toute sécurité, celle-ci devra être installé sur un système ayant un nom de domaine et une adresse (url) fonctionnant en https avec un certificat reconnu par les navigateurs. Cela est nécessaire pour l'utilisation de la partie "Portail Famille".
  
-//**Note de l'installateur :** Sans la partie "Portail Famille", la solution NoethysWeb peut fonctionner sur un réseau local dans nom de domaine.//+//**Note de l'installateur :** Sans la partie "Portail Famille", la solution NoethysWeb peut fonctionner sur un réseau local sans nom de domaine.//
  
-===== Une connexion SFTP/SSH =====+==== Une connexion SFTP/SSH ====
 Afin d'effectuer les opérations sur le serveur, un accès Secure Shell (SSH) et un accès de transfert de fichiers (SFTP) sont utilisés. Afin d'effectuer les opérations sur le serveur, un accès Secure Shell (SSH) et un accès de transfert de fichiers (SFTP) sont utilisés.
  
-===== 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'autres moteurs de base de données tels que MySql, PostGresql, ... NoethysWeb fonctionne avec une base de données, celle-ci est de base sur le moteur sqlite3. On peut aussi utiliser d'autres moteurs de base de données tels que MySql, PostGresql, ...
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 (avec un serveur NGINX) =====
  
-Une fois le système d'exploitation installé sur la machine, il faut installer quelques composants supplémentaires afin de permettre à la solution de fonctionner.+Une fois le système d'exploitation installé sur la machine, il faut installer quelques composants supplémentaires afin de permettre à la solution de fonctionner. \\ 
 +Pour l'installation avec un serveur Apache2 voir [[installation_apache|ici]].
  
   * 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.
Ligne 46: Ligne 47:
 </code> </code>
  
-===== Installation de NoethysWeb =====+ 
 + 
 +==== Installation de NoethysWeb ====
  
 On crée un espace qui va acceuillir le code de NoethysWeb, on va placer ça dans **/srv/NoethysWeb** On crée un espace qui va acceuillir le code de NoethysWeb, on va placer ça dans **/srv/NoethysWeb**
  
-<code>+<code bash>
 mkdir /srv/NoethysWeb mkdir /srv/NoethysWeb
 </code> </code>
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'application. On téléchargement le code source de NoethysWeb, on met à jour le système avec les pré-requis de l'application.
  
-<code>+<code bash>
 cd /srv/NoethysWeb cd /srv/NoethysWeb
 git clone https://github.com/Noethys/Noethysweb.git git clone https://github.com/Noethys/Noethysweb.git
Ligne 68: Ligne 71:
 On initialise ensuite la base de données et l'application avec les commandes suivantes : On initialise ensuite la base de données et l'application avec les commandes suivantes :
  
-<code>+<code bash>
 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 :
-<code>+<code bash>
 python3 manage.py import_defaut python3 manage.py import_defaut
 </code> </code>
  
 Ou si vous souhaitez importer la base de données d'un fichier Noethys - où xxx est le nom du fichier d'export créé depuis la fonction "Exporter vers Noethysweb" du menu Fichier de Noethys, et motdepasse est le mot de passe saisi lors de la génération de l'export : Ou si vous souhaitez importer la base de données d'un fichier Noethys - où xxx est le nom du fichier d'export créé depuis la fonction "Exporter vers Noethysweb" du menu Fichier de Noethys, et motdepasse est le mot de passe saisi lors de la génération de l'export :
-<code>+<code bash>
 python3 manage.py import_fichier xxx.nweb motdepasse python3 manage.py import_fichier xxx.nweb motdepasse
 </code> </code>
  
 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à.
-<code>+<code bash>
 python3 manage.py runserver python3 manage.py runserver
 </code> </code>
Ligne 96: Ligne 99:
   * http://IpMachine:8000/administrateur <= pour l'accès à la partie administration Django   * http://IpMachine:8000/administrateur <= pour l'accès à la partie administration Django
  
-===== Mise en production =====+==== Mise en production ====
  
 Une fois les tests effectués, on passe à la mise en production. Une fois les tests effectués, on passe à la mise en production.
Ligne 103: Ligne 106:
  
 Le démarrage de l'application Gunicorn est géré par systemD. On crée le fichier **/etc/systemd/system/gunicorn.service** avec pour contenu : Le démarrage de l'application Gunicorn est géré par systemD. On crée le fichier **/etc/systemd/system/gunicorn.service** avec pour contenu :
-<code>+<code bash>
 [Unit] [Unit]
 Description=gunicorn daemon Description=gunicorn daemon
Ligne 119: Ligne 122:
  
 Puis on passe les commandes : Puis on passe les commandes :
-<code>+<code bash>
 systemctl daemon-reload systemctl daemon-reload
 systemctl restart gunicorn.service systemctl restart gunicorn.service
Ligne 133: Ligne 136:
  
 Pour ce faire nous allons configurer nginx en créant le fichier **/etc/nginx/site-enabled/noethysweb.conf** avec le contenu suivant : Pour ce faire nous allons configurer nginx en créant le fichier **/etc/nginx/site-enabled/noethysweb.conf** avec le contenu suivant :
-<code>+<code bash>
 server { server {
  listen 80 default_server;  listen 80 default_server;
Ligne 157: Ligne 160:
  
 Puis on lance la commande certbot pour acquérir un certificat pour notre domaine Puis on lance la commande certbot pour acquérir un certificat pour notre domaine
-<code>+<code bash>
 certbot --renew-by-default certonly --webroot -w /usr/share/nginx/html -d nom_de_domaine certbot --renew-by-default certonly --webroot -w /usr/share/nginx/html -d nom_de_domaine
 </code> </code>
  
 Une fois le certificat récupéré, on complète le fichier **/etc/nginx/site-enabled/noethysweb.conf** Une fois le certificat récupéré, on complète le fichier **/etc/nginx/site-enabled/noethysweb.conf**
-<code>+<code bash>
 server { server {
  listen 80 default_server;  listen 80 default_server;
Ligne 247: Ligne 250:
  
 On relance le service nginx (**systemctl restart nginx.service**) et on teste avec les urls : On relance le service nginx (**systemctl restart nginx.service**) et on teste avec les urls :
-  * https://nom-de-domaine/ <= Portail Famille +  * <nowiki>https://nom-de-domaine/</nowiki> <= Portail Famille 
-  * https://nom-de-domaine/utilisateur <= Portail applicatif +  * <nowiki>https://nom-de-domaine/utilisateur</nowiki> <= Portail applicatif 
-  * https://nom-de-domaine/administrateur <= Administration Django +  * <nowiki>https://nom-de-domaine/administrateur</nowiki> <= Administration Django
  
 +=====Voir aussi=====
 +Dans la rubrique installation-hébergement : 
 +  * [[autohebergement]]
 +  * [[installation_apache]]
 +  * [[settings_production_detail]]
 +  * [[noethysweb_easy]]
autohebergement.1694941424.txt.gz · Dernière modification : 2023/09/17 11:03 de baalth