J’ai récemment migré le blog sur un nouveau VPS de chez Scaleway et j’ai donc eu l’occasion de remonter un serveur web complet pour accueillir le blog.
J’ai choisi d’utiliser NGinx depuis plusieurs mois déjà de part sa grande flexibilité et ses performances bien meilleures qu’Apache.
J’ai décidé de partager avec vous l’installation d’un serveur LEMP en utilisant la dernière version NGinx, MariaDB (le fork open source de MySQL) et PHP 7 sorti l’été dernier.
L’ensemble de la procédure se fera sous Debian 8, la dernière version de Debian, mais elle peut être facilement adaptée à de nombreuses autres distributions.

Pré requis

– Un serveur sous Debian 8
– Un accès SSH à ce serveur

Installation des paquets LEMP

La dernière version d’NGinx n’est pas disponible sur les repos officiels de Debian, nous ajouterons donc les repos d’NGinx.org ; de même PHP 7 n’est disponible que sur les repos dotdeb.org pour le moment. Il faut donc ajouter ces sources à notre fichier /etc/apt/sources.list

Nous allons maintenant installer NGinx et PHP 7.

Et pour terminer nous allons installer MariaDB. Lors de l’installation il faudra choisir le mot de passe de l’utilisateur root.

Pour finaliser l’installation de MariaDB nous allons lancer la commande suivante en laissant toutes les options par défaut.

Nous en avons donc terminé pour l’installation des paquets préliminaires. Nous allons passer à la configuration.

Configuration du serveur

Dans un premier temps nous allons éditer le fichier /etc/php/7.0/fpm/php.ini et modifier la ligne cgi.fix_pathinfo en enlever le point virgule et en passant sa valeur à 0 de telle manière :

Puis nous allons configurer NGinx pour qu’il s’exécute avec l’utilisateur www-data. Pour cela nous allons éditer le fichier /etc/nginx/nginx.conf et modifier la ligne user. Il est également possible de modifier la variable worker-process avec le nombre de coeurs disponibles sur votre serveur.

nginx.conf
Désormais nous allons créer notre vhost NGinx pour utiliser PHP. Nous faisons une sauvegarde du fichier de configuration par défaut

Et nous éditons /etc/nginx/conf.d/default.conf avec les valeurs suivantes :

Pour terminer nous n’avons plus qu’à redémarrer nos services :

Nous allons créer un fichier php pour vérifier que tout fonctionne correctement :

En chargeant l’url de notre serveur http://ip_serveur on obtient nos différentes info PHP.
php_info
Nous avons donc un serveur Web prêt à l’emploi qui peut être utilisé pour de nombreuses applications.
Je vous propose de nous retrouver dans un prochain article pour découvrir comment installer WordPress en HTTPS sur notre serveur LEMP.