Différences
Ci-dessous, les différences entre deux révisions de la page.
tutoriel:internet:lemp:start [2021/01/15 17:51] – [LEMP : un serveur avec Linux, Nginx, MariaDB, PHP] admin | tutoriel:internet:lemp:start [2022/10/01 23:26] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 4: | Ligne 4: | ||
**LEMP** ((**L**inux, | **LEMP** ((**L**inux, | ||
- | * **[[logiciel: | + | * **[[logiciel: |
* **PHP**, ou plutôt le packet **php-fpm**, | * **PHP**, ou plutôt le packet **php-fpm**, | ||
- | * **[[logiciel: | + | * **[[logiciel: |
- | * **[[logiciel: | + | * **[[logiciel: |
- | + | ===== Pré-requis ===== | |
- | = | + | |
- | ===== Pré-requis | + | |
<WRAP center round info 60%> | <WRAP center round info 60%> | ||
Ligne 22: | Ligne 20: | ||
...@...:~$ sudo apt dist-upgrade</ | ...@...:~$ sudo apt dist-upgrade</ | ||
- | ====== Première étape | + | ===== Première étape ===== |
- **Installez** les paquets **[[apt> | - **Installez** les paquets **[[apt> | ||
Ligne 28: | Ligne 26: | ||
active</ | active</ | ||
- **Sauvegardez les fichiers de configuration** :<cli prompt=' | - **Sauvegardez les fichiers de configuration** :<cli prompt=' | ||
- | ====== Autres étapes | + | |
+ | ===== Autres étapes ===== | ||
- **[[tutoriel: | - **[[tutoriel: | ||
Ligne 61: | Ligne 60: | ||
</ | </ | ||
* **Sur un PC du réseau, ouvrez en http l' | * **Sur un PC du réseau, ouvrez en http l' | ||
- | - **Installez [[logiciel: | + | - **Installez [[logiciel: |
- **Installez [[logiciel: | - **Installez [[logiciel: | ||
- | - **Installez [[logiciel: | + | - **Installez [[logiciel: |
- **Sécurisez Nginx** : | - **Sécurisez Nginx** : | ||
* **[[tutoriel: | * **[[tutoriel: | ||
- | * **[[tutoriel: | + | * **[[tutoriel: |
- | ===== Désinstallation | + | ==== Désinstallation ==== |
- **Arrêtez nginx** :<cli prompt=' | - **Arrêtez nginx** :<cli prompt=' | ||
Ligne 78: | Ligne 77: | ||
- **Terminez l' | - **Terminez l' | ||
- **Effacez /var/www/** et ses sous-répertoires :<cli prompt=' | - **Effacez /var/www/** et ses sous-répertoires :<cli prompt=' | ||
- | ===== Installation du serveur MariaDB et du client en ligne de commande | + | |
+ | ==== Installation du serveur MariaDB et du client en ligne de commande ==== | ||
- Installez le paquet **[[apt> | - Installez le paquet **[[apt> | ||
Ligne 94: | Ligne 94: | ||
</ | </ | ||
- | + | ==== Configuration par défaut de Nginx pour qu'il traite les requêtes PHP ==== | |
- | ===== Configuration par défaut de Nginx pour qu'il traite les requêtes PHP ===== | + | |
- Faites une copie du fichier **/ | - Faites une copie du fichier **/ | ||
Ligne 127: | Ligne 126: | ||
- Redémarrez Nginx <cli prompt=' | - Redémarrez Nginx <cli prompt=' | ||
- Pour vérifier que Nginx exécute PHP, créez le fichier **/ | - Pour vérifier que Nginx exécute PHP, créez le fichier **/ | ||
- | phpinfo();</ | + | phpinfo();</ |
- | ===== Configurer Nginx pour qu'il traite les requêtes PHP pour un nom de domaine | + | ==== Configurer Nginx pour qu'il traite les requêtes PHP pour un nom de domaine ==== |
Supposons que nous souhaitons répondre aux requêtes PHP pour **abcd1234.com**. | Supposons que nous souhaitons répondre aux requêtes PHP pour **abcd1234.com**. | ||
Ligne 155: | Ligne 154: | ||
} | } | ||
}</ | }</ | ||
- | ===== Mise en place de PHP ===== | + | |
+ | ==== Mise en place de PHP ==== | ||
- éditez avec les droits d' | - éditez avec les droits d' | ||
Ligne 206: | Ligne 206: | ||
* Pour les installer :< | * Pour les installer :< | ||
| | ||
- | - **Installez [[logiciel: | + | - **Installez [[logiciel: |
- | - [[logiciel: | + | - [[logiciel: |
- | * **Installez [[logiciel: | + | * **Installez [[logiciel: |
- **Installez la base de données SQL**, selon le cas : | - **Installez la base de données SQL**, selon le cas : | ||
* **MariaDB** : définissez le mot de passe de l' | * **MariaDB** : définissez le mot de passe de l' | ||
Ligne 218: | Ligne 218: | ||
... | ... | ||
</ | </ | ||
- | |||
- Configurer MariaDB : vérifiez que MariaDb est bien démarré :< | - Configurer MariaDB : vérifiez que MariaDb est bien démarré :< | ||
Ligne 224: | Ligne 223: | ||
</ | </ | ||
- | ===== Démarrer le gestionnaire de processus FastCGI | + | ==== Démarrer le gestionnaire de processus FastCGI ==== |
Affichez la version de php :< | Affichez la version de php :< | ||
Ligne 240: | Ligne 239: | ||
PHP-FPM est une alternative à PHP FastCGI. | PHP-FPM est une alternative à PHP FastCGI. | ||
- | ===== Configurer et démarrer le serveur NGINX ===== | + | ==== Configurer et démarrer le serveur NGINX ==== |
Une fois PHP installé, il faut indiquer à NGINX d' | Une fois PHP installé, il faut indiquer à NGINX d' | ||
Ligne 386: | Ligne 385: | ||
Vérification : [[http:// | Vérification : [[http:// | ||
- | ===== Serveurs virtuels | + | ==== Serveurs virtuels ==== |
Créez avec les droits d' | Créez avec les droits d' | ||
Ligne 416: | Ligne 415: | ||
Voici ce que font ces directives et ces blocs location : | Voici ce que font ces directives et ces blocs location : | ||
- | | + | |
: Port sur lequel Nginx écoute. | : Port sur lequel Nginx écoute. | ||
: 80 = port par défaut pour HTTP | : 80 = port par défaut pour HTTP | ||
- | | + | |
: emplacement de la racine du site Web. | : emplacement de la racine du site Web. | ||
- | | + | |
: fichiers index.php prioritaires | : fichiers index.php prioritaires | ||
- | | + | |
: nom de domaine ou adresse IP de votre serveur. | : nom de domaine ou adresse IP de votre serveur. | ||
- | | + | |
: La directive try_files vérifie l’existence de fichiers demandés | : La directive try_files vérifie l’existence de fichiers demandés | ||
: Si Nginx ne le trouve pas, il retourne une erreur 404. | : Si Nginx ne le trouve pas, il retourne une erreur 404. | ||
- | | + | |
: gère le traitement PHP en pointant Nginx vers le fichier de configuration fastcgi-php.conf et le fichier php7.2-fpm.sock, | : gère le traitement PHP en pointant Nginx vers le fichier de configuration fastcgi-php.conf et le fichier php7.2-fpm.sock, | ||
- | | + | |
: bloc location pour les fichiers .htaccess, que Nginx ne traite pas. | : bloc location pour les fichiers .htaccess, que Nginx ne traite pas. | ||
: La directive deny all ne transmet pas aux visiteurs des éventuels fichiers .htaccess | : La directive deny all ne transmet pas aux visiteurs des éventuels fichiers .htaccess | ||
Ligne 442: | Ligne 441: | ||
< | < | ||
- | ==== Configuration d' | + | === Configuration d' |
- | ==== Configurer Nginx pour gérer automatiquement les sous-domaines locaux | + | === Configurer Nginx pour gérer automatiquement les sous-domaines locaux === |
- | === Création d’un nouveau site nginx === | + | == Création d’un nouveau site nginx == |
éditez avec les droits d' | éditez avec les droits d' | ||
Ligne 525: | Ligne 524: | ||
</ | </ | ||
- | ==== Création des domaines génériques avec dnsmasq | + | === Création des domaines génériques avec dnsmasq === |
Installez le paquet **[[apt> | Installez le paquet **[[apt> | ||
Ligne 567: | Ligne 566: | ||
</ | </ | ||
- | ====== Conclusion | + | ===== Conclusion ===== |
- | ====== Problèmes connus ====== | + | ===== Problèmes connus ===== |
- | + | ??? Erreur 403 forbidden, un classique de Nginx | |
- | ??? Erreur 403 forbidden, un classique de Nginx | + | |
!!! L’erreur 403 est fréquente avec Nginx, mais simple à corriger. | !!! L’erreur 403 est fréquente avec Nginx, mais simple à corriger. | ||
- Cela peut signifier que Nginx ne trouve pas de fichier à afficher. Pour tester cela, créez un fichier index.html dans le répertoire **/ | - Cela peut signifier que Nginx ne trouve pas de fichier à afficher. Pour tester cela, créez un fichier index.html dans le répertoire **/ | ||
- Sinon, c'est peut-etre que Nginx ne peut accéder au répertoire **/ | - Sinon, c'est peut-etre que Nginx ne peut accéder au répertoire **/ | ||
- Dernière possibilité : vous avez mal activé php. | - Dernière possibilité : vous avez mal activé php. | ||
- | ====== Voir aussi ====== | + | |
+ | ===== Voir aussi ===== | ||
* **(fr)** [[https:// | * **(fr)** [[https:// |