Installer un serveur LEMP(Linux, Nginx, MariaDB/mySql, PHP) sous Debian 8

Bonjour à tous, aujourd’hui nous allons voir comment configurer un serveur LEMP opérationnel, en général, on installe ceci pour faire d’autres choses plus complexes mais qui nécessitent un serveur LEMP  derrière comme un serveur mail.

Tout d’abord, il va vous falloir un serveur Linux, ici, j’utiliserai Debian 8, mais vous pouvez facilement adapter ce tutoriel à d’autres distributions.
J’utiliserai en fait un VPS de chez OVH..

Bon avant de commencer ce tutoriel, vous devez deja avoir configuré les paramètres de base de votre serveur (IP, hostname….).

Bon on est parti ! Dans un premier temps, il va falloir ajouter manuellement des sources car php7 n’est pas dispo sur les sources officielles de Debian.

echo « deb http://packages.dotdeb.org jessie all » >> /etc/apt/sources.list
echo « deb-src http://packages.dotdeb.org jessie all » >> /etc/apt/sources.list
Avec ces commandes vous venez d’ajouter des sources qui nous permettront d’utiliser php7.
Dans la commande ci-dessous, wget sert à récupérer la signature des packages, apt-key l’installe. Sans cela, vous ne pourrez pas récupérer les packages pour des raisons de sécurité.
wget http://www.dotdeb.org/dotdeb.gpg
apt-key add dotdeb.gpg
wget http://nginx.org/keys/nginx_signing.key
apt-key add nginx_signing.key
Maintenant, on ne change pas les bonnes habitudes, on met le système à jour.
apt-get update
apt-get upgrade
Une fois ceci fait, on installe Nginx et php7
aptget install nginx php7.0mysql php7.0fpm php7.0curl
Maintenant on va installer MariaDB ( fork open source de MySQL…). On vous demandera un mot de passe, souvenez vous-en, il va nous servir des la prochaine commande…
aptget install mariadbserver mariadbclient
On termine l’installation de MariaDB, ici, on va vous demander un mot de passe, saisissez celui que vous avez rentré à la commande d’avant, et après, laissez tous les choix par défaut
mysql_secure_installation
Maintenant, on peut passer à la configuration du serveur.
Dans un premier temps, vous allez devoir faire:
nano /etc/php/7.0/fpm/php.ini
Et vous allez devoir trouver cgi.fix_pathinfo, je sais le fichier est énorme, mais pour vous aider, faites CTRL+W et entrez cgi.fix_pathinfo puis validez, ça devra vous emmener ou la ligne se trouve.
Modifiez cette ligne, enlevez la virgule et remplacez le 1 par un 0 comme ci-dessous
2017-02-03_17h57_16.png
Maintenant, nous allons configurer Nginx pour qu’il s’éxécute avec www-data.
Pour cela, faites
nano /etc/nginx/nginx.conf
Et modifiez la ligne user par www-data, vous pouvez aussi mettre le nombre de coeurs de votre processeur dans worker_process, si vous ne savez pas, laissez 1, après avoir fait cela, vous devriez avoir ça :
2017-02-03_18h05_03.png
Maintenant, nous allons créer notre host NGINX pour utiliser PHP.
vous allez devoir modifer le fichier suivant:
nano /etc/nginx/conf.d/default.conf
Dans ce fichier vous allez mettre la conf suivante:
server {
    listen       80;
    server_name  localhost;
    root /var/www/html;
    index index.php index.html index.htm;
    location / {
        try_files $uri $uri/ /index.php?q=$uri&$args;
    }
    error_page  404              /404.html;
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
    root   /usr/share/nginx/html;
    }
    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/run/php/php7.0fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}
Ne vous inquiétez pas, c’est presque terminé ! Nous allons juste redémarrer nos services:
systemctl restart nginx.service && systemctl restart php7.0fpm.service
Et bien sûr, pour tester que tout fonctionne, nous allons créer un petit fichier PHP.
mkdir p /var/www/html
echo <?php phpinfo(); ?> > /var/www/html/index.php
chown R wwwdata:wwwdata /var/www/
Maintenant, le test, entrez http://IP_SERVEUR/ et vous devriez avoir la page ci-dessous qui s’affiche, si c’est le cas, félicitations, sinon, vérifiez que vous n’avez pas loupé d’étapes et si vous êtes bloqués, dites le moi en commentaires.
2017-02-03_18h13_04.png
On se retrouve bientôt sur dans un article,
De plus, cet article me servira à l’avenir, lorsque je ferai des  » gros  » tutoriels ( mail…) ou un serveur LEMP fonctionnel est reccomandé, je vous le mettre en prérequis au  » gros tutoriel « !
J’ai réalisé ce tutoriel grâce au très bon tutoriel d’Adrien Furet :
Merci d’avoir lu !

Laisser un commentaire