Objectif 

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

Critères de succès

_Config DNS

_Install Debian

_Install LAMP

_Install WordPress

_Install HTTPS

_Paramétrage WordPress

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

  1. Se connecter à ns1 avec WinSCP
  • login:
  • mdp : 
  • 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 :    sudo  nslookup www.btsinfo.nc ns1.btsinfo.nc

II) Installer le site web:

  1. Se connecter à ns2 avec WinSCP 

Nom d’utilisateur :  

Mot de passe :

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

  • Inventer un mot de passe :
  • sudo mysql -u root -p
  • CREATE DATABASE jetsadap_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 jetsadap dans /var/www :

  • sudo mkdir jetsadap

Dans ce dossier, on installe wordpress :

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

ServerName jetsadap.btsinfo.nc

DocumentRoot /var/www/jetsadap/wordpress

  • Activer le site : sudo a2ensite jetsadap.conf

jetsadap.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 :
    • Mot de passe :
  • 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 jetsadap_db.* TO ‘jetsadap_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