Projet Multisite

Projet Multisite

Objectif 

Héberger les sites portfolios des étudiants sur un serveur en multisite

Critères de succès

  • un serveur web opérationnel
  • plusieurs noms de domaine
  • plusieurs sites différents accessibles par chaque nom
  • en https

I – Créer le nom de sous-domaine www :

  1. Se connecter à ns1 avec WinSCP

login:debian

mdp :  k3BvtJwQmsUA

Ouvrir Putty

options > préférences > integration > application

  1. Aller dans le fichier avec la commande : sudo nano /etc/bind/zones/db.btsinfo.nc
  1. Créer un enregistrement de type A :
  • 1ere colonne : nom de la machine (www)
  • 2eme colonne : IN
  • 3eme colonne : A
  • 4eme colonne : adresse IP (139.99.134.195)
  1. Redémarrer le programme : sudo systemctl restart bind9
  1. Vérifier que le procédé fonctionne avec un cmd : nslookup www.btsinfo.nc ns1.btsinfo.nc

sudo

II – Installer le site web:

  1. Se connecter à ns2 avec WinSCP 

Nom d’utilisateur : debian 

Mot de passe : R7xgNc2N4pyR

Ouvrir Putty options > préférences > integration > application

  • Inventer un mot de passe : chocolatcafelait
  • sudo mysql -u root -p
  • CREATE DATABASE stephenl_db;
  • Création d’un compte user :   
  • GRANT ALL ON [nom de la base de données]_db.* TO ‘[wordpress]_user@’localhost’ IDENTIFIED BY ‘[password]’;
  • FLUSH PRIVILEGES;
  • exit;
  1. Installer WordPress

https://www.tecmint.com/install-wordpress-alongside-lamp-on-debian-10/

Aller dans le dossier ‘www’ :

  • cd /var/www/

Créer un dossier stephenl dans /var/www :

  • sudo mkdir stephenl

Dans ce dossier, on installe wordpress :

  1. Changer les permissions sur wordpress:
  • sudo chown -R www-data:www-data /var/www/stephenl/wordpress
  • sudo find /var/www/stephenl/wordpress/ -type d -exec chmod 750 {} \; 
  • sudo find /var/www/stephenl/wordpress/ -type f -exec chmod 640 {} \;
  1. Configurer apache pour wordpress:
  • Dans /etc/apache2/sites-available/, créer stephenl.conf à partir du fichier nicolass.conf :
  • sudo cp /etc/apache2/sites-available/stephenl.conf /etc/apache2/sites-available/eddyp.conf
  • Et modifier dans ce fichier :
  • sudo nano [nom du fichier]

ServerName stephenl.btsinfo.nc

DocumentRoot /var/www/eddyp/wordpress

  • Activer le site :
  • sudo a2ensite stephenl.conf
  • stephenl.btsinfo.nc fonctionne !

III – Passage en HTTPS :

Activer HTTPS sur votre serveur Web

Créer un certificat du serveur

Installer le certificat sur www.btsinfo.nc

  • login :
  • mdp :

Installer la certification de certbot:

  • sudo apt install python3-certbot-apache

Obtenir un certificat SSL 

Tutoriel à suivre pour installer le certificat de sécurité Let’s Encrypt :

https://www.pragmaticlinux.com/2020/10/install-a-free-lets-encrypt-ssl-certificate-on-debian-10/

https://certbot.eff.org/lets-encrypt/debianbuster-apache

Définir :

-ServerName sur www.btsinfo.nc

ServerAlias sur btsinfo.nc

dans le fichier 000-default.conf (chemin : /etc/apache2/sites-available)

Après modification, redémarrer apache2 :

  • sudo systemctl restart apache2

Vérification :

  • sudo systemctl status apache2

Succès : 

IV – Multisite / Virtual hosts :

Cahier des charges : 

Chaque étudiant de SISR dispose d’un site wordpress à son nom, en https, hébergé sur 139.99.134.195

Specs :

https://www.liquidweb.com/kb/configure-apache-virtual-hosts-ubuntu-18-04/

https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-ubuntu-14-04-lts

1) – DNS : créer les domaines de chaque étudiant :

Saisir un enregistrement par personne pour disposer d’un sous domaine sur ns1

  • Se connecter à ns1.btsinfo.nc avec winscp et putty,
    • login : debian
    • Mot de passe : k3BvtJwQmsUA
  • Modifier le fichier de la zone btsinfo.nc 
    • /etc/bind/zones/db.btsinfo.nc
  • Convention de nommage :
    • prénom + 1ère lettre du nom de famille
  • Enregistements de type A vers 139.99.134.195
  • Critère de succès :

2) – WordPress : créer les sites de chaque étudiant :

  • créer un dossier par personne dans /var/www/ :
    • dossier prénomN
  • Créer une Base de données
    • GRANT ALL ON stephenl_db.* TO ‘stephenl_user’@’localhost’ IDENTIFIED BY ‘stylopierreordinateur’;

Se connecter à MySQL donner un login et un mot de passe sur son propre site pour avoir un user à son nom :

“prénom + première lettre du nom”_db

  • Paramétrer le virtualhost dans /etc/apache2

3) – HTTPS : installer un certificat let’s encrypt :

Installation d’un certificat de sécurité Let’s Encrypt pour se connecter en https :

https://www.pragmaticlinux.com/2020/10/install-a-free-lets-encrypt-ssl-certificate-on-debian-10/

  • sudo certbot –apache

Sélectionner le site pour lequel vous voulez installer le certificat en entrant le numéro correspondant à l’adresse de votre site

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *