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

  1. Lancement et démarrage automatique du service nginx :
systemctl enable --now nginx
  1. Autorisation du protocole http dans firewall-cmd :
firewall-cmd --permanent --add-service=http && firewall-cmd --reload
  1. Test de connexion sur l’IP de la machine :

Test de connexion sur l’IP

Configuration de mariadb

  1. Lancement et démarrage automatique du service mariadb :
systemctl enable --now mariadb
  1. ““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]
  1. 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
  1. 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 :

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

Test de connection php ecommerce.fr

Installation d’un serveur web ecommerce.uk sur une machine unique

Répéter les opérations précédentes