|
|
# Installation d'Agendav dans un environnement LAMP
|
|
|
|
|
|
[Agendav](http://agendav.org/) est un agenda en ligne
|
|
|
utilisé par [Animagenda](https://agenda.animafac.net/).
|
|
|
|
|
|
## Installation de Baïkal
|
|
|
|
|
|
Agendav n'est qu'un client CalDAV, il va donc nous falloir également un serveur.
|
|
|
On va utiliser pour cela [Baïkal](http://sabre.io/baikal/).
|
|
|
|
|
|
On part du principe que Baïkal est installé
|
|
|
par un utilisateur qui s'appelle `date`
|
|
|
et qu'il tournera dans le dossier `/home/date/baikal/`.
|
|
|
|
|
|
On télécharge la dernière version stable avec Git :
|
|
|
|
|
|
```bash
|
|
|
git clone https://github.com/fruux/Baikal.git baikal/
|
|
|
cd baikal/
|
|
|
git checkout 0.4.6
|
|
|
```
|
|
|
|
|
|
On installe les dépendances avec [Composer](https://getcomposer.org/) :
|
|
|
|
|
|
```bash
|
|
|
composer install --no-dev
|
|
|
```
|
|
|
|
|
|
On rend certains dossiers accessibles en écriture :
|
|
|
|
|
|
```bash
|
|
|
chmod 777 Specific/
|
|
|
```
|
|
|
|
|
|
On crée deux bases de données `agenda` et `agenda_baikal`
|
|
|
et un utilisateur `agenda` qui a tous les droits sur ces bases.
|
|
|
|
|
|
Ensuite, il faut créer le fichier de configuration Apache
|
|
|
`/etc/apache2/sites-available/agenda.conf` :
|
|
|
|
|
|
```apache
|
|
|
<VirtualHost *:80>
|
|
|
ServerName agenda.example.com
|
|
|
DocumentRoot /home/agenda/public_html/web/public/
|
|
|
|
|
|
<Directory />
|
|
|
Options FollowSymLinks
|
|
|
AllowOverride All
|
|
|
</Directory>
|
|
|
<Directory /home/agenda/baikal>
|
|
|
Options Indexes FollowSymLinks MultiViews
|
|
|
AllowOverride All
|
|
|
Require all granted
|
|
|
</Directory>
|
|
|
<Directory /home/agenda/public_html>
|
|
|
Options Indexes FollowSymLinks MultiViews
|
|
|
AllowOverride All
|
|
|
Require all granted
|
|
|
</Directory>
|
|
|
<Location />
|
|
|
RewriteEngine On
|
|
|
RewriteCond %{REQUEST_FILENAME} !-f
|
|
|
RewriteRule ^ index.php [QSA,L]
|
|
|
</Location>
|
|
|
Alias /baikal /home/agenda/baikal/html
|
|
|
</VirtualHost>
|
|
|
```
|
|
|
|
|
|
On active ensuite le nouvel hôte :
|
|
|
|
|
|
```bash
|
|
|
sudo a2ensite agenda
|
|
|
sudo service apache2 reload
|
|
|
```
|
|
|
|
|
|
Vous pouvez ensuite vous connecter sur [agenda.example.com/baikal](http://agenda.example.com/baikal/)
|
|
|
afin de suivre l'assistant d'installation de Baïkal.
|
|
|
|
|
|
## Installation d'Agendav
|
|
|
|
|
|
On part du principe qu'Agendav est installé
|
|
|
par un utilisateur qui s'appelle `date`
|
|
|
et qu'il tournera dans le dossier `/home/date/public_html/`.
|
|
|
|
|
|
On télécharge la dernière version stable avec Git :
|
|
|
|
|
|
```bash
|
|
|
git clone https://github.com/agendav/agendav.git public_html/
|
|
|
cd public_html/
|
|
|
git checkout 2.1.0
|
|
|
```
|
|
|
|
|
|
On lance l'installation avec [npm](https://www.npmjs.com/) :
|
|
|
|
|
|
```bash
|
|
|
npm install
|
|
|
npm run build
|
|
|
```
|
|
|
|
|
|
On rend certains dossiers accessibles en écriture :
|
|
|
|
|
|
```bash
|
|
|
chmod 777 web/var/log/
|
|
|
chmod 777 web/var/cache/twig/
|
|
|
```
|
|
|
|
|
|
On crée le fichier de configuration :
|
|
|
|
|
|
```bash
|
|
|
cp web/config/default.settings.php web/config/settings.php
|
|
|
```
|
|
|
|
|
|
Et on indique dedans comment se connecter à la base de données :
|
|
|
|
|
|
```php
|
|
|
$app['db.options'] = [
|
|
|
'dbname' => 'agenda',
|
|
|
'user' => 'agenda',
|
|
|
'password' => '',
|
|
|
'host' => 'localhost',
|
|
|
'driver' => 'pdo_mysql'
|
|
|
];
|
|
|
```
|
|
|
|
|
|
Ainsi que comment se connecter à Baïkal :
|
|
|
|
|
|
```php
|
|
|
$app['caldav.baseurl'] = 'http://agenda.example.com/baikal/dav.php';
|
|
|
```
|
|
|
|
|
|
On remplit ensuite la base de données :
|
|
|
|
|
|
```bash
|
|
|
php agendavcli migrations:migrate
|
|
|
```
|
|
|
|
|
|
## Mise à jour de Baïkal
|
|
|
|
|
|
On récupère la dernière version :
|
|
|
|
|
|
```bash
|
|
|
git fetch origin
|
|
|
git checkout 0.4.6
|
|
|
```
|
|
|
|
|
|
On installe les dépendances avec [Composer](https://getcomposer.org/) :
|
|
|
|
|
|
```bash
|
|
|
composer install --no-dev
|
|
|
```
|
|
|
|
|
|
## Mise à jour d'Agendav
|
|
|
|
|
|
On récupère la dernière version :
|
|
|
|
|
|
```bash
|
|
|
git fetch origin
|
|
|
git checkout 2.1.0
|
|
|
```
|
|
|
|
|
|
On installe les dépendances avec [Composer](https://getcomposer.org/) :
|
|
|
|
|
|
```bash
|
|
|
cd web/
|
|
|
composer install --no-dev
|
|
|
```
|
|
|
|
|
|
On met ensuite la base de données à jour :
|
|
|
|
|
|
```bash
|
|
|
php agendavcli migrations:migrate
|
|
|
``` |