Installation multi-sites (ferme ou usine à Paheko)

Il est possible assez facilement de personnaliser l'installation de Paheko pour héberger plusieurs associations avec le même code, permettant de n'avoir qu'une seule copie du code à mettre à jour. C'est comme ça que fonctionne le service https://paheko.cloud/, ainsi que les instances chez Zourit ou KAZ.bzh par exemple.

Pour mettre en place ce fonctionnement il faut jouer avec la constante DATA_ROOT dans le fichier config.local.php.

Exemple clé en main

Voici un exemple clé en main d'installation de Paheko permettant d'héberger quelques associations (plusieurs dizaines).

Pré-requis : il est conseillé d'avoir un utilisateur

  1. Télécharger et décompresser l'archive Paheko dans un répertoire, par exemple /var/www/paheko (ne pas procéder au reste de l'installation)
  2. Faire pointer les sous-domaines (ou un wild-card) des associations vers le sous-répertoire www du répertoire où a été placé le code de Paheko (sans procéder à l'installation).
  3. Télécharger le fichier config.local.php, modifier les constantes FACTORY_DOMAIN, MAIL_ERRORS et SECRET_KEY (et éventuellement FACTORY_USER_DIRECTORY si désiré), et le recopier dans le répertoire racine de l'installation de Paheko

Chaque instance (association) stockera ses données dans un sous-répertoire du répertoire indiqué dans FACTORY_USER_DIRECTORY.

Pour créer une nouvelle instance il suffit de créer son répertoire : mkdir /var/www/paheko/users/club-de-tennis par exemple.

Dans le cas contraire une erreur indiquant "cette association n'existe pas" s'affichera.

Une fois le répertoire créé il suffit de se rendre à l'adresse de l'installation pour configurer l'association (ici club-de-tennis.monsite.tld).

Cron / tâches planifiées

Il est recommandé de suivre également les étapes suivantes pour activer les tâches planifiées (sauvegarde automatisée, envoi de rappels automatiques, envoi des e-mails).

  1. Télécharger les fichiers factory_cron.sh et factory_cron_emails.sh et les recopier dans le répertoire racine de l'installation de Paheko, et les rendre exécutable (chmod +x factory_cron_*.sh)
  2. Configurer une tâche cron, par exemple avec crontab -e -u paheko, comme ceci :
@daily /var/www/paheko/factory_cron.sh
* * * * * /var/www/paheko/factory_cron_emails.sh

Le premier script est exécuté chaque jour et lance les sauvegardes automatiques et les rappels de cotisations, quand le second envoie les e-mails en attente.

Mises à jour

Il est possible de mettre à jour le code de Paheko, chaque instance sera mise à jour automatiquement lors de la prochaine visite.

Gestion du code

Plutôt que d'utiliser l'archive du site Paheko, il est recommandé de réaliser une installation à partir de Fossil, ce qui permettra des mises à jour simplifiées :

Pour installer la version 1.1.0 :

cd /var/www
fossil clone https://fossil.kd2.org/paheko/ paheko.fossil
mkdir paheko
cd paheko
fossil open ../paheko.fossil
fossil update 1.1.0
cd src
make deps

Ensuite à la mise à jour vers la version 1.1.2 par exemple :

cd /var/www/paheko/src
fossil update 1.1.2
make deps

Support

Voir déjà la documentation et la FAQ.

Si vous avez besoin de plus d'aide pour mettre en place un tel service vous pouvez contacter les développeurs sur la liste dev@