Mise en place d'un environnement de développement

Pré-requis : installer Fossil version 2.24 minimum. Sinon vous risquez d'avoir le message server did not reply à cause d'un bug avec les nouvelles versions de Apache.

Attention : les versions de Fossil fournies par Debian Bookworm et Ubuntu (jusqu'à la 24.04) sont trop anciennes et comportent un bug qui fait qu'elles ne fonctionnent pas avec le serveur de Paheko, suite à un correctif de sécurité par Apache (cf. les notes de version de Fossil).

Exécuter les commandes suivantes :

mkdir ~/fossil
cd ~/fossil

# Copier le repository Paheko dans "~/fossil/paheko.fossil" et ouvrir une copie de travail dans "~/fossil/paheko/"
fossil clone https://fossil.kd2.org/paheko/
cd paheko

# Activer les liens symboliques (nécessaire à l'installation)
fossil settings allow-symlinks on
fossil revert

# Télécharger et installer les dépendances
cd src
make deps
make htaccess
make modules
make plugins

Changer de branche

Par exemple pour utiliser la branche dev, lancer fossil update dev depuis le répertoire du repo Fossil.

Aller plus loin avec Fossil

Tester avec le serveur web de PHP

Pour tester Paheko avec le serveur web intégré à PHP lancer : make dev-server

Et se rendre à l'adresse http://localhost:8082/ avec son navigateur web.

Tester avec Apache2

Il est aussi possible de configurer un serveur de test en local avec Apache de cette manière :

cat <<EOF > /tmp/vhost
<Directory /home/$USER/fossil>
        Require all granted
        AllowOverride all
</Directory>

<VirtualHost *:80>
        AssignUserId $USER $USER
        ServerName paheko.localhost
        DocumentRoot /home/$USER/fossil/paheko/src/www
</VirtualHost>
EOF

sudo su -
apt install libapache2-mpm-itk php-cli libapache2-mod-php php-curl php-mbtstring php-zip php-int php-sqlite3
echo "127.0.0.1 paheko.localhost" >> /etc/hosts
cp /tmp/vhost /etc/apache2/sites-available/paheko.conf
a2ensite paheko
apache2ctl restart

Vous devriez ensuite avoir accès à votre installation locale sur http://paheko.localhost/

Tester l'envoi de mail, avec Exim4

Pour tester l'envoi de mail en local, il est conseillé de configurer le serveur de mails afin de rediriger tous les mails vers votre boîte mail.

Voici un exemple pour que tous les mails envoyés de votre machine locale soient redirigés vers votre boîte mail en local, quel que soit leur destinataire.

  1. Installer Exim 4 : sudo apt install exim4 exim4-config mutt
  2. Lancer la configuration : sudo dpkg-reconfigure exim4-config
  3. Conserver les valeurs par défaut, sauf :
    • "Type de configuration", choisir Distribution locale seulement
    • "Méthode de distribution du courrier" choisir Format MailDir
    • "Faut-il séparer la configuration en plusieurs fichiers ?", répondre Oui
  4. Exécuter la commande suivante :
cat <<EOF > /tmp/exim-conf
catch_all_outgoing:
   driver = redirect
   data = $USER
EOF
sudo cp /tmp/exim-conf /etc/exim4/conf.d/router/100_00_local_only
sudo update-exim4.conf

Maintenant, normalement tout mail envoyé depuis Paheko (ou autre appli PHP) devrait arriver dans votre boîte mail perso locale, consultable en lançant mutt, ou avec un autre client mail (KMail, Thunderbird, etc.) en utilisant les dossiers locaux.