Installation d’un serveur web ecommerce.fr sur une machine unique
Installation des services
Installation des paquets :
dnf install nginx php-fpm mariadb-server php-mysqlnd
Configuration d’nginx
- Lancement et démarrage automatique du service nginx :
systemctl enable --now nginx
- Autorisation du protocole http dans firewall-cmd :
firewall-cmd --permanent --add-service=http && firewall-cmd --reload
- Test de connexion sur l’IP de la machine :
Configuration de mariadb
- Lancement et démarrage automatique du service mariadb :
systemctl enable --now mariadb
- ““Sécurisation”” du serveur mariadb
mysql_secure_installation
Switch to unix_socket authentication [Y/n]
Change the root password? [Y/n] n
Remove anonymous users? [Y/n]
Disallow root login remotely? [Y/n]
Remove test database and access to it? [Y/n]
Reload privilege tables now? [Y/n]
- Création d’une base de données et d’un utilisateur :
mysql -u root -p
create database mabdd;
CREATE USER 'hi'@'localhost' IDENTIFIED BY 'motdepasse';
GRANT ALL PRIVILEGES ON mabdd.* TO 'hi'@'localhost';
FLUSH PRIVILEGES;
exit
- Déploiement du site ecommerce.fr
Créer le dossier pour le site :
mkdir -p /var/www/ecommerce.fr/
Copier le contenu du site depuis un appareil externe vers le serveur :
scp -r ecommerce.fr/* root@192.168.197.55:/var/www/ecommerce.fr
Ouvrir le fichier /etc/php-fpm.d/www.conf et remplacer les valeurs user = apache et group = apache par user = nginx et group = nginx
Démarrer le service php-fpm :
systemctl enable --now php-fpm
Créer un fichier de configuration appelé ecommerce.fr.conf pour le site dans /etc/nginx/conf.d :
server {
listen 80;
listen [::]:80;
root /var/www/ecommerce.fr/;
index index.html index.htm index.nginx-debian.html sign-up.php;
server_name ecommerce.fr;
location ~* \.php$ {
fastcgi_pass unix:/run/php-fpm/www.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
}
access_log /var/log/nginx/access_ecommerce.fr.log;
error_log /var/log/nginx/error_ecommerce.fr.log;
location / {
try_files $uri $uri/ =404;
}
}
Appliquer les bonnes permissions sur ecommerce.fr :
find /var/www/ecommerce.fr/ -type d -exec chmod 755 {} \;
find /var/www/ecommerce.fr/ -type f -exec chmod 644 {} \;
chown -R nginx:nginx /var/www/ecommerce.fr/
Modifier le fichier conf.php présent dans /var/www/ecommerce.fr pour renseigner les identifiants de la base SQL :
<?php
$SETTINGS["mysql_user"]='hi';
$SETTINGS["mysql_pass"]='motdepasse';
$SETTINGS["hostname"]='localhost';
$SETTINGS["mysql_database"]='mabdd';
$SETTINGS["data_table"]='registrations';
$SETTINGS["paypal_address"]='email@domain.com';
?>
Exécuter le script SQL database.sql présent dans /var/www/ecommerce.fr :
mysql -u hi -p
use mabdd
source /var/www/ecommerce.fr/database.sql
exit
systemctl restart nginx
Modification du fichier /etc/hosts de mon PC portable pour pointer vers ecommerce.fr :
sudo su -
echo "192.168.197.55 ecommerce.fr" > /etc/hosts
Test de connection sur ecommerce.fr :
Pour vérifier que php est fonctionnel :
echo '<?php phpinfo(); ?>' > /var/www/ecommerce.fr/info.php
Se rendre sur ecommerce.fr/info.php