{{tag>tutoriel}}
====== De Nginx à Apache : remplacer Nginx par Apache sans perdre les données du site Web et avec le minimum de temps d'arrêt ======
Ce tutoriel explique comment migrer un site Web de **Nginx** vers **Apache** sur un VPS Ubuntu 12.04.
Il suppose que vous avez installé un environnement LEMP (Linux, Nginx, MySQL et PHP).
L'idée est d'installer Apache sur le port 8080 et en parallèle avec Nginx qui reste accessible sur le port 80, pour pouvoir configurer le nouveau serveur Apache tout en consultant les fichiers de configuration de Nginx.
Adaptez-le selon vos besoins.
Principales différences entre Apache et Nginx :
^ ^ Apache ^ NGINX ^
| emplacement des fichiers de configuration | /etc/apache2/apache2.conf | /etc/nginx/nginx.conf |
| fonctionnement | hôte virtuel | bloc server |
| répertoire racine par défaut | /var/www/html | /var/www/html |
| système de cache intégré | non | oui |
===== Pré-requis =====
* Un serveur **LEMP** installé
===== Première étape : Installer Apache =====
Nous commençons par installer notre nouveau logiciel Apache, ce qui nous permettra de configurer le nouveau serveur en consultant les fichiers de configuration Nginx actuels.
- **Installez [[apt>apache2]]**...@...:~$ sudo apt update
...@...:~$ sudo apt install apache2
...
Les paquets supplémentaires suivants seront installés :
apache2-bin apache2-data apache2-utils libapr1 libaprutil1
libaprutil1-dbd-sqlite3 libaprutil1-ldap
Paquets suggérés :
apache2-doc apache2-suexec-pristine | apache2-suexec-custom
Les NOUVEAUX paquets suivants seront installés :
apache2 apache2-bin apache2-data apache2-utils libapr1 libaprutil1
libaprutil1-dbd-sqlite3 libaprutil1-ldap
...
Souhaitez-vous continuer ? [O/n] o
...
...systemd[1]: Failed to start The Apache HTTP Server.
...
Les erreurs sont dûes au fait que Apache s'installe sur le port 80, déjà utilisé par Nginx.
Cele sera corrigé plus bas par la configuration provisoire de Apache
- **Installez [[apt>php-fpm]]** pour traiter les scripts PHP...@...:~$ sudo apt install php-fpm
- **Mettre en place la configuration de test de Apache** : Puisque Nginx est en cours d'exécution, il nous faut configurer notre serveur Apache indépendamment d'Nginx pour que notre site soit toujours opérationnel pendant la transition. Il suffit de tester Apache sur un autre port jusqu'à ce que nous soyons prêts à consolider nos modifications. De cette façon, nous pouvons faire fonctionner les deux serveurs simultanément. Commencez par ouvrir le fichier de configuration du site Apache par défaut :
----
Première étape : supprimer le serveur Web Nginx
- **Arrêtez Nginx** :...@...:~ $ sudo systemctl stop nginx
- **Désactivez le lancement de Nginx au démarrage** :...@...:~ $ sudo systemctl disable nginx
- **Désinstallez Nginx** :...@...:~ $ sudo apt remove {nginx,nginx-full}//ou en effaçant la configuration de nginx// :...@...:~ $ sudo apt purge {nginx,nginx-full}
- **Supprimez les dépendances indésirables** :...@...:~ $ sudo apt autoremove
===== Autres étapes =====
- **Mettez à jour le système** :...@...:~ $ sudo apt clean all
...@...:~ $ sudo apt update
...@...:~ $ sudo apt dist-upgrade
- **Installez Apache** :...@...:~ $ sudo apt install apache2
- **Lancez Apache** :...@...:~ $ sudo systemctl start apache2
- **Redémarrez Apache** :...@...:~ $ sudo apache2ctl restart
===== Conclusion =====
===== Problèmes connus =====
===== Voir aussi =====
* **(fr)** [[https://fr.w3ask.com/revenir-apache-nginx/]]
----
//Basé sur << [[https://fr.w3ask.com/revenir-apache-nginx/|Comment revenir à Apache de Nginx]] >> par W3Ask.//