Installer Garradin sans utiliser de virtual host ou sous-domaine dédié n'est pas supporté officiellement, mais c'est possible si vous avez une bonne maîtrise de l'administration de serveur et de la configuration Apache.

ATTENTION : AUCUN SUPPORT n'est apporté à cette manière d'installer Garradin, qui est FORTEMENT DÉCONSEILLÉE !

En effet il y a un risque dans ce contexte qu'une erreur de configuration de votre part permette de télécharger l'intégralité de la base de données de votre association par n'importe qui !

Procédure à suivre pour Apache

Ci-dessous

  1. Télécharger la dernière version (fichier .tar.bz2 ou .zip)
  2. La décompresser dans un répertoire accessible au serveur web, par exemple dans le répertoire /sites/garradin/ qui sera accessible à l'adresse http://monsite.lautre.net/sites/garradin/
  3. Éditer le fichier nommé .htaccess qui se trouve dans le répertoire /sites/garradin/ et décommenter les lignes à partir de <IfModule mod_rewrite.c> qui commencent par un hash (#) en suivant les instructions (pour décommenter : supprimer le hash au début de la ligne)
  4. Supprimez le fichier /sites/garradin/www/.htaccess (ce fichier est différent de celui situé à la racine de Garradin)
  5. Effacer le fichier index.php situé à la racine, dans /sites/garradin/
  6. Créer un fichier config.local.php à la racine en y mettant le contenu suivant :
<?php
const WWW_URI = "/sites/garradin/";

En remplaçant /sites/garradin/ par le répertoire dans lequel Garradin a été installé.

Rendez-vous ensuite à l'adresse http://monsite.lautre.net/sites/garradin/ et Garradin lancera le processus final de l'installation.

Cette procédure (étapes 3, 4 et 5) sera à répéter à chaque mise à jour !

ATTENTION : Vérifiez que le fichier association.sqlite n'est pas accessible ! Rendez-vous sur http://monsite.lautre.net/sites/garradin/association.sqlite et votre navigateur doit vous afficher un message Access Forbidden et ne doit pas vous proposer de télécharger un fichier ! Si ce n'est pas le cas il vous faut installer et activer le mod_alias de Apache, ou alors modifier le .htaccess à la racine de Garradin (pas dans www/) pour empêcher l'accès à ce fichier.

En effet le fichier association.sqlite contient toutes les données de votre association : membres, compta, mots de passe (chiffrés), adresses e-mail...

Procédure alternative pour Apache

Cette procédure est plus simple et ne nécessite pas d'être répétée à chaque mise à jour, mais elle nécessite que vous ayez le droit d'administrer le serveur Apache.

Dans la configuration du serveur Apache (httpd.conf, ou apache.conf, ou le fichier de configuration du VirtualHost), mettre la ligne suivante :

Alias /garradin/ /home/perso/sites/garradin/www/

Adapter le second argument à l'emplacement où Garradin a été décompressé.

Ensuite modifier le fichier /home/perso/sites/garradin/www/.htaccess en remplaçant /_route.php par /garradin/_route.php (deux occurrences). Cette dernière étape sera à refaire à chaque mise à jour.

Pour lighttpd, nginx, etc.

Adaptez la configuration : il faut interdire l'accès aux répertoires include, cache, plugins et templates, ainsi que l'accès aux fichiers *.sqlite, et faire rediriger les pages non trouvées dans www/ sur www/index.php.

Ou alors simplement faites un vhost :)