====== Paheko ====== {{ :informatique:paheko_logo_hd.png?nolink&600 |}} Ayant co-fondé une association il y a peu (fin août 2024) je me suis penché sur sa gestion administrative et notamment comptable, ayant envie de faire les choses proprement. Je me voyais mal utiliser un tableur, un outil de compta personnelle libre (Grisbi, GNUCash et autre c'est assez imbuvable je trouve. Et pourtant j'ai un BEP Métiers de la Comptabilité 😁). ===== Kécécé Paheko ===== **Paheko** (ex Garradin) est un logiciel libre de gestion d'association. Il permet de gérer les membres, les activités, la gestion des documents, la comptabilité et le site web d'une association. Écrit en PHP, il fonctionne sur un serveur Apache2 et une base SQLite. Comme souvent sur les solutions libres, deux possibilités : * Un hébergement fourni par Paheko, essai libre avec des fonction limités ou avec une contribution équivalente à 0,4% des recettes annuelles de l'association. * En auto-hébergement, soit "hors ligne" (assistant d'installation pour Linux (Debian et consorts) et Windows) ou sur un serveur. Étant du métier, j'ai essayé le logiciel en "hors ligne" puis installé sur un serveur Proxmox à mon domicile. ==== Liens ==== * [[https://paheko.cloud/|paheko.cloud - Site principal]] * [[https://fossil.kd2.org/paheko/doc/trunk/doc/index.md|Paheko - Documentation et auto-hébergement]] ===== Installation de Paheko sous Debian 12 ===== Installation réalisée sous Proxmox 8.2.4 dans un conteneur LXC Debian 12. Peut-être que les plus barbus préfèrerons Docker, moi je fais avec ce que je connais. Procédure issue des documentations suivantes : * [[https://fossil.kd2.org/paheko/wiki/?name=Installation|Installer Paheko]] * [[https://fossil.kd2.org/paheko/wiki?name=Installation%20sous%20Debian-Ubuntu|Installation détaillée sous Ubuntu/Debian]] ==== Installation des pré-requis ==== Paheko a besoin de PHP 7.4 ou supérieur, SQLite3, d'Apache et d'un certains nombres de paquets supplémentaires. Je vous épargne les apt update et upgrade de bonne mesure, vous n'êtes pas des sauvages. apt install apache2 php php-{sqlite3,intl,cli,imagick,mbstring,gnupg} libapache2-mod-php -y Optionnellement vous pouvez installer ''mupdf-tools'' et ''gnupg'' : apt install mupdf-tools gnupg -y ==== Installation de Paheko ==== Trois choix s'offre à vous : * Le paquet Debian. * La méthode automatisée avec un fichier ''install.php'' qui télécharge tous les fichiers * Installer à la mano comme un barbu. Toutes ces méthodes sont détaillées sur la page [[https://fossil.kd2.org/paheko/wiki/?name=Installation|Installer Paheko]]. Ici, je vais partir sur le paquet Debian parce que flemme. Je verrais peut-être plus tard pour faire quelque chose de propre, si le logiciel sort de l'usage interne à mon domicile. On récupère donc le paquet Debian depuis la page [[https://fossil.kd2.org/paheko/wiki/?name=Installation|Installer Paheko]] et on l'installe : wget https://fossil.kd2.org/paheko/uv/paheko-x.x.xx.deb dpkg -i paheko*.deb ==== Les trucs de serveur web ==== On vérifie que les modules PHP sont bien activés : phpenmod sqlite3 imagick intl gnupg On active les modules Apache : a2enmod "php*" rewrite systemctl restart apache2 Le module ''rewrite'' n'est pas indiqué dans la procédure officielle mais j'ai eu des surprises (ça déconnait grave) avant son activation. On créé le vHost pour Apache, par exemple ''paheko.conf'' dans ''/etc/apache2/site-available/paheko.conf'' en prenant soin de modifier le domaine : ServerName paheko.domaine.truc DocumentRoot /usr/share/paheko/www Include /usr/share/paheko/apache-vhost.conf AllowOverride None Require all granted A noter que pour ma config qui fonctionne pour l'instant uniquement sur mon réseau local, j'ai ajouté la un ''ServerAlias'' suivi de l'IP de la VM, ce qui donne : ServerName asso.paheko.local ServerAlias 192.168.1.245 DocumentRoot /usr/share/paheko/www Include /usr/share/paheko/apache-vhost.conf AllowOverride None Require all granted Et on peut vérifier la config pour voir si Apache ne hurle pas puis on active le vHost : apache2ctl configtest a2ensite paheko systemctl reload apache2 Et hop ! Si tout se passe bien vous devriez arriver sur la page d'accueil de Paheko ! {{ :informatique:paheko_screen_install.png?800 | }} ==== Envoi des mails ==== Sur cette maquette de prod, je suis passé par [[https://github.com/corecode/dma|DMA]], sur les conseils d'un copainternet, pour l'envoi des mails. Moins pénible à paramétrer que ''postfix''. apt install dma mailutils Dans ''/etc/dma/dma.conf'' : # Serveur SMTP SMARTHOST mail.trucmuche.com # Port à adapter PORT 465 # Le fichier d'authentification SMTP AUTHPATH /etc/dma/auth.conf # TLS/SSL SECURETRANFER # Si STARTTLS STARTTLS # Si modif du MAILNAME lancer dpkg-reconfigure dma MAILNAME /etc/mailname # Pour masquer l'identifiant du serveur serveur par un vrai mail MASQUERADE adresse@ledomaine.truc Et dans '''/etc/dma/auth.conf''' : # Format : Compte|Serveur SMTP:Mot de passe adresse@ledomaine.truc|mail.trucmuche.com:MotDePasseTopSecure Par exemple pour Infomaniak j'ai dans ''dma.conf'' : SMARTHOST mail.infomaniak.com PORT 465 # Le fichier d'authentification SMTP AUTHPATH /etc/dma/auth.conf SECURETRANFER MAILNAME /etc/mailname MASQUERADE mail@mondomaine.tld et dans ''auth.conf'' : mail@mondomaine.tld|mail.infomaniak.com:Motdepasse123! Tester avec ''mail -s "Test" destinataire@truc.tld <<< "Wow un super mail !"'' et depuis Paheko.