| Quel system d'exploitation ? |
Je voulais un system d’exploitation sans écran, ni clavier et souris qui soit modulable à mes besoins.
Linux est donc apparut comme répondant à ces critères.
Ensuite j’avais le choix entre plusieurs distributions, mais comme j’ais un ordinateur portable sous Ubuntu et que je trouvais ce system très bien, je me suis tourné vers une distribution Debian ou Ubuntu (Ubuntu utilise les bases de Debian). Mon choix c’est en premier tourné vers Debian qui a une meilleur réputation pour les serveurs.
Mais je voulais un système d’exploitation qui gère le système de fichiers ext4 (qui sert à mieux gérer la fragmentation) et la version stable de Debian le gère pas encore et j’ai quelque souci avec la version test, il me restait donc plus que Ubuntu Server 10.04. |
| |
| Etape 1 Installation d'Ubunt Server |
 |
| Il suffit de se laisser guider par le CD d’installation et d'installer le moins de paquet possible (pour faire un serveur légé). |
| |
| Etape 2 Communiquer à distance avec le serveur |
 |
Installation d'OpenSSH pour accéder au serveur à distance (avec Putty par exemple).
Passez en utilisateur root :
# sudo -i
Mettez à jour la liste des dépôts :
# aptitude update
Mettez à jour les paquets présents dans le serveur :
# aptitude upgrade
Installez OpenSSH Server :
# aptitude install openssh-server
Et voila, vous pouvez maintenant ranger le serveur dans un placard juste avec une prise électrique et une prise réseau (plus besoin de clavier, souris et d'écran sur le serveur).
|
| |
 |
Maintenant nous allons installer WebMin pour communiquer avec le serveur avec une interface web qui est plus agréable à utiliser que Putty.
Passez en utilisateur root :
# sudo -i
Installez la clé GPG de WebMin :
# wget http://www.webmin.com/jcameron-key.asc
# apt-key add jcameron-key.asc
Téléchargez le paquet d'installation de WebMin 1.510 :
# vim /etc/apt/sources.list
Puis ajoutez la ligne :
deb http://download.webmin.com/download/repository sarge contrib
Installez WebMin 1.510 :
# aptitude update
# aptitude install webmin
Accedez à Webmin en tapant sur Internet :
https://IP_de_votre_serveur:1000 |
| |
| Etape 3 Se prémunir d’une défaillance disque dur |
 |
Smartmontools comporte deux utilitaires pour contrôler et surveiller les systèmes de stockage utilisant le système S.M.A.R.T. intégré dans les disques durs ATA et SCSI modernes.
# sudo aptitude install smartmontools |
| |
 |
Mdadm est un logiciel de gestion de RAID logiciel. Il est très complet et stable au point qu'il peut êtres utilisé dans un environnement de production.
# sudo aptitude install mdadm
Créer un Raid 1 sert à copier les mêmes données sur 2 disques différents, comme ça si 1 disque tombe en panne, nous gardons les données grâce au deuxième disque.
Passez en utilisateur root :
# sudo -i
Affiche le détail de toutes les partitions installées sur le serveur, il suffit maintenant de trouver les 2 disques que vous allez mettre dans votre grappe raid 1 :
# fdisk -l
md0 = le nom de la grappe raid; level=1 = Raid de niveau 1; raid-devices=2 = 2 disques; suivit des 2 disques que vous integrezs à votre raid 1 :
# mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1
Suivre la création de votre grappe raid :
# watch -n 3 cat /proc/mdstat
Pour obtenir des informations sur le statut du RAID :
# cat /proc/mdstat
|
| |
| Etape 4 Monter un serveur Web |
 |
L'objectif d'Apache est de construire un serveur HTTP sécurisé, performant et extensible en tant que logiciel open source respectant les standards.
# sudo aptitude install apache2 |
| |
 |
Php 5 est un métapaquet qui garantit d'avoir au moins une des trois versions serveur de l'interpréteur PHP5 d'installé.
# sudo aptitude install php5 php5-gd php5-mcrypt |
| |
 |
MySQL 5.1 est un système de gestion de bases de données relationnelles libre et gratuit. Il est performant et très populaire. Il est multi-threadé et multi-utilisateurs.
# sudo aptitude install mysql-server-5.1 |
| |
| Etape 5 Partager ces fichiers |
 |
Proftpd permet de mettre en place un serveur FTP.
# sudo aptitude install proftpd |
| |
 |
Samba permet de partager des répertoires ou des imprimantes avec Windows.
# sudo aptitude install samba |
| |
 |
Ajaxplorer permet d'accéder depuis une page internet à tous les fichiers du serveur.
Avant toute chose, installez Apache 2 et Php 5 (voir ci-dessus) avant de continuer l'installation.
Installez tous les paquets nécessaires à Ajaxplorer :
# aptitude install mcrypt
Puis téléchargez Ajaxplorer et décompressez le dans votre repertoire /var/www pour y accéder tappez dans votre navigateur Internet favorit :
http://IP_de_votre_serveur/repertoire_Ajaxplorer |
| |
| Etape 6 Monter un serveur multimédia |
 |
MediaTomb est un serveur UPnP OpenSource. Il permet de partager des ressources audio et vidéo sur votre réseau interne, en étant géré par interface web (http://IP_de_votre_serveur:49152).
# sudo aptitude install mediatomb
Accedez à MediaTomb en tapant sur Internet :
http://IP_de_votre_serveur:49152 |
| |
| Etape 7 Installation d’un gestionnaire de téléchargements |
 |
SABnzbd permet de télécharger en binaire sur les serveurs de news grâce à des fichiers *.nbz.
Passez en utilisateur root :
# sudo -i
Installez tous les paquets nécessaires à SABnzbd :
# aptitude install python-cheetah python-yenc python-feedparser python-pyopenssl par2 unzip unrar
Créez un répertoire SABnzbd :
# mkdir /etc/SABnzbd
Entrez dans le répertoire qui vient d'êtres créé :
# cd /etc/SABnzbd
Téléchargez SABnzbd 0.5.2RC1 :
# wget http://downloads.sourceforge.net/project/sabnzbdplus/sabnzbdplus-beta/0.5.2RC1/SABnzbd-0.5.2rc1-osx-src.tar.gz
Décompressez le fichier qui vient d'êtres téléchargé :
# gzip -d SABnzbd-0.5.2rc1-osx-src.tar.gz
Désarchivez le fichier qui vient d'êtres télécharger :
# tar xf SABnzbd-0.5.2rc1-osx-src.tar
Compilez le fichier avec Python :
# python -OO SABnzbd.py -v
Démarrez SABnzbd :
# ./SABnzbd.py -s 0.0.0.0:8080 -d -f ~/sabnzbd/sabnzbd.ini
Pour y accéder, tappez depuis votre navigateur Web :
http://IP_de_votre_serveur:8080
Pour redemarrer le serveur plus tard, il suffit de tapper :
# /etc/SABnzbd/SABnzbd.py -s 0.0.0.0:8080 -d -f ~/sabnzbd/sabnzbd.ini |
| |
| Etape 8 Agrégation de plusieurs Interfaces réseaux (Attention opération compliquée) |
Le Bonding (Agrégation de plusieurs Interfaces réseaux) c’est le fait de faire fonctionner plusieurs cartes réseau en même temps. Par exemple si une interface Bond est montée avec 2 cartes réseaux à 1 Gbits/s, selon le mode utilisé le débit obtenu pourra être de 2 Gbits/s et en plus la machine restera accessible si l'une des interfaces ne répond plus. Mais pour cela il faut plusieurs conditions, pour commencer il faut un switch compatible avec la norme 802.3ad (Switch manageable obligatoire) et pour continuer les deux cartes réseaux doit êtres compatible ethtools ou miitools.
Passez en utilisateur root :
# sudo -i
Installation du package ifenslave pour le kernel 2.6 qui permet de gérer le bonding :
# aptitude install ifenslave-2.6
Ajoutez un alias pour que le module bond soit activé avec les bonnes options :
# vim /etc/modprobe.d/aliase-bond.conf
Copiez le code ci-dessous, puis taper :wq pour sauvegarder et quitter :
alias bond0 bonding
options bond0 mode=0 miimon=100
Création de l'interface bond0 :
# vim /etc/network/interfaces
Copiez (address = adresse IP du serveur; netmask = masque du réseau; gateway : adresse IP du routeur/box internet) :
auto eth0
auto eth1
auto bond0
iface bond0 inet static
address 192.168.0.2
netmask 255.255.255.0
network 192.168.0.0
gateway 192.168.0.1
broadcast 192.168.0.255
up /sbin/ifenslave bond0 eth0 eth1
Activation de l'interface bond0 :
/etc/init.d/networking restart
Et voila une interface Bond en mode équilibrage de charge (Mode 0) |
| |
| Etape 9 Nettoyage et mise à jour du serveur |
Pensez à nettoyer et à mettre régulièrement à jour votre serveur pour gagner en rapidité et en sécurité.
Passez en utilisateur root :
# sudo -i
Mettre à jour la liste des dépôts :
# aptitude update
Mettre à jour les paquets présents dans le serveur :
# aptitude upgrade
Supprime les paquets téléchargés qui ne sont plus mis à jour dans les dépôts :
# aptitude autoclean
Plus radicale encore qu'autoclean, l'option clean permet de supprimer tous les paquets en cache :
# aptitude clean |
| |
| Pour connaitre encore plus de commandes utiles allez lire l'excellent article de Clubic. |