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/26 14:03] francoisatechnique:gravmultisite [2018/02/12 22:09] – [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 recquis :+Installation d'un serveur web sur Ubuntu 16.04 avec les modules requis :
  
 <code> <code>
Ligne 85: Ligne 85:
 ==== Installation du plugin admin ==== ==== 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) :+on vérifie la version utilisée, on met à jour et on installe le plugin et on accepte les dépendances (y) :
  
 <code> <code>
Ligne 97: Ligne 97:
 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. 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 à…+Par contre, il faut maintenant s'attaquer à …
  
-==== 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) : 
- 
-<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 119: Ligne 104:
 La doc détaillée [[https://learn.getgrav.org/advanced/multisite-setup|multisites est ici.]] La doc détaillée [[https://learn.getgrav.org/advanced/multisite-setup|multisites est ici.]]
  
-Deux options possibles : soit on décide d'accéder aux site en sous-domains (lolo.webradios.cemea.org) ou en sous-dossiers (webrdio.cemea.org/lolo). Ici c'est la seconde option qui est choisie.+Deux options possibles : soit on décide d'accéder aux sites en sous-domaines (lolo.webradios.cemea.org) ou en sous-dossiers (webradio.cemea.org/lolo). Ici c'est la seconde option qui est choisie.
  
 Dans le dossier **grav/user**, on crée un dossier **sites**. Dans le dossier **grav/user**, on crée un dossier **sites**.
Ligne 137: Ligne 122:
 ==== Le fichier setup.php ==== ==== 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).+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, il contient ce code-là : Pour les sous-dossiers, il contient ce code-là :
Ligne 144: Ligne 129:
 <?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 164:
 } }
  
-// 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/
  
Ligne 189: Ligne 188:
 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
  • technique/gravmultisite.txt
  • Dernière modification : 2024/04/02 15:08
  • de 127.0.0.1