technique:gravmultisite

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Dernière révisionLes deux révisions suivantes
technique:gravmultisite [2017/11/27 00:48] – [Installation du plugin admin] lolotechnique:gravmultisite [2020/05/28 19:07] francoisa
Ligne 10: Ligne 10:
  
 Installation d'un serveur web sur Ubuntu 16.04 avec les modules requis : Installation d'un serveur web sur Ubuntu 16.04 avec les modules requis :
- 
 <code> <code>
 +
 apt install nginx php-fpm php-mbstring php-cli php-opcache php-xml php-zip php-gd php-curl php-apcu php-yaml apt install nginx php-fpm php-mbstring php-cli php-opcache php-xml php-zip php-gd php-curl php-apcu php-yaml
 +
 </code> </code>
  
 Récupération de l'archive de Grav depuis [[https://getgrav.org/downloads/|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 [[https://getgrav.org/downloads/skeletons|squelette intégré]] avec le code de grav dedans.\\ Récupération de l'archive de Grav depuis [[https://getgrav.org/downloads/|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 [[https://getgrav.org/downloads/skeletons|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. On récupére ce qu'on veut sur le serveur et on l'extrait dans le dossier /var/www/html/grav par exemple.
- 
 <code> <code>
 +
 wget https://getgrav.org/download/core/grav-admin/latest wget https://getgrav.org/download/core/grav-admin/latest
 mv latest grav admin-v1.2.3.zip mv latest grav admin-v1.2.3.zip
 unzip grav-admin-v1.3.8.zip unzip grav-admin-v1.3.8.zip
 mv grav-admin grav mv grav-admin grav
 +
 </code> </code>
  
Ligne 35: Ligne 37:
 find . -type d | xargs chmod +s find . -type d | xargs chmod +s
 umask 0002 umask 0002
 +
 </code> </code>
  
Ligne 44: Ligne 47:
  
 Ici, j'ai copié/collé le fichier dans /etc/nginx/sites-available/grav avec le lien qui va bien depuis /etc/nginx/sites-enable. Ici, j'ai copié/collé le fichier dans /etc/nginx/sites-available/grav avec le lien qui va bien depuis /etc/nginx/sites-enable.
- 
 <code> <code>
 +
 ln -s /etc/nginx/sites-available/grav /etc/nginx/sites-enable/ ln -s /etc/nginx/sites-available/grav /etc/nginx/sites-enable/
 +
 </code> </code>
  
Ligne 54: Ligne 58:
 root /var/www/html/grav; root /var/www/html/grav;
 server_name grav; server_name grav;
 +
 </code> </code>
  
Ligne 60: Ligne 65:
 <code> <code>
 nginx -s reload nginx -s reload
 +
 </code> </code>
  
Ligne 66: Ligne 72:
 <code> <code>
 ufw allow 7000 ufw allow 7000
 +
 </code> </code>
  
Ligne 71: Ligne 78:
 <code> <code>
 php -S radios.cemea.org:7000 system/router.php php -S radios.cemea.org:7000 system/router.php
 +
 </code> </code>
  
Ligne 78: Ligne 86:
  
 Pour rendre l'installation fonctionnelle défintivement, on tue le processus précédent avec Ctrl C et on lance le php officiellement : Pour rendre l'installation fonctionnelle défintivement, on tue le processus précédent avec Ctrl C et on lance le php officiellement :
- 
 <code> <code>
 +
 /etc/init.d/php7.0-fpm start /etc/init.d/php7.0-fpm start
 +
 </code> </code>
  
Ligne 91: Ligne 100:
 bin/gpm selfupgrade bin/gpm selfupgrade
 bin/gpm install admin bin/gpm install admin
 +
 </code> </code>
  
Ligne 98: Ligne 108:
  
 Par contre, il faut maintenant s'attaquer à … Par contre, il faut maintenant s'attaquer à …
- 
  
 ==== La configuration multi-sites ==== ==== La configuration multi-sites ====
Ligne 108: Ligne 117:
 Dans le dossier **grav/user**, on crée un dossier **sites**. Dans le dossier **grav/user**, on crée un dossier **sites**.
 <code> <code>
 +
 mkdir /var/www/html/grav/user/sites mkdir /var/www/html/grav/user/sites
 +
 </code> </code>
  
Ligne 116: Ligne 127:
 mkdir test && cd test mkdir test && cd test
 mkdir config pages plugins themes mkdir config pages plugins themes
 +
 </code> </code>
  
Ligne 129: Ligne 141:
 <?php <?php
 /** /**
- * Multisite setup for sub-directories or path based +* Multisite setup for sub-directories or path based 
- * URLs for subsites. +* URLs for subsites. 
- * +
- * DO NOT EDIT UNLESS YOU KNOW WHAT YOU ARE DOING! +* DO NOT EDIT UNLESS YOU KNOW WHAT YOU ARE DOING! 
- */+*/
  
 +/**
 +Code corrigé par Romain :
 +Au lieu de :
 use GravCommonFilesystemFolder; use GravCommonFilesystemFolder;
- 
 // Get relative path from Grav root. // Get relative path from Grav root.
 $path = isset($_SERVER['PATH_INFO']) $path = isset($_SERVER['PATH_INFO'])
    ? $_SERVER['PATH_INFO']    ? $_SERVER['PATH_INFO']
    : Folder::getRelativePath($_SERVER['REQUEST_URI'], ROOT_DIR);    : Folder::getRelativePath($_SERVER['REQUEST_URI'], ROOT_DIR);
 +*/
 +/** Remplacer par */
 +use Grav\Common\Filesystem\Folder;
 +
 +// Get relative path from Grav root.
 +// $path = isset($_SERVER['PATH_INFO'])
 +//    ? $_SERVER['PATH_INFO']
 +//    : Folder::getRelativePath($_SERVER['REQUEST_URI'], dirname($_SERVER['SCRIPT_NAME']));
 +
 +// FIX: nginx bug Romain ?
 +$path = $_SERVER['REQUEST_URI'];
  
 // Extract name of subsite from path // Extract name of subsite from path
Ligne 151: Ligne 176:
 } }
  
-// Prefix all pages with the name of the subsite +//Extract name of subsite from path\ $name = Folder::shift($path); $folder = "sites/{$name}"; $prefix = "/{$name}"; if (!$name || !is_dir(ROOT_DIR . "user/{$folder}")) { 
-$container['pages']->base($prefix);+return []; 
 +} //  Prefix all pages with the name of the subsite 
 +$container['pages']base($prefix);
  
 return [ return [
-    'environment' => $name, +'environment' ⇒ $name, 
-    'streams' => +'streams' ⇒ 
-        'schemes' => +'schemes' ⇒ 
-            'user' => +'user' ⇒ 
-               'type' => 'ReadOnlyStream', +'type' ⇒ 'ReadOnlyStream', 
-               'prefixes' => +'prefixes' ⇒ 
-                   '' => ["user/{$folder}"], +'' ⇒ ["user/{$folder}"], 
-               +
-            +
-        +
-    ]+]
 ]; ];
 +
 </code> </code>
  
 Commandes utiles dans grav/ Commandes utiles dans grav/
- 
 <code> <code>
 +
 bin/gpm list # liste les commandes bin/gpm list # liste les commandes
 bin/gpm update # met à jour le site bin/gpm update # met à jour le site
-bin/gpm selfupgrade -f #mise à jour auto+bin/gpm selfupgrade -f #m<font inherit/inherit;;inherit;;inherit></font>ise à jour auto
 bin/gpm install nomduplugin # instalaltion d'un plugin bin/gpm install nomduplugin # instalaltion d'un plugin
 bin/gpm install admin #installation du plugin admin bin/gpm install admin #installation du plugin admin
Ligne 183: Ligne 211:
 bin/grav install # met à jour les dépendances bin/grav install # met à jour les dépendances
 bin/plugin admin help #aide sur un plugin bin/plugin admin help #aide sur un plugin
 +
 </code> </code>
 +
 +<code>
 +bin/plugin login newuser -u joeuser -e joeuser@grav.org -P b -N "Joe User" -t "Site Administrator" -p PASSWORD
 +
 +</code>
 +
 +=== Mise à jour sur serveur de Prod ===
 +
 +<code>
 +cd /var/www/radios/ && sudo -u radios bin/grav backup
 +sudo -u radios /var/www/radios/bin/gpm selfupgrade # pour MAJ Grav
 +sudo -u radios /var/www/radios/bin/gpm update # pour MAJ Plugins Grav
 +
 +</code>
 +
 +=====   =====
  
 ===== Côté client ===== ===== Côté client =====
Ligne 190: Ligne 235:
  
 A suivre… A suivre…
 +
  
  • technique/gravmultisite.txt
  • Dernière modification : 2024/04/02 15:08
  • de 127.0.0.1