Récupération d'articles d'archives
This commit is contained in:
@@ -0,0 +1,333 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/518
|
||||
date: '2012-02-07 21:17:00'
|
||||
dossier:
|
||||
- Créer son propre Cloud
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20121007072220/http://ingnu.fr/2012/02/07/kronolith-une-alternative-a-google-calendar/
|
||||
tags:
|
||||
- Google Calendar
|
||||
- Horde
|
||||
- Kronolith
|
||||
title: 'Kronolith : une alternative à Google Calendar'
|
||||
weather:
|
||||
humidity: 64
|
||||
illuminance: 0.0
|
||||
precipitations: false
|
||||
pressure: 1029.2
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: -9.8
|
||||
wind_direction: 57
|
||||
wind_speed: 16.4
|
||||
weight: 6
|
||||
---
|
||||
|
||||
Maintenant que nous avons [installé les bases d'un auto-hébergement](https://web.archive.org/web/20121007072220/http://ingnu.fr/category/creer-son-propre-cloud/), il est temps de mettre en place les [alternatives](https://web.archive.org/web/20121007072220/http://ingnu.fr/2011/12/29/quelles-sont-les-alternatives-a-google/) à tous ces services qui nous traquent, analysent, et revendent nos informations.
|
||||
|
||||
En premier lieu, on va s'occuper de Google Calendar.
|
||||
Notre objectif va être de s'en affranchir, en installant une solution relativement méconnue, injustement boudée au profit d'autres applications plus médiatisées.
|
||||
|
||||
Certes, l'installation et la configuration du framework [Horde](https://web.archive.org/web/20121007072220/http://www.horde.org/) et de ses "applications-filles" n'est pas réellement aussi simple qu'un assistant d'installation dans une page web, mais une fois installé, vous vous rendrez compte de sa toute puissance.
|
||||
|
||||
Précisons que Horde est un framework, sur lequel reposent bon nombre d'applications.
|
||||
La plus connue est probablement IMP, dont free fait usage, entre autres, pour permettre aux bénéficiaires d'une adresse @free.fr d'accéder à leurs mails.
|
||||
|
||||
Ici, nous reposerons sur ce framework pour installer Kronolith, redoutable de puissance et d'interopérabilité.
|
||||
|
||||
## Hôte virtuel
|
||||
|
||||
Créons notre hôte virtuel :
|
||||
|
||||
```bash
|
||||
nano /etc/apache2/sites-available/agenda.exemple.fr
|
||||
```
|
||||
|
||||
```text
|
||||
<VirtualHost *:80>
|
||||
ServerName agenda.exemple.fr
|
||||
Redirect / https://agenda.exemple.fr/
|
||||
</VirtualHost>
|
||||
|
||||
<VirtualHost *:443>
|
||||
ServerName agenda.exemple.fr
|
||||
|
||||
DocumentRoot /var/www/exemple.fr/agenda/www
|
||||
|
||||
SSLEngine On
|
||||
SSLCertificateFile /scripts/certificate_authority/apache/agenda.exemple.fr.crt
|
||||
SSLCertificateKeyFile /scripts/certificate_authority/apache/agenda.exemple.fr.key
|
||||
|
||||
CustomLog /var/www/exemple.fr/agenda/log/access.log
|
||||
ErrorLog /var/www/exemple.fr/agenda/log/error.log
|
||||
</VirtualHost>
|
||||
```
|
||||
|
||||
Nous avons créé un hôte virtuel non sécurisé redirigeant vers un hôte virtuel sécurisé, nous avons déjà vu le principe.
|
||||
Créons maintenant les certificats :
|
||||
|
||||
```bash
|
||||
/scripts/certificate_authority/make_request apache agenda.exemple.fr
|
||||
/scripts/certificate_authority/sign_request apache agenda.exemple.fr
|
||||
chown www-data:www-data /scripts/certificate_authority/apache/*
|
||||
```
|
||||
|
||||
Warning : _Common Name_
|
||||
|
||||
On active le site, et on redémarre apache :
|
||||
|
||||
```bash
|
||||
a2ensite agenda.exemple.fr
|
||||
/etc/init.d/apache2 restart
|
||||
```
|
||||
|
||||
## Horde
|
||||
|
||||
Créons l'arborescence de notre nouveau site :
|
||||
|
||||
```bash
|
||||
mkdir -p /var/www/exemple.fr/agenda/{www,log}
|
||||
```
|
||||
|
||||
Horde est intimement lié aux bibliothèques [PEAR](https://web.archive.org/web/20121007072220/http://pear.php.net/), et c'est une excellente chose : ces bibliothèques de code PHP sont très pointues, largement utilisées, et sont soutenues et maintenues par une large communauté d'utilisateurs.
|
||||
|
||||
Quand je dis que Horde est intimement lié à PEAR, c'est aussi parce que Horde dispose de son propre canal sur PEAR.
|
||||
Cela va nous permettre deux types d'installation :
|
||||
|
||||
- Une installation globale
|
||||
- Une installation locale
|
||||
|
||||
Dans le cas d'une installation globale, l'ensemble des bibliothèques et dépendances de Horde sera installé au niveau du système.
|
||||
Dans une installation locale, Horde fera appel aux bibliothèques installées spécifiquement pour chaque installation.
|
||||
|
||||
Dans notre cas, nous procéderons à une installation globale, parce que pour l'heure, nous n'aurons pas d'autre usage de Horde que Kronolith.
|
||||
Nous verrons plus tard comment basculer sur une installation locale.
|
||||
|
||||
```bash
|
||||
cd /var/www/exemple.fr/agenda/www
|
||||
```
|
||||
|
||||
On met à jour PEAR :
|
||||
|
||||
```bash
|
||||
pear upgrade PEAR
|
||||
```
|
||||
|
||||
On ajoute le dépôt (canal) de Horde :
|
||||
|
||||
```bash
|
||||
pear channel-discover pear.horde.org
|
||||
```
|
||||
|
||||
Et on définit le répertoire d'installation de Horde :
|
||||
|
||||
```bash
|
||||
pear install horde/horde_role
|
||||
pear run-scripts horde/horde_role
|
||||
```
|
||||
|
||||
Quand le script d'installation vous demandera où installer Horde, répondez :
|
||||
|
||||
```text
|
||||
./
|
||||
```
|
||||
|
||||
Puis on procède finalement au téléchargement des paquets et leur décompression à l'endroit spécifié :
|
||||
|
||||
```bash
|
||||
pear install -a -B horde/horde
|
||||
```
|
||||
|
||||
Une fois terminé, on créé le fichier de configuration initial :
|
||||
|
||||
```bash
|
||||
cp config/conf.php.dist config/conf.php
|
||||
```
|
||||
|
||||
On attribue les bons droits à l'installation :
|
||||
|
||||
```bash
|
||||
chown -R www-data:www-data ./
|
||||
```
|
||||
|
||||
Rendez-vous maintenant dans votre navigateur pour terminer l'installation.
|
||||
Tout d'abord, créons un nouvel utilisateur dans MySQL, [comme indiqué précédemment](https://web.archive.org/web/20121007072220/http://ingnu.fr/2012/02/07/installation-dun-serveur-http-https/).
|
||||
Nommez-le _Agenda_, par exemple, et générez un mot de passe.
|
||||
Mettez toujours "_localhost_" quand phpMyAdmin vous demande l'hôte lors de la création d'un utilisateur, parce que nous n'allons pas ouvrir notre serveur MySQL sur l'extérieur.
|
||||
Enfin, pensez à cocher la case correspondante à la création d'une base de données portant le nom de cet utilisateur.
|
||||
|
||||
Munissez-vous du nom d'utilisateur (_Agenda_) et du mot de passe que vous avez choisi, puis allez sur la page principale de Horde (`http://agenda.exemple.fr`).
|
||||
|
||||
Si vous n'êtes pas redirigé automatiquement, allez dans le menu de gauche, _Administration_ > _Configuration_, puis cliquez sur _Horde_.
|
||||
|
||||
Avant de configurer quoique ce soit d'autre, allez sur l'onglet "_Database_", et remplissez les champs comme suit :
|
||||
|
||||
Et enregistrez.
|
||||
Parcourez ensuite tous les onglets de configuration, avec pour objectif bien sûr de personnaliser comme vous le souhaitez votre installation, mais surtout choisir comme pilote "_SQL Database_" dans tous les onglets où c'est possible (c'est à dire _Preference System_, _Alarm System_, _DataTree System_, _Groups_, _Permissions_, _Lock System_, _Token System_ et _Virtual File Storage_ - les autres onglets peuvent également demander un pilote de stockage mais on ne le configurera pas).
|
||||
|
||||
Warning : _Authentication_
|
||||
|
||||
Une fois vos préférences choisies, cliquez sur le bouton "_Générer la configuration de Horde_".
|
||||
Vous devriez ensuite revenir sur la page principale de l'administration.
|
||||
|
||||
Horde va afficher des messages d'erreurs relatifs à la base de données, en vous fournissant plusieurs boutons pour remédier au problème.
|
||||
Il vous suffit de cliquez dessus pour successivement créer la structure de la base de données, puis la peupler avec les données de base.
|
||||
Vous n'avez rien d'autre à faire que cliquer sur ces deux boutons pour que tout se mette en place tout seul !
|
||||
|
||||
On peut maintenant s'occuper de la question de l'authentification.
|
||||
|
||||
Warning : maintenant
|
||||
|
||||
```text
|
||||
cp /var/www/exemple.fr/agenda/www/config/conf.php /var/www/exemple.fr/agenda/ww/config/conf.php-orig
|
||||
```
|
||||
|
||||
Retournez dans _Administration_ > _Configuration_ > _Horde_, onglet "_Authentication_".
|
||||
Choisissez "_SQL Authentication_" dans le menu _$conf[auth][driver]_.
|
||||
Laissez "_Horde defaults_" dans le menu qui apparaitra alors.
|
||||
|
||||
Warning : _$conf[auth][admins]_
|
||||
|
||||
Vous allez créer votre propre compte utilisateur pour pouvoir vous servir de Kronolith.
|
||||
Actuellement, Horde vous a "auto-identifié" en tant qu'_Administrator_, donc sans mot de passe.
|
||||
En passant par le pilote SQL pour l'authentification, on est dans l'obligation de créer un nouveau compte, faute de quoi vous ne pourrez jamais vous connecter à Horde...
|
||||
|
||||
Donc indiquez le nom d'utilisateur que vous allez créer dans la zone de texte _$conf[auth][admin]_ en haut de la page, et cliquez sur le bouton pour générer la configuration de Horde.
|
||||
|
||||
Allez ensuite immédiatement dans _Administration_ > _Utilisateurs_, et créez ce fameux nouveau compte.
|
||||
Une fois fait, vous pouvez vous déconnecter, puis vous reconnecter avec ce nouveau compte, sans perdre votre statut d'administrateur.
|
||||
|
||||
Important : _Administrator_
|
||||
|
||||
```text
|
||||
cp /var/www/exemple.fr/agenda/www/config/conf.php-orig /var/www/exemple.fr/agenda/www/conf.php
|
||||
```
|
||||
|
||||
Une fois que vous êtes connecté avec votre nouveau compte utilisateur, on peut passer à l'installation de Kronolith.
|
||||
|
||||
## Kronolith
|
||||
|
||||
Si vous n'y êtes pas, retournez dans la racine du site :
|
||||
|
||||
```bash
|
||||
cd /var/ww/exemple.fr/agenda/www
|
||||
```
|
||||
|
||||
L'installation de Kronolith est on ne peut plus simple :
|
||||
|
||||
```bash
|
||||
pear install -a -B horde/kronolith
|
||||
chown -R www-data:www-data ./
|
||||
```
|
||||
|
||||
Il vous suffit alors d'aller sur la page d'administration de Horde : _Administration_ > _Configuration_, pour mettre à jour les tables correspondantes à Kronolith.
|
||||
|
||||
Vérifiez ensuite la configuration de Kronolith (_Administration_ > _Configuration_ > _Kronolith_), puis enregistrez-la.
|
||||
Kronolith est prêt.
|
||||
|
||||
## Configuration et personnalisation
|
||||
|
||||
En l'état, tout fonctionne, mais rien n'est personnalisé.
|
||||
Il me sera impossible de détailler chaque option de configuration tant il y en a.
|
||||
Mais la grande force de Horde, c'est que ça marche "out-of-the-box".
|
||||
Après, farfouiller dans les options, c'est plus pour peaufiner, et se créer un fichier de configuration aux oignons.
|
||||
Cependant, je vous donne tout de même quelques pistes.
|
||||
|
||||
Pour commencer, nous avons installé Horde et Kronolith pour servir de calendrier partagé.
|
||||
Horde vous laisse le choix de l'application à ouvrir au démarrage.
|
||||
Allez dans _Préférences_ > _Préférences globales_ > _Afficher les préférences_.
|
||||
Là, le premier menu vous permet de choisir l'application à présenter après la connexion.
|
||||
Choisissez "_Agenda_".
|
||||
|
||||
Ensuite, sachez qu'il est possible d'afficher des agendas distants, dans de nombreux formats.
|
||||
Vous le verrez en allant dans Organisation > Agenda.
|
||||
Vous pouvez créer autant d'agenda que vous voulez, et surtout, vous pouvez les partager.
|
||||
|
||||
Si vous envisagez de créer plusieurs utilisateurs, chacun aura la possibilité de choisir avec qui il veut partager l'un ou l'autre de ses agendas.
|
||||
|
||||
Sachez aussi que vous pouvez importer un agenda iCal existant, autrement dit, rien ne vous empêche de récupérer vos calendriers Google actuels pour les importer dans Kronolith.
|
||||
|
||||
Pour aller plus loin avec les évènements, Horde est capable de gérer bien des webservices.
|
||||
Leur configuration se trouve (vous l'aurez sans doute remarqué) sur la page principale de la configuration de Horde.
|
||||
|
||||
## Plusieurs instances de Horde
|
||||
|
||||
Nous avons suivi la procédure pour installer une unique instance globale de Horde : il vous sera impossible de créer un nouvel hôte virtuel, et y installer Horde de la même façon.
|
||||
|
||||
Si vous avez suivi cette procédure et que finalement vous décidez que vous avez besoin d'avoir plusieurs instances de Horde, vous devrez supprimer l'instance actuelle.
|
||||
|
||||
Pour supprimer Horde, utilisez la commande suivante :
|
||||
|
||||
```bash
|
||||
pear uninstall `pear list -c horde | tail -n +4 | awk '{ print "horde/"$1 }'`
|
||||
```
|
||||
|
||||
Placez-vous à la racine du domaine agenda :
|
||||
|
||||
```bash
|
||||
cd /var/www/exemple.fr/agenda
|
||||
```
|
||||
|
||||
Exécutez ensuite les commandes suivantes pour installer les bibliothèques :
|
||||
|
||||
```bash
|
||||
pear config-create /var/www/exemple.fr/agenda/ /var/www/exemple.fr/agenda/pear.conf
|
||||
pear -c /var/www/exemple.fr/agenda/pear.conf install pear
|
||||
```
|
||||
|
||||
Installez ensuite Horde, depuis la nouvelle instance de PEAR :
|
||||
|
||||
```bash
|
||||
/var/www/exemple.fr/agenda/pear/pear -c /var/www/exemple.fr/agenda/pear.conf channel-discover pear.horde.org
|
||||
```
|
||||
|
||||
Puis :
|
||||
|
||||
```bash
|
||||
/var/www/exemple.fr/agenda/pear/pear -c /var/www/exemple.fr/agenda/pear.conf install horde/horde_role
|
||||
/var/www/exemple.fr/agenda/pear/pear -c /var/www/exemple.fr/agenda/pear.conf run-scripts horde/horde_role
|
||||
```
|
||||
|
||||
Cette fois, quand le script vous demandera où installer Horde, spécifiez le chemin de fichier complet :
|
||||
|
||||
```text
|
||||
/var/www/exemple.fr/agenda/www
|
||||
```
|
||||
|
||||
Il reste encore à informer apache de l'emplacement des bibliothèques.
|
||||
Créez ou modifiez le fichier.htaccess du site :
|
||||
|
||||
```bash
|
||||
nano /var/www/exemple.fr/agenda/www/.htaccess
|
||||
```
|
||||
|
||||
```text
|
||||
php_value include_path /var/www/exemple.fr/pear/php
|
||||
SetEnv PHP_PEAR_SYSCONF_DIR /var/www/exemple.fr/agenda
|
||||
```
|
||||
|
||||
## Une seule instance de Horde, plusieurs applications
|
||||
|
||||
Vous pouvez bien entendu utiliser IMP à la place de [RoundCube](https://web.archive.org/web/20121007072220/http://ingnu.fr/2012/02/07/installation-dun-serveur-http-https/) pour consulter vos messages, et accéder à Kronolith depuis la même instance de Horde, tout en gérant un wiki intégré, etc.
|
||||
Le nombre et la qualité des applications écrites avec Horde est sans pareil, et sont toutes intégrées les unes aux autres.
|
||||
Vous pourriez donc avoir envie d'utiliser Horde et pas seulement avec Kronolith.
|
||||
|
||||
Dans ce cas, la seule chose à changer dans notre procédure sera de trouver un nom de domaine plus adéquat que "_agenda.exemple.fr_" !
|
||||
Après, la méthode d'installation et les commandes sont pratiquement les mêmes, quelle que soit l'application à installer.
|
||||
|
||||
Juste pour vous donner envie, sachez que parmi les applications intégrées à Horde, vous trouverez :
|
||||
|
||||
- IMP, le client de messagerie
|
||||
- Kronolith, l'agenda partagé
|
||||
- Nag, le gestionnaire de tâches
|
||||
- Mnemo, le gestionnaire de notes
|
||||
- Turba, le gestionnaire de contacts (lui aussi très impressionnant par son interopérabilité)
|
||||
- Ingo, le gestionnaire de filtres (capable de gérer du procmail, du sieve, du maildrop, etc.)
|
||||
- Gollem, le gestionnaire de fichiers (capable de se connecter à un partage samba ou nfs distant, en ssh, en FTP, etc.)
|
||||
- Ansel, la galerie photos
|
||||
- etc. etc.
|
||||
|
||||
Si vous avez suivi la première partie de ce tutoriel, pour installer Horde avec Kronolith dans une instance globale, je suis persuadé que vous allez mourir d'envie d'essayer les autres applications.
|
||||
Et vous aurez bien raison : Horde est tout simplement la meilleure application web au monde (remarque tout à fait personnelle...)
|
||||
Reference in New Issue
Block a user