DenisG.net
  Réseaux & Linux 

  RecycLinux




 


 Retour à Réseaux & Linux

Installation d'un serveur HP/Compaq Proliant DL360 G1 sous Linux Debian Etch




Présentation de la machine

Le site que vous visitez actuellement est hébergé sur un serveur HP/Compaq Proliant DL360 G1, acheté d'occasion sur eBay. Voilà à quoi il ressemble :


Caractéristiques :
  • Bi-PIII 833 MHz
  • 1,5 Go de RAM
  • 2 disques durs SCSI de 36 Go (voir le paragraphe suivant)

Configuration des disques durs SCSI

Le serveur Proliant DL360 accepte deux disques durs SCSI Hot-Plug et gère tout seul le RAID 0 ou 1. Voir sur Wikipedia pour tout savoir sur le RAID. J'ai choisi le RAID 1 qui permet de conserver ses données en cas de panne d'un disque dur, et j'ai mis deux disques identiques de 36 Go (ce sont des 18 Go sur la photo). J'en ai quelques autres en réserve en cas de panne, ils sont interchangeables à chaud.
Au démarrage du serveur, lorsqu'on vous y invite, tapez sur F10 pour accéder à l'utilitaire de configuration du RAID. Choisissez le type de RAID choisi (RAID 0 : 36+36=72 Go disponibles sans tolérance de panne, RAID 1 : 36 Go disponibles avec tolérance de panne sur un disque), quittez en enregistrant les changements. Les disques durs seront vus par le système comme un seul disque de 36 Go, la redondance est entièrement gérée par la carte RAID intégrée dans le serveur. En cas de panne d'un disque (LED clignotante en facade), vous pouvez le retirer et le remplacer à chaud, c'est-à-dire sans éteindre le serveur. Le nouveau disque sera "reconstruit" à l'identique du premier, automatiquement. Enfin... normalement, mais je n'ai pas encore eu l'occasion de tester... pourvu que ça dure... ;)


Installation de Debian Linux

Je n'ai pas réussi à booter sur le CD, j'ai donc opté pour une installation par internet avec boot par disquettes. Ceci n'est possible que si vous avez un modem-routeur et un accès ADSL pas trop lent. Branchez le serveur sur le réseau avant de lancer l'installation.
Téléchargez les images de disquettes à cette adresse :
http://http.us.debian.org/debian/dists/etch/main/installer-i386/current//images/floppy/.
Il vous faut les images nommées boot.img, root.img et net-drivers-1.img, enregistrez-les quelque part, puis créez les 3 disquettes avec les commande (sous Linux) :
dd if=fichier.img of=/dev/fd0 bs=1024 conv=sync ; sync
où vous remplacez fichier.img par le nom du fichier image téléchargé. Ceci pour chacune des 3 disquettes.
Insérez la disquette nommée boot dans le serveur et démarrez-le. Il vous demandera ensuite la disquette nommée root et lancera l'installation. La documentation sur le site de Debian vous aidera mieux que moi pour les différentes étapes de cette installation. Lorsqu'il vous demande de charger des drivers depuis une disquette, insérez celle nommée net-drivers-1 et validez. La carte réseau est alors reconnue et l'installation pourra continuer en téléchargeant les paquets directement sur internet. Pour cela vous devez configurer le réseau par DHCP si vous avez un serveur DHCP, ou en indiquant une adresse IP pour le Proliant et en donnant l'adresse de la passerelle internet (le routeur) et du serveur DNS de votre fournisseur d'accès internet.
Lors de la sélection des paquets à télécharger, décochez toutes les catégories (surtout l'environnement graphique de bureau, inutile pour un serveur de ce type), les paquets seront téléchargés plus tard un par un.


Serveur WEB : APACHE

Apache est un serveur WEB, c'est-à-dire qu'il héberge des pages HTML, et les envoie aux clients qui naviguent et qui désirent voir ces pages.
La plupart des hébergeurs professionnels utilisent Apache. Comme il est gratuit et assez simple d'utilisation, vous pouvez vous aussi l'installer et héberger vous-même votre site WEB, à condition d'avoir une connexion internet permanente et suffisament performante.
Php est un langage de programmation qui s'intègre dans le code HTML des pages web, lui apportant beaucoup de fonctionnalités.
  • Installez Apache
    apt-get install apache2
  • Installez php5
    apt-get install php5
    Si ce n'est pas fait automatiquement, ajoutez libapache2-mod-php5
  • Les pages composant votre site doivent être placées dans /var/www/
  • Adaptez éventuellement le fichier /etc/apache2/apache2.conf à votre configuration
  • /etc/apache2/sites-available/default contient les infos sur votre site (qu'on mettait dans httpd.conf dans les anciennes versions d'Apache) :

    ServerAdmin votre-email
    ServerName votre_domaine.com
    ServerAlias autres_noms_de_votre_site www.votre_domaine.com par_exemple
    DocumentRoot /var/www/dossier_de_mon_site
    Changez la balise Directory /var/www/dossier_de_mon_site
    Commentez (en ajoutant # au début) la ligne RedirectMatch

  • Ajoutez éventuellement pour chaque hôte virtuel un fichier équivalent et un lien symbolique dans /etc/apache2/sites-enabled.
  • Relancez le serveur apache
    /etc/init.d/apache2 restart
  • Les logs (journaux) des connexions sont dans /var/log/apache2
MySQL est un gestionnaire de base de données qui s'associe parfaitement avec Apache et php pour créer des sites web dynamiques. Ce trio permet par exemple de faire tourner des forums web ou des livres d'or, mais aussi des sites marchands avec gestion d'un catalogue et des clients.
Le site que vous visitez actuellement est programmé en php et HTML et j'utilise MySQL pour d'autres sites hébergés sur le même serveur.
  • Installez MySQL
    apt-get install mysql-common mysql-client mysql-server php5-mysql
  • Relancez apache2 et mysql
    /etc/init.d/apache2 restart
    /etc/init.d/mysql restart
  • J'utilise webmin pour administrer simplement MySQL. Il n'est plus présent dans les dépots d'apt-get par défaut, il faut donc télécharger le fichier webmin.deb sur le site officiel, puis en root :
    dpkg -i webmin.deb
    Il vous signale une erreur de dépendance de paquets
    apt-get -f install résoudra le problème en question.
  • Tapez https://IP_DE_VOTRE_SERVEUR:10000 dans un navigateur, puis entrez root et le mot de passe pour accéder à l'interface webmin. Pour que cette interface soit accessible depuis l'extérieur, pensez à rediriger ("NATer") le port 10000 vers votre serveur dans le routeur.
    En cas de problème de connexion, cherchez la ligne allow=127.0.0.1 dans /etc/webmin/miniserv.conf et ajoutez les adresses des postes autorisés à accéder à webmin par le réseau (ou 192.168.1. pour toute une classe d'adresses), puis relancez webmin.
  • Allez dans serveurs puis MySQL
    Créez un compte utilisateur avec tous les droits et un mot de passe
    Ajoutez un mot de passe pour l'utilisateur root (qui n'est pas celui du système !)
    Créez une nouvelle base de données
  • Pour accéder à mysql en ligne de commande :
    mysql -u login -p
    login est le nom de l'utilisateur créé avec webmin.
    On vous demande ensuite le mot de passe, puis vous êtes connecté à la base de données.
    Vous pouvez tester que tout marche bien en tapant (sans oublier le point-virgule en fin de ligne)
    status;
    show databases;
    show tables from database;database est une des bases listées au dessus.
    exit pour quitter mysql.
  • On peut aussi utiliser phpMyAdmin, qui s'installe tout simplement avec apt-get, pour administrer les bases de données MySQL. Une fois installé, tapez http://IP_DE_VOTRE_SERVEUR/phpmyadmin pour y accéder.
Arrivé à ce stade, vous disposez d'un serveur LAMP (Linux + Apache + MySQL + Php). Vous pouvez télécharger mes scripts php-MySQL (voir cette page) ainsi que tous ceux disponibles partout sur le net qui permettent de mettre en place par exemple un site dynamique "clé-en-mains" (phpBB, Artiphp, SPIP, PunBB, etc.).
Lors de l'installation de ces scripts, on vous demandera le nom de la base (créée avec Webmin) et le login et mot de passe à utiliser (l'utilisateur créé avec Webmin).
Pour que votre site soit accessible depuis l'extérieur, pensez à rediriger ("NATer") le port 80 vers votre serveur dans le routeur.
Les pages composant votre site doivent être placées dans /var/www/, éventuellement dans un sous-dossier, conformément à ce que vous avez mis dans /etc/apache2/sites-available/default.


Statistiques de site web : AWStats

AWStats permet de visualiser les statistiques de visites de votre site web : nombre de visites, origine des visiteurs, navigateurs utilisés, etc. Ces statistiques sont générées sur le serveur à partir des logs d'Apache et présentées sous la forme d'une page web lisible avec n'importe quel navigateur.

Pour l'installer sur le serveur, on va (comme d'habitude) passer par apt-get install awstats
  • Un fichier /etc/awstats/awstats.conf est créé. Il faut en faire une copie nommée /etc/awstats/awstats.adresse_de_votre_site.com.conf (le .com est un exemple)
    Si vous avez plusieurs sites (hôtes virtuels), faites une copie par site.

  • Modifiez ce fichier, en particulier :

    LogFile="/var/log/apache2/votre_fichier_access.log"
    LogFormat = 1
    SiteDomain="adresse_de_votre_site.com"

  • Modifiez la configuration d'Apache :

    Dans la section de votre site du fichier /etc/apache2/sites-available/default :
    HostnameLookups On pour avoir le domaine des visiteurs au lieu de l'adresse IP
    Vérifiez que vous avez CustomLog /var/log/apache2/votre_fichier_access.log combined
    Dans /etc/apache2/apache2.conf :
    Alias /awstats-icon "/usr/share/awstats/icon/"

  • Relancez Apache

  • Lancez une première fois le script à la main pour vérifier qu'il fonctionne :
    /usr/lib/cgi-bin/awstats.pl -config=adresse_de_votre_site.com

  • Ceci crée une première base de données de fréquentation de votre site, placée dans /var/lib/awstats
    (vous pouvez changer ce chemin avec la directive DirData dans /etc/awstats/awstats.adresse_de_votre_site.com.conf)

  • Une tâche CRON a déjà été créée par apt-get pour mettre à jour ces statistiques automatiquement toutes les 10 minutes. Pour changer cet intervalle (une fois par jour me paraît suffisant...), modifiez /etc/cron.d/awstats.
    Pour le faire toutes les nuits à 3h01, par exemple :
    01 03 * * * www-data /usr/lib/cgi-bin/awstats.pl -config=adresse_de_votre_site.com -update >/dev/null

  • Pour visualiser les statistiques, faites pointer votre navigateur vers l'adresse :
    http://www.votre_serveur.com/cgi-bin/awstats.pl?config=adresse_de_votre_site.com


Monitoring (supervision) de serveur à distance : Munin

Munin permet de surveiller une ou plusieurs machines sous Linux sur un réseau, en centralisant les informations sur un serveur et en générant des graphiques sous forme de pages web. Ces graphiques présentent par exemple l'utilisation CPU ou mémoire, le trafic réseau, les requêtes MySQL, etc.
Voir ce tutorial en français pour l'installation des noeuds (les clients) et du serveur.


Partage en réseau Linux/Linux par NFS

NFS est le protocole de partage de fichiers en réseau entre ordinateurs sous Linux, comme Netbios entre ordinateurs sous Windows.
Là encore, on trouve plein de tutos sur le net pour configurer NFS, Google est votre ami.
A connaître quand même : le NFS HOWTO

En résumé :

Sur le serveur
  • Installer nfs-common et nfs-kernel-server (avec apt-get install)
  • Dans /etc/exports
    /dossier-à-partager     IP-du-client(rw,sync)
    Vous pouvez remplacer l'IP par le nom du client si vous avez mis la correspondance dans /etc/hosts
  • exportfs -a
  • Il peut être nécessaire de relancer les daemons si c'est la première exécution après installation de NFS :
    /etc/init.d/nfs-common restart
    /etc/init.d/nfs-kernel-server restart

  • showmount -e doit afficher les dossiers partagés
  • /etc/hosts.allow et /etc/hosts.deny avec adresses IP, si vous souhaitez restreindre certains dossiers de façon plus pointue
  • Dans le firewall, ouvrir éventuellement les ports
    2049/tcp et udp pour NFS
    111/tcp et udp pour Portmapper
    745/tcp et udp pour mountd
    Dans les deux sens (client <--> serveur)
Sur le client
  • mount -t nfs serveur:/dossier-à-partager /mnt/machin pour mounter manuellement le dossier distant
  • Ou bien, dans /etc/fstab
    serveur:/dossier-à-partager /mnt/machin nfs defaults 0 0
    Il sera mounté automatiquement au démarrage
  • Lien symbolique vers /mnt/machin dans ~/Desktop pour avoir une icone sur le bureau







Pour tout commentaire, voir cette page...
 Retour à Réseaux & Linux Revenir en haut de la page