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 Prochaine révisionLes deux révisions suivantes | ||
technique:gravmultisite [2017/11/22 23:34] – francoisa | technique:gravmultisite [2018/10/05 18:37] – [Le fichier setup.php] francoisa | ||
---|---|---|---|
Ligne 9: | Ligne 9: | ||
===== Côté serveur ===== | ===== Côté serveur ===== | ||
- | Installation d'un serveur web sur Ubuntu 16.04 avec les modules | + | Installation d'un serveur web sur Ubuntu 16.04 avec les modules |
< | < | ||
- | apt install nginx php-fpm php-mbstring php-cli php-opcache php-xml php-zip php-gd php-curl | + | oIWIKIo |
+ | apt install nginx php-fpm php-mbstring php-cli php-opcache php-xml php-zip php-gd php-curl | ||
</ | </ | ||
- | Récupération de l' | + | Récupération de l' |
On récupére ce qu'on veut sur le serveur et on 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 ==== | ==== Modification du Virtualhost ==== | ||
- | Grav est sympa et nous propose des [[https:// | + | Grav est sympa et nous propose des [[https:// |
J'ai prix [[https:// | J'ai prix [[https:// | ||
Ligne 28: | Ligne 48: | ||
< | < | ||
+ | oIWIKIo | ||
ln -s / | ln -s / | ||
</ | </ | ||
Ligne 50: | Ligne 71: | ||
</ | </ | ||
- | Pour finir, pour tester, on lance sur le serveur, la commande de lancement de grav : | + | Pour finir, |
< | < | ||
php -S radios.cemea.org: | php -S radios.cemea.org: | ||
</ | </ | ||
- | Et on se loggue sur l' | + | 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. | Et ça marche ! On a là un beau site statique qu'on peut modifier à la main depuis le serveur. | ||
+ | |||
+ | Pour rendre l' | ||
+ | |||
+ | < | ||
+ | / | ||
+ | </ | ||
==== Installation du plugin admin ==== | ==== Installation du plugin admin ==== | ||
- | on vérifie la version utilisée, on met à jour eton install | + | on vérifie la version utilisée, on met à jour et on installe |
< | < | ||
Ligne 74: | Ligne 100: | ||
On crée le compte admin et hop, on se retrouve sur l' | On crée le compte admin et hop, on se retrouve sur l' | ||
- | Par contre, il faut maintenant s' | + | Par contre, il faut maintenant s' |
==== La configuration multi-sites ==== | ==== La configuration multi-sites ==== | ||
La doc détaillée [[https:// | La doc détaillée [[https:// | ||
+ | |||
+ | Deux options possibles : soit on décide d' | ||
+ | |||
+ | Dans le dossier **grav/ | ||
+ | < | ||
+ | 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" | ||
+ | </ | ||
+ | |||
+ | === Mise à jour sur serveur de Prod === | ||
+ | |||
+ | < | ||
+ | cd / | ||
+ | sudo -u radios / | ||
+ | sudo -u radios / | ||
+ | </ | ||
+ | |||
+ | ===== ===== | ||
===== Côté client ===== | ===== Côté client ===== |