Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
atelier:chantier:nginx-mariabd-php-multi-sites-dont-wordpress-plusieurs-versions-de-php [23/12/2021 19:07] cyrille créée |
atelier:chantier:nginx-mariabd-php-multi-sites-dont-wordpress-plusieurs-versions-de-php [23/12/2021 20:59] cyrille [Introduction] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Nginx, MariaBD, php, multi-sites dont Wordpress, plusieurs versions de php ====== | ====== Nginx, MariaBD, php, multi-sites dont Wordpress, plusieurs versions de php ====== | ||
- | * Objet : Un how to pour installer rapidement un serveur nginx avec une base de données (MariaDB), php pluri-version et Wordpress. | + | * Objet : Un how to pour installer rapidement un serveur nginx avec une base de données (MariaDB), php pluri-versions et Wordpress. |
* Niveau requis : {{tag>débutant avisé}} | * Niveau requis : {{tag>débutant avisé}} | ||
- | * Commentaires : Un how to pour installer rapidement un serveur nginx avec une base de données (MariaDB), php pluri-version et Wordpress. | + | * Commentaires : Un how to pour installer rapidement un serveur nginx avec une base de données (MariaDB), php pluri-versions et Wordpress. |
* Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | ||
* Suivi : {{tag>en-chantier à-tester à-placer}} | * Suivi : {{tag>en-chantier à-tester à-placer}} | ||
* Création par [[user>cyrille]] 23/12/2021 | * Création par [[user>cyrille]] 23/12/2021 | ||
* Testé par [[user>cyrille]] le 23/12/2021 | * Testé par [[user>cyrille]] le 23/12/2021 | ||
- | * Commentaires sur le forum : [[:url-invalide | Lien vers le forum concernant ce tuto]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) FIXME | + | * Commentaires sur le forum : [[https://debian-facile.org/viewtopic.php?pid=372196 | Lien vers le forum concernant ce tuto]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) |
- | **Nota :** | ||
===== Introduction ===== | ===== Introduction ===== | ||
- | Un how to pour installer rapidement un serveur nginx avec une base de données (MariaDB), php pluri-version et Wordpress. | + | Un how to pour installer rapidement **un serveur nginx avec une base de données (MariaDB), php pluri-version et Wordpress**. |
- | Cette documentation expliquera aussi comment faire du multi-sites avec nginx et l'installation de Wordpress. | + | Cette documentation expliquera aussi comment faire **du multi-sites avec nginx** et l'installation de **Wordpress**. |
- | Attention, les configurations proposées le sont dans le cas d’un serveur de développement, pas de production. A noter que l’aspect sécurité ne sera ici pas abordé, la finalité de ce guide est de disposer d’un environnement de travail fonctionnel pour ceux qui veulent travailler le développement web dynamique. | + | Attention, les configurations proposées le sont dans le cas** d’un serveur de développement**, pas de production. A noter que l’aspect sécurité ne sera ici pas abordé, la finalité de ce guide est de disposer d’un environnement de travail fonctionnel pour ceux qui veulent travailler le développement web dynamique. |
- | A savoir, dans la configuration de nginx (/etc/nginx/, il y a deux dossiers importants : sites-available et sites-enabled. | + | A savoir, dans la configuration de nginx (**/etc/nginx/**), il y a deux dossiers importants : **sites-available** et **sites-enabled**. |
- | sites-available: Ce dossier contient les fichiers de configurations de vos sites. Ce dossier est un dépôt ; les fichiers de configuration qui y sont ne sont pas pris en compte. | + | **sites-available**: Ce dossier contient les fichiers de configurations de vos sites. Ce dossier est un dépôt ; les fichiers de configuration qui y sont ne sont pas pris en compte. |
- | sites-enabled: Dossier de liens symboliques vers les fichiers de site-available que vous souhaitez activer. | + | **sites-enabled**: Dossier de liens symboliques vers les fichiers de site-available que vous souhaitez activer. |
+ | <note important> | ||
+ | Pour éditer les fichiers de configuration, il est utilisé ici le paquet **micro** car ses raccourcis clavier sont plus instinctifs que ceux de **nano**, **vi**, **vim**... | ||
+ | Pour l'installer : | ||
+ | <code root>apt install micro</code></note> | ||
===== Installation des paquets ===== | ===== Installation des paquets ===== | ||
Ligne 40: | Ligne 44: | ||
systemctl start mariadb.service | systemctl start mariadb.service | ||
systemctl enable mariadb.service</code> | systemctl enable mariadb.service</code> | ||
+ | |||
+ | A cette étape nginx est opérationnel | ||
+ | |||
+ | {{/file-Reaee6401e4cf2738e247f39c334f13db.png?700}} | ||
+ | |||
Sécuriser la base données MariaDB | Sécuriser la base données MariaDB | ||
Ligne 73: | Ligne 82: | ||
===== Configurer nginx : créer son premier bloc de serveur ===== | ===== Configurer nginx : créer son premier bloc de serveur ===== | ||
- | Nginx n'utilise pas des répertoires virtuels (Virtual Hosts, terme d'Apache) mais des "server blocks", ici traduit en blocs de serveur, qui utilisent les directives server_name et listen pour se lier aux sockets tcp. | + | Nginx n'utilise pas des répertoires virtuels (**Virtual Hosts**, terme d'Apache) mais des "**server block**s", ici traduit en **blocs de serveur**, qui utilisent les directives **server_name** et **listen** pour se lier aux sockets tcp **(2)**. |
Ligne 80: | Ligne 89: | ||
Adapter les droits | Adapter les droits | ||
- | Nginx utilise l'user et le groupe www-data. | + | Nginx utilise l'user et le groupe **www-data**. |
Ligne 123: | Ligne 132: | ||
</file> | </file> | ||
- | Attention, pour la ligne | + | <note important>Attention, pour la ligne |
+ | <code> fastcgi_pass unix:/run/php/php7.4-fpm.sock;</code> | ||
Bien vérifier que la version php-fpm est la bonne par la commande suivante | Bien vérifier que la version php-fpm est la bonne par la commande suivante | ||
<code user>/var/run/php/ | <code user>/var/run/php/ | ||
- | php7.4-fpm.pid php7.4-fpm.sock php-fpm.sock</code> | + | php7.4-fpm.pid php7.4-fpm.sock php-fpm.sock</code></note> |
Ligne 145: | Ligne 153: | ||
Recharger la configuration du serveur | Recharger la configuration du serveur | ||
<code root>service nginx reload</code> | <code root>service nginx reload</code> | ||
- | |||
- | |||
Créer un fichier php à l'intérieur de votre répertoire de publication web. | Créer un fichier php à l'intérieur de votre répertoire de publication web. | ||
+ | |||
Exemple de syntaxe | Exemple de syntaxe | ||
+ | |||
<file php index.php> | <file php index.php> | ||
<?php | <?php | ||
Ligne 159: | Ligne 167: | ||
Vérifier dans votre navigateur | Vérifier dans votre navigateur | ||
+ | |||
+ | {{/file-Rf876a0b89e66940491d0688f62521673.png?700}} | ||
+ | |||
Le fichier /etc/hosts | Le fichier /etc/hosts | ||
- | Si vous voulez accéder à votre site, via son entrée server_name de votre bloc de serveur, alors insérer la ligne suivante dans votre fichier /etc/hosts | + | |
+ | Si vous voulez accéder à votre site, via son entrée **server_name** de votre bloc de serveur, alors insérer la ligne suivante dans votre fichier **/etc/hosts** | ||
<file config /etc/hosts> | <file config /etc/hosts> | ||
Ligne 238: | Ligne 250: | ||
- | image | + | {{/file-R131d849f7a6bb0f4fb06ff8d74b79548?700.png?700}} |
Ligne 271: | Ligne 282: | ||
<code root>micro wp-config.php</code> | <code root>micro wp-config.php</code> | ||
- | image 4 | + | {{/file-R999aec188e95543fc39de41ebe583db7.png?700}} |
Modifier ce fichier en précisant le nom de la base de données, le nom de l'administrateur wordpress précédemment créé et son mot de passe. | Modifier ce fichier en précisant le nom de la base de données, le nom de l'administrateur wordpress précédemment créé et son mot de passe. | ||
Ligne 339: | Ligne 350: | ||
- | image WP | + | {{/file-Rd318befa1ed320bc4f4a9f661fce2165.png?700}} |
+ | |||
+ | {{/file-Rfa6484856918f41dfa4ee99f9821be1e.png?700}} | ||
+ | |||
+ | {{/file-Ra2293a704ce7514eee87cfb7f366e266.png?700}} | ||
+ | |||
+ | {{/file-Ra0e0e1458476106945556ba469715eaf.png?700}} | ||
+ | |||
+ | {{/file-Rf140b1181df1652ad373619366115521.png?700}} | ||
Ligne 397: | Ligne 416: | ||
Dans le navigateur internet, vérifier que le site2 renvoie bien la nouvelle configuration. | Dans le navigateur internet, vérifier que le site2 renvoie bien la nouvelle configuration. | ||
+ | |||
+ | |||
+ | {{/file-R9cee640b345ad48c8522a3728bf483ac.png?700}} | ||
Dès lors vous avez donc | Dès lors vous avez donc | ||
+ | |||
site1 --> interprète du php 7.4 | site1 --> interprète du php 7.4 | ||
+ | |||
site2 --> interprète du php 8.1 | site2 --> interprète du php 8.1 | ||
Ligne 407: | Ligne 431: | ||
===== Conclusions ===== | ===== Conclusions ===== | ||
Voilà donc un premier aperçu de la prise en main de nginx afin d’un serveur web dynamique, pluri-sites et gérant différentes versions de php. | Voilà donc un premier aperçu de la prise en main de nginx afin d’un serveur web dynamique, pluri-sites et gérant différentes versions de php. | ||
+ | |||
+ | (2) [[https://www.nginx.com/resources/wiki/start/topics/examples/server_blocks/ | Nginx Server Blocks ]] |