Outils pour utilisateurs

Outils du site


admin:services:v2.chapril.org

Différences

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

Lien vers cette vue comparative

Prochaine révision
Révision précédente
admin:services:v2.chapril.org [2019/10/04 19:19] – créée cpmadmin:services:v2.chapril.org [2019/10/13 22:20] (Version actuelle) cpm
Ligne 1: Ligne 1:
 ======= Service v2.chapril.org ======= ======= Service v2.chapril.org =======
  
-Ce service est une entrée temporaire pour le déploiement de la version 2 du site www.chapril.org.+====== Introduction ======
  
 +La version 2 utilise le logiciel de gestion de contenu Spip. Spip peut être installé directement à partir du zip de téléchargement ou avec un paquet Debian. C'est cette dernière solution qui a été retenue : le paquet Debian de Bluster est à jour (version de Spip 3.2.4) et surtout l'empaqueteur a fait un gros travail pour proposer Spip dans sa version mutualisée : le même moteur de Spip peut être utilisé pour des sites indépendants.
 +
 +La configuration d'un Spip mutualisé est plus complexe qu'un Spip normal (voir https://www.spip.net/fr_article3811.html) mais le paquet Debian mâche énormément le travail. La document fournit dans le paquet indique la marche à suivre : ''/usr/share/doc/spip/README.Debian''
 +
 +====== Installation ======
 +
 +<code>
 +apt-get install spip
 +</code>
 +
 +On commence par l'installation du paquet :
 +
 +<code>
 +apt-get install spip
 +</code>
 +
 +Et on installe aussi php-gd pour la gestion des vignettes :
 +
 +<code>
 +apt-get install php-gd
 +</code>
 +
 +Pour mémoire, nous avons eu quelques frissons lors d'une mise à jour de php7.0 à php7.3 (page blanche ou grise sous Spip), cela venait d'un module PHP manquant. Il faut vérifier la présence du module ''php-xml'' notamment
 +===== Apache =====
 +
 +
 +Comme chaque site Spip a son propre nom de domaine, on ouvre le fichier ''/etc/apache2/conf-available/spip.conf'' pour commenter la première ligne :
 +
 +<code conf /etc/apache2/conf-available/spip.conf>
 +#Alias /spip /usr/share/spip
 +</code>
 +
 +On copie le fichier d'exemple de configuration ''/usr/share/doc/spip/apache2.conf'' dans le répertoire des sites d'Apache avec le nom qui va bien (ici ''v2.chapril.org'') :
 +
 +<code bash>
 +cp /usr/share/doc/spip/apache2.conf /etc/apache2/sites-available/v2.chapril.org.conf
 +</code>
 +
 +On ouvre ce fichier de configuration :
 +<code bash>
 +/etc/apache2/sites-available/v2.chapril.org.conf
 +</code>
 +
 +On indique les bonnes valeurs pour ''ServerName'' et ''ServerAdmin'' et on remplace toutes les occurrences de ''default'' dans ''/var/lib/spip/sites/default/'' par le nom du domaine.
 +
 +On change également la syntaxe des logs pour être en harmonie avec les autres sites du serveur :
 +
 +<code>
 +ErrorLog ${APACHE_LOG_DIR}/v2.chapril.org/v2.chapril.org-error.log
 +CustomLog ${APACHE_LOG_DIR}/v2.chapril.org/v2.chapril.org-access.log combined-proxy
 +</code>
 +
 +Par rapport à l'exemple fourni, il manque une directive ''Require all granted'' pour qu'Apache accède aux répertoires ''IMG/'' et ''local/''.
 +
 +On remplace cette partie de l'exemple :
 +
 +<code>
 +<Directory /var/lib/spip/sites/v2.chapril.org/IMG>
 +   php_flag engine Off
 +</Directory>
 +</code>
 +
 +Par :
 +
 +<code>
 +<Directory /var/lib/spip/sites/v2.chapril.org/IMG>
 +   php_flag engine Off
 +   Require all granted
 +</Directory>
 +<Directory /var/lib/spip/sites/v2.chapril.org/local>
 +   php_flag engine Off
 +   Require all granted
 +</Directory>
 +</code>
 +
 +Enfin, pour ne pas avoir à gérer un .htaccess qui devrait être placé dans ''/usr/share/spip'', on met les instructions de redirection et les instructions de réécriture d'URLs propres à Spip à la fin du fichier :
 +
 +<code>
 +    Redirect Permanent /services.html /-services-.html
 +    
 +    <Directory /usr/share/spip>
 +        #Extrait du .htaccess de Spip
 +        RewriteEngine On
 +        RewriteBase /
 +
 +        ###
 +        # Si le fichier ou repertoire demande existe
 +        # ignorer toutes les regles qui suivent
 +        RewriteCond %{REQUEST_FILENAME} -f
 +        RewriteRule "." - [skip=100]
 +        RewriteCond %{REQUEST_FILENAME} -d
 +        RewriteRule "." - [skip=100]
 +
 +        ###
 +        # URLs "propres", "propres2", "libres", "arbo"
 +        RewriteRule ^[^\.]+(\.html)?$ spip.php [QSA,E=url_propre:$0,L]
 +
 +        ###
 +        # Fichiers "standards" (si absents de la racine)
 +        #
 +        RewriteRule ^robots[.]txt$ spip.php?page=robots.txt [QSA,L]
 +        RewriteRule ^favicon[.]ico$ sites/chapril.exemole.fr/squelettes/css/favicon.ico
 +    </Directory>
 +</code>
 +
 +==== Spip ====
 +
 +Le paquet Debian comprend un script pour la création du site dans la configuration propre à Spip lui
 +
 +<code bash>
 +spip_add_site v2.chapril.org
 +</code>
 +
 +Bien noter le chemin du fichier ''/etc/spip/sites/v2.chapril.org.php'', c'est le fichier qui devra être modifié le jour de la mise en production pour que Spip sache traiter l'adresse ''www.chapril.org'' en plus de ''v2.chapril.org''
 +
 +Activer le site sous Apache et recharger Apache
 +
 +<code bash>
 +a2ensite v2.chapril.org
 +systemctl reload apache2
 +</code>
 +
 +À ce stade, l'adresse https://v2.chapril.org/ est opérationnelle avec le message de Spip « Ce site n’est pas encore configuré. Revenez plus tard... ». Normal, la base n'est pas créée.
 +
 +===  Création de la base  ===
 +
 +Se connecter avec le root de mysql :
 +<code bash>
 +$ mysql -u root -p
 +</code>
 +
 +Créer une base de données :
 +<code bash>
 +DB> CREATE DATABASE IF NOT EXISTS v2_chapril_org_db DEFAULT CHARACTER SET utf8 ;
 +</code>
 +
 +Créer un utilisateur :
 +<code bash>
 +DB> CREATE USER 'v2_chapril_org-dbadmin'@'localhost' IDENTIFIED BY 'motdepasse';
 +DB> GRANT ALL PRIVILEGES ON v2_chapril_org_db.* TO 'v2_chapril_org-dbadmin'@'localhost' WITH GRANT OPTION;
 +</code>
 +
 +===  Fin de l'installation  ===
 +
 +On peut maintenant aller sur https://v2.chapril.org/ecrire pour achever le processus d'installation de Spip. À noter que le nom d'utilisateur donné n'a pas d'importance dans ce cas car il sera écrasé par notre copie de la base de données. Il est cependant important de lancer ce processus pour que Spip génère le fichier de configuration qui va bien. Garder ''spip'' comme préfixe des tables.
 +
 +
 +====== Transfert de la version de développement ======
 +
 +Copier les squelettes dans ''/var/lib/spip/sites/v2.chapril.org/squelettes'' (en profiter pour initaliser un dépôt git dans ce répertoire)
 +
 +Copier le contenu de ''IMG'' dans ''/var/lib/spip/sites/v2.chapril.org/IMG''
 +
 +Transférer la base (dans un fichier ''dump.sql'' dans notre exemple)
 +
 +<code>
 +mysql -u v2_chapril_org-dbadmin --default-character-set=utf8 --password='motdepasse' v2_chapril_org_db < dump.sql
 +</code>
 +
 +
 +====== Mise en production ======
 +
 +Pour la mise en production vers www.chapril.org:
 +    * Changer le nom du serveur dans ''/etc/apache2/sites-available/v2.chapril.org.conf''
 +    * Le rajouter dans le tableau des sites dans ''/etc/spip/sites/v2.chapril.org.php''
 +    * Changer le nom du site dans « Identité du site » dans l'administration de Spip
 +    
  
admin/services/v2.chapril.org.1570216743.txt.gz · Dernière modification : 2019/10/04 19:19 de cpm