[spip-dev] Configuration minimum d'un serveur pour SPIP

Bonjour,

Nous avons déjà cet article sur la configuration requise pour que SPIP fonctionne : http://www.spip.net/fr_article4351.html
Malheureusement cet article ne dit pas les extensions PHP minimum pour une utilisation maximale de SPIP. De même pour les modules Apache, etc.
Ces infos seraient très utiles par exemples pour les personnes qui installent leurs propres machines pour héberger SPIP. Elles sont officiellement rare, mais cela arrive.
De plus, ces informations permettraient aux hébergeurs d’avoir une référence en cas de problèmes avec des sites clients SPIP.

Il y a eu à plusieurs reprises des emails d’utilisateurs en grandes discussions avec leur hébergeur suite à des problèmes rencontrés avec leur site.

Est-ce déconnant d’écrire un tel article? (Ou plusieurs)

Amicalement,

Je dois régulièrement briefer les hébergeurs qui installent des serveurs : je leur donne les infos ci-dessus, mais dois aussi préciser ce qui pourrait semblait évident pour l’installation d’un CMS : activation du mod_rewrite, des htaccess (AllowOveride), de la fonction mail() de php. Je demande aussi si possible l’instalaltion de Xcache pour pouvoir utiliser le plugion Memoization.

Qu’est-ce qu’il y aurait d’autre à préciser ?

Merci pour ta réponse Valéry.
En fait mon idée est de pouvoir lister toutes les extensions minimum pour installer un SPIP sur un serveur que tu auras monté de toutes pièces. Même si la finalité est de pouvoir utiliser cette configuration pour les hébergeurs.

Imagines que tu prends un raspberry pour te faire un serveur local. Il faut que tu installes toi-même tous tes composants.
Quand tu installes le package PHP, il ne faut pas oublier d’installer php-utilities pour avoir les passerelles avec les bdd (mysql, sqlite, postgresql).

C’est ce type d’informations que je cherche à rassembler dans un article grâce aux différentes expériences des membres de la communauté.
Ce qui semble naturel pour certains ne l’est pas pour d’autres.

Hop,

Nous avons déjà cet article sur la configuration requise pour que SPIP
fonctionne : Configuration requise - SPIP
Malheureusement cet article ne dit pas les extensions PHP minimum pour une
utilisation maximale de SPIP. De même pour les modules Apache, etc.

Je ne comprends pas trop le sens de "extensions PHP *minimum* pour une utilisation *maximale*"...

Ces infos seraient très utiles par exemples pour les personnes qui
installent leurs propres machines pour héberger SPIP. Elles sont
officiellement rare, mais cela arrive.

Non, je n'ai pas l'impression que ça soit rare, mais amha une personne qui installe son propre serveur sait ce qu'elle fait (ou au moins elle sait à quoi s'attendre en terme de temps et implication nécessaire).

De plus, ces informations permettraient aux hébergeurs d'avoir une
référence en cas de problèmes avec des sites clients SPIP.

Il faudrait qu'on explique aux hébergeurs qui ont des clients comment bien faire leur travail ?

Hors troll, l'optimisation (puisque c'est de ça qu'on parle) d'un serveur qui héberge SPIP n'a pas grand chose de spécifique. Les règles sont les mêmes que pour un truc maison qui tourne en php/mysql ou un autre CMS.

Avec kent1 on maintient un site de doc orientée serveur, il comporte deux articles à propos de l'optimisation d'Apache :

http://technique.arscenic.org/lamp-linux-apache-mysql-php/apache/optimisations/article/expire-headers

http://technique.arscenic.org/lamp-linux-apache-mysql-php/apache/optimisations/article/mod_deflate-compression-gzip-du

Rien qu'en suivant ces deux recommandations et en activant la compression css+js native, un site sous SPIP a un très bon score sur les sites d'analyse de perfs. Après, on peut aussi activer xcahce et le brancher sur le plugin memoization pour au ça aille plus vite...

Wala, rien de plus, et hop :slight_smile:

Du moment que l'infrastructure est prévu pour faire de l'hébergement
de site, ça passe très bien.

On peut effectivement parler du plugin memoization, et de la
compression du html, des css et du js...

Contrairement à d'autres logiciels, Spip est très bien pensé pour
bien fonctionner dès le début, avec un système de cache déjà
opérationnel (ce qui n'est pas le cas pour WP par exemple).

A+

Voici quelques rapides tests sur php 5.5.23 et SPIP 3.1 :

  • on peut installer SPIP sans mysql, sur du sqlite3 (nécessaire pour les sauvegardes SPIP)

  • pour mysql, les composants pdo_mysql et mysql_nd (natif dans PHP5) ne fonctionnent pas. Il faut l’extension mysqli

  • Si on n’installe pas le composant gd2, on ne peut pas avoir certains filtres graphiques

  • il faut ctype et Reflection.

Mes paramètres de compilation minimaux :
‘./configure’ ‘–disable-all’ ‘–enable-libxml’ ‘–enable-session’ ‘–enable-spl’ ‘–enable-xml’ ‘–enable-hash’ ‘–enable-reflection’ ‘–with-pear’ ‘–with-apxs2=/usr/local/zend/apache2/bin/apxs’ ‘–with-layout=GNU’ ‘–enable-filter’ ‘–with-pcre-regex’ ‘–with-zlib’ ‘–enable-simplexml’ ‘–enable-dom’ ‘–with-openssl=/usr/local/openssl-0.9.8zc’ ‘–enable-pdo’ ‘–with-pdo-sqlite’ ‘–with-readline=/usr/local/readline-5.2’ ‘–with-iconv’ ‘–with-sqlite3’ ‘–disable-phar’ ‘–enable-xmlwriter’ ‘–enable-xmlreader’ ‘–enable-mysqlnd’ ‘–enable-json’ ‘–with-libxml-dir=/usr/local’

Composants optionnels théoriques que j’ai détectés :

  • imagick (alernative : gd)

  • ldap

  • mbstring (pour le traitement des encodages des chaines de caractères, ainsi qu’une vérif dans l’envoi des mails)

  • zlib (pour traiter les zip, ou encoder l’Ajax)

  • iconv (pour traiter l’utf-32)

  • curl ou fsockopen (pour traiter la liste des tâches via socket ou cURL asynchrone)

  • yaml ( dans Textwheel et peut-être dans iterateur/data même si là j’ai l’impression que inc_yaml_to_array_dist() n’est pas utilisé)

  • pg (je ne pense pas que la compatibilité avec PostGreSQL soit maintenue pour spip 3.1)

  • exif (pour des rotations d’image, ou analyser des jpeg)

  • simplexml (pour parser les tags ID3 des vidéos et audios)

  • dba (pour cacher des images au format dbm – mais je me demande si cette portion du code de medias est utilisée)

  • opcache ou apc (pour le cache opcode)

J’en ai pas mal dans ma config par défaut :slight_smile:

Mais je peux tester une compilation manuelle sans aucun de ces modules

Attention, certaines fonctions peuvent être interdites par la config’, et devenir obsolètes.

Par exemple, la fonction dl() est utilisée pour charger un module php. Certaines API php peuvent aussi la supprimer.

Il faut ABSOLUMENT que la fonction eval() soit autorisée.

Histoire de ne pas perdre la discussion, j’ai tout compulsé sur mon blog.

.Gilles

Sans aller jusqu’à l’installation d’une machine complète comme vous l’entendez j’ai profité de cette discussion pour tenté de regrouper toutes les demandes que j’adresse au support technique des hébergeurs où j’installe des SPIP dans une check list : http://contrib.spip.net/4696 (y compris des trucs qui semblent a priori évident mais qui ne le sont pas manifestement).

Voyez autre chose ?

Sans aller jusqu’à l’installation d’une machine complète comme vous
l’entendez j’ai profité de cette discussion pour tenté de regrouper toutes
les demandes que j’adresse au support technique des hébergeurs où
j’installe des SPIP dans une check list : Liste de vérification pour la configuration d’un serveur hébergeant SPIP 3.0 (y
compris des trucs qui semblent a priori évident mais qui ne le sont pas
manifestement).

Voyez autre chose ?

J'ai rajouté "php-utilities" dans ton article.