Accueil > Serveurs Web > Mettre en place un Serveur de Site avec Jaguar

Mettre en place un Serveur de Site avec Jaguar

Par James Duncan Davidson, conférencier à la O’Reilly Mac OS X Conference, 24/08/2002

traduit par Quentin, le 28/11/2002

Vous savez probablement que Mac OS X marche avec un serveur Web intégré, et il se pourrait même que vous sachiez qu’il s’agit de la fameuse variété Apache.

Mais saviez-vous que presque tous les logiciels nécessaires à la mise en place d’un serveur de site à part entière catégorie poids lourds — une machine qui ne se contente pas d’afficher des pages Web, mais qui sait aussi bien manipuler des DNS et des mails — sont déjà sur votre machine ? Avec un peu de motivation, et la compilation d’un logiciel, vous pouvez transformer n’importe quelle machine Mac OS X qui traîne chez vous en un serveur de première classe. Tout ce dont vous avez besoin c’est d’un peu de temps et une carte routière — et c’est cet article qui constituera la carte.

De quoi avez-vous besoin ?

De très peu de choses en fait, pour faire de Mac OS X un serveur de site à part entière. Voici une petite liste de choses dont vous aurez besoin pour suivre ces instructions :

  • Mac OS X 10.2 (Jaguar).
  • Une machine capable de faire marcher Jaguar.
  • Quelque habitude du shell UNIX.
  • Un DSL, câble, ou tout autre connection à large bande.

Jaguar est la dernière version de Mac OS X (10.2). Je l’ai récupéré parce qu’il contient les derniers trucs d’Apple, et je veux être sûr que cet article reste à jour aussi longtemps que possible. De plus, Apple a été assez bon pour lâcher des mises à jour de sécurité pour Mac OS X, comprenant des mises à jour d’Apache, de OpenSSL, de OpenSSH, et de beaucoup d’autres logiciels critiques. L’utilisation de la dernière version de l’OS X assure que vous serez capable d’utiliser à votre avantage toute mise à jour qui sera disponible dans le futur..

Vous n’avez pas nécessairement besoin d’une très grosse machine pour faire marcher votre site. La machine de base dans mon domaine est un PowerBook G3 Pismo équipé d’un processeur 400MHz. Pourquoi un PowerBook ? La réponse est simple: Les portables sont livrés avec leurs propres UPS intégrés, dans la forme de leurs batteries. Avec deux batteries installées, je pense avoir un temps de marche de 10 heures — surtout sachant que l’écran est éteint la plupart du temps. Bien sûr, mon modem DSL est sur un UPS externe, afin que la connection eu net ne souffre pas d’un blackout californien. Dans tous les cas, le PowerBook traînait là, donc je l’ai utilisé. N’importe quel Mac que vous avez dans le coin, tant qu’il peut faire marcher Mac OS X, suffira, même s’il est trop lent pour servir encore de machine de base.

Pour autant que la mémoire et l’espace disque sont corrects, je réussis à faire fonctionner mon serveur avec 192MB de RAM et une unité centrale de 6GB. Plutôt modeste par rapport aux standards actuels, mais je n’ai pas étendu la mémoire de mon serveur parce que, eh bien, après plusieurs mois ce n’était pas nécessaire. Peut-être un de ces jours j’irai m’acheter une barette dehors, mais ce n’est pas une priorité.

L’élément suivant de la liste des choses nécessaires est quelque habitude du shell UNIX afin de suivre ces instructions. Ne vous inquiétez pas, je n’ai pas l’intention de partir du principe que vous êtes un maître ès shell UNIX pour accomplir les tâches présentées dans cet article, mais si des termes comme sudo, vi, ou emacs ont une sonorité étrange pour vous, il serait peut-être intéressant de lire une série d’autres articles et acquérir une certaine expérience de la ligne de commande. Voici une série de tutoriels pour vous aider dans cette voie.

Le dernier élément nécessaire est une connection à bande large. Vous voudrez peut-être une connection “constante” à Internet. Je vous suggère d’obtenir une connection avec une adresse IP statique, mais vous pouvez utiliser DynDNS.org pour aider les gens à trouver votre site si vous n’avez pas d’IP statique. Nous y reviendrons.

La Route vers l’Avant

Voici la liste des étapes que nous allons effectuer pour faire de votre machine Mac OS X un serveur de site:

  1. Mettre en place les Services de Nom.
  2. Paramétrer Apache en serveur de pages Web.
  3. Paramétrer Sendmail pour la gestion du courrier entrant et sortant.
  4. Paramétrer UW Imapd pour vous laisser accéder à votre courrier.

Sans plus attendre, lançons-nous !

Premier Arrêt : les Services de Nom

La toute première chose à faire est de déterminer comment vous, ainsi que les autres personnes, allez trouver votre site. Par exemple, pour trouver ce site, vous tapez simplement “www.macdevcenter.com” (N.d.T: le texte original se trouve à cette adresse), et le site s’ouvre pour le plaisir de votre vue. Sous les couvertures, le Système de Nom de Domaine (D.N.S., Domain Name System) est habitué à traduire le nom que l’on peut comprendre, www.macdevcenter.com, en l’adresse IP, 208.201.239.36, utilisée par le logiciel sous-jacent pour se connecter à, et télécharger le contenu de, ce site.

Si vous n’avez jamais vu ceci auparavant, il peut être intéressant de regarder comment ¸a marche. Ouvrez la fenêtre du Terminal (double-cliquez sur /Applications/Utilities/Terminal) et entrez la commande suivante :

[Titanium:~/] duncan% nslookup www.sun.com

Cette commande renverra quelque chose comme :

Server: fraggle.speakeasy.net
Address: 216.254.0.9

Name:   www.sun.com
Addresses: 64.124.140.181

Les deux premières lignes de données vous annoncent le serveur à qui vous envoyez la requête, et les deux lignes suivantes vous donnent l’information que vous demandez. Vous pouvez utiliser une autre commande à la place de nslookup , host, qui renvoie une seule ligne à votre requête. Si vous voulez vraiment vous amuser, utilisez la commande dig pour afficher des informations supplémentaires, telles que qui est l’autorité du domaine auquel vous vous intéressez.

La question n’est néanmoins pas résolue : comment les gens vont-ils trouver votre site ? Cette question dépend en partie de votre fournisseur Internet, s’il vous a fourni une adresse IP statique ou dynamique.

Les Options d’Adresse IP Dynamique

Si vous avez une adresse IP dynamique, vous n’avez alors qu’une seule et unique option. Vous allez devoir utiliser le service DNS dynamique de DynDNS.org pour mettre en place un nom DNS qui renverra à votre adresse IP. Cela vous permettra d’aliaser une adresse IP dynamique à un nom d’hôte statique. Pour plus d’informations à ce sujet, consultez “Homemade Dot-Mac with OS X de Alan Graham.”

Vous pouvez utiliser votre propre nom de domaine (à venir dans Homemade Dot-Mac, deuxième partie, de Alan Graham), mais si vous voulez renoncer aux coûts d’enregistrement et économiser quelques pièces, vous pouvez utiliser l’un des nombreux domaines dont DynDNS s’occupe. Par exemple, vous pouvez avoir comme nom d’hôte quelquechose.dyndns.org, quelqu’un-est-un-ordiobsédé.net, ou même macosx.botte-un-cul.net. Il y a (à l’heure où j’écris cet article) 34 possibilités parmi lesquelles choisir, et il ne devrait donc pas être trop dur de trouver quelque chose qui vous convient.

DynDNS fournit gratuitement, et c’est assez facile à mettre en oeuvre. Vous avez juste besoin de suivre les directions de leur site Web pour créer un compte, relier votre adresse IP au nom d’hôte que vous choisissez, puis télecharger DNSUpdate client pour lancer votre serveur, qui mettra DynDNS à jour chaque fois que votre adresse IP change.

Les Options d’Adresse IP Statique

Si vous avez une adresse IP statique de votre fournisseur Internet, vous avez alors plusieurs choix :

  • Utiliser DynDNS.org, comme ci-dessus, mais prendre un compte DNS statique.
  • Utiliser le nom d’hôte que votre ISP vous a donné. Typiquement, c’est quelque chose comme “dsl092-007-021.sfo1.dsl.speakeasy.net,” et ce n’est pas très attractif. Vous pouvez trouver ce que c’est avec la commande nslookup en lui donnant votre adresse IP comme argument.
  • Obtenir un nom de domaine de vous-même et faire pointer le registre de nom de domaine vers votre machine.

Si vous voulez suivre l’idée trois, il y a plusieurs entreprises qui sont plus que désireuses de vous y aider. Votre ISP est probablement l’une de ces entreprises. J’utilise personnellement Register.com pour tout gérer sur mes domaines pour les faire pointer vers mes serveurs et être très heureux avec eux.

Pour celui qui se fait réellement confiance, il y a en fait un quatrième choix. Vous pouvez en fait desservir votre domaine depuis votre machine avec BIND. Bind marche avec Jaguar comme /usr/sbin/named et c’est le même logiciel que la plupart de l’Internet utilise pour supporter les noms de domaines. Cependant, paramétrer BIND peut se révéler assez douloureux, et présenter un risque au niveau de la sécurité. Il est beaucoup plus simple de laisser un registre de domaine, comme Register.com, s’en charger pour vous.

Si vous voulez vraiment suivre ce chemin, je vous recommande de vous procurer DNS and Bind, par Paul Albitz et Cricket Liu.

Deuxième Arrêt : Lancer Apache

Apache est un des serveurs Web les plus populaires, sinon le plus populaire, disponible actuellement.Il supporte littéralement tout ce que vous voulez faire. Jaguar marche avec la version 1.3.26 d’Apache, et vous avez juste besoin de cliquer sur un bouton de votre application Préférences Système pour le lancer. Voici comment.

Ouvrez l’application Préférences Système. Si elle n’est pas sur votre Bureau, Vous pouvez la trouver dans le folder /Applications de votre disque dur. Une fois lancé, cliquez sur le bouton Partage, puis sur “Partage Web Personnel”, comme montré. Ne vous laissez pas embrouiller par le nom “Partage Web Personnel”. C’est la pleine puissance du serveur Web Apache qui se cache derrière, quelque innocent que cela puisse paraître dans le panneau des préférences.

Screen shot.
Préparer le serveur Web Apache de Jaguar est aussi simple que cliquer sur le bouton Partage dans les Préférences Système.

On y est. Vous pouvez maintenant faire pointer un navigateur Web sur l’adresse IP ou le nom d’hôte de votre machine et voir la page d’accueil d’Apache par défaut — oui, celle où il est écrit en grand “Vous voyez ceci à la place du site Web auquel vous vous attendiez ?”. Cette page d’accueil se trouve dans votre système de fichiers dans le folder /Library/WebServer/Documents . Vous avez juste à changer les fichiers qui s’y trouvent et les visiteurs de votre site Web les verront. Facile, hein ?

Kevin Hemenway en parle plus en détail dans son excellent article, “Le Serveur Apache sous Mac OS X : Partie 1.”

Dans les Coulisses : Les Fichiers de Configuration

Mais qu’est-il réellement en train de se passer ? Allons voir derrière ce que le noyau UNIX de Mac OS X fait.

Quand vous cliquez sur ce bouton “Partage Web Personnel” à l’aspect innocent dans l’application Préférences Système, ce qui se passe est qu’un drapeau est modifié dans le fichier /etc/hostconfig . Ce fichier dit à Mac OS X quels services doivent être lancés. Le mien a l’air de ceci :

% more hostconfig

##
# /etc/hostconfig
##
# This file is maintained by the system control panels
##

# Network configuration

HOSTNAME=-AUTOMATIC-
ROUTER=-AUTOMATIC-

# Services

AFPSERVER=-NO-
APPLETALK=-NO-
AUTHSERVER=-NO-
AUTOMOUNT=-YES-
CONFIGSERVER=-NO-
CUPS=-YES-
IPFORWARDING=-NO-
IPV6=-YES-
MAILSERVER=-NO-
NETBOOTSERVER=-NO-
NETINFOSERVER=-AUTOMATIC-
NISDOMAIN=-NO-
RPCSERVER=-AUTOMATIC-
TIMESYNC=-NO-
QTSSERVER=-NO-
SSHSERVER=-YES-
WEBSERVER=-YES-
SMBSERVER=-NO-
DNSSERVER=-NO-
CRASHREPORTER=-YES-
APPLETALK_HOSTNAME=Titanium

En regardant ce fichier et en voyant la ligne WEBSERVER=-YES-, Mac OS X reconnaît qu’Apache doit être allumé. Si vous êtes observateur, vous aurez remarqué que dans le screenshot des Préférences Système ci-dessus, mon service de Connection à Distance est coché de même que le Partage Web Personnel. Cela correspond au drapeau -YES- qui est mis à l’entrée SSHSERVER . Nous reviendrons à ce fichier plus tard pour mettre en place les services mails de notre serveur.

L’autre fichier intéressant est le fichier de configuration principal de Apache, qui se trouve à /etc/httpd/httpd.conf. Le fichier par défaut de Jaguar suffit à la plupart des gens. Mais si vous devez faire quelque chose avec Apache qui n’est pas permis par défaut, vous avez juste besoin d’éditer ce fichier et de relancer le serveur Web.

Si vous voulez approfondir Apache pour Mac OS X, je vous recommande la série Le Serveur Apache sous Mac OS X de Kevin Henenway. Quelques livres qui vous aideront à en apprendre plus sur Apache en général sont Apache: The Definitive Guide et Apache Pocket Reference.

Prochain Arrêt : Mettre Sendmail en Place

Sendmail. C’est un programme qui donne des frissons à la pensée de sa complexité. Et c’est vrai, Sendmail a la réputation d’être difficile à configurer. Il est littéralement le couteau suisse des serveurs mails. Il peut faire tout ce que vous lui dites de faire. Heureusement, nous n’avons pas énormément à faire avec Sendmail pour que les choses fonctionnent. Et puisqu’il est implémenté dans Mac OS X, c’est notre meilleur choix.

Lancer Sendmail

D’abord, nous devons éditer la ligne MAILSERVER dans /etc/hostconfig pour que Sendmail se lance automatiquement.

Pour cela, vous devez utiliser un éditeur de texte, comme emacs, vi, ou pico. Nos exemples utilisent pico, pour sa facilité d’utilisation. Entrez la commande suivante à une invite de ligne de commande:

% sudo pico /etc/hostconfig

Le fichier se chargera. Utilisez les boutons flêches pour naviguer dans le fichier et éditez la ligne MAILSERVER comme ceci:

MAILSERVER=-YES-

Sortez de pico en tapant Control-X. Pico vous demandera si vous voulez sauver; dites-lui oui et tapez entrée pour sauver le fichier..

Nous avons ensuite besoin d’éditer le script de lancement que Mac OS X utilise pour lancer Sendmail. Ce fichier se trouve dans le répertoire /System/Library/StartupItems/Sendmail . Avant de l’éditer, cependant, nous allonc en faire une copie pour qu’il soit possible de le restaurer.

% sudo cp /System/Library/StartupItems/Sendmail/Sendmail.orig % sudo pico /System/Library/StartupItems/Sendmail/Sendmail

Vous allez devoir ajouter une ligne à l’entrée de lancement de sendmail. Editez le fichier pour qu’il corresponde à ce qui suit, la partie en gras est la seule chose à ajouter dans ce fichier. Oh, et faites attention. Une erreur ici peut endommager votre installation OS de façon importante. Vérifiez deux trois fois avant de sauver le fichier :

#!/bin/sh

##
# Sendmail
##

. /etc/rc.common

StartService ()
{
     if [ "${MAILSERVER:=-NO-}" = "-YES-" ]; then
         # if ! pid=$(GetPID sendmail); then
             ConsoleMessage "Starting mail services"

             ##
             # Remove junk from the outbound mail queue directory and
start up
             # the sendmail daemon. /usr/spool/mqueue is assumed here
even though
             # it can be changed in the sendmail configuration file.
             ##
             queue=/var/spool/mqueue
             rm -f ${queue}/nf* ${queue}/lf* 

             chmod g-w / /Users
             /usr/sbin/sendmail -bd -q1h
             /usr/sbin/sendmail -C /etc/mail/submit.cf -q1h
         # fi
     fi
}

StopService ()
{
     if pid=$(GetPID sendmail); then
         ConsoleMessage "Stopping mail services"
         kill -TERM "${pid}"
     else
         echo "sendmail is not running."
     fi
}

RestartService ()
{
     if pid=$(GetPID sendmail); then
         ConsoleMessage "Restarting mail services"
         kill -HUP "${pid}"
     else
         StartService
     fi
}

Nous devons ajouter cette ligne en plus dans le script de lancement de Sendmail car Apple lance Mac OS X avec un répertoire root dont tout utilisateur du groupe admin à une autorisation en écriture. On peut supposer que c’est pour que les gens qui veulent installer des applications sur leur disque dur à cet endroit le peuvent, mais Sendmail n’apprécie vraiment pas de fonctionner avec un répertoire root avec des autorisations de groupe en écriture. Il y a des moyens de faire marcher Sendmail sans changer ceci, mais ils peuvent tous amener des risques au niveau de la sécurité qui pourraient s’avérer déterminants pour votre santé.

Ceux qui créent les mises à jour d’Apple ont aussi la sale habitude de changer les permissions de groupe en écriture de ce répertoire. Pour s’assurer que tout changement dans ces permissions sera rétabli aussitôt que possible, vous pouvez ajouter une entrée dans le crontab de root.

% sudo sh
% export EDITOR=/usr/bin/pico % crontab -e

Editez le crontab pour le faire correspondre à ceci (remplacez userid par votre userid sur la machine):

MAILTO=userid 0 * * * * chmod g-w / /Users /

Sortez de pico et sauvez le fichier. Lancer ceci signifie que toutes les heures, cron lancera un travail pour s’assurer que les permissions de votre répertoire root sont correctes.

Quittez votre session d’édition, en vous assurant de sauver votre fichier. Relancez maintenant votre machine pour être sûr que vous avez bien édité le fichier. Normalement, j’ai horreur de donner le conseil “rebootez votre machine”, mais c’est nécessaire dans ce cas, où nous voulons être sûrs que Sendmail sera lancé à chaque reboot. Après le lancement de votre machine, vous pouvez vérifier que Sendmail fonctionne correctement en entrant ce qui suit à la console:

% telnet localhost 25
  Trying 127.0.0.1...
  Connected to dsl092-007-021.sfo1.dsl.speakeasy.net.
  Escape character is 'à]'.
  220 dsl092-007-021.sfo1.dsl.speakeasy.net ESMTP Sendmail 8.12.2/8.12.2;
           Sat, 10 Aug 2002 00:43:35 -0700 (PDT)
  QUIT
  221 2.0.0 dsl092-007-021.sfo1.dsl.speakeasy.net closing connection
  Connection closed by foreign host.

Ecrivez simplement “quit” pour sortir. Si vous ne voyez pas ce qui est ci-dessus, cela signifie que quelque chose n’a pas été édité correctement dans le script /System/Library/StartupItems/Sendmail/Sendmail . Recommencez en vérifiant tout attentivement. Si rien d’autre ne marche, copiez le fichier original sur le fichier que vous avez édité et réessayez.

Sendmail est maintenant prêt à fonctionner. Il acceptera le courrier adressé à tout utilisateur sur l’hôte local. Par exemple, sur mon serveur, Sendmail acceptera tout mail adressé à duncan@dsl092-007-021.sfo1.dsl.speakeasy.net, mais pas duncan@somehost.dyndns.org. C’est un bon départ, et cela montre que le serveur mail n’est pas un “relai ouvert” qui pourrait diffuser du spam, mais nous devons nous occuper un peu plus de configuration pour nous permettre d’accepter des mails de notre nom d’hôte désiré.

Dire à Sendmail de quels Noms d’Hôtes accepter le Courrier

Pour faire accepter à Sendmail du courrier pour le nom d’hôte de votre machine, vous avez juste besoin d’éditer le fichier /etc/mail/local-host-names .Pour cela, entrez la commande suivante:

% sudo pico /etc/mail/local-host-names

Ajoutez juste les noms d’hôtes pour lesquels vous voulez recevoir des mails, une ligne à la fois, à ce fichier. Par exemple:

somemachine.dyndns.org  66.92.7.21

Pour que ceci prenne effet, vous devrez relancer Sendmail. Au lieu de rebooter, nous allons juste arrêter et relancer Sendmail. Utilisez les commandes suivantes pour ceci:

% ps -ax | grep sendmail
358  ??  Ss     0:00.34 /usr/sbin/sendmail -bd -q1h
361  ??  Ss     0:00.02 /usr/sbin/sendmail -C
/etc/mail/submit.cf
-q1h
735 std  S+     0:00.00 grep sendmail

% sudo kill -HUP 358

Rapidement, on envoie le signal HUP , qui dit à Sendmail de recharger sa configuration. Assurez-vous d’envoyer le HUP au processus avec les arguments -bd -q1h . Maintenant, Sendmail acceptera le courrier pour les utilisateurs de votre machine. Ce courrier est envoyé au fichier/var/mail/[username]. Par exemple, les mails sur ma machine sont envoyés au fichier /var/mail/duncan.

Mettre en Place des Alias

Vous voulez probablement avoir la possibilité de posséder plus d’une adresse email pour chaque utilisateur de votre machine. Par exemple, j’apprécie d’avoir l’adresse email webmaster@mymachine. Pour cela, nous devons utiliser le Gestionnaire NetInfo pour éditer les alias utilisés par le systême. Pour lancer le Gestionnaire NetInfo, double-cliquez sur son icône dans le folder /Applications/Utiltaires . Vous serez acccueilli par la fenêtre suivante:

Screen shot.
Utiliser NetInfo pour éditer les alias utilisés par le systême.

Pour ajouter un nouveau script:

  1. Cliquez sur le verrou pour apporter des modifications. Vous devrez utiliser votre mot de passe d’administrateur pour le déverrouiller.
  2. Cliquez sur l’entrée alias.
  3. Cliquez sur le bouton Nouveau Folder (le plus à gauche), ou allez dans le menu Répertoire et choisissez Nouveau Sous-Répertoire.
  4. Dans la fenêtre du bas de l’éditeur, cliquez sur l’entrée pour la valeur du nom et entrez le nom de l’alias, comme “webmaster”.
  5. Insérez une nouvelle propriété en allant dans le menu Répertoire et en choisissant Nouvelle Propriété.
  6. Changez le nom de la nouvelle propriété en “membres” et la valeur en l’utilisateur que vous voulez. Dans mon cas, j’ai mis “duncan.”
  7. Enregistrez vos changements (Commande-S, ou Domaine - Enregistrer les Modifications). Il vous sera demandé de confirmer vos changements.

La fenêtre du Gestionnaire NetInfo devrait maintenant ressembler à ceci:

Screen shot.
Le courrier adressé à webmaster sera envoyé à thsantac.

Maintenant, tout courrier adressé à webmaster sera envoyé à l’utilisateur duncan. Vous pouvez ajouter autant d’alias que vous voulez.

Il y a évidemment plus dans Sendmail que je ne puis couvrir ici. Je vous en ai cependant assez donné pour monter un serveur de site. Un article plus avancé sur l’utilisation des options de configuration avancées de Sendmail sur Mac OS X est en cours et paraîtra ici sur le Mac DevCenter. Entre temps, vous voudrez peut-être consulter sendmail, 2nd Edition.

Dernier Arrêt : Mettre en Place IMAPd

La dernière chose qu’il nous reste à faire pour avoir un serveur de site pleinement fonctionnel est de mettre en place un serveur POP ou IMAP pour récupérer notre courrier. Malheureusement, les logiciels pour ces serveurs de mail ne sont pas installés par défaut sur Mac OS X. Heureusement, ils sont faciles à obtenir, compiler, et paramétrer. Nous allons utiliser le serveur IMAP de l’Université de Washington. Il a été entièrement testé, il est stable, et facile à utiliser. Il marche bien aussi avec OpenSSL, qui est installé comme partie de Mac OS X.

Cette intégration avec OpenSSL est très imporatnte, car vous devez avoir un mot de passe pour pouvoir vous logger sur votre serveur IMAP, et vous ne voulez pas que d’autres ne soient capables de voir ce mot de passe pendant sa transmission. Pour vous assurer que vos mots de passe restent sûrs, je vais vous donner des instructions sur la manière de bâtir le serveur IMAP pour qu’il n’utilise que OpenSSL. Cette configuration sera compatible avec tout client de messagerie qui comprend le SSL — cela inclut Mail.app et Entourage.

Mettre en place les Outils de Développement

Mais avant de construire le serveur IMAP, nous devons installer les outils de développement avec le SDK BSD optionnel sur le système. Si vous n’avez pas encore installé les outils de développement, ou négligé d’installer le SDK BSD, récupérez le le CD Outils de Développement livré avec Mac OS X, insérez-le dans votre ordinateur et double-cliquez sur le fichier Developer.mpkg dans la fenêtre qui apparaît. Suivez les instructions d’installation jusqu’à juste après avoir choisi le disque de destination. Quand vous verrez l’annonce “Cliquez sur Installer pour effectuer une installation standard de ce logiciel”, cliquez sur le bouton Personnaliser à la place. Assurez-vous que la case BSD SDK est cochée, puis cliquez sur “Installer”.

L’installeur va un peu mouliner. Faites quelque chose pendant ce temps, ce n’est pas une installation rapide. Prenez un café. Ou de l’eau.

Télécharger et Construire le Serveur IMAP

Nous devons ensuite télécharger et construire le serveur IMAP. C’est un processus assez direct quand vous savez exactement quoi taper. Vous avez juste besoin de suivre ce script et vous aurez un serveur IMAP construit et capable de gérer SSL prêt à mattre en place. Au fur et à mesure de l’entrée de la plupart de ces commandes, une sortie de ce qui se passe défilera, mais tant que vous ne faites pas d’erreur, tout devrait bien se passer.

% curl ftp://ftp.cac.washington.edu/imap/imap.tar.Z > imap.tar.Z
% uncompress imap.tar.Z
% tar xf imap.tar
% cd imap-2002.RC2/
% make osx SSLTYPE=nopwd SSLDIR=/usr SSLCERTS=/etc/sslcerts
% sudo mkdir -p /usr/local/bin
% sudo cp imapd/imapd /usr/local/bin/imapd

Voilà. C’était pas trop mal, n’est-ce pas ? Vous avez maintenant un serveur IMAP complètement fonctionnel qui n’attend que d’être utilisé.

Configurer le Serveur IMAP

Il y a deux choses à faire pour configurer le serveur IMAP. La première est de remplir le certificat SSL qui sera utilisé par l’utilisateur. La seconde est de permettre au serveur de manipuler des requêtes.

Pour installer un certificat signé par soi-même (ce qui convient parfaitement à nos besoins), utilisez les commandes suivantes. Il vous sera demandé quelques questions comme partie du processus de création de ce certificat. Les réponses que j’ai utilisées sont surlignées en gras.

% sudo mkdir -p /etc/sslcerts
% sudo openssl req -new -x509 -nodes -out /etc/sslcerts/imapd.pem  -keyout /etc/sslcerts/imapd.pem -days 3650
Using configuration from /System/Library/OpenSSL/openssl.cnf
Generating a 1024 bit RSA private key
...................................................++++++
...........................++++++
writing new private key to '/etc/sslcerts/imapd.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:California
Locality Name (eg, city) []:San Francisco
Organization Name (eg, company) [Internet Widgits Pty Ltd]:x180
Organizational Unit Name (eg, section) []:Home Mail
Common Name (eg, YOUR name) []:James Duncan Davidson
Email Address []:duncan@x180.net

La dernière chose à faire est de configurer Mac OS X pour qu’il lance le serveur IMAP quand il voit des requêtes de l’IMAP vers le port SSL (port 993). Pour cela, nous devons éditer le fichier /etc/inetd.conf .

% sudo pico /etc/inetd.conf

Ajoutez la ligne suivante à la toute fin du fichier:

imaps stream tcp nowait root /usr/libexec/tcpd /usr/local/bin/imapd

Nous avons juste besoin maintenant de relancer le daemon inetd:

%  ps -ax | grep inetd
  323  ??  Ss     0:00.01 inetd
  4798 std  R+     0:00.00 grep inetd
% sudo kill -HUP 323

Félicitations. Vous y êtes. Il est maintenant temps de mettre en place votre client de messagerie pour l’utiliser. Toutefois en créant votre client de messagerie pour utiliser l’hôte, le nom d’utilisateur et le mot de passe de votre compte de messagerie, vous voudrez peut-être vous assurer que vous autorisez l’option SSL. Cela est montré sur le panneau de configuration suivant de Mail.app.

Screen shot.
Le panneau de configuration de Mail.app.

Remarquez aussi que j’ai mis un préfixe de chemin IMAP. C’est le répertoire de mon répertoire courant sur le serveur dans lequel mes boîtes aux lettres IMAP seront conservées. Si vous ne spécifiez pas ceci, votre répertoire courant sera alors utilisé, et vous les verez se pointer dans votre application Mail.

Conclusion

Nous venons juste de mettre en place tout le nécessaire pour avoir un serveur de site à part entière sur Internet avec Mac OS X. Il y a d’autres choses à modifier, configurer, et ajouter à cette fondation. Vous trouverez les instructions concernant la plupart de ces sujets sur O’Reilly Network. Une autre ressource importante à utiliser est Stepwise.

Il reste une dernière chose importante à dire avant d’avoir terminé. Maintenant que vous avez un serveur qui marche, vous voudrez peut-être vous assurer qu’il ne part pas automatiquement en veille. Vous avez juste à aller dans les Préférences Système, cliquer sur Economiseur d’Energie, et faire les sélections appropriées.

Textes originaux en anglais sur O’Reilly : Setting up a Site Server with Jaguar par James Duncan Davidson

quentin Serveurs Web , , ,

  1. Pas encore de commentaire
  1. Pas encore de trackbacks
Vous devez être identifié pour poster un commentaire