Multisites WordPress et Drupal sur Debian

Après plusieurs heures et jours de recherche pour mettre en œuvre le multisite, je vous dévoile en guise de cadeau, les étapes pour en venir à bout. 

Sur VirtualBox configurer le réseau de votre machine en Nat puis commençons doucement et proprement par l’installation des mises à jour : 

Clone de Vm Debian 3D Wp et drupal OK [En fonction] - Oracle VM Virtua180x apt update apt tull-upgrade_  

apt update && apt full-upgrade 

Installation des services 

Afin de ne pas taper votre mot de passe toutes les cinq secondes, je vous conseille de vous connecter en root avec la commande : 

su  

Bitvise - Passage en root 

– Apache2 

On commence avec le célèbre serveur Apache2. Il faut taper la commande suivante : 

apt-get install apache2 

Installation d'Apache2 

N’oubliez pas d’appuyer sur la touche O puis entrée pour valider l’installation du paquet. 

– Installation php

# apt-get -y install php php-mysql php-curl

– Installation de MariaDB Server

# apt-get -y install mariadb-server

– Sécuriser MySql Serveur

On va sécuriser le serveur en créant un mot de passe pour l’accès administrateur, puis créer un autre utilisateur. Pour cela tapez la commande suivante :

mysql_secure_installation 

Sécurisation du serveur MySql 

Le programme vous demande le mot de passe courant à MySQL. Etant donné que c’est une installation neuve, il suffit de taper sur la touche entrée pour signifier qu’il n’y en a pas. Le système demande ensuite si vous souhaitez changer le mot de passe.

Changement du mot de passe Root sur MySql Server 

Vous devez taper sur la touche entrée et saisir un mot de passe. Faites attention à ne pas mettre n’importe quoi. C’est le mot de passe du compte administrateur, alors il doit respecter les règles de création de mot de passe complexe. 

Ensuite MySQL server demande si vous souhaitez supprimer les comptes anonymes qu’il a créé au préalable. Je vous conseille vivement de les supprimer aussi.

Suppression des comptes anonymes de MySql Server 

Pour les supprimer, vous devez taper sur la touche Y et appuyer sur entrée. Maintenant nous allons passer à un autre paramètre. Accepte-t-on ou pas que l’administrateur du serveur puisse s’y connecter à distance ? Encore une fois, je vous conseille de désactiver la fonction de connexion administrateur à distance.

Désactiver la connexion à distance par l'administrateur au serveur MySql 

Maintenant, le programme demande s’il doit supprimer la base de données de test générée par défaut.

Suppression de la base de données de Test sur MySql Server 

Après cela, MySql vous propose de recharger les privilèges sur les tables. Je vous conseille aussi de faire Yes.

Rechargement des privilèges MySql 

Maintenant configurer le réseau de votre machine accès par pont.

Tester notre installation

On a déjà fait pas mal de choses. Je vous propose de vérifier que tout est fonctionnel. Petit récap des opérations précédentes : on a installé notre serveur Apache2 puis MySql et PHP 7. On peut donc maintenant accéder à notre serveur web à partir de notre navigateur. Tapez l’IP de votre serveur dans la barre d’adresse.

Ouverture de la première page Apache2 

Si vous avez bien suivi le tutoriel, vous devez vous retrouver sur la même page que moi.

Installation de WordPress

Téléchargement de l’archive 

Avec la commande wget, nous téléchargeons la dernière version de WordPress.

# cd /tmp 

Décompression de l’archive dans « /var/www/html » 

Nous allons installer unzip pour la décompression ensuite deplacer le dossier vers html.

# apt-get install unzip (install unzip) 

# unzip latest.zip -d /var/www/html  (décompresse le dossiers précedement teléchargé) 

# cd /var/www/html (on vas dans le repertoire) 

# rm index.html (supprime le fichier index.html) 

Installation de Drupal 

Préparation de l’environnement

Pour commencer, ouvrez votre terminal. Il faut ensuite vous rendre dans le répertoire qui contiendra le site Drupal que nous allons installer. Pour cela, entrez la ligne suivante :

cd /var/www/html

Une fois dans le bon répertoire, il faut maintenant télécharger l’archive depuis le site Drupal.org. 

wget https://www.drupal.org/download-latest/tar.gz 

Le téléchargement de l’archive se lance. Une fois celui-ci terminé extrayez son contenu.

tarxvf tar.gz 

Nous allons maintenant chercher le nom du dossier pour le renommer. 

ls  

img-ls 

Le nom du dossier apparaît alors comme le montre l’image. Dans ce tutoriel, le dossier porte le nom de la version actuelle de Drupal, soit la 8.6.2. De votre côté le nom du dossier doit donc différer car la version ne sera pas la même. 

Vous pouvez le renommer comme vous le souhaitez. 

Pour l’exemple, nous le renommons par ‘site_drupal’. 

Entrez à la place de « drupal-8.6.2 » le nom de votre dossier.

mv drupal-8.6.2 site_drupal 

En faire de même pour wordpress. 

Maintenant on va entrer dans le dossier pour pouvoir y apporter des modifications.

cd site_drupal

Selon votre configuration Apache, il se peut que le propriétaire des fichiers et l’utilisateur Apache soient différents. Cette différence peut poser des problèmes de droit d’écriture dans la suite de l’installation. Pour y remédier, nous allons changer le propriétaire du répertoire pour donner ces droits à Drupal. Il existe une commande qui nous le permet, cependant elle est à manier avec précaution car elle peut avoir de graves conséquences. Cette commande va impacter le répertoire et son contenu. 

 Veillez donc à être dans le bon dossier ! 

Pour vérifier simplement où vous vous situez, utilisez cette commande : 

pwd 

img-pwd 

Si, comme dans l’image, le résultat de cette commande se finit bien par ‘…/site_drupal’ alors vous êtes dans le bon dossier. 

Si ça n’est pas le cas, entrez cette ligne de commande. 

cd /var/www/html/site_drupal 

Une fois assuré d’être au bon endroit vous pouvez entrer cette commande.

sudo chown -R www-data:www-data * 

En faire de même pour wordpress. 

Création d’une base de données pour WordPress et Drupal 

Pour ne pas être bloqué lors de l’installation de WordPress, je vous propose de créer en amont la base de données. Ainsi qu’un utilisateur qui aura les droits de lecture/écriture. Pour cela, on doit d’abord se connecter à la base de données en console. Vous devez jouer la commande suivante : 

mysql -u root -p  

Vous devez aussi taper votre mot de passe. 

Connexion MySql-MariaDb 

Une fois connecté à la base de données, tapez les commandes suivantes en changeant password par un mot de passe costaud (pour drupal, changé wordpress par drupal) :

CREATE DATABASE wordpress; 

GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER 

ON wordpress.* 

TO wordpress@localhost 

IDENTIFIED BY ‘password‘; 

FLUSH PRIVILEGES;  

Celles-ci vont nous permettre de créer la base de données et de donner les droits à l’utilisateur fraîchement créé. Le résultat est le suivant : 

Création de la base de données WordPress et d'un utilisateur wordpress 

On peut maintenant sortir de la base de données. Pour cela, tapez la commande : 

Exit  

Serveur Web Multi-Site

Déclaration des sites existants

Dans Apache2, les sites disponibles (on parle de virtualhosts, ou vhost) sont déclarés à l’aide de fichier dans le répertoire : /etc/apache2/sites-available 

Partons du principe que vous souhaitez mettre en ligne 2 sites que nous nommerons site_1 et site_2 (pourquoi faire compliqué ?).

Apache vous livre lors de son installation dans ce même répertoire un fichier “000-default.confn” qui va nous servir de base pour nos 2 sites. 
On va donc en faire une copie :  

cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/site_1.conf 

cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/site_2.conf  

A présent, nous allons éditer le nouveau fichier de configuration en jouant la commande suivante :  

nano site_1.conf  

Nous allons y insérer le chemin pour accéder à notre site web. Faites bien attention à mettre le nom de site choisi précédemment.

Clone de Vm Debian 3D Wp et drupal OK [En fonction] - Oracle VM Virtua180x GNLI nano 3.2 VirtualHost s te_l.con # The ServerName direct ive sets the request scheme, hostname and port that # the server uses to ident ifu itself. This is used when treat ing # redirect ion URLs. In the context of virtual hosts, the ServerName # specif ies uhat hostname must appear in the request 's Host: header to # match this virtual host. For the default virtual host (this file) this # value is not decisive as it is used as a last resort host regardless. # However, you must set it for any further virtual host explicit lg. DocumentRoot ServerName site_l (Directory opt ions Indexes Followsgrrn-inks iVieuJs Require all granted irectorg> Directorylndex index .html index.ohp # Available loglevels: trace8, # error, crit, alert, emerg. tracel, debug, info, not ice, warn , # It is also possible to conf igure the loglevel for part icular # modules, e.g. info ssl:ujarn Error-cog « error . log CustomLog log comb ined # For most conf igurat ion files from conf-available/ , which are # enabled or disabled at a g 10bal level, it is possible to # include a line for only one part icular virtual host. For example the # following line enables the CGI conf igurat ion for this host only # after it has been global lu disabled with « a2disconf ». *Include conf-available/serve-czi-hin. cnnf Lecture de SS I ignes Aide Quitter Écrire Lire fich. Chercher Remplacer Couper C011er Just if ier Orthograp . Pos. cur. Aller lig. Annuler  » />

 

 

DocumentRoot « /var/www/html/site_1 » 

ServerName site_1 

<Directory « /var/www/html/site_1 »> 

Options Indexes FollowSymLinks MultiViews 

Require all granted

DirectoryIndex index.html index.php 

Faites de même pour site_2.conf. 

Activation/Désactivation des sites 

  Activation : 

Sudo a2ensite site_1  

 Désactivation : 

Sudo a2dissite site_2

Adaptation du fichier /etc/hosts 

Éditez votre fichier /etc/hosts et modifiez-le comme suit avec l’ip de votre machine pour qu’elle fasse le rapport entre vos vhost et le localhost. 

hosts - Bloc-notes Fichier Edition Format Affichage 127. Ø.Ø.I localhost ::1 localhost 192.168.1.48 site 1 192.168.1.48 site 2 Aide  

Relancer le serveur apache2 et tester

sudo /etc/init.d/apache2 restart 

Ouvrez votre navigateur et testez en tapant dans la barre d’adresse :  

http://site-1/

puis

http://site-2/ 

Recommended Posts

No comment yet, add your voice below!


Add a Comment

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