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 [2017/11/26 12:50] – [Modification du Virtualhost] 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 recquis : | + | |
- | + | ||
- | < | + | |
- | 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' | + | |
- | + | ||
- | < | + | |
- | 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é/ | + | |
- | + | ||
- | < | + | |
- | 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 eton install 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écessair 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! | + | |
- | */ | + | |
- | + | ||
- | use GravCommonFilesystemFolder; | + | |
- | + | ||
- | // Get relative path from Grav root. | + | |
- | $path = isset($_SERVER[' | + | |
- | ? $_SERVER[' | + | |
- | : Folder:: | + | |
- | + | ||
- | // Extract name of subsite from path | + | |
- | $name = Folder:: | + | |
- | $folder = " | + | |
- | $prefix = "/ | + | |
- | + | ||
- | if (!$name || !is_dir(ROOT_DIR . " | + | |
- | 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 #mise à jour auto | + | |
- | 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 | + | |
- | </ | + | |
- | + | ||
- | ===== Côté client ===== | + | |
- | + | ||
- | Sur l' | + | |
- | + | ||
- | A suivre… | + | |
- | + | ||
- | ===== Côté client ===== | + | |
- | + | ||
- | Sur l' | + | |
- | + | ||
- | A suivre… | + |