J’explique ici, l’installation d’un serveur webdav hébergé sur une machine sous WindowsXP (le processus devrait sensiblement être le même sous Windows7).
Nous considèrerons que vous avez installé le package XAMPP dans le dossier c:\xampp.
J’entend par Apache2 et Apache, le serveur web Apache dans sa version 2.x
Les différentes étapes :
- Création du répertoire servant de stockage aux calendriers iCal
- Modification des fichiers de configuration du serveur Apache2
- Création d’un compte pour la connexion au serveur WebDav
- Test de connexion au serveur WebDav
- Publication/abonnement sous iCal et Sunbird
- Création d’un compte DynDNS pour rendre son calendrier disponible de n’importe où sans avoir d’IP fixe.
1 – Création du répertoire servant de stockage aux calendriers iCal
Le répertoire root (racine) du serveurApache est c:\xampp\htdocs.
C’est ici que l’on crée les dossiers accessible via l’adresse http://localhost/nom_du_dossier.
Donc, nous allons créer un dossier « ical » à la racine du serveur web.
C’est dans ce répertoire (ou dossier) que seront stockés tes calendriers !
2 – Modification des fichiers de configuration du serveur Apache
Rendons-nous d’installation du package XAMPP (c:\xampp).
Dans le répertoire « apache/conf » se trouve le fichier « httpd.conf » contenant tous les modules chargés par Apache lors de son démarrage. C’est également dans ce même fichier, que l’on peux changer le port du serveur (par défaut, c’est le port 80 mais si dans votre réseau local, vous avez plusieurs serveurs web accessibles depuis l’extérieur, il vous suffit de modifier son port d’écoute par défaut en par ex. : 8080, 8081… Cela nécessitera bien évidemment des paramétrages au niveau de votre router)
Rendez-vous, dans le répertoire « extra » et fais une copie de sauvegarde du fichier « httpd-dav.conf » (en le selectionnant et en faisant Ctrl+C, puis Ctrl+V) et ouvrez le avec votre éditeur de texte (bloc-note ou l’excellent et gratuit Notepad++).
Recherchez la ligne suivante (la ligne 18 normalement) et ajoutez un #, comme indiqué ci-dessous, pour la marquer comme un commentaire :
#Alias /webdav “C:/xampp/webdav”Remplaces la ligne ci-dessus, donc, par la ligne suivante (faites un copier/coller pour éviter les fautes de frappe) :Alias /ical “C:/xampp/htdocs/ical”Cherchez la ligne suivante et ajoutez également un #, comme indiqué ci-dessous, pour la marquer comme un commentaire :#<Directory “C:/xampp/webdav”>Remplaces la ligne ci-dessus, donc, par la ligne suivante (faites un copier/coller pour éviter les fautes de frappe) :
#<Directory “C:/xampp/htdocs/ical”>
Cherchez la ligne suivante :AuthUserFile “C:/xampp/security/htpasswd.webdav”
Cette ligne indique l’endroit où se trouve le fichier contenant le compte autorisé à se connecter via WebDAV au répertoire iCal que vous venez de créer.
Ceci fait, il ne reste plus qu’à créer un fichier crypté en md5 grâce à la commande htpasswd.
3 – Création d’un compte pour la connexion au serveur WebDav
En regardant de plus près le fichier « httpd-dav.conf » que vous vennez de modifier, vous remarquerez qu’entre les balises <Directory> et </Directory>, nous trouvons la manière dont on peut se connecter au répertoire « ical » reçu en paramètre de <Directory>.
Ainsi, pour créer le compte utilisateur autorisé à se connecter en lecture/écriture :
- Cliquez sur le menu démarrer/Executer : tapez « cmd » puis cliques sur « Ok ».
- Tapez la commande suivante : c:\xampp\apache\bin\htpasswd –c c:/ical.webdav ical (n’hésitez pas à copier/coller cette commande pour éviter les erreurs!)
- On vous demande alors de taper un mot de passe deux fois : on choisira le mot de passe « amiga » dans notre exemple.
- Récupérez le fichier « ical.webdav » dans « C: » et plaçons-le dans le répertoire C:\xampp\security.
Je vous rappelle que si vous avez installé votre package XAMPP sur le disque D:\ par ex. adaptez les commandes mentionnées en conséquence.
4 – Test de connexion au serveur WebDav
Tout d’abord, redémarrer le service Apache : soit via l’interface XAMPP, ou en lançant la commande (menu Démarrer/executer) « services.msc » puis en faisant un clic-droit/redémarrer sur « Apache2 ».
Pour tester la connexion à votre nouveau serveur WebDav, vous pouvez utiliser plusieurs logiciels : Directory Opus 8 (Un logiciel d’origine Amiga et qui dans sa version Windows remplace très très avantageusement l’Explorateur Windows de Microsoft), Dreamweaver, l’Explorateur Windows, Safari, Firefox…)
Sous l’Explorateur Windows :
Double-cliquez sur le Poste de Travail et choisissez le menu « Outil/Connecter un lecteur Reseau ».
Choisissez « ouvrir une session de stockage en ligne ou se connecter à un serveur reseau »
vous obtenez une fenêtre qui s’ouvre : faites SUIVANT et encore SUIVANT. Entrez l’adresse de votre dossier webdav, dans notre exemple « http://127.0.0.1/ical/ » (127.0.0.1 : adresse IP équivalente à localhost, désigne votre serveur local).
Une fenêtre s’ouvre alors et vous demande votre nom d’utilisateur et votre mot de passe.
En suivant notre exemple ce sera donc respectivement : ical et amiga (faites attention à la casse!).
Vous vous retrouvez avec votre dossier webdav, accessible de n’importe où et selon vos autorisations.
5 – Publications/abonnement sous iCal et Sunbird
La publication :
Avec le logiciel Mozilla Sunbird, créons un nouvel agenda en local :
Dans l’onglet « agenda » faites menu Fichier puis Nouvel agenda. choisissez « sur mon ordinateur », définissons un nom (par ex. steeve) et une couleur et voilà.
Allez dans le menu Fichier et Publier l’agenda. Choisissez l’agenda que vous venez de créer, faites OK. Là on vous demande l’url de votre serveur : « http://127.0.0.1/ical/steeve.ics » .
Cliquez sur PUBLIER. On vous demande un nom et un mot de passe donc comme toujours (ical et amiga), ensuite cliquez sur FERMER.
Sur Outlook 2007 :
Dans calendrier : faites un clique droit sur le calendrier que vous souhaitez partager puis sélectionnez “publiez sur Internet” puis ”publiez sur le serveur WebDAV” 

Dans la fenêtre qui s’ouvre alors, entrez l’adresse de votre serveur et cliquez sur “Paramètres avancés” et décochez “Fréquence de mise à jour”, ceci afin de pouvoir mettre à jour vos calendriers quand vous le souhaitez ou quand Outlook vérifie les mises à jours de votre boites
Enfin valider les deux fenêtres et c’est terminé.

Sur Mac (logiciel iCal), créez un calendrier et allez dans le menu « Calendrier / Publier » et choisissez un serveur privé (ou DAV). Entrez l’adresse de votre serveur (dossier inclus comme toujours) et entre le nom et le mot de passe que vous venez de créer.
Vérifiez la publication en utilisant votre nouveau répertoire webcal via l’explorateur windows.
L’abonnement :
Pour vous abonner depuis Sunbird à un calendrier, Allez dans le menu Fichier, puis Nouvel agenda. choisissez « sur le réseau » et entrez l’adresse du calendrier (celui que l’on viens de créer est « http://127.0.0.1/ical/steeve.ics », laissez le format iCalendar, faites SUIVANT et choisissez une couleur et voilà!
Un message vous avertira que votre agenda à été créé !
Pour vous abonner à un calendrier plus simplement remplacez “http” dans l’adresse de votre calendrier, par “webcal”, ceci permettra à votre système de comprendre qu’il s’agit d’un abonnement à un calendrier (méthode valable sur tous les systèmes)
6 – Création d’un compte Dyndns pour rendre son calendrier disponible de n’importe où.
Allez sur le site http://www.dyndns.org
Créez un compte, c’est gratuit. Puis allez dans la partie service et Dynamique DNS. Cliquez sur « Create Host »
Choisissez un nom : pour l’exemple on va dire calendrier et comme domaine principale, on allons choisir : homeunix.com.
L’adresse ip renseignée automatiquement est que votre fournisseur d’accès vous a donnée (à vous de régler votre box ou routeur, pour que les transactions sur le port 80 soient redirigé sur votre serveur).
Laissez tout le reste tel quel et cliquez sur « Add Host ». Votre serveur est à présent accessible depuis n’importe où dans le monde, même sans ip fixe, à l’adresse http://calendrier.homeunix.com/ical !
Dernière chose, puisque votre ip n’est pas fixe, installez et configurez le petit soft DynDNS updater disponible à l’adresse ci-dessous.
Il se chargera de mettre à jour votre compte DynDNS, à chaque changement d’adresse IP.
Pour finir, j’ai utilisé cette solution chez GoodPlanet durant près de 3 ans sans aucun soucis (…enfin presque mais il s’agissait de problèmes de connexion Internet).
En disposant de votre propre serveur WebDAV, vous avez la possibilité (en achetant un disque de taille concéquente) d’avoir un “iDisk” maison pour pratiquement rien et sur lequel vous avez une totale maîtrise.
Cependant, gardez bien en tête qu’en cas de coupure de votre connexion Internet ou du courant, plus rien n’est accessible. Pour un usage personnel c’est largement suffisant mais en milieu professionnel, cela peut poser problème. Dans mon cas, j’ai opté pour l’utilisation d’une machine virtuelle chez Gandi.net (voir post précédent).








bonjour,
j’ai vue hier votre tuto pour creer un serveur de publication de calendrier j’ai ete tres interessé par l’idee et je me suis dit que j’allait m’y mettre tous c’est bien deroulé j’usqu’au moment de la vérification du serveur j’e n’arrive pas a me connecter il me met une erreur comme quoi un peripherique attaché au systeme ne fonctionne pas bien pour que je puisse saisir le mot de passe et l’identifiant j’ai du changer “http” en “https” car en http il met erreur tous de suite enfete dans les deux cas il met nom de reseau introuvable pourtant j’ai tous bien fait j’ai verifier le fichier httpd tous est ok j’ai verifier le fichiers qu’ont doit modifier je pense avoir bien fait aussi mais je n’arrive pas a me connecter merci de votre aide
Bonjour,
j’ai voté “pas terrible”. Ce que tu décris fonctionne, cependant, ce n’est pas très propre. J’ai suivi que ce que tu préconises jusqu’à un certain point. En fait, je n’ai touché à httpd.conf que pour activer les modules nécessaires pour le fichier de conf de webdav, ainsi que pour activer le fichier de conf en question (en enlevant des commentaires). J’ai regardé les IfModule présents, et j’ai activé les modules correspondants. Je stocke mes calendriers dans le dossier webdav, pas dans htdocs, et ça fonctionne très bien. Je pense que tu devrais modifier ton article en ce sens, je suis à ta disposition si tu as besoin de précisions.
Salut Grégoire,
J’ai volontairement proposé d’utiliser un autre dossier pour montrer qu’on peut le faire et que c’est relativement simple.
Je comprend ton point de vue concernant l’utilisation du répertoire par défaut webdav. Ca permet de séparer le contenu web et les calendriers.
Est-ce que cela peut éviter certains problèmes, je ne sais pas (en terme de sécurité probablement).
Pourrais-tu nous éclairer sur le pourquoi il serait plus propre d’utiliser le dossier webdav par défaut ?
Merci d’avance pour tes lumières.
Salut,
la sécurité serait effectivement le principal problème. Webdav est un module permettant l’écriture, ce qu’apache par défaut ne fait pas.
Le bout qui me gêne le plus, c’est ceci :
——–
Cherchez la ligne suivante et ajoutez également un #, comme indiqué ci-dessous, pour la marquer comme un commentaire :
#
Remplaces la ligne ci-dessus, donc, par la ligne suivante (faites un copier/coller pour éviter les fautes de frappe) :
#
——–
Tu fais commenter la balise Directory. Ça veut dire que toutes les directives qui sont dedans vont s’appliquer partout (pas juste dans le dossier spécifié). Je ne me souviens plus quelles sont ces directives et je ne peux pas vérifier facilement, mais si elles ont été restreintes à un répertoire, c’est sûrement pour une bonne raison. Peut-être donnes-tu des droits d’écriture sur Le DocumentRoot. Ça veut dire que quelqu’un qui a un mot de passe pour le calendrier peut aussi éditer le site web, ce qui représente une faille.
Autre problème, tu ne fais pas commenter la balise fermante, donc ça va donner quelque chose de syntaxiquement invalide, mais tes lecteurs auront sans doute corrigé d’eux-mêmes.
Enfin, tu fais changer le contenu de la balise commentée, ce qui ne sert pas.
Dans mon cas d’utilisation, je n’utilise pas le DocumentRoot, le serveur ne sert que les calendriers, donc je n’ai pas besoin de créer un répertoire en plus ce qui fait que ta solution me paraît compliquée. Cependant, si jamais quelqu’un à besoin de créer plusieurs dossiers gérés par WebDav mais ayant des droits différents, ça peut être intéressant.
Bonjour Grégoire,
merci pour toutes tes explications qui m’ont permis d’en apprendre un peu plus sur webdav et apache
Je sais que ça aidera celles et ceux qui tomberont sur ce billet.
Tous mes voeux pour cette année 2012 au fait et très bonne journée à toi
Meilleur voeux à toi et merci d’avoir écrit ce post qui m’a été bien utile, je tiens quand même à le dire.
Merci