Bdns - Installation sous MacOS X

Éric Boucher, 16 mars 2004 (thebutch@videotron.ca)

Cette section décrit les étapes pour installer/configurer Bdns sous MacOSX. Pour les étapes d'installation sous un unix générique, cliquez ici.

Voici la liste des étapes:
- Créez un usager (disons "bdns") non privilégié comme ci dessous;


- Sous MacOS X, BIND est déjà installé; il ne reste qu'à le configurer (nous verrons cela plus loin). Vous devez cependant installer Apache-PHP-MySQL. Je vous suggère pour ce faire d'utiliser les excellents packages fournis gratuitement par Aaron Faby sur son site de Server Logistics. Après les avoir téléchargés, vous devriez obtenir des images disque contenant les packages Apache, PHP et MySQL, semblables à ci-dessous:

Double-cliquez sur les packages pour les installer. Bdns ne requiert pas le package suEXEC fourni avec le package "Complete Apache"; vous n'avez donc pas besoin de l'installer.

Une fois l'installation des packages terminée, voici ce qu'il faut faire pour les configurer:
- Configurez BIND pour qu'il démarre en tant qu'usager bdns. Commencez par éditer le fichier /etc/hostconfig et assurez-vous d'avoir la ligne suivante:

DNSSERVER=-YES-

Ceci fera en sorte que BIND sera démarré à chaque fois que vous redémarrerez MacOS X.

- Modifiez ensuite le fichier /System/Library/StartupItems/BIND/BIND pour qu'il contienne la ligne suivante:

  named -u bdns

Ceci fera en sorte que BIND roulera en tant qu'usager bdns non privilégié, au lieu de root.

- Configurez Apache pour qu'il s'exécute en tant qu'usager bdns, en plus d'autres choses. Modifiez le fichier httpd.conf (normalement dans /Library/Apache2/conf/httpd.conf) pour avoir les lignes suivantes:

  User bdns
  DirectoryIndex index.html index.html.var index.php
  LoadModule php4_module modules/libphp4.so
  AddType application/x-httpd-php.php
  AddType application/x-httpd-php-source.phps
  
- Modifiez le fichier php.ini (normalement dans /Library/PHP4/lib/php.ini) et assurez-vous d'avoir la ligne suivante:
  register_globals = On

- Décompressez la distribution de Bdns dans le répertoire DOCROOT de votre serveur Web Apache (exemple des commandes à faire):

  mv Bdns.tar.gz /Library/Apache2/htdocs
    cd /Library/Apache2/htdocs
	gunzip Bdns.tar.gz
	tar xf Bdns.tar
(cela va créer le répertoire Bdns contenant tous les scripts du système);

- Créez un répertoire (par exemple: /var/named/Bdns) où seront placés les fichiers de zone du DNS. Mettez l'usager bdns créé ci-dessus comme propriétaire de ce répertoire;

- Copiez vos fichiers de zones de DNS dans le sous-répertoire créé ci-dessus (/var/named/Bdns);

- Changez les droits et le propriétaire du répertoire /var/named/Bdns pour que l’usager bdns puisse lire et écrire les fichiers de configuration et des zones:
    chown -R bdns /var/named/Bdns
    chmod 755 /var/named/Bdns
    chmod 644 /var/named/Bdns/*

- Faites la même chose avec le fichier named.conf :
    chown bdns /etc/named.conf
    chmod 644 /etc/named.conf

- Éditez votre fichier named.conf pour faire pointer la directive "directory" sur le répertoire créé ci-dessus; si vous aviez:
  directory /var/named
remplacez par:
  directory /var/named/Bdns

- Éditez votre fichier /etc/sudoers pour permettre à l'usager bdns non privilégié d'envoyer la commande 'ndc reload' à BIND en tant que root. En effet, j'ai découvert pendant le développement de Bdns que même si Apache tourne en tant qu'usager bdns, qu'il lance des scripts PHP qui tournent en tant qu'usager bdns, et que BIND est démarré aussi en tant qu'usager bdns, il faut être root pour envoyer un 'ndc reload' à BIND. Comprend qui peut. Bref, assurez-vous d'avoir une ligne similaire à celle-ci dans /etc/sudoers:
  bdns    ALL=(ALL) /usr/sbin/ndc reload

La ligne ci-dessus peut être modifiée selon votre installation. Testez ensuite si cela fonctionne en faisant comme ci-dessous:

    % su - bdns
    password:
    % /usr/bin/sudo /bin/ndc reload
    reload initiated
    %

Si vous avez le message 'reload initiated', la configuration de sudo est correcte (N.B. Si vous utilisez BIND 9, vous devez utiliser rdnc au lieu de ndc).

- Démarrez (si ce n’est déjà fait) le serveur de BD Mysql;
- Redémarrez BIND et assurez-vous que tout fonctionne et que vous n’avez pas d’erreur;
- Arrêtez-redémarrez le serveur WEB Apache pour activer la nouvelle configuration;
- Placez-vous dans le répertoire des scripts de Bdns. En tant que root, exécutez le script de création de la BD (mysql –p < cree_Bdns.sql);
- Pour peupler la base de données avec vos données existantes:

- L'installation comme telle est terminée. Pour la suite, lisez la section sur l'utilisation de Bdns.

 

 

(fin du document)