Ceci est une ancienne révision du document !
Table des matières
Service v2.chapril.org
Introduction
La version 2 utilise le logiciel de gestion de contenu SPIP. SPIP peut être installé directement à partir du fichier Zip de téléchargement ou avec un paquet Debian. C'est cette dernière solution qui a été retenue. Mais lorsque le paquet fournit par Debian n'est pas suffisamment à jour, nous savons comment construire un paquet SPIP nous-mêmes. 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 1) mais le paquet Debian mâche énormément le travail.
Le document fournit dans le paquet indique la marche à suivre : /usr/share/doc/spip/README.Debian.
Installation
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 édite /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 fichier .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 :
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 l’utilisateur root de MySQL :
mysql -u root -p
Créer une base de données :
CREATE DATABASE IF NOT EXISTS v2_chapril_org_db DEFAULT CHARACTER SET utf8 ;
Créer un utilisateur :
CREATE USER 'v2_chapril_org-dbadmin'@'localhost' IDENTIFIED BY 'motdepasse'; 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 initialiser 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 base2).
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.
