Davical est un serveur d’agenda partagé. Il utilise le protocole CalDav qui est conçu pour le stockage d’agenda. Agendav est une interface web au serveur Davical, ce qui permet de consulter le calendrier depuis n’importe quel navigateur internet
Sources :
1 – Installation d’un serveur web
Davical a besoin d’un serveur apache pour fonctionner. Ce serveur nous servira pour l’interface web par la suite.
aptitude install apache2 php5 libapache2-mod-php5
2- Installation de PostGreSql
aptitude install postgresql
2-1 Installation du module postgresql pour php
aptitude install php5-pgsql
3- Installation de Davical
aptitude install php5-curl davical
3-1 Préparation de la base
Il est nécessaire de modifier le fichier pg_hba.conf qui se situe /etc/postgresql/9.1/main/ dans afin de donner accès à la base de données.
nano /etc/postgresql/9.1/main/pg_hba.conf
Ajouter les lignes suivantes en haut du fichier
local davical davical_app trust
local davical davical_dba trust
Redémarrer le service postgreSQL
/etc/init.d/postgresql reload
3-2 Création de la base
Se déplacer à la racine
cd /
su postgres -c /usr/share/davical/dba/create-database.sh
Supported locales updated.
Updated view: dav_principal.sql applied.
CalDAV functions updated.
RRULE functions updated.
Database permissions updated.
NOTE
====
* You will need to edit the PostgreSQL pg_hba.conf to allow the
‘davical_app’ database user access to the ‘davical’ database.
* The password for the ‘admin’ user has been set to ‘1PwDotb2‘
Thanks for trying DAViCal! Check in /usr/share/doc/davical/examples/ for
some configuration examples. For help, visit #davical on irc.oftc.net.
Noter le mot de passe admin dans mon cas 1PwDotb2
3-3 Configuration de DAViCal
Créer un fichier de configuration
nano /etc/davical/config.php
Saisir le texte ci-dessous
<?php
// $c->domain_name = « calendar.example.net »;
// $c->sysabbr = ‘DAViCal’;
// $c->admin_email = ‘admin@example.net’;
// $c->system_name = « Example DAViCal Server »;
// $c->enable_row_linking = true;
$c->pg_connect[] = ‘dbname=davical port=5432 user=davical_app’;
$c->admin_email = ‘test@test.com’;
$c->default_locale = ‘fr_FR’;
Redémarrer les services Apache
/etc/init.d/apache2 restart
Éditer le fichier de configuration de votre site dans /etc/apache2/site-available/.
Ajouter le texte ci-dessous avant la balise </VirtualHost>
nano /etc/apache2/sites-available/default
Alias /davical /usr/share/davical/htdocs/
Redémarrer Apache
/etc/init.d/apache2 restart
Davical est maintenant installé.
Saisir l’adresse suivante dans un navigateur internet : http://ip.de.votre.serveur/davical
Saisir le nom d’utilisateur : admin
Mot de passe est celui généré lors de l’installation (cf. 3.2)
4- Installation Agendav
Agendav fait le rôle d’interface pour un serveur CalDav. Dans mon cas DAViCal.
Dans mon cas, agendav sera placé dans /var/www.
4-1 Téléchargement
Téléchargez agendav directement sur leur site puis transférez le sur votre serveur avec WinSCP par exemple.
Décompresser l’archive.
tar -xvzf agendav.tar.gz
Changer le nom du dossier dans mon cas, cal
mv adobo-agendav-84f869e/ cal
4-2 Configuration d’Apache
Éditer le fichier de configuration de votre site dans /etc/apache2/site-available/.
Ajouter le texte ci-dessous avant la balise </VirtualHost>
nano /etc/apache2/sites-available/default
Alias /agendav /var/www/cal/web/public
Redémarrer Apache
/etc/init.d/apache2 restart
4-3 Création de la base PostgreSQL
Basculer en utilisateur postgres
su postgres
psql
CREATE USER agendav WITH PASSWORD ‘VOTRE_MOT_DE_PASSE’;
\q
createdb agendav
psql
GRANT ALL PRIVILEGES ON DATABASE agendav TO agendav;
\q
exit
Il est nécessaire de modifier le fichier pg_hba.conf qui se situe /etc/postgresql/9.1/main/ dans afin de donner accès à la base de données.
nano /etc/postgresql/9.1/main/pg_hba.conf
Ajouter les lignes suivantes en haut du fichier
local agendav agendav trust
Redémarrer les services postgresql
Appliquer le schéma de la base avec le fichier fourni dans sql/pgsql.shema.sql
Se déplacer dans le dossier
cd /var/www/cal/sql
psql -U agendav agendav < pgsql.schema.sql
4-4 Configuration d’Agendav
Il faut créer plusieurs fichiers de configuration. Tous ces fichiers se situent dans /var/www/cal/web/config/
Se déplacer dans le dossier
cd /var/www/cal/web/config/
4-4-1 Config.php
Faire une copie du modèle
cp config.php.template config.php
Éditer le fichier
nano config.php
Modifier les lignes suivantes :
$config[‘base_url’] = ‘http://ip.de.votre.serveur/agendav’;
$config[‘show_in_log’]= array(‘ERROR’,’INFO’,’AUTHERR’, ‘AUTHOK’);
$config[‘default_time_format’] = ’24’;
$config[‘default_date_format’] = ‘dmy’;
4.4.2 Database.php
Faire une copie du modèle
cp database.php.template database.php
Éditer le fichier
nano database.php
Modifier les lignes suivantes
$db[‘default’][‘hostname’] = ‘localhost’;
$db[‘default’][‘username’] = ‘agendav’;
$db[‘default’][‘password’] = ‘VOTRE_MOT_DE_PASSE‘;
$db[‘default’][‘database’] = ‘agendav’;
$db[‘default’][‘dbdriver’] = ‘postgre’;
$db[‘default’][‘dbprefix’] = »;
$db[‘default’][‘pconnect’] = TRUE;
$db[‘default’][‘db_debug’] = TRUE;
$db[‘default’][‘cache_on’] = FALSE;
$db[‘default’][‘cachedir’] = »;
$db[‘default’][‘char_set’] = ‘utf8’;
$db[‘default’][‘dbcollat’] = ‘utf8_general_ci’;
$db[‘default’][‘swap_pre’] = »;
$db[‘default’][‘autoinit’] = TRUE;
$db[‘default’][‘stricton’] = FALSE;
4.4.3 Caldav.php
Faire une copie du modèle
cp caldav.php.template caldav.php
Éditer le fichier
nano caldav.php
$config[‘caldav_http_auth_method’] = CURLAUTH_BASIC;
$config[‘caldav_calendar_url’] = ‘http://ip.de.votre.serveur/davical/caldav.php/%s/’;
$config[‘public_caldav_url’] = ‘http://ip.de.votre.serveur/davical/caldav.php/%s/’;
4.4.4 Mise à jour du schéma
Une fois les fichiers de configuration modifiés, il est nécessaire de mettre à jour le schéma de la base afin d’éviter l’erreur suivante
Table ‘agendav.prefs’ doesn’t exist avec agendav.
Se déplacer dans le dossier /var/www
cd /var/www/cal
Mise à jour du schéma
./bin/agendavcli dbupdate
Si jamais vous avez l’erreur PHP Fatal error: Class ‘CI_DB_postgresql_driver’ c’est que votre fichier database.php est mal renseigné notamment la ligne $db[‘default’][‘dbdriver’]
4.4.5 Mettre agendav en FR
Éditer le fichier config.php. En effet il ne faut pas mettre la langue en FR avant car la mise à jour du schéma de la base pourrait ne pas fonctionner.
nano config.php
Modifier les lignes suivantes :
$config[‘default_language’] = ‘fr_FR’;
4-5 Première connexion
Depuis un navigateur internet, saisir l’adresse suivante dans la barre d’adresse : http://ip.de.votre.serveur/agendav/
Saisir votre nom d’utilisateur et votre mot de passe. Ces identifiants sont ceux saisis dans davical
Une fois connecté, le calendrier apparaît.
Auteur : POMENTE Guillaume
Partager la publication "TUTO SERVEUR CALENDRIER AVEC DAVICAL ET AGENDAV SOUS DEBIAN"
bonjour,
j’ai voulu suivre votre tuto mais arriver à « Ajouter le texte ci-dessous avant la balise » j’ai un pb car je ne vois pas de texte ci-dessous
ou est-il ?
merci
Bonjour,
Retour de vacances désolé pour le retard.
En effet il manque le texte.
Il faut saisir dans le fichier la ligne suivante :
Alias /davical /usr/share/davical/htdocs/
Cordialement,