Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| technique:gravmultisite [2018/02/13 00:19] – ancienne révision (2018/02/12 21:09) restaurée francoisa | technique:gravmultisite [2024/04/02 15:08] (Version actuelle) – modification externe 127.0.0.1 | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | ====== Blog en mode multi-sites ====== | + | **Cette page est obsolète. Veuillez accéder au contenu |
| - | + | ||
| - | FIXME Documentation en cours de rédaction, en cours de tests | + | |
| - | + | ||
| - | L' | + | |
| - | + | ||
| - | Test avec le **CMS Grav** : [[https:// | + | |
| - | + | ||
| - | ===== Côté serveur ===== | + | |
| - | + | ||
| - | Installation d'un serveur web sur Ubuntu 16.04 avec les modules requis : | + | |
| - | + | ||
| - | < | + | |
| - | oIWIKIo | + | |
| - | 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' | + | |
| - | On récupére ce qu'on veut sur le serveur et on l' | + | |
| - | + | ||
| - | < | + | |
| - | oIWIKIo | + | |
| - | wget https:// | + | |
| - | mv latest grav admin-v1.2.3.zip | + | |
| - | unzip grav-admin-v1.3.8.zip | + | |
| - | mv grav-admin grav | + | |
| - | </ | + | |
| - | + | ||
| - | Il faut s' | + | |
| - | + | ||
| - | < | + | |
| - | cd / | + | |
| - | 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 | + | |
| - | </ | + | |
| - | + | ||
| - | ==== Modification du Virtualhost ==== | + | |
| - | + | ||
| - | Grav est sympa et nous propose des [[https://github.com/ | + | |
| - | + | ||
| - | J'ai prix [[https:// | + | |
| - | + | ||
| - | Ici, j'ai copié/ | + | |
| - | + | ||
| - | < | + | |
| - | oIWIKIo | + | |
| - | ln -s / | + | |
| - | </ | + | |
| - | + | ||
| - | J'ai modifié les valeurs suivantes du fichier de config grav : | + | |
| - | + | ||
| - | < | + | |
| - | root / | + | |
| - | 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' | + | |
| - | + | ||
| - | < | + | |
| - | 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 | + | |
| - | </code> | + | |
| - | + | ||
| - | Et on se loggue sur l' | + | |
| - | + | ||
| - | Et ça marche ! On a là un beau site statique qu'on peut modifier à la main depuis le serveur. | + | |
| - | + | ||
| - | Pour rendre l' | + | |
| - | + | ||
| - | < | + | |
| - | / | + | |
| - | </code> | + | |
| - | + | ||
| - | ==== Installation du plugin admin ==== | + | |
| - | + | ||
| - | 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:// | + | |
| - | + | ||
| - | On crée le compte admin et hop, on se retrouve sur l' | + | |
| - | + | ||
| - | Par contre, il faut maintenant s' | + | |
| - | + | ||
| - | ==== La configuration multi-sites ==== | + | |
| - | + | ||
| - | La doc détaillée [[https:// | + | |
| - | + | ||
| - | Deux options possibles : soit on décide d' | + | |
| - | + | ||
| - | Dans le dossier | + | |
| - | < | + | |
| - | mkdir / | + | |
| - | </ | + | |
| - | + | ||
| - | Pour chaque site, il faudra créer un dossier dans sites (ex: **test**), qui contiendra 4 dossiers vides : **config pages plugins themes** | + | |
| - | < | + | |
| - | cd / | + | |
| - | mkdir test && cd test | + | |
| - | mkdir config pages plugins themes | + | |
| - | </ | + | |
| - | + | ||
| - | Il suffira de dupliquer ce site pour chaque nouveau compte. | + | |
| - | + | ||
| - | ==== Le fichier setup.php ==== | + | |
| - | + | ||
| - | Il est nécessaire de créer un fichier setup.php qui se trouvera dans le dossier grav et qui sera appelé pour chaque site. Il dépend de la configuration du multi-sites (sous-domaines ou sous-dossiers). | + | |
| - | + | ||
| - | Pour les sous-dossiers, | + | |
| - | + | ||
| - | < | + | |
| - | <?php | + | |
| - | /** | + | |
| - | * Multisite setup for sub-directories or path based | + | |
| - | * URLs for subsites. | + | |
| - | * | + | |
| - | * DO NOT EDIT UNLESS YOU KNOW WHAT YOU ARE DOING! | + | |
| - | */ | + | |
| - | + | ||
| - | /** | + | |
| - | Code corrigé par Romain : | + | |
| - | Au lieu de : | + | |
| - | use GravCommonFilesystemFolder; | + | |
| - | // Get relative path from Grav root. | + | |
| - | $path = isset($_SERVER[' | + | |
| - | ? $_SERVER[' | + | |
| - | : Folder:: | + | |
| - | */ | + | |
| - | /** Remplacer par */ | + | |
| - | use Grav\Common\Filesystem\Folder; | + | |
| - | + | ||
| - | // Get relative path from Grav root. | + | |
| - | // $path = isset($_SERVER[' | + | |
| - | // ? $_SERVER[' | + | |
| - | // : Folder:: | + | |
| - | + | ||
| - | // FIX: nginx bug Romain ? | + | |
| - | $path = $_SERVER[' | + | |
| - | + | ||
| - | // Extract name of subsite from path | + | |
| - | $name = Folder:: | + | |
| - | $folder = " | + | |
| - | $prefix = "/ | + | |
| - | + | ||
| - | if (!$name || !is_dir(ROOT_DIR . " | + | |
| - | return []; | + | |
| - | } | + | |
| - | + | ||
| - | //Extract name of subsite from path\ $name = Folder:: | + | |
| - | return []; | + | |
| - | } // Prefix all pages with the name of the subsite | + | |
| - | $container[' | + | |
| - | + | ||
| - | return [ | + | |
| - | ' | + | |
| - | ' | + | |
| - | ' | + | |
| - | ' | + | |
| - | ' | + | |
| - | ' | + | |
| - | '' | + | |
| - | ] | + | |
| - | ] | + | |
| - | ] | + | |
| - | ] | + | |
| - | ]; | + | |
| - | </ | + | |
| - | + | ||
| - | Commandes utiles dans grav/ | + | |
| - | + | ||
| - | < | + | |
| - | bin/gpm list # liste les commandes | + | |
| - | bin/gpm update # met à jour le site | + | |
| - | bin/gpm selfupgrade -f #m<font inherit/ | + | |
| - | bin/gpm install nomduplugin # instalaltion d'un plugin | + | |
| - | bin/gpm install admin # | + | |
| - | bin/grav list #list les commandes | + | |
| - | bin/grav new-project dossier/ | + | |
| - | bin/grav backup #a faire dans un projet | + | |
| - | bin/grav clear-cache #vide le cache | + | |
| - | bin/grav install # met à jour les dépendances | + | |
| - | bin/plugin admin help #aide sur un plugin | + | |
| - | </ | + | |
| - | + | ||
| - | < | + | |
| - | bin/plugin login newuser -u joeuser -e joeuser@grav.org -P b -N "Joe User" -t "Site Administrator" | + | |
| - | </ | + | |
| - | + | ||
| - | ===== | + | |
| - | + | ||
| - | ===== Côté client ===== | + | |
| - | + | ||
| - | Sur l' | + | |
| - | + | ||
| - | A suivre… | + | |