Carnet Wiki

Configuration Alwaysdata

Version 11 — Mai 2022 JLuc

À partir de SPIP 4

Le MYSQL de Alwaysdata utilise mariadb 10.6 qui souffre d’un bug qui n’est pas encore contourné par SPIP et donc une fois les fichiers installés on ne peut pas initialiser les tables de la base de donnée (ticket SPIP #4342).

Pour l’instant il faut donc patcher le source : dans le fichier ecrire/req/mysql.php, virer la ligne 702 (environ) qui contient . " ENGINE=MyISAM". ainsi que proposé dans ce patch.

C’est aussi ce que fait l’installation de SPIP en un clic proposée par Alwaysdata : https://www.alwaysdata.com/fr/marketplace/spip

Attention toutefois : ce patch du noyau sera écrasé lors d’une mise à jour de SPIP et il faudra à nouveau appliquer le patch, faute de quoi vous ne pourrez plus installer de nouveaux plugins lorsque ceux ci doivent créer des tables (et a priori seulement dans ce cas là).

À partir de SPIP 4.1

Avec SPIP 4.1, PHP doit disposer de la librairie sodium. C’est le cas par défaut à partir de PHP 7.2 (voir la doc PHP et l’annonce de cette prise en compte)... sauf si l’hébergeur installe un PHP spécialement construit pour ne pas disposer de cette librairie. C’est malheureusement le cas de Alwaysdata, qui, heureusement, fournit un moyen très simple de débrider le PHP proposé en activant les librairies désirées.

La doc générale sur la gestion des extensions est là : https://help.alwaysdata.com/fr/langages/php/installer-une-extension

En bref, pour installer SPIP 4.1, il faut ajouter la ligne suivante dans le php.ini :
extension=sodium.so.
C’est possible de l’y ajouter :
-  lors de la création Alwaysdata du «  site » pendant l’étape de configuration ;
-  à tout moment ensuite, en modifiant individuellement la configuration de chacun des sites (la roue crantée à droite depuis https://admin.alwaysdata.com/site/), dans la section Configuration > php.ini personnalisé ;
-  à tout moment ensuite, de façon globale, depuis la page « environnement » dans l’admin Alwaysdata.

Extension APCU

Il est possible d’activer le cache APCU sur votre compte, ce qui est assez rare pour un hébergement mutualisé. Comme ce n’est pas une application livrée par défaut par PHP, il faut la compiler et l’installer avant de l’activer. Alwaysdata fournit un petit script automatique pour cela :
-  connectez vous en SSH, en ligne de commande locale (ou possiblement via la console en ligne sur https://ssh-[nomdevotrecompte].alwaysdata.net pour laquelle il faut avoir préalablement activé la connexion SSH par mot de passe via https://admin.alwaysdata.com/ssh)
-   ,

mkdir  extensions ;  cd  extensions</code >
 -  Saisissez la commande <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+YWRfaW5zdGFsbF9wZWNsIGFwY3U8L2NvZGU+"></span>. Ça télécharge et compile l'extension. À la fin, vérifiez l'adresse du fichier .so généré, qui va servir dans la dernière étape.
- Via la page ["Environnement" dans l'admin Alwaysdata->https://admin.alwaysdata.com/environment/], ajoutez au php.ini la ligne suivante :  
<code>extension=extension=/home/[nomdevotrecompte]/extensions/apcu /apcu .so

ou bien, si vous avez changé le dossier qui accueille votre session ssh :
extension=/home/[chemindelasession]/extensions/apcu.so

Lorsque APCU est activé, votre site peut bénéficier des plugins memoization et xray, et vous pouvez utiliser les fonctions de cachelab pour vos développements.