Installation détaillée sous Ubuntu/Debian

Le tuto suivant a été pondu en utilisant Ubuntu et Apache. La plupart des commandes devraient également convenir à toute distribution Linux héritée de Debian.

Ces instructions sont valides pour la version 1.3.5. Il est possible que cette documentation ne soit pas à jour depuis ce moment-là.

Prérequis

  • Debian Buster (11) ou supérieur
  • Ubuntu Focal (20.04) ou supérieur

Il faut utiliser un sous-domaine de votre site principal.

Pour l'exemple, vous avez un site web accessible sur http://association.fr/ et vous souhaitez accéder à Paheko via http://paheko.association.fr/.

Installer Apache, PHP et de quoi utiliser SQLite

Si vous ne l'avez pas déjà fait, installez le serveur web Apache (si vous l'avez déjà fait, vérifiez au moins que l'extension SQLite3 a été installée, sans quoi php ne pourra pas lire la base de données) :

sudo apt update
sudo apt install apache2 php php-sqlite3 php-intl php-cli php-imagick php-mbstring libapache2-mod-php

Vérifier que les modules PHP sont bien activés :

sudo phpenmod sqlite3 imagick intl 
sudo a2enmod "php*"

Télécharger Paheko

Il faut cliquer sur le lien Debian sur la page d'accueil pour télécharger le fichier .deb d'installation.

Sur votre serveur web, téléchargez l'archive d'installation et décompressez-là :

sudo wget [coller ici l'adresse URL du fichier .deb de Paheko]
sudo dpkg -i paheko*.deb

Nos fichiers sont en place, il est temps de créer le fichier de configuration qui dira à Apache comment faire le lien entre http://paheko.association.fr et le répertoire /usr/share/paheko. Et ce fichier, on le nomme vHost (ou virtual host) dans la langue obscure des serveurs web.

Créer un vHost pour Apache 2.4 sous Ubuntu/debian

sudo nano /etc/apache2/sites-available/paheko.conf

Copiez-y ce contenu :

<VirtualHost *:80>
    ServerName paheko.association.fr
    DocumentRoot /usr/share/paheko/www

   Include /user/share/paheko/apache-vhost.conf

    <Directory /usr/share/paheko/www>
        AllowOverride None
        Require all granted
    </Directory>
</VirtualHost>

Sauvegardez et sortez en faisant CTRL+X.

Quelques explications

  • ServerName indique l'URL utilisée pour accéder à votre vHost. Comme Paheko a besoin d'un sous domaine pour fonctionner correctement, on indique en fait ici le sous-domaine à utiliser.
  • DocumentRoot indique le chemin dans lequel aller chercher les fichiers du site web. Ici il pointe vers le répertoire www de Paheko et non pas sa racine, c'est tout à fait normal et nécessaire.
  • Include permet de charger la configuration de Paheko.

Activez maintenant votre vHost :

sudo a2ensite paheko
sudo apache2ctl configtest

Normalement il devrait être affiché Syntax OK. S'il y a des erreurs, vérifiez qu'il n'y a pas de faute de frappe.

Une fois que c'est bon, relancez apache avec :

sudo systemctl restart apache2

Le site devrait fonctionner maintenant.

Pour info, les données et plugins seront stockés dans le répertoire /var/lib/paheko.

Passer Paheko en https

Le HTTPS, c'est le petit cadenas vert à côté de l'url dans Firefox, c'est aussi l'absence du vilain cadenas rouge dans Chrome. Bref, c'est un gage de sécurité qui a deux fonctions :

  • Il garantit que les données échangées entre votre navigateur et le site web sont chiffrées. En effet en http, c'est du texte en clair qui est transmis, donc toutes vos données sur les membres, votre compte et vos mots de passe transitent en clair. Il faut donc sécuriser les échanges avec du https afin de rendre les données échangées illisibles.
  • Il garantit que le site web que vous allez visiter est bien le bon. Ça c'est pour la théorie, puisque personne ne va jamais vérifier qu'un certificat SSL est bien le bon pour le site qu'on veut visiter. Surtout que vous allez voir qu'il est très facile d'obtenir un certificat valide.

Nous allons pour activer le https utiliser LetsEncrypt, un fournisseur gratuit de certificats.

Installez letsencrypt et certbot (l'assistant pour configurer vos vHosts afin qu'ils utilisent letsencrypt) :

sudo apt install letsencrypt
sudo add-apt-repository ppa:certbot/certbot
sudo apt install python-certbot-apache
sudo certbot

Suivez l'assistant :

  • Vous choisissez les domaines que vous voulez mettre en https
  • Vous spécifiez si les connexions en http doivent être redirigées vers le https. Je vous conseille de le faire y compris pour vos autres vHosts vu que les moteurs de recherche ont maintenant tendance à pénaliser les sites qui ne sont pas en https.

Si vous retournez dans le répertoire /etc/apache2/sites-available, vous constaterez que les vHosts pour lesquels vous avez activé le https ont maintenant deux fichiers de conf : celui d'origine pour le http, et un autre suffixé par -le-ssl qui gère le https.

Redémarrez Apache en faisant :

sudo service apache2 restart

Vous devriez à présent pouvoir accéder à Paheko via https://paheko.association.fr !

Autres fonctionnalités optionnelles

Collabora Online

Paheko peut utiliser Collabora Online (ou OnlyOffice, mais celui-ci n'a pas été testé) pour permettre d'éditer les documents bureautiques de manière collaborative.

Pour cela suivez les instructions d'installation pour installer le paquet Debian.

Pour l'accès web à Collabora, il est conseillé d'utiliser Apache2 en reverse proxy, consulter ce guide détaillé pour la marche à suivre.

Une fois que vous avez mis en place Collabora, retenez son adresse "discovery" et indiquez celle-ci dans le fichier /etc/paheko/config.php :

const WOPI_DISCOVERY_URL = 'https://collabora.monasso.fr/hosting/discovery';

Pour activer la génération d'images miniatures des documents bureautiques avec Collabora, rajouter la ligne suivante :

const DOCUMENT_THUMBNAIL_COMMANDS = ['collabora'];

GNUmeric (ssconvert)

Par défaut Paheko permet d'importer des membres, des écritures comptables, etc. à partir de fichiers CSV. Malheureusement Microsoft Excel gère très mal les fichiers CSV, donc les utilisateurs peuvent être assez perdus.

Pour permettre d'importer directement les fichiers des tableurs LibreOffice et Microsoft Office on peut installer l'outil ssconvert, issu du paquet gnumeric :

sudo apt install gnumeric --no-install-recommends

Puis indiquez à Paheko que ssconvert est disponible en ajoutant cette ligne au fichier /etc/paheko/config.php :

const CALC_CONVERT_COMMAND = 'ssconvert';

MuPDF

Pour permettre de créer des miniatures des fichiers PDF, et de chercher dans le contenu des fichiers PDF, il est utile d'installer l'utilitaire mutool de MuPDF :

sudo apt install mupdf-tools

Puis ajouter au fichier /etc/paheko/config.php les lignes suivantes :

const PDFTOTEXT_COMMAND = 'mupdf';
const DOCUMENT_THUMBNAIL_COMMANDS = ['mupdf'];

FFmpeg

Pour permettre de créer des miniatures pour les fichiers vidéo :

sudo apt install ffmpeg

Et ajouter 'ffmpeg' à la liste dans DOCUMENT_THUMBNAIL_COMMANDS :

const DOCUMENT_THUMBNAIL_COMMANDS = ['mupdf', 'collabora', 'ffmpeg'];

Chromium ou PrinceXML

Pour générer des PDF, il est possible d'utiliser chromium :

sudo apt install chromium --no-install-recommends

Puis ajoutez la ligne suivante au fichier de configuration :

const PDF_COMMAND = 'chromium';

Pour PrinceXML, qui est plus rapide et léger, mais dont la version gratuite est réservée à un usage non-commercial et ajoute un petit logo aux PDF générés, installer le paquet Debian depuis leur site, et remplacer chromium par prince dans la ligne ci-dessus.

Configuration avec le serveur web Nginx (alternative)

Voir la page dédiée à la configuration de nginx.