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
Prochaine révisionLes deux révisions suivantes
technique:gravmultisite [2017/11/27 00:45] lolotechnique:gravmultisite [2020/04/11 02:26] – modification externe 127.0.0.1
Ligne 12: Ligne 12:
  
 <code> <code>
 +oIWIKIo
 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/cIWIKIc|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>
 +oIWIKIo
 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
Ligne 39: Ligne 41:
 ==== Modification du Virtualhost ==== ==== Modification du Virtualhost ====
  
-Grav est sympa et nous propose des [[https://github.com/getgrav/grav/tree/master/webserver-configs|config pour les serveurs web]] qui nous intéressent.+Grav est sympa et nous propose des [[https://github.com/getgrav/grav/tree/master/webserver-configscIWIKIc|config pour les serveurs web]] qui nous intéressent.
  
 J'ai prix [[https://github.com/getgrav/grav/blob/master/webserver-configs/nginx.conf|celui-ci]] pour nginx et renomme en "grav". J'ai prix [[https://github.com/getgrav/grav/blob/master/webserver-configs/nginx.conf|celui-ci]] pour nginx et renomme en "grav".
Ligne 46: Ligne 48:
  
 <code> <code>
 +oIWIKIo
 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 73: Ligne 76:
 </code> </code>
  
-Et on se loggue sur l'adresse du serveur : [[http://radios.cemea.org:7000|http://radios.cemea.org:7000]]+Et on se loggue sur l'adresse du serveur : [[http://radios.cemea.org:7000cIWIKIc|http://radios.cemea.org:7000]]
  
 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.
Ligne 98: Ligne 101:
  
 Par contre, il faut maintenant s'attaquer à … Par contre, il faut maintenant s'attaquer à …
- 
-==== 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) : 
- 
-<code> 
-bin/gpm version -f 
-bin/gpm selfupgrade 
-bin/gpm install admin 
-</code> 
- 
-On réactualise la page du site [[http://radio.cemea.org:7000|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 configuration multi-sites ==== ==== La configuration multi-sites ====
Ligne 144: Ligne 131:
 <?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 166: Ligne 166:
 } }
  
-// 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>
Ligne 189: Ligne 191:
 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 199: Ligne 201:
 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 =====
  • technique/gravmultisite.txt
  • Dernière modification : 2024/04/02 15:08
  • de 127.0.0.1