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 [2018/02/12 23:45] – [Le fichier setup.php] francoisatechnique:gravmultisite [2018/10/05 18:37] – [Le fichier setup.php] francoisa
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 à …
- 
  
 ==== La configuration multi-sites ==== ==== La configuration multi-sites ====
Ligne 120: Ligne 122:
 Il suffira de dupliquer ce site pour chaque nouveau compte. Il suffira de dupliquer ce site pour chaque nouveau compte.
  
-===== Créer des utilisateurs =====+==== 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, il contient ce code-là : 
 + 
 +<code> 
 +<?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['PATH_INFO']) 
 +   ? $_SERVER['PATH_INFO'
 +   : 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 
 +$name = Folder::shift($path); 
 +$folder = "sites/{$name}"; 
 +$prefix = "/{$name}"; 
 + 
 +if (!$name || !is_dir(ROOT_DIR . "user/{$folder}")) { 
 +    return []; 
 +
 + 
 +//Extract name of subsite from path\ $name = Folder::shift($path); $folder = "sites/{$name}"; $prefix = "/{$name}"; if (!$name || !is_dir(ROOT_DIR . "user/{$folder}")) { 
 +return []; 
 +} //  Prefix all pages with the name of the subsite 
 +$container['pages']→base($prefix); 
 + 
 +return [ 
 +'environment' ⇒ $name, 
 +'streams' ⇒ [ 
 +'schemes' ⇒ [ 
 +'user' ⇒ [ 
 +'type' ⇒ 'ReadOnlyStream', 
 +'prefixes' ⇒ [ 
 +'' ⇒ ["user/{$folder}"], 
 +
 +
 +
 +
 +]; 
 +</code> 
 + 
 +Commandes utiles dans grav/ 
 + 
 +<code> 
 +bin/gpm list # liste les commandes 
 +bin/gpm update # met à jour le site 
 +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 admin #installation du plugin admin 
 +bin/grav list #list les commandes 
 +bin/grav new-project dossier/nomprojet 
 +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 
 +</code>
  
 <code> <code>
 bin/plugin login newuser -u joeuser -e joeuser@grav.org -P b -N "Joe User" -t "Site Administrator" -p PASSWORD bin/plugin login newuser -u joeuser -e joeuser@grav.org -P b -N "Joe User" -t "Site Administrator" -p PASSWORD
 </code> </code>
-===== Côté client ===== 
  
-Sur l'interface d'admin…+=== 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>
  
-A suivre…+=====   =====
  
 ===== Côté client ===== ===== Côté client =====
  • technique/gravmultisite.txt
  • Dernière modification : 2024/04/02 15:08
  • de 127.0.0.1