1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
+
-
+
+
+
-
+
-
-
-
-
-
+
-
+
-
-
+
-
-
-
+
-
+
-
+
-
+
|
# 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.
## Prérequis
Ce tuto ne fonctionnera PAS avec Debian Jessie, Ubuntu 16.04 et inférieur. Il vous faut au moins Debian Buster (ou Ubuntu 18.04). Ceci est dû à un bug dans les versions d'Apache plus anciennes que 2.4.25.
* Debian Buster ou supérieur (ne fonctionnera pas avec Stretch ou Jessie !)
* Ubuntu Bionic (18.04) ou supérieur (ne fonctionnera pas avec Xenial)
Sous Apache, les fichiers du site web se mettent par défaut dans `/var/www/html`. Mais nous allons ici utiliser un sous-domaine de votre site principal.
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 à Garradin via `http://garradin.association.fr/`.
Vous n'allez pas mettre vos fichiers de Garradin dans `/var/html/www` car c'est le site principal et ce serait une bien mauvaise idée de mélanger tous les fichiers.
A la place, vous allez mettre Garradin dans `/var/www/garradin` et paramétrer ensuite le serveur web pour que lorsqu'on tape `http://garradin.association.fr/`, celui-ci aille chercher les fichiers dans `/var/www/garradin`.
## 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-apcu
sudo apt install apache2 php php-sqlite3 php-intl php-apcu php-cli php-imagick
## Télécharger Garradin
Bien évidemment, il vous faut vérifier avant quelle est la dernière version de Garradin. Les téléchargements sont ici : [https://fossil.kd2.org/garradin/uvlist](https://fossil.kd2.org/garradin/uvlist)
Repérez la dernière version disponible, avec l'extension `.tar.bz2` et copiez le lien dans le presse papier (clic droit sur le lien et "copier l'adresse du lien").
Repérez la dernière version disponible, avec l'extension `.deb` et copiez le lien dans le presse papier (clic droit sur le lien et "copier l'adresse du lien").
Sur votre serveur web, téléchargez l'archive d'installation et décompressez-là :
cd /var/www
sudo wget [coller ici l'adresse URL du fichier .tar.bz2 de Garradin]
sudo wget [coller ici l'adresse URL du fichier .deb de Garradin]
sudo -u www-data tar -xvf garradin-*.tar.bz2
sudo rm -f garradin-*.tar.bz2
sudo mv garradin-* garradin
sudo dpkg -i garradin*.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://garradin.association.fr` et le répertoire `/var/www/garradin`. Et ce fichier, on le nomme **vHost** dans la langue obscure des serveurs web.
Nos fichiers sont en place, il est temps de créer le fichier de configuration qui dira à Apache comment faire le lien entre `http://garradin.association.fr` et le répertoire `/usr/share/garradin`. 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/garradin
Copiez-y ce contenu :
```
<VirtualHost *:80>
ServerName garradin.association.fr
DocumentRoot /var/www/garradin/www
DocumentRoot /usr/share/garradin/www
<Directory /var/www/garradin>
<Directory /usr/share/garradin/www>
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
```
Sauvegardez et sortez en faisant `CTRL`+`X`.
|
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
|
-
+
-
+
|
Dans un fichier `garradin` du répertoire `/etc/nginx/sites-available` insérez :
```
server {
listen 80; # Port d'écoute
root /var/www/garradin/www; # Remplacer par le chemin adéquat vers le dossier public de garradin
root /usr/share/garradin/www; # Remplacer par le chemin adéquat vers le dossier public de garradin
server_name garradin.mondomain.tld; # Remplacer par votre nom de domaine
location / {
try_files $uri $uri/ index.php /_route.php;
try_files $uri $uri/ /_route.php;
index index.php /_route.php;
}
location ~ \.php {
try_files $uri $uri/ /_route.php;
include fastcgi.conf;
fastcgi_pass 127.0.0.1:9000; # Si vous utilisez PHP-FPM (ou autre) en mode TCP et non sur une socket
|