Outils pour utilisateurs

Outils du site


admin:services:v2.chapril.org

Service v2.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

apt-get install spip

On commence par l'installation du paquet :

apt-get install spip

Et on installe aussi php-gd pour la gestion des vignettes :

apt-get install php-gd

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 :

/etc/apache2/conf-available/spip.conf
#Alias /spip /usr/share/spip

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) :

cp /usr/share/doc/spip/apache2.conf /etc/apache2/sites-available/v2.chapril.org.conf

On ouvre ce fichier de configuration :

/etc/apache2/sites-available/v2.chapril.org.conf

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 :

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

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 :

<Directory /var/lib/spip/sites/v2.chapril.org/IMG>
   php_flag engine Off
</Directory>

Par :

<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>

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 :

    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>

Spip

Le paquet Debian comprend un script pour la création du site dans la configuration propre à Spip lui

spip_add_site v2.chapril.org

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

a2ensite v2.chapril.org
systemctl reload apache2

À 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 :

$ mysql -u root -p

Créer une base de données :

DB> CREATE DATABASE IF NOT EXISTS v2_chapril_org_db DEFAULT CHARACTER SET utf8 ;

Créer un utilisateur :

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;

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)

mysql -u v2_chapril_org-dbadmin --default-character-set=utf8 --password='motdepasse' v2_chapril_org_db < dump.sql

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.txt · Dernière modification : 2019/10/13 22:20 de cpm