Nginx est l’un des serveurs web les plus populaires au monde, il est aussi responsable d’héberger certains des sites les plus gros et les plus visités d’internet. Dans la plupart des cas, il utilise moins de ressources qu’Apache et peut être utilisé en tant que serveur web ou proxy inverse.
PHP FPM est une implémentation alternative à PHP FastCGI que l'on va pouvoir faire communiquer avec Nginx. Lorsque l'on rencontre des fichiers PHP on va indiquer à nginx de passer par PHP FPM pour les interpréter.
FPM (FastCGI Process Manager) est une implémentation alternative à PHP FastCGI avec quelques fonctionnalités additionnelles particulièrement utiles pour les environnements à haute charge.
MariaDB est un système de gestion de base de données édité sous licence GPL. Il s'agit d'un fork communautaire de MySQL qui fait suite au rachat de MySQL par Sun Microsystems en 2009 et des annonces du rachat de Sun Microsystems par Oracle Corporation. La gouvernance du projet est assurée par la fondation MariaDB, et sa maintenance par la société Monty Program AB, créateur du projet. Cette gouvernance confère au logiciel l’assurance de rester libre.
phpMyAdmin est un logiciel libre écrit en PHP qui a pour mission de s’occuper de l’administration d’un serveur de base de données MySQL ou MariaDB. Vous pouvez utiliser phpMyAdmin pour réaliser la plupart des tâches d’administration, ceci incluant la création de base de données, l’exécution de demandes, et l’ajout de comptes utilisateur.
Distribution utilisée pour l'écriture de la documentation : Debian 9 "Stretch"
Mettre à jour le système
apt update && apt upgrade
Installer Nginx
apt install nginx
Installer PHP (actuellement 7.2)
apt install php-fpm
Editer le fichier de configuration du site par défaut pour qu'il puisse utiliser du PHP
nano /etc/nginx/sites-available/default
Puis dans index, ajouter "index.php"
index index.html index.htm index.php index.nginx-debian.html;
Egalement on dé-commente la partie "location ~ .php$ {" | Attention, dé-commenter uniquement la bonne connexion à php-fpm
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
}
Installer MariaDB
apt install mariadb-server
Sécuriser MariaDB
mysql_secure_installation
Créer un utilisateur Administrateur dans MariaDB (commande à faire ligne par ligne)
mariadb
CREATE USER newuser@localhost IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON * . * TO newuser@localhost WITH GRANT OPTION;
quit
Supprimer un utilisateur dans MariaDB (commande à faire ligne par ligne)
mariadb
DROP USER newuser@localhost;
quit
Sécuriser phpMyAdmin
apt install phpmyadmin
Editer le fichier de configuration du site par défaut de Nginx pour ajouter phpMyAdmin
nano /etc/nginx/sites-available/default
Ajouter dans « server { } » juste avant l’accolade de fin
location /phpmyadmin {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/phpmyadmin/(.+\.php)$ {
try_files $uri =404;
root /usr/share/;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}
location /phpMyAdmin {
rewrite ^/* /phpmyadmin last;
}
vereecque.com