Foire aux questions — webmaster

A quoi servent les extensions et où peut-on les trouver ?

Ça peut servir à tout et n'importe quoi. Genre paiement d'adhésion par CB, agenda collectif, etc.

Les extensions officiellement supportées sont disponible ici : https://fossil.kd2.org/garradin-plugins/

D'autres extensions peuvent être trouvées sur la page Extensions du wiki.

Comment configurer X-SendFile avec Apache ?

Garradin peut utiliser l'extension Apache X-SendFile pour permettre de télécharger les fichiers plus rapidement en prenant moins de ressources sur le serveur. Pour cela il faut ajouter ceci dans le fichier config.local.php:

define('Garradin\ENABLE_XSENDFILE', true);

Ensuite installez et activez le module apache (ici la commande pour Debian/Ubuntu) :

sudo apt-get install libapache2-mod-xsendfile
sudo a2enmod xsendfile

Et dans votre configuration Apache ajouter une section pour activer X-SendFile sur votre instance Garradin (attention ne marche pas dans un fichier .htaccess, il faut obligatoirement modifier la configuration serveur du vhost) :

 <Directory /path/to/garradin/www>
    XSendFile On
    XSendFilePath /path/to/garradin
</Directory>

Le répertoire pointé par XSendFilePath doit obligatoirement être le répertoire parent de Garradin.

Rechargez la configuration Apache (sudo service apache2 reload) et faites un essai en téléchargeant un fichier dans Garradin plusieurs fois : si vous obtenez un fichier de 0 octets c'est que X-SendFile n'est pas activé correctement.

Pourquoi devoir utiliser un sous-domaine (virtualhost) pour Garradin, par exemple "gestion.monassociation.fr" ? Pourquoi est-ce qu'il n'est pas possible d'installer Garradin dans un sous-répertoire comme "monassociation.fr/gestion/" ?

Garradin stocke l'intégralité de ses données dans une base de données SQLite, enregistrée sur le disque dans le fichier "association.sqlite" qui est situé à la racine de l'installation de Garradin. Ce fichier contient l'intégralité de vos données : liste des membres (avec leurs coordonnées notamment), cotisations, comptabilité, etc.

De plus à la racine de Garradin sont également stockées des informations sensibles : cache, plugins, templates, version de Garradin, etc.

Tout cela est normalement protégé par des directives dans le fichier .htaccess à la racine de Garradin, mais si vous n'utilisez pas Apache (par exemple nginx ou lighttpd) ou n'avez pas activé le module "mod_alias" la protection ne fonctionnera pas et toutes ces données seront accessibles à tous.

Enfin, cela rajoute un sous-répertoire "/www/" disgracieux à l'adresse des pages.

Pour toutes ces raisons, il est préférable d'éviter de mettre Garradin dans un sous-répertoire et d'utiliser un sous-domaine, à moins de savoir ce que vous faites.

Ma base de données (fichier association.sqlite) est tombé dans de mauvaises mains, qu'est-ce que je risque ?

Le risque principal est de voir vos données adhérents revendues ou utilisées pour du spam ou autres fraudes. Les mots de passe permettant de se connecter sont chiffrés et hashés, et il est impossible de les retrouver sans utiliser du bruteforce (essayer toutes les combinaisons possibles), mais pour être sûr il vaut mieux changer le mot de passe de tous les adhérents qui avaient le droit de se connecter.

J'ai perdu l'accès à mon compte (mot de passe ou email oublié), comment faire ?

Si vous avez installé Garradin sur votre serveur il vous suffit de créer un fichier config.local.php à la racine de Garradin et d'y inscrire :

<?php
namespace Garradin;
const LOCAL_LOGIN = 1;

Ceci vous permettra d'être connecté en tant que membre n°1 (normalement c'est le premier créé, donc l'administrateur). Si votre membre n°1 n'est pas administrateur il faudra modifier le chiffre 1 par le numéro d'un membre administrateur.

Effacez ce fichier ou supprimer la ligne const LOCAL_LOGIN = … après avoir créé un nouveau membre administrateur.