======= 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 : #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 : php_flag engine Off Par : php_flag engine Off Require all granted php_flag engine Off Require all granted 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 #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 ==== 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