technique:gravmultisite

Ceci est une ancienne révision du document !


Blog en mode multi-sites

FIXME Documentation en cours de rédaction, en cours de tests

L'intérêt d'utiliser le mode multi-sites est qu'il permet de proposer à plusieurs webmasters différents, des sites qui reposent sur la même base, sans avoir à maintenir plusieurs fois le même code. Le moteur du site est commun, seules les données et la personnalisation du site change.

Test avec le CMS Grav : https://getgrav.org/

Installation d'un serveur web sur Ubuntu 16.04 avec les modules requis :

apt install nginx php-fpm php-mbstring php-cli php-opcache php-xml php-zip php-gd php-curl php-apcu php-yaml

Récupération de l'archive de Grav depuis le site, soit en mode brut avec 2 possibilités : Grav (un seul site statique modifiable à la main) ou Grav-admin (avec plugin de gestion de contenu), soit avec un squelette intégré avec le code de grav dedans.
On récupére ce qu'on veut sur le serveur et on l'extrait dans le dossier /var/www/html/grav par exemple.

wget https://getgrav.org/download/core/grav-admin/latest
mv latest grav admin-v1.2.3.zip
unzip grav-admin-v1.3.8.zip
mv grav-admin grav

Il faut s'assurer que les droits sur le dossier grav et ses fichiers sont corrects (644 pour les fichiers, 775 pour les dossiers avec le groupe www-data). Ici avec nginx :

cd /var/www/html/grav
chgrp -R www-data .
find . -type f | xargs chmod 664
find ./bin -type f | xargs chmod 775
find . -type d | xargs chmod 775
find . -type d | xargs chmod +s
umask 0002

Grav est sympa et nous propose des config pour les serveurs web qui nous intéressent.

J'ai prix celui-ci pour nginx et renomme en “grav”.

Ici, j'ai copié/collé le fichier dans /etc/nginx/sites-available/grav avec le lien qui va bien depuis /etc/nginx/sites-enable.

ln -s /etc/nginx/sites-available/grav /etc/nginx/sites-enable/

J'ai modifié les valeurs suivantes du fichier de config grav :

root /var/www/html/grav;
server_name grav;

Et relancé la config de nginx

nginx -s reload

On choisit un port utilisé (ex : 7000) pour le site et on l'ouvre avec son pare-feu :

ufw allow 7000

Pour finir, pour tester, on lance sur le serveur, la commande de lancement de grav :

php -S radios.cemea.org:7000 system/router.php

Et on se loggue sur l'adresse du serveur : http://radios.cemea.org:7000

Et ça marche ! On a là un beau site statique qu'on peut modifier à la main depuis le serveur.

Pour rendre l'installation fonctionnelle défintivement, on tue le processus précédent avec Ctrl C et on lance le php officiellement :

/etc/init.d/php7.0-fpm start

on vérifie la version utilisée, on met à jour et on installe le plugin et on accepte les dépendances (y) :

bin/gpm version -f
bin/gpm selfupgrade
bin/gpm install admin

On réactualise la page du site http://radio.cemea.org:7000 et on tombe sur une page de création de compte admin.

On crée le compte admin et hop, on se retrouve sur l'interface d'admin où on peut faire joujou avec le contenu du site.

Par contre, il faut maintenant s'attaquer à …

La doc détaillée multisites est ici.

Deux options possibles : soit on décide d'accéder aux sites en sous-domaines (lolo.webradios.cemea.org) ou en sous-dossiers (webradio.cemea.org/lolo). Ici c'est la seconde option qui est choisie.

Dans le dossier grav/user, on crée un dossier sites.

mkdir /var/www/html/grav/user/sites

Pour chaque site, il faudra créer un dossier dans sites (ex: test), qui contiendra 4 dossiers vides : config pages plugins themes

cd /var/www/html/grav/user/sites
mkdir test && cd test
mkdir config pages plugins themes

Il suffira de dupliquer ce site pour chaque nouveau compte.

bin/plugin login newuser -u joeuser -e joeuser@grav.org -P b -N "Joe User" -t "Site Administrator" -p PASSWORD

Sur l'interface d'admin…

A suivre…

Sur l'interface d'admin…

A suivre…

  • technique/gravmultisite.1518475544.txt.gz
  • Dernière modification : 2020/04/11 02:26
  • (modification externe)