Changes to "Installation sous Debian-Ubuntu" between 2020-02-01 00:21:21 and 2020-11-10 18:49:55

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