agendav_big

TUTO SERVEUR CALENDRIER AVEC DAVICAL ET AGENDAV SOUS DEBIAN

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.

http://agendav.org/

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

2 réponses à “TUTO SERVEUR CALENDRIER AVEC DAVICAL ET AGENDAV SOUS DEBIAN

  1. 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

    1. 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,

Les commentaires sont clos.