Web publique documentation - MaximeDanlee/admin2-projet GitHub Wiki

Organisation

Les fichiers sont organisés de la façon suivante :

/
|
--etc
    |
    --nginx
         |
         | --html
         |    |--B2B
         |          | --index.php
         |          | --process.php
         |    |--wwww
         |          | --index.html
         | 
         | --nginx.conf

nginx.conf:
Ce fichier permet de mettre en place les différents sites web, indiquer sur quel port écoute le serveur, la location des pages index, les logs du serveur,
le nom du serveur, les différentes routes, les clés ssl, ...

index.php/html:
Ces fichiers sont les pages principales du serveur, la page qui sera lancée en premier.

Ajout, modification et suppression

Dans le cas où il faut ajouter un site internet il faut :

  • Créer le dossier qui contiendra les fichiers html, css, ... (mkdir etc/nginx/html/nom du fichier)
  • Placer les fichiers html dans le dossier (/etc/nginx/html/nom du fichier/index.html)
  • rajouter un serveur dans le fichier etc/nginx/nginx.conf
  • rajouter un RR dans le serveur dns
  • ajouter un nouvel utilisateur dans la base de données
------------------------------------------
server {
   server_name "nom du site web";
   location /nom du dossier/ {
       root   /etc/nginx/html/nom du dossier;
       index  index.html index.htm index.php;
   }
}
------------------------------------------
nom du serveur (ex: www, b2b, ...)      IN      A	135.125.101.226

Ajout d'un nouvelle utilisateur Mysql :

  • CREATE USER 'example_user'@'adresse_ip_user' IDENTIFIED WITH mysql_native_password BY 'password';
  • GRANT ALL ON example_database.* TO 'example_user'@'adresse_ip_user';

Mettre à jour Nginx:

  1. Faire un backup de la config
    $ sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.backup

  2. Installer les dépendances
    $ sudo apt-get install software-properties-common python-software-properties

  3. Ajouter le référentiel pour la version stable de Nginx
    $ sudo add-apt-repository ppa:nginx/stable

  4. Maintenant on upgrade
    $ sudo apt-get update

  5. On installe Nginx
    $ sudo apt-get install nginx

  6. Après nginx demande si on veut garder l'ancienne config

Configuration file '/etc/nginx/nginx.conf'
 ==> Modified (by you or by a script) since installation.
 ==> Package distributor has shipped an updated version.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.
*** nginx.conf (Y/I/N/O/D/Z) [default=N] ?

  1. Mettre oui pour utiliser l'ancienne config

source : https://medium.com/@soban1193/upgrading-nginx-to-the-latest-version-on-ubuntu-c0ad9116cf87

Trouver erreur serveur Nginx:

Logs :

Il y a différent type de message dans les logs: débogage , info , avis , avertissement , erreur (il s'agit des logs par défaut ), critique , alerte ou émergence . Il peut y avoir des logs pour une erreur au lancement du service, un accès interdit, un fichier introuvable, ...

main logs (erreurs en rapport avec les serveurs nginx et les serveurs https) : /var/log/nginx/error.log
/etc/nginx/main_error.log

(exemple: 2021/04/29 13:17:00 [error] 161#161: *433 access forbidden by rule, client: 45.155.205.84, server: l2-2.ephec-ti.be, request: "POST /Autodiscover/Autodiscover.xml HTTP/1.1", host: "135.125.101.226:80")

logs serveurs (erreurs en rapport avec les serveurs b2b et www) :
/etc/nginx/b2b_error.log
/etc/nginx/www_error.log

(exemple : 2021/04/29 12:08:10 [error] 155#155: *414 "/etc/nginx/html/www/owa/index.html" is not found (2: No such file or directory), client: 139.162.231.247, server: wwww.l2-2.ephec-ti.be, request: "GET /owa/ HTTP/1.1", host: "135.125.101.226" 2021/04/29 13:16:59 [error] 161#161: *422 open() "/etc/nginx/html/www/solr/admin/info/system" failed (2: No such file or directory), client: 45.155.205.84, server: wwww.l2-2.ephec-ti.be, request: "GET /solr/admin/info/system?wt=json HTTP/1.1", host: "135.125.101.226", referrer: "http://135.125.101.226:80/solr/admin/info/system?wt=json")

Erreurs fréquentes

Il est possible que vous n'arriviez pas à vous connecter au site web
exemple: Failed to connect to https://b2b.l2-2.ephec-ti.be/ port 443: Connection refused

vérifier si tous les services sont lancés

  • service --status-all

Solution :

  1. Oubli du lancement du service Nginx
    Solution: service nginx restart
  2. Oubli du lancement du service Php
    Solution: service php7.4-fpm restart
  3. Faute de frappe dans le fichier nginx.conf (pour la location des fichiers index ou le nom du serveur)
    Solution: vi nginx.conf => modification du fichier

Dans le navigateur, nous pouvons rencontrer l'erreur 404 Not Found, il se peut qu'il y ait un problème avec le fichier de configuration. Pour vérifier cela, il faut ouvrir le fichier nginx.conf et vérifiez si le site utilise le chemin correct pour le dossier racine. Par example:

------------------------------------------
server {
   server_name "nom du site web";
   location /nom du dossier/ {
       root   /etc/nginx/html/nom du dossier;
       index  index.html index.htm index.php;
   }
}
------------------------------------------

NGINX donne error 500 lorsqu'il y a une erreur côté serveur qui empêche NGINX de renvoyer une réponse correcte. Cela peut être dû à de nombreuses raisons différentes telles qu'un script défectueux, des fichiers manquants référencés par le code, des autorisations de fichier inadéquates, etc. Le mieux pour résoudre ce problème est de redémarrer le service, si ça ne va toujours pas il faut aller voir les logs nginx (/var/log/nginx)

⚠️ **GitHub.com Fallback** ⚠️