Installation
Mettre à jour le système
apt update && apt upgrade
Installer nginx
apt install nginx
Installer php7.0-fpm
apt install php-fpm
Editer le fichier de configuration du site par défaut de nginx pour utiliser php
nano /etc/nginx/sites-available/default
Dans index, ajouter « index.php »
index index.html index.htm index.php index.nginx-debian.html;
Dé-commenter la partie « location ~ \.php$ { » , ne 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
mariadb CREATE USER newuser@localhost IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON * . * TO newuser@localhost WITH GRANT OPTION; quit
Supprimer un utilisateur dans mariadb
mariadb DROP USER newuser@localhost; quit
Installer phpMyAdmin
apt install phpmyadmin
Ne rien sélectionner.
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; }
Héberger plusieurs sites avec les VirtualHosts
Copier le site dans le serveur
cp site1 /var/www/
Changer le propriétaire du dossier et des sous-dossiers
chown -R www-data:www-data /var/www
Copier l’exemple de configuration des VirtualHosts
cp /etc/apache2/sites-available/default /etc/apache2/sites-available/site1
Editer ce fichier en modifiant le « server_name » qui correspond à l’adresse du site web, ainsi que « root » qui correspond au chemin sur le serveur. Enlever la configuration de phpmyadmin qui est présent uniquement sur le fichier default.
nano /etc/apache2/sites-available/site1
Activer le site en créant un lien symbolique
ln -s /etc/nginx/sites-available/site1 /etc/nginx/sites-enabled/site1
Recharger la configuration de nginx
systemctl reload nginx
Activer la réécriture d’adresse
Editer le fichier de configuration du site
nano /etc/nginx/sites-available/site1
Les arguments « try_files » dans la section « <location /> »
try_files $uri $uri/ /index.php?$args;
Recharger la configuration de nginx
systemctl reload nginx