Pourquoi installer un FreeBSD 7.4 ou pas grand chose ne marche après installation, contrairement à une distribution Linux Fedora ou là tout marche très bien. Pour plusieurs raisons, la principale différence entre la licence GNU/GLP de Linux et la licence BSD est l‘obligation de fournir gratuitement les sources pour la licence GNU/GPL. En d‘autres termes un logiciel GNU/GPL restera toujours libre, alors qu‘un logiciel BSD peut devenir propriétaire comme c‘est le cas pour Mac OSX.
Interview de Linus Torvalds par Manuel Martinez au sujet des Licences :
Manuel : De temps en temps vous avez fortement défendu la licence GPL par rapport aux autres licences, BSD vient à l‘esprit.
Linus : Je voudrais préciser que je ne pense pas qu‘il y ait quelque chose de fondamentalement supérieur dans la licence GPL comparé à la licence BSD, par exemple. Mais la licence GPL est celle avec laquelle je veux programmer, parce qu‘à la différence de BSD, elle garantit que quiconque travaille sur le projet à l‘avenir en fera profiter toute la communauté.
Et quand je programme dans mon temps libre et pour mon propre plaisir, je veux vraiment avoir cette sorte de protection : savoir que quand j‘améliore un programme, ces améliorations continueront à être disponibles pour moi et pour les autres dans de futures versions du programme.
D‘autres personnes ont d‘autres buts, et parfois les licences du style BSD sont meilleures pour ces buts. Je préfère personnellement la GPL, mais cela ne signifie vraiment pas que la licence GPL soit en quoi que ce soi supérieure - Cela dépend de ce que vous voulez que la licence vous apporte.
Linus Torvalds à changé le copyright de la licence Linux pour GPL dans le premier semestre de 1992 (mars ou avril, de ces dires). Avant cela c‘était une licence très stricte qui interdisait essentiellement toute distribution commercial. Principalement parce qu‘il avait détesté l‘absence d‘UNIX bon marché et facilement disponible quand il en avait recherché un, un an plus tôt.
Autres raisons, mieux comprendre Mac OSX.
Pour la qualité des Serveurs sur cet Operating System ainsi qu‘une extrême vélocité avec une installation bien réalisée.
Dans mon cas personnel écrire des articles sur FreeBSD.
Héberger Nom de Domaine et Site Web avec FreeBSD 7.4-RELEASE.
2. Historique
A l‘origine, le premier système Unix a été développé par Ken Thompson dans les laboratoires Bell de AT&T à partir de 1965. On considère que la date de naissance d‘Unix est le 1er janvier 1970 (date d‘origine de l‘horloge système des unix).
En 1971 fut développer le premier UNIX Time-Sharing System issu de Unics, puis les versions se succédèrent, en Mars 1978 apparu le premier 1BSD puis après en Juin 1990 4.3BSD Reno, vint BSD Net en Juin 1991 dont est issu NetBSD. FreeBSD verra le jour en Décembre 1993 issu de 386 BSD.
En parallèle sortait le premier Linux 0.01 le 1er Août 1991 développé par Linus Torvalds.
Un décret interdisant à AT&T de commercialiser autre chose que des équipements télécom, la décision a été prise de fournir les codes sources d‘Unix aux universités. En 1977, l‘université de Berkeley en Californie donnait naissance à Berkeley Software Developpement BSD.
3. Deux développements distincts
- Le System V AT&T devenue commerciale en 1983
- Le System BSD de l‘Université de Berkeley le dernier en date étant la version 4.4BSD
Les Unix issus de la branche 4.4BSD ont été entièrement réécrits, pour être totalement débarrassés de tout code de l‘Unix AT&T d‘origine. Ainsi, ils sont entièrement indépendants et aucune poursuite judiciaire n‘est envisageable.
La principale différence entre ces deux développements, est le type du noyau. Le System BSD dispose d‘un noyau monolithique, qui contient tout ce qu‘il faut pour faire fonctionner le système en mémoire. Le System V dispose d‘un noyau modulaire, qui se compose d‘un « micro noyau » résident en mémoire en permanence et de modules qui sont chargés ou déchargés à volonté, c‘est aussi le cas de Linux. Cette solution à plus de flexibilité, chacun a ses avantages et ses inconvénients, est-il utile d‘entrer dans ce débat.
4. Comparaison de Linux et de BSD
FreeBSD, NetBSD, OpenBSD sont issus du développement BSD du système Unix d‘origine, qui sont plutôt orientés professionnels et souvent réservés aux utilisateurs très avertis. Chaque ajout ou modification de l‘OS est vérifié et validé par une équipe de mainteneurs, ce qui fait des BSD des systèmes très robustes.
Les principales différences techniques :
La structure du noyau pour les BSD adopte un noyau monolithique, Linux est quant à lui modulaire.
Il est à noter que FreeBSD est devenu modulaire il y a quelques années.
- Les BSD n‘ont qu‘un seul niveau de démarrage, runlevel.
- La gestion diffère pour les partitions des Disques entre Linux et BSD.
- L‘installation est mieux structurée pour un Linux que pour un BSD.
- FreeBSD est une diabolique Tool Box pour construire son propre Système Unix.
- La maintenance du Système se fait par les Sources des programmes que l‘on compile et non par des Packages pré-compilés.
Pour choisir entre Linux et BSD, une question d‘utilisation ou de philosophie. Les deux systèmes sont en effet très proches, mais on peut dire qu‘un BSD est un Système dédié plus pour un Administrateur Réseaux et Système avec de solide connaissance Unix, ce qui est fort dommageable.
Il faut aussi savoir que dans tous les cas, un matériel très récent ou trop exotique risque de ne pas fonctionner sous Linux. Le problème est encore pire pour les BSD. Heureusement, certains fabricants développent des pilotes les Unix libres pour leurs matériels (ex. nVidia).
5. Prérequis
Construire et installer FreeBSD 7.4 Production Release avec les versions Logiciels et Serveurs,
pour servir et administrer Nom de Domaine, Site Web et Base de données avec le « Groupware » suivant :
FreeBSD est un « Must » pour compiler et accueillir le « Groupware » précité et dispose probablement de la pile TCP/IP la plus robuste, comme tous les BSD.
FreeBSD a été conçu pour Internet et inclus ce que beaucoup considère comme la référence en ce qui concerne l‘implémentions du protocole TCP/IP, la pile TCP/IP de BSD 4.4. Cela fait de FreeBSD le système d‘exploitation idéal pour les applications réseaux. Il est donc parfait dans le rôle d‘un serveur Internet ou Intranet. Il offre des services réseaux robustes même sous de fortes charges, il utilise efficacement la mémoire afin de maintenir des temps de réponses corrects pour des milliers de processus utilisateurs simultanés.
Par choix, le système proposé est une configuration Serveur Web sans compatibilité Linux.
L‘option d‘installation retenue est ce qui fait la force de cet Operating System et non sa faiblesse.
Pour la mise en réseau, j‘ai choisi de manière arbitraire Samba, pour être en réseau simultanément avec les Systèmes suivants :
FreeBSD 7.4, Linux Fedora, Mac OSX et le Système de la « Firme de Redmond ».
Installation matériels :
Motherboard P4C800-E Deluxe Chipset Intel 875P
Intel Pentium 4C 3GHz
Deux barrettes de Ram Kingston HyperX 2 Go (kit 2x 1 Go) DDR-SDRAM PC3200 CL2
Processeur graphique Nvidia GeForce 6800GT - Asus V9999GT-TD AGP 256 Mo
Ethernet bge0 3Com Gigabit Server NIC
Ethernet fxp0 Intel Pro/100 S Server 82550
Ethernet fxp1 Intel Pro/100 S Server 82550
Carte Son TerraTec Aureon 7.1 PCI
Contrôleur SCSI Adaptec 29160 et deux Disques SCSI Atlas V de 35Go Ultra 160
Contrôleur SATA sur une CM Intel D875PBZ et deux Disques Western Digital
Caviar® Blue™ 320 Go, 3 Gb/s, 16 Mo de cache, 7200 tr/mn - Modèle : WD3200AAKS
* Ces disques sont reconnus et marchent nickel chrome, avec le contrôleur Serial ATA 150 Mb/s du chipset 875P de chez Intel.
* La taille de la partition /var est volontairement augmentée, elle contient les Bases de données MySQL dans /var/db/mysql.
Clavier et Souris USB connectés sur les Ports PS2 avec un changement de genre.
Au sujet du clavier et de la souris sur les ports USB cela marche très bien, répondre non à la question sur la souris sur port PS2. Cela écrit simplement dans le fichier rc.conf si la réponse est Oui la ligne suivante :
La première difficulté de FreeBSD est ses 22 450 Packages car si une fois installé, c‘est identique à Linux à utiliser, il y a beaucoup de substantielles variantes d‘installation. En ce sens, que l‘on installe souvent des versions de Packages inexistantes par leurs Sources de programmations. Comme on compile ces sources, les fichiers de configurations sont standards et souvent à adapter pour FreeBSD. Ce qui peut être fort déstabilisant pour un utilisateur de Distribution Linux Fedora dont l‘installateur Anaconda se charge de tout, avec FreeBSD on doit avoir un peu plus de réflexions et mieux connaître les Unix, mais ce n‘est pas insurmontable. A ce sujet j‘ai lu pas mal de bêtises sur Apache, MySQL et PHP car expliquer un Système, ce n‘est pas reprendre une documentation obsolète ou de version différente de Serveurs, mais transmettre une expérience satisfaisante ou le seul juge est la machine. En informatique cela marche ou cela ne marche pas et il n‘y a pas transformer une installation native de FreeBSD avec une arborescence de répertoires Linux pour que sans trop de bien que mal obtenir une installation peu probante.
Je le reformule, FreeBSD 7.4 est impressionnant par sa rapidité, même sur une configuration assez antique par rapport au configuration matérielle actuelle.
Une installation réalisée en trois phases.
Premièrement, installer les composants de bases.
Démarrer sur le premier CD d‘installation de FreeBSD
Menu de sélection du pays, choisir 75 France, appuyez ensuite sur la touche Entrée, puis sélectionner la table du clavier proposé,.
Pour changer le type de clavier, utilisez les touches fléchées pour sélectionner Keymap depuis le menu et appuyez sur Entrée. Ceci est nécessaire seulement si vous utilisez un clavier non-standard ou non-américain. Dès lors l‘installation se déroule avec un clavier en français.
Sélectionner Options et appuyez sur Entrée.
Vérifier que le paramètre de NFS Secure est bien NO
Appuyez sur la touche Q du clavier pour quitter le menu Options et retourner au menu principal d‘installation.
Utilisez les touches fléchées pour sélectionner Standard et appuyez sur Entrée pour débuter l‘installation.
Appuyez sur Entrée comme demandé.
Une liste affiche tous les disques durs que le Kernel a trouvés durant la détection des périphériques.
La Figure ci-dessous présente un système avec deux disques SATA reconnus comme ad4 et ad6 et deux disques SCSI reconnus comme da0 et da1.
Comme indiquer sur la figure ci-dessous, pour utliser tout le disque pour FreeBSD appuyer sur la touche A du clavier.
Cela correspond à l‘option Use Entire Disk (utiliser l‘intégralité du disque).
Rendre la Partitions Bootable en se positionnant avec les flèches du clavier sur la Partition et appuyer sur la touche S du clavier.
Cela correspond à l‘option Set Bootable.
Terminer l‘opération en appuyant sur la touche Q du clavier.
Vos modifications seront sauvegardées dans Sysinstall, mais ne seront pas encore inscrites sur le disque.
Maintenant installer ou ne pas installer un gestionnaire de démarrage.
Un gestionnaire de démarrage est nécessaire dans les cas suivants :
Vous avez plusieurs disques et l‘installation de FreeBSD est sur un disque autre que le premier.
L‘installation de FreeBSD est sur le même disque qu‘un autre système d‘exploitation, et avoir le choix de lancer soit FreeBSD soit l‘autre système d‘exploitation au démarrage de l‘ordinateur.
Si FreeBSD sera le seul système d‘exploitation sur cette machine, installé sur le premier disque dur, alors le gestionnaire de démarrage Standard suffira. Sélectionnez None si vous utilisez un gestionnaire de démarrage tiers capable de démarrer FreeBSD.
Faire un choix, et appuyez sur Entrée.
Recommencer l‘opération pour les autres Disques alloués à FreeBSD sans les rendre Bootable et avec une selection de boot :
Standard Install a standard MBR (no boot manager)
Quitter la sélection de disque, la touche Tabulation permet de basculer entre la sélection de disque et [ OK ] et [ Cancel ].
Appuyez sur la touche Tabulation du clavier pour atteindre le champ de validation [ OK ] ensuite appuyez sur Entrée pour continuer l‘installation.
Créer des partitions en utilisant Disklabel comme le montre la figure ci-dessous.
Appuyez sur la touche C du clavier, une boîte de dialogue s‘affiche et demande la taille de la nouvelle partition. Entrer la taille sous la forme du nombre de blocs disque que vous voulez utiliser, ou sous forme d‘un nombre suivi soit par le caractère M pour Mégaoctets ou G pour Gigaoctets ou soit par C pour Cylindres.
La dimension des partitions est à adapter au Disque ainsi qu‘à leur nombre.
La présentation de cet exemple ne dispense pas de lire la documentation de FreeBSD sur la segmentation et le partitionnement des Disques.
7. Sysinstall
Après la gestion des Disques, l‘écran suivant permet de choisir le type d‘installation.
Sélectionner B Custom puis appuyez sur la touche Entrée.
Sélectionner avec la barre d‘espacement en se positionnant avec les flèches du clavier les Options suivantes :
Base Binary base distribution (required)
Kernels Binary kernel distributions (required)
Sélectionner avec la barre d‘espacement en se positionnant avec les flèches du clavier l‘Option suivante :
All Select all of the below
Il est important de bien sélectionner cette option, car cela installe les Sources pour faire la Mise à Jour du Kernel avec freebsd-update.
Appuyez sur la touche Tabulation du clavier pour atteindre le champ de validation [ OK ] ensuite appuyez sur Entrée pour continuer l‘installation.
Sélectionner avec la barre d‘espacement en se positionnant avec les flèches du clavier les Options suivantes :
Ports The FreeBSD ports collection
Ne pas Installer X.Org The X.Org distribution
Update de Xorg-7.4 en version xorg-7.7
Appuyez sur la touche Tabulation du clavier pour atteindre le champ de validation [ OK ] ensuite appuyez sur Entrée pour continuer l‘installation.
L‘écran suivant permet de choisir le support d‘installation, pour installer à partir d‘un Serveur FTP en se positionnant avec les flèches du clavier pour sélectionner Install from an FTP server.
Sélectionner un Serveur FTP par exemple France ftp.fr.freebsd.org qui est un très bon Serveur FTP.
Appuyez sur la touche Tabulation du clavier pour atteindre le champ de validation [ OK ] ensuite appuyez sur Entrée pour continuer l‘installation.
Sélectionner une interface Ethernet connectée à un Routeur.
Appuyez sur la touche Tabulation du clavier pour atteindre le champ de validation [ OK ] ensuite appuyez sur Entrée pour continuer l‘installation.
Répondre Non aux questions concernant le DHCP et l‘IPV6.
Configuration de l‘interface réseau Ethernet.
8. Network Configuration
Rubrique
Exemple
Commentaire
Host
production.nom-site.com
Le nom du poste suivi du Nom de Domaine
Domain
nom-site.com
Le Nom de Domaine principal du Serveur
IPv4 Gateway
192.168.1.254
Adresse TCP/IP du Routeur ou plus exactement de la Passerelle
Name Server
80.10.246.2
Serveur DNS Primaire du fournisseur d‘accès ici celui de Orange.fr
IPv4 Address
192.168.1.1
Adresse TCP/IP de l‘interface réseau Ethernet sélectionnée
Netmask
255.255.255.0
Le masque de sous-réseau
Appuyez sur la touche Tabulation du clavier pour accéder au bouton OK ensuite appuyez sur Entrée pour continuer l‘installation.
9. Procéder à l‘installation
Après un message, l‘installation peut être maintenant effectuée si désirée. C‘est également la dernière chance pour annuler l‘installation et empêcher l‘écriture des partitions sur le disque dur.
Sélectionnez [ Yes ] et appuyez sur la touche Entrée du clavier pour poursuivre.
Après installation, Sysinstall propose la configuration des services, répondre Non à tout sauf pour SSH et FTP répondre Oui, il faut régler la Zone du fuseau horaire. puis configurer la souris.
Sélectionnez [ Yes ] et appuyez sur la touche Entrée du clavier pour installer des Packages précompilés.
Avec les touches Page-Suivante et Flèche-Bas du clavier, atteindre la section ports-mgmt et appuyez sur la touche Entrée du clavier.
Sélectionnez avec la Barre d‘espacement les Packages suivants :
portupgrade
Appuyez sur la touche Tabulation du clavier pour atteindre le champ de validation [ OK ] ensuite appuyez sur Entrée.
Pour installer les Packages sélectionnés appuyez sur la touche Tabulation du clavier pour atteindre le champ de validation [ Install ] ensuite appuyez sur Entrée.
Confirmation de l‘installation de logiciels pré-compilés.
Sélectionner [ OK ] et appuyez sur la touche Entrée pour lancer l‘installation de logiciels. Des messages d‘installation apparaîtront jusqu‘à la fin de l‘installation. Prenez note des éventuels messages d‘erreur.
La configuration se poursuit après que les logiciels pré-compilés soient installés. Si vous ne choisissez aucun logiciel, et souhaitez retourner à la configuration finale, sélectionnez Install.
Ajouter des Utilisateurs/Groupes si nécessaire, selon le mode d‘utilisation.
Ajouter au moins un utilisateur pendant l‘installation de sorte de pouvoir utiliser le système sans se connecter avec le Super-utilisateur « root ». Si la partition racine / est petite, avec l‘utilisateur root, l‘utilisation d‘applications peut rapidement remplir cette partition, un message de Sysinstall signale ce danger.
Mais si les Disques sont partitionnés comme indiquer plus haut, la partition racine / de 2Go est plus que suffisant pour toutes les opérations d‘installation et de maintenance sur un Serveur en se connectant au sytème avec l‘utilisateur root.
Voir Le Manuel FreeBSD Chapitre 2 à la section 2.10.12. Ajouter des Utilisateurs/Groupes
Définir le mot de passe de root le clavier est en Français.
Quitter Sysinstall et redémarrer le Serveur sans oublier de sortir le CD d‘installation de FreeBSD.
10. Mise à Jour ou Update de FreeBSD 7.4
En premier faire la Mise à Jour des composants de l‘installation, ce qui est primordiale, car pratiquement avec le temps toutes les versions des Packages et leurs dépendances seront obsolètes depuis la sortie de FreeBSD 7.4 le 24 Février 2011.
FreeBSD qui soit dit en passant est très bien maintenu et possède des ordres assez géniaux pour mettre à jour ou installer des composants ainsi que leurs dépendances.
Utilisons la puissance du Système pour ne pas avoir d‘erreurs de compilation, la méthode présentée est des plus simple.
Se connecter au Serveur en mode Super-utilisateur « root ».
La console est avec un clavier Français.
– En mode console saisir les ordres suivants en terminant la saisie par Entrée.
portsnap fetch update
portsnap extract
Ce qui a pour effet de changer la liste des composants du Système et de ces 23 284 Packages, après ces deux opérations, on peut réellement commencer la procédure de Mise à Jour et Installer le Système.
Faire la Mise à Jour successivement des Packages – Saisir l‘ordre suivant en terminant la saisie par Entrée.
portupgrade -aOW
Redémarrer le Serveur avec shutdown -r now
shutdown -r now Pour juste redémarrer un système FreeBSD
shutdown -p now Pour arrêter et couper l‘alimentation d‘un système FreeBSD
Vous devez être en mode Super-utilisateur root ou un membre du groupe operator pour pouvoir exécuter la commande : shutdown
11. Installation de Packages
Il est préférable de compiler tous les packages du Serveur pour deux raisons :
On possède toutes les sources des Packages dans le Serveur, ce qui peut rendre service lors de l‘installation d‘un autre Serveur et que l‘on ne peut accéder à une source de Package.
Compiler avec son processeur les Packages cela fiabilise grandement le Serveur et puis cela équivaut à un système écrit pour sa machine.
Et puis surtout toujours réaliser une installation de FreeBSD dans le temps avec les sources des Packages à jour.
Arrivé à ce stade, il est fort simple d‘installer et de configurer un serveur sans se casser la tête. La seule chose à connaître est la liste des Packages à installer et leurs fichiers de configuration .conf et autres.
– Saisir les ordres suivants en terminant la saisie par Entrée.
# Generated by Eric Douzet - Mon Jun 30 12:00:00 2008
#
# FreeBSD /etc/rc.conf
#
# Enable network daemons for user convenience.
# Please make all changes to this file, not to /etc/defaults/rc.conf.
# This file now contains just the overrides from /etc/defaults/rc.conf.
defaultrouter="192.168.1.252"
hostname="production.c-extra.com"
ifconfig_fxp0="inet 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255"
dbus_enable="YES"
hald_enable="YES"
keymap="fr.iso.acc"
moused_enable="YES"
sshd_enable="YES"
#inetd_enable="YES"
Redémarrer le Serveur avec shutdown -r now
– Saisir les ordres suivants en terminant la saisie par Entrée.
Pour pouvoir compiler gcc-4.x il faut modifier le fichier /boot/loader.conf avec nano.
# FreeBSD /boot/loader.conf
# Kernel tunables
kern.maxdsiz="734003200" # Set the max data size
# Sound modules
sound_load="YES" # Digital sound subsystem
snd_envy24ht_load="YES" # VIA Envy24HT Sound Driver TerraTec Aureon 7.1 PCI *
* Pour trouver le Driver de la Carte Son avec une Machine FreeBSD, aller sur le Site Web Sound Devices pour trouver le Nom du chipset du Driver de la Carte Son et regarder si le Nom du chipset existe dans le fichier /boot /defaults /loader.conf à la section Sound modules puis le copier dans le fichier /boot/loader.conf comme indiquer ci-dessus.
Redémarrer le Serveur avec shutdown -r now
En fin de compte à terme, Clang remplacera Gcc dans le système de base de FreeBSD.
Se connecter au serveur avec SSH en mode Super-utilisateur « root ».
– Saisir les ordres suivants en terminant la saisie par Entrée.
Xorg -configure
Ce qui génère un fichier nommé xorg.conf.new dans le répertoire /root puis exécuter l‘ordre suivant :
mv xorg.conf.new /etc/X11/xorg.conf
Lancer une interface graphique XOrg en tapant :
startx
Après l‘installation du Xorg-7.5 on va pouvoir configurer le Clavier en Français.
Avec Xorg-7.4 la configuration du clavier a changé, on ne procède plus comme avec les versions antérieures. Ce n‘est pas dépendant de la version de FreeBSD mais de la version de Xorg.
Avec Unix, il est préférable de choisir le Character set encoding UTF-8.
Après il suffit de lancer xfe et de créer ce fichier qui concerne le clavier avec la syntaxe suivante :
Le Kernel est Mise à Jour en version FreeBSD 7.4-RELEASE #0: Thu Feb 17 03:51:56 UTC 2011
Lorsque la Mise à Jour est terminée, redémarrer le Serveur avec shutdown -r now
12. Fichiers de configuration et installation de Webmin
Maintenant pour configurer le Serveur installer webmin-1.630 ce qui est très pratique pour certaines opérations.
Installer Webmin
Remarque : Utiliser la commande fetch pour télécharger Webmin avec la syntaxe suivante :
– Saisir les ordres suivants en terminant la saisie par Entrée.
cd /usr/local fetch http://prdownloads.sourceforge.net/webadmin/webmin-1.630.tar.gz gunzip webmin-1.630.tar.gz tar -xvf webmin-1.630.tar cd webmin-1.630 ./setup.sh
Vous allez devoir répondre à plusieurs questions :
Config file directory [/etc/webmin]: Taper Entrée
Log file directory [/var/webmin]: Taper Entrée
Full path to perl (default /usr/bin/perl): Taper Entrée
Web server port (default 10000): Taper Entrée
Par défaut le nom d‘utilisateur est « admin », choisir « root » et saisir son mot de passe.
Login name (default admin): Taper le nom d‘utilisateur
Lors de la saisie du mot de passe on ne voit pas la saisie, c‘est normal Ok !
Login password: Taper le mot de passe Password again: Taper le mot de passe
Bien tapez « y » c‘est pour lancer automatiquement Webmin au démarage de la machine !
Après installation de FreeBSD pour une raison de non-conformité du Nom de Machine ou de Host dans le fichier /etc/hosts
Lancer Webmin dans Firefox avec cette adresse : http://localhost:10000/
Au sujet du Fichier /etc/hosts de FreeBSD j‘ai lu pas mal de bêtises sur le Net, surtout concernant Apache, Bind et MySQL, la bonne syntaxe est celle présentée ci-dessous, qui donne entière satisfaction avec les Serveurs précités.
Le Ficher /etc/hosts est à éditer par le logiciel xfe et bien-sur à adapter pour ses propres Sites Web.
14. Résolution de Nom de Domaine
Avec Webmin cliquer sur l‘icône Réseau puis Configuration Réseau puis Client DNS doit être configuré comme ci-dessous.
Options du Client DNS
Nom du poste
Ordre de résolution
Mettre a jour le " hostname" dans les adresses en cas de modification
Serveurs DNS
Domaines de recherche
Aucun
Listé
Remarque :
80.10.246.2
80.10.246.129
Adresse IP des Serveurs DNS primaire et secondaire de Orange.fr
Paramètres réseaux pour les trois interfaces Ethernet du Serveur
Quand un Serveur possède plusieurs Interfaces Ethernet paramétrer les classes réseaux appropriées avec Webmin comme l‘exemple exposé ici.
Attention au Nom d‘Interface Ethernet qui peut être différent.
Avec Webmin à la section Réseau puis Configuration Réseau puis Interfaces Réseau Ajouter une nouvelle interface (Ajouter une interface virtuelle).
Cliquer sur fxp0 de la section Interfaces Actives puis sur (Ajouter une interface virtuelle).
Refaire l‘opération, Cliquer sur fxp0 de la section Interfaces Permanentes.
* Adresse de diffusion ou broadcast 192.168.16.255 pour Adresse IP 192.168.16.1 /24 ou Masque de sous-réseau 255.255.255.0
* Ethernet (Virtuel) Adresse de diffusion ou broadcast 192.168.16.10 pour Adresse IP 192.168.16.10 /32 ou Masque de sous-réseau 255.255.255.255
* Adresse de diffusion ou broadcast 192.168.1.255 pour Adresse IP 192.168.1.1 /24 ou Masque de sous-réseau 255.255.255.0
* Adresse de diffusion ou broadcast 192.168.2.255 pour Adresse IP 192.168.2.3 /24 ou Masque de sous-réseau 255.255.255.0
Vous devez obtenir un résultat similaire, selon la classe réseau choisie.
Interfaces Actives
Selectionner tout. | Inverser la sélection. | Ajouter une nouvelle interface.
Nom
Type
IP Adresse
Masque de sous-réseau
État
bge0
Gigabit ethernet
192.168.16.1
255.255.255.0
Effectif
bge0:0
Ethernet (Virtuel)
192.168.16.10
255.255.255.255
Effectif
fxp0
Ethernet
192.168.1.1
255.255.255.0
Effectif
fxp1
Ethernet
192.168.2.1
255.255.255.0
Effectif
lo0
Loopback
127.0.0.1
255.0.0.0
Effectif
Selectionner tout. | Inverser la sélection. | Ajouter une nouvelle interface.
Interfaces Permanentes
Selectionner tout. | Inverser la sélection. | Ajouter une nouvelle interface.
Nom
Type
IP Adresse
Masque de sous-réseau
Permanente ?
bge0
Gigabit ethernet
192.168.16.1
255.255.255.0
Oui
bge0:0
Ethernet (Virtuel)
192.168.16.10
255.255.255.255
Oui
fxp0
Ethernet
192.168.1.1
255.255.255.0
Oui
fxp1
Ethernet
192.168.2.1
255.255.255.0
Oui
lo0
Loopback
127.0.0.1
255.0.0.0
Oui
Selectionner tout. | Inverser la sélection. | Ajouter une nouvelle interface.
Avec Webmin à la section Réseau puis Configuration Réseau Cliquer sur
pour redémarrer le service réseau.
15. Le Ficher rc.conf
Le fichier rc.conf permet de démarrer les Services nécessaires, dans le cas présent pour un Serveur Web ou de développement Web, il existe d‘autre configuration possible. Ce que j‘ai respecté est l‘ordre de chargement des Services au boot. Même si les logiciels Serveurs ne sont pas installés, cela ne gène en rien le bon fonctionnement du Système FreeBSD. Les Services se lanceront automatiquement après installation des logiciels Serveurs et redémarrage de la machine.
Interfaces Ethernet à paramétrer avec le Nom d‘Interface Ethernet et les classes réseaux appropriées.
Le Ficher /etc/rc.conf est à éditer et modifier avec le logiciel Emacs.
# Generated by Eric Douzet - Mon Jun 30 12:00:00 2008
#
# FreeBSD /etc/rc.conf
#
# Enable network daemons for user convenience.
# Please make all changes to this file, not to /etc/defaults/rc.conf.
# This file now contains just the overrides from /etc/defaults/rc.conf.
defaultrouter="192.168.1.252"
hostname="production.c-extra.com"
ifconfig_bge0="inet 192.168.16.1 netmask 255.255.255.0 broadcast 192.168.16.255"
ifconfig_bge0_alias0="inet 192.168.16.10 netmask 255.255.255.255 broadcast 192.168.16.10"
ifconfig_fxp0="inet 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255"
ifconfig_fxp1="inet 192.168.2.1 netmask 255.255.255.0 broadcast 192.168.2.255"
named_enable="YES"
#proftpd_enable="YES"
#samba_enable="YES"
webmin_enable="YES"
mysql_server_enable="YES"
dbus_enable="YES"
hald_enable="YES"
avahi_daemon_enable="YES"
keymap="fr.iso.acc"
moused_enable="YES"
apache22_enable="YES"
sshd_enable="YES"
inetd_enable="YES"
Sauvegarder puis quitter xfe, dans la fenêtre LOGIN de Xorg saisir exit
Redémarrer le Serveur avec shutdown -r now
Installation des Serveurs Apache Bind MySQL Samba Fetchmail et de PHP
Se connecter au Serveur en mode Super-utilisateur « root ».
– Saisir les ordres suivants en terminant la saisie par Entrée.
portupgrade -N fetchmail-6.3.26
Batch mail retrieval utility for IMAP/POP3/ETRN/ODMR
Après compilation des Packages, avec Webmin cliquer sur l‘icône Serveurs puis MySQL Database Server puis cliquer sur l‘onglet Configuration du module et paramétrer les deux lignes suivantes :
Path to MySQL databases directory
/var/db/mysql
MySQL configuration file
/usr/local/etc/my.cnf
Copier le fichier my.cnf dans le répertoire /usr/local/etc
Avec Firefox faire clique droit sur le lien my.cnf Enregistrer la cible du lien sous... en le renommant en .cnf
# Generated by Eric Douzet - Mon Jun 30 12:00:00 2008
#
# FreeBSD /usr/local/etc/my.cnf
#
[mysqld]
datadir = /var/db/mysql
socket = /tmp/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
[mysqld_safe]
log-error = /var/log/mysqld.log
– Saisir les ordres suivants dans un Terminal en terminant la saisie par Entrée.
cd /usr/local/bin
mysql_install_db --user=mysql
Avec Webmin lancer MySQL et cliquer sur l‘icône Change Administration Password pour changer le Mot de Passe Administrateur de Mysql.
Pour lancer automatiquement MySQL au boot ou démarrage de FreeBSD avec Webmin cliquer sur l‘icône Système puis sur l‘icône Actions de démarrage et d‘arrêt et cliquer sur mysql-server et modifier la variable du Script de l‘onglet Éditer une action dans le formulaire Script de l‘action comme ci-dessous :
: ${mysql_enable="YES"}
MySQL sera lancé automatiquement par le Fichier rc.conf.
17. Installation de Apache
Avec FreeBSD 7.4 prendre la version de apache22-2.2.24 qui est un must de rapidité et de stabilité, et possède bien plus de sécurités ce qui est préférable. Si les programmeurs de La Fondation Apache HTTP Server Project ont entièrement réécrit cette dernière version d‘Apache ce n‘est pas pour rien.
Apache est le plus populaire des Serveurs Web sur Internet et cela depuis avril 1996 c‘est une référence en matière de Serveur Web personnellement je ne connais pas mieux.
Installer Apache – Saisir l‘ordre suivant en terminant la saisie par Entrée.
portupgrade -N apache22-2.2.24
Version 2.2.x of Apache web server with prefork MPM.
Lorsque le formulaire de compilation Options for apache22-2.2.24 apparaît cocher avec la barre d‘espacement en plus de celles sélectionnées l‘Option suivante :
[X] SUEXEC Enable mod_suexec
Appuyez sur la touche Tabulation du clavier pour atteindre le champ de validation [ OK ] ensuite appuyez sur Entrée pour continuer l‘installation.
Créer les répertoires suivants :
# cd /usr/local/www
# mkdir cgi-bin
# mkdir error
# mkdir html
# mkdir icons
# mkdir usage
# ls
cgi-bin error html icons usage
#
Remarque : Copier les répertoires /cgi-bin /error /icons de /usr/local/www/apache22/ dans /usr/local/www/
Ce qui donne comme arborescence de répertoires :
/usr/local
/www
/cgi-bin
/error
/html
/icons
/usage
Après compilation du Package, avec Webmin cliquer sur l‘icône Serveurs puis Serveur Web Apache puis cliquer sur l‘onglet Configuration du module et paramétrer les quatre lignes suivantes :
Chemin d‘accès à httpd.conf
/usr/local/etc/apache22/httpd.conf
Chemin d‘accès à srm.conf
/usr/local/etc/apache22/srm.conf
Chemin d‘accès à access.conf
/usr/local/etc/apache22/access.conf
Chemin d‘accès à mime.types
/usr/local/etc/apache22/mime.types
Installer PHP – Saisir l‘ordre suivant en terminant la saisie par Entrée.
Lorsque le formulaire de compilation Options for php5-5.4.16 apparaît cocher avec la barre d‘espacement en plus de celles sélectionnées l‘Option suivante :
[X] Apache Build Apache module
Appuyez sur la touche Tabulation du clavier pour atteindre le champ de validation [ OK ] ensuite appuyez sur Entrée pour continuer l‘installation.
Installer mod_security – Saisir l‘ordre suivant en terminant la saisie par Entrée.
Entre autres, c‘est pour cette raison qu‘il est impératif de le copier après installation de PHP5.
Remarque : Activer le Nom de Host Virtuel en enlevant le caractère # devant les lignes ci-dessous du Fichier httpd.conf selon la classe réseau utilisée quand un Host Virtuel est configuré.
Reste à éditer le Fichier php.ini-production du répertoire /usr/local/etc avec xfe et l‘enregistrer sous le Nom de php.ini dans le répertoire /usr/local/etc et redémarrer le Serveur.
Remarque : Chaque compilation de PHP5 génère la ligne suivante dans le Fichier httpd.conf il faut supprimer ce doublon.
Arriver à ce stade de l‘installation, on peut installer phpMyAdmin pour ce faire avec Firerox régler temporairement le Téléchargement des fichiers dans /usr/local/www/html aller sur www.phpmyadmin.net et choisir la version du fichier d‘installation phpMyAdmin-4.0.3-all-languages.tar.gz au format gzip.
Ajouter cette ligne dans le fichier hosts :
192.168.16.10 phpMyAdmin
Installer de phpMyAdmin
cd /usr/local/www/html
Taper « tar -xzvf php » puis sur la touche Tabulation, la complétion fera le reste.
tar -xzvf phpMyAdmin-4.0.3-all-languages.tar.gz
Renommer le Répertoire
mv phpMyAdmin-4.0.3-all-languages phpMyAdmin
Avec Webmin cliquer sur l‘icône Serveurs puis MySQL Database Server puis sur Create a new database puis dans le formulaire Create Database saisir et sélectionner :
Database name
phpmyadmin
Character set
UTF-8 Unicode
Puis cliquer sur le bouton
Puis cliquer sur la Base de données phpmyadmin puis sur le bouton Execute SQL puis choisir l‘onglet Run SQL from file
Choisir dans le répertoire /usr/local/www/html/phpMyAdmin/scripts/ le Ficher create_tables.sql
Select an SQL commands file to execute on database phpmyadmin.
This can also be used to restore a MySQL backup, which is just a file of SQL commands.
From local file
From uploaded file
Insérer au bas du Fichier httpd.conf la syntaxe suivante :
NameVirtualHost 192.168.16.10
<VirtualHost phpMyAdmin>
DocumentRoot "/usr/local/www/html/phpMyAdmin"
ServerName phpMyAdmin
<Directory "/usr/local/www/html/phpMyAdmin">
allow from all
Options +Indexes
</Directory>
AddDefaultCharset UTF-8
DefaultLanguage en
LanguagePriority fr
</VirtualHost>
Il est évident qu'il faut redémarrer Apache !
Éditer et modifier le Fichier config.sample.inc.php du répertoire /usr/local/www/html avec xfe comme indiquer ci-dessous et l‘Enregister sous le Nom de fichier config.inc.php après il reste à créer une Base de données phpmyadmin avec Webmin.
Fichier config.inc.php
<?php
/**
* phpMyAdmin sample configuration, you can use it as base for
* manual configuration. For easier setup you can use setup/
*
* All directives are explained in Documentation.html.
*
* phpMyAdmin 3.5.0-dev Fr Documentation
*
* @package phpMyAdmin
*/
/*
* This is needed for cookie based authentication to encrypt password in cookie
*/
Saisir le mot de passe root@localhost de MySQL pour une authentification par Cookie.
$cfg['blowfish_secret'] = 'MotDePasse'; /* Le Mot de Passe Administrateur de Mysql */
/*
* Servers configuration
*/
$i = 0;
/*
* First server
*/
$i++;
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'cookie';
/*
* Directories for saving/loading files from server
*/
$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';
/**
* Defines whether a user should be displayed a "show all (records)"
* button in browse mode or not.
* default = false
*/
//$cfg['ShowAll'] = true;
/**
* Number of rows displayed when browsing a result set. If the result
* set contains more rows, "Previous" and "Next".
* default = 30
*/
//$cfg['MaxRows'] = 50;
/**
* Use graphically less intense menu tabs
* default = false
*/
//$cfg['LightTabs'] = true;
/**
* Default language to use, if not browser-defined or user-defined
* (you find all languages in the locale folder)
* uncomment the desired line:
* default = 'en'
*/
//$cfg['DefaultLang'] = 'en_GB';
//$cfg['DefaultLang'] = 'fr_FR';
/**
* default display direction (horizontal|vertical|horizontalflipped)
*/
//$cfg['DefaultDisplay'] = 'vertical';
/**
* How many columns should be used for table display of a database?
* (a value larger than 1 results in some information being hidden)
* default = 1
*/
//$cfg['PropertiesNumColumns'] = 2;
/**
* Set to true if you want DB-based query history.If false, this utilizes
* JS-routines to display query history (lost by window close)
*
* This requires configuration storage enabled, see above.
* default = false
*/
//$cfg['QueryHistoryDB'] = true;
/**
* When using DB-based query history, how many entries should be kept?
*
* default = 25
*/
//$cfg['QueryHistoryMax'] = 100;
?>
Épilogue
Pour lancer phpMyAdmin, taper dans Firefox l‘adresse IP du Serveur Virtuel utilisée dans Apache, c‘est à dire phpMyAdmin en respectant la casse.
Remarque : bind94-9.4.4.ESV.4 est déjà installé, il ne faut pas le remplacer.
Aprés l‘installation de FreeBSD 7.4, avec Webmin cliquer sur l‘icône Serveurs puis Serveur de noms de domaines BIND puis cliquer sur l‘onglet Configuration du module et paramétrer la ligne suivante :
Full path to the rndc.conf file /var/named/etc/namedb/rndc.conf
On peut ensuite générer la clef RNDC avec l‘icône Setup RNDC.
Bind fonctionne en environnement chroot
chroot est une commande de système d‘exploitation UNIX permettant de changer le répertoire racine d‘un processus de la machine hôte.
Cette commande permet d‘isoler l‘exécution d‘un programme afin d‘éviter ainsi certaines malveillances, comme l‘exploitation d‘un dépassement de tampon, pour ensuite accéder au répertoire racine de la machine hôte.
Cela permet également de faire tourner plusieurs instances d‘un même ensemble de services ou daemons sur la même machine hôte.
Répertoire des Fichiers de configuration /var/named/etc/namedb
Remarque : Arriver à ce stade, il n‘est pas obligatoire d‘installer une Interface graphique, le Système est opérationnel pour héberger des Sites Web. Le réseau et Webmin sont amplement suffisant pour administrer ce Serveur FreeBSD.
Avec Webmin cliquer sur l'icône ou la section Webmin puis sur Configuration de Webmin puis sur Modules Webmin et sur l'onglet Install.
Avec ce formulaire installez Virtualmin.
Install
Vous pouvez ajouter des modules après l'installation de Webmin avec le formulaire ci-dessous. Les modules sont généralement disponibles dans le format .wbm certain module en contienne un ou plusieurs. Il est également possible d'installer des modules à partir de fichiers de type RPM si votre système d'exploitation le permet.
Installation de module
Source d'installation
Un fichier local
Un fichier déposé sur le serveur
Une URL FTP ou HTTP
Module standard provenant de www.webmin.com
Module tiers provenant de :
Ignorer les dépendances lors de l'installation du module : OuiNon
Privilège d'accès
Accorder un accès seulement aux utilisateurs et aux groupes :
Accorder un accès à tous les utilisateurs Webmin
Je déconseille fortement l‘utilisation d‘une Interface Graphique pour un Serveur de production, pour la facilité de maintenance et de Mise à jour.
Xfe comme Gestionnaire de fichiers et comme Editeur de textes en local et Samba pour copier des fichiers sont amplement suffisant. Quand à l‘administration des Serveurs logiciels Webmin permet de tout faire en local ou distant.
Au sujet de Xfe changer les polices d‘affichage dans Préférences puis Fonts, choisir Liberation Sans 10, l‘affichage est plus esthétique.
Je déconseille également de lancer par défaut le Serveur Samba sur un Serveur de production et d‘installer phpMyAdmin, ces deux outils doivent être lancer sur un Serveur de développement.
Par ailleurs, il n‘est pas nécessaire de lancer Samba sur un Serveur de production pour ce connecter à un Serveur de développement sur lequel le Serveur Samba et phpMyAdmin sont toujours opérationnels.
Si le Serveur possède un lecteur de DVD ne pas oublier les ordres pour lire CD et DVD suivants :
mount /cdrom
umount /cdrom
Penser à libérer le terminal xTerm pour lancer :
xfe &
firefox &
xfe &
Considérons un Serveur de production comme un routeur firewall comme par exemple un Zyxel Zywall 5 qui ne possède qu‘une interface Web pour le configurer, non système dépendant.
Remarque : Après installation nettoyer le prompt de la console.
Se connecter au serveur en mode Super-utilisateur root, lancer XOrg en tapant :
startx
Lancer xfe
Avec xfe dans le répertoire /root/ éditer avec clic droit de la souris le fichier .cshrc.
Modifier les deux variables :
set history = 0
set savehist = 0
Supprimer le fichier .history
Cela pour effet d‘effacer l‘historique des commandes du prompt tapés durant l‘installation.
Dans la fenêtre LOGIN saisir exit
Redémarrer le Serveur avec shutdown -r now
Refaire la même manipulation en positionnant à 10 les deux variables du fichier .cshrc.
set history = 10
set savehist = 10
Dans la fenêtre LOGIN saisir exit
Redémarrer le Serveur avec shutdown -r now
Maintenant se connecter au serveur en mode Super-utilisateur root puis saisir les commandes suivantes :
Rubrique indiquant le changement de version de compilation de logiciels Serveur.
Le 08-08-2012 – Mise à jour de la procédure d‘installation de FreeBSD.
Le 18-04-2012 – Sortie de la version 8.3 installation et compilation sans aucun problème
Le 02-06-2010 – Gestion dynamique de la Liste de Packages de l‘installation.
Le 20-05-2010 – Révision complète de la procédure d‘installation de FreeBSD.