Mise en place d’une configuration pour mettre en ligne un site web

 | 0 commentaires
configuration serveur site web

Suite de l’article consacré à l’installation Nginx, MariaDB et PHP 7.2 sous Debian 9. Je vais vous présentez une méthode de travail, que j’apprécie, pour mettre en ligne un site web proprement et « isolé » du reste du serveur. Ainsi, en cas de piratage, le pirate n’aura pas accès au reste du serveur.

Préparation du terrain

Commençons par ajouter un utilisateur Debian dont le nom dans cet exemple est « test »:

sudo adduser test

Rendez-vous dans son dossier d’utilisateur, créez le dossier www et mettez-le comme propriétaire:

cd /home/test
sudo mkdir www
sudo chown test:test www

Création d’un virtual host Nginx

Le but de ce virtual host est de faire pointer votre nom de domaine ou sous-domaine vers le dossier /home/test/www.

Rendez-vous le dossier des virtuals host de Nginx et créez un nouveau fichier.

cd /etc/nginx/sites-available
sudo nano exemple.com

Ensuite, remplissez le fichier par la configuration suivante en l’adaptant selon vos besoins.

server {
    listen 80;
    listen [::]:80;
    server_name exemple.com;

    root /home/test/www;

    index index.html index.php;

    error_log /var/log/nginx/test.log notice;

    location / {
        try_files $uri $uri/ =404;       
    }

    location ~* \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
    }
}

Ensuite on active le virtual host en faisant un lien symbolique vers /etc/nginx/sites-enabled :

sudo ln -s /etc/nginx/sites-available/exemple.com /etc/nginx/sites-enabled

Puis on test s’il n’y a pas d’erreur de configuration :

sudo nginx -t

Vous devriez avoir le message suivant sinon, il faudra corriger les erreurs indiquées.

Nginx configuration ok

Nginx: la configuration est bonne

Puis, on redémarre le service Nginx:

sudo service nginx restart

Voilà, Nginx est configuré pour votre site. Maintenant, passons à MariaDB.

Création d’un utilisateur et d’une base de donnée dans MariaDB

On commence par se connectez à MariaDB via la console :

sudo mysql -u root -p

Entrez le mot de passe que vous avez introduit durant la configuration de MariaDB

Une fois connecté, le message suivant apparaît :

Connexion à MariaDB

Connexion à MariaDB

Créons une base de données et un utilisateur du même nom utilisé précédemment (plus facile de s’y retrouver quand il y a plusieurs site) : test

CREATE DATABASE test;
CREATE USER 'test'@'localhost' IDENTIFIED BY '123';

« 123 » est le mot de passe à définir. Bien entendu, choisissez un mot de passe plus sécuriser.

Ensuite, on attribue à cet utilisateur les droits complet uniquement sur cette base de données :

GRANT ALL PRIVILEGES ON test. * TO test@'localhost'; 

Et pour que les changements prennent effet :

FLUSH PRIVILEGES;

Voilà, votre base de données est prête pour votre site, vous pouvez sortir de la console MariaDB :

exit

Il ne reste plus qu’à envoyer les fichiers de votre site sur le serveur dans le dossier /home/test/www

Pour cela, vous pouvez par exemple utiliser le logiciel Open Source FileZilla (https://filezilla-project.org/).

Soit le premier à commenter cet article.

Ton commentaire