{{tag>tutoriel}}
====== Remplacer apache par nginx sans coupure sur debian ======
Publié le 28 janvier 2020 par Le Libre Au Quotidien (site injoignable)
===== Pré-requis =====
- Une machine sous debian
- Avoir suffisamment d’espace disque disponible
- Avoir les droits root sur votre machine
===== Première étape : Installation de nginx et de php-fpm =====
- **Installer nginx** :USER@MACHINE:~$ sudo apt install nginxA la fin de l’installation de nginx, un message d’erreur signale qu'il ne peut pas démarrer ; c’est normal,nous verrons comment résoudre ce problème plus tard.
- **Installer l’implémentation FastCGI de PHP** compatible nginx :USER@MACHINE:~$ sudo apt install {,php-fpm}
===== Autres étapes =====
- **Configuration provisoire de nginx** : éditer avec les droits d'administration le fichier **/etc/nginx/sites-available/default** pour le modifier comme ceci :
- **Remplacer le port d’écoute 80 par le port 800** (en début de fichier)
- **Modfiez le paramètre root** pour définir le même rootdir que celui d’apache
- **Ajoutez index.php** à la directive index
- **Ajoutez** juste après indexlocation ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php/php7.3-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
- **Démarrer le service nginx** :USER@MACHINE:~$ sudo systemctl start nginx
- **Création d’un vhost** : créer un vhost pour votre site, par exemple :server {
listen 80;
server_name domain.tld;
location '/.well-known/acme-challenge' {
default_type "text/plain";
root /tmp/letsencrypt-auto/;
}
location / {
return 301 https://domain.tld$request_uri;
}
}
- **Basculement apache – nginx** quasiment sans coupure :
- **Remettre le port d’écoute 800 -> 80**
- **Stopper le service apache** :USER@MACHINE:~$ sudo systemctl stop apache2
- **Redémarrer le service nginx** (et appliquer la modification de port) :USER@MACHINE:~$ sudo systemctl restart nginx
- **supprimer apache de votre système** (les vhosts seront conservés dans /etc/apache2) :USER@MACHINE:~$ sudo apt purge apache2
===== Conclusion =====
===== Problèmes connus =====
===== Voir aussi =====
* **(fr)** [[http://Article]]
----
//Basé sur << [[http://Article|Article]] >> par Auteur.//