Installez Slackware sur une Dedibox SC de chez Online La Dedibox SC de la société Online offre la possibilité de disposer d un serveur dédié à un prix extrêmement intéressant. Cependant, le choix des distributions Linux est limité aux «usual suspects» comme Ubuntu LTS, Debian et CentOS. Le présent article vous montre comment dépasser cette limite pour installer Slackware, une distribution qui n est pas proposée par Online. Un serveur dédié, c est une machine généralement située dans la salle blanche d un datacenter. Si vous louez un serveur dédié, une interface web correspondante vous permettra d installer à distance l OS de votre choix, à condition bien sûr que celui-ci figure dans la panoplie de systèmes proposés. Vous serez ensuite seul maître à bord de cette machine, et vous pourrez en faire ce que vous voudrez. En règle générale, une machine disposant ainsi d une ouverture frontale sur Internet avec une bande passante conséquente hébergera toutes sortes de services : serveur Web, serveur mail, serveur FTP, serveur de flux audio, serveur de travail collaboratif, etc. Les possibilités sont illimitées. Depuis quelques années, la société Online propose une gamme de serveurs dédiés à des prix très intéressants, notamment la Dedibox SC, qui vous permet de disposer d un accès root sur votre propre machine à moins de quinze euros par mois. Étant donné que vous n avez pas physiquement accès à la machine, le choix du système d exploitation sera limité a priori à la panoplie d OS proposés par Online, en l occurrence Ubuntu LTS, Debian, CentOS, Mageia et FreeBSD. Et même Windows, pour ceux que ça intéresse. Pendant près d un an, j ai ainsi utilisé une Dedibox SC tournant sous Debian Squeeze, pour y héberger quelques domaines : un serveur de flux audio, une série de sites web et quelques comptes mail. Bien que suffisamment familiarisé avec Debian, je regrettais de ne pas pouvoir utiliser la machine avec Slackware, une distribution que j apprécie notamment pour sa flexibilité. J ai contacté Online à ce sujet, mais l inclusion de Slackware dans les OS proposés ne figure pas dans leurs projets. Je me suis alors demandé s il n y avait pas moyen d installer Slackware avec les moyens de bord, afin de contourner cette limitation. J ai commencé à expérimenter sur une machine locale, j ai épluché la documentation de Gentoo et de LFS (Linux From Scratch), et au bout de quelques aprèsmidi pluvieux, mes tentatives ont été couronnées de succès. Le présent article vous présente donc ce «hack» au sens noble du terme, et dont vous pourrez éventuellement vous inspirer à votre tour pour installer Slackware ou bien une autre distribution de votre choix, comme Arch ou Gentoo par exemple. Dans un premier temps, nous allons procéder à l installation initiale de la Dedibox. Peu importe le système que vous choisirez ici, vu que sa seule raison d être, c est de nous fournir l accès à une session de secours. Une fois que vous disposez de votre compte chez Online, connectez-vous à la console d administration à l adresse http://console.online.net. Dans le menu déroulant en haut de la page d accueil, repérez l entrée SERVEUR > LISTE DE VOS SERVEURS. Si vous avez commandé une Dedibox, elle apparaîtra alors sous la forme «SERVEUR DEDIBOX SC (SD-XXXXX)». Cliquez sur le lien correspondant. La page subséquente vous oriente vers les différents choix de systèmes à installer. Cliquez sur DISTRIBUTION SERVEUR, puis sur DEBIAN. Notez que vous pourriez très bien opter pour UBUNTU ou
pour CENTOS, cela n a aucune importance. Confirmez en cliquant sur INSTALLER DEBIAN, ce qui vous mène vers l interface de partitionnement. Acceptez tout simplement le partitionnement proposé par défaut. Là aussi, nous le reprendrons à la main ultérieurement. Enfin, renseignez quelques paramètres comme les mots de passe pour root et le premier utilisateur, également provisoires. L écran RÉCAPITULATIF DE L INSTALLATION vous affiche une série de paramètres. Ici, il est impératif de noter les paramètres réseau de votre machine, à savoir : le nom de la machine, son adresse IP, le masque de sous-réseau, l adresse IP de la passerelle (gateway) ainsi que les DNS primaire et secondaire. Vous aurez besoin de ces informations plus tard. Ensuite, lancez l installation provisoire de Debian en cliquant sur EFFACER L INTÉGRALITÉ DE MES DISQUES DURS ET PROCÉDER À L INSTALLATION. L écran INSTALLATION vous affiche alors l état de la progression. À partir de là, comptez une bonne heure avant de pouvoir prendre la main sur la machine. Dès que l installation initiale est terminée, vous verrez apparaître une série de quatre boutons sur la page d administration de votre serveur : REDÉMARRAGE, SECOURS, TEST et INSTALLER. Cliquez sur SECOURS et optez pour la session par défaut : UBUNTU 12.04 LTS (PRECISE) AMD64. L interface vous affichera alors un identifiant, un mot de passe et une adresse IP. Ces paramètres vous permettent de vous connecter en SSH à votre console de secours. Par exemple : $ ssh kikinovak@88.191.137.75 kikinovak@88.191.137.75's password: ********** Welcome to Ubuntu 12.04 LTS (GNU/Linux 3.2.0-27-generic x86_64) (_) _ \ \ \ / // _ \ _ / _ \/ / \ / _ \ \ V / / _ / /\ \ ( / _ \_/ \ _ \_\\ /\ /`..'\ Cette session de secours Ubuntu nous remplacera l installateur Slackware, du moins pour la première phase de l installation. La distribution Ubuntu n active pas le compte root par défaut. Nous allons nous occuper de cela pour éviter d avoir à invoquer sudo à tire larigot : $ sudo passwd root Une fois que c est fait, devenez root : $ su - Définissez la variable d environnement LANG : # LANG=C # export LANG Pour partitionner le disque dur, vous disposez des outils fdisk ou cfdisk dans votre environnement de secours : # cfdisk /dev/sda Dans l exemple, je crée trois partitions : 1. une partition /boot d une taille de 100 mégaoctets, formatée en ext2 ; 2. une partition swap égale à la quantité de RAM disponible, c est-à-dire 2 gigaoctets ; 3. une partition principale occupant l espace restant disponible, formatée en ext4. Au final, j obtiens donc quelque chose comme ceci : Installez Slackware sur une Dedibox SC de chez Online - page 2 de 7
# fdisk -l /dev/sda Device Boot Start End Blocks Id System /dev/sda1 * 1 12 96358+ 83 Linux /dev/sda2 13 255 1951897+ 82 Linux swap / Solaris /dev/sda3 256 19457 154240065 83 Linux Dans le cadre d une installation «classique» de Slackware, c est l installateur qui se charge de formater les partitions sélectionnées. Ici, nous devrons effectuer le formatage à la main : # mkfs.ext2 -v /dev/sda1 # mkswap /dev/sda2 # swapon /dev/sda2 # mkfs.ext4 -v /dev/sda3 Montez la partition principale : # mount /dev/sda3 /mnt Montez la partition /boot en créant le point de montage respectif : # mkdir /mnt/boot # mount /dev/sda1 /mnt/boot Si vous avez lu notre série d articles détaillés sur l installation de Slackware (Planète Linux n 67, 68, 69 et 70), vous vous rappelez peut-être les différents groupes de paquets qui constituent la distribution. Dans le cas présent, nous allons récupérer et installer les jeux de paquets A, AP, D, L et N pour obtenir un système de base cohérent et fonctionnel, que nous pourrons étoffer par la suite. En l absence de disque d installation, nous devrons récupérer ces paquets par le biais d un miroir sur Internet. La console de secours comporte déjà le client FTP lftp. Pour plus de confort, nous allons installer NcFTP : # apt-get update # apt-get install ncftp Créons un répertoire slackware64/ et téléchargeons les groupes de paquets essentiels. Étant donné que l espace est limité dans notre console de secours, nous allons nous y prendre à deux reprises. # cd # mkdir slackware64 # cd slackware64 # ncftp ftp.slackware.at Ici, j ai opté pour le miroir de la Faculté de Sciences de Vienne en Autriche. Alternativement, connectez-vous à ftp://mirror.ovh.net/ftp.slackware.com ou à n importe quel autre miroir de Slackware. Dans un premier temps, je récupère les groupes de paquets A, AP, D et N : ncftp > cd slackware64-14.0/slackware64/ ncftp > get -R a ap d n ncftp > bye Avant d aller plus loin, je dois disposer du gestionnaire de paquets de Slackware pour installer mes paquets téléchargés. Je vais donc l installer provisoirement dans mon environnement Ubuntu, moyennant quelques petites modifications. Les paquets Slackware sont de simples archives compressées avec quelques informations en plus, et il me suffit de décompresser le paquet pkgtools à la racine de mon système de fichiers pour l installer : Installez Slackware sur une Dedibox SC de chez Online - page 3 de 7
# cp a/pkgtools-14.0-noarch-2.tgz / # cd / # tar xvzf pkgtools-14.0-noarch-2.tgz./ var/ var/log/ sbin/removepkg sbin/explodepkg sbin/pkgtool sbin/upgradepkg sbin/makepkg sbin/makebootdisk sbin/installpkg L utilitaire du (disk usage) ne se trouve pas au même endroit sous Slackware que sous Ubuntu, ce qui empêche pkgtools de fonctionner correctement. Il suffit alors de créer un lien symbolique pour remettre les choses en ordre : # ln -s /usr/bin/du /bin/du À partir de là, nous pouvons utiliser le gestionnaire de paquets installpkg pour installer les paquets téléchargés sur le disque dur. L option --root permet ici de spécifier la destination. Notez que les paquets Slackware sont des fichiers au format TGZ et TXZ, qui utilisent un algorithme de compression différent. Le joker *.t?z permet de prendre en compte les deux types de paquets : # cd /root/slackware64 # installpkg --root /mnt */*.t?z Le gestionnaire de paquets installpkg vous gratifie d une série d avertissements (WARNING) concernant la version de tar, que vous pouvez sereinement ignorer. Une fois que les groupes A, AP, D et N sont installés, nous allons faire de la place dans notre console de secours pour récupérer et installer la deuxième fournée de paquets, le groupe L : # rm -rf a/ ap/ d/ n/ # ncftp ftp.slackware.at ncftp > cd slackware64-14.0/slackware64/ ncftp > get -R l ncftp > bye # installpkg --root /mnt l/*.t?z # rm -rf l/ Les paquets de base de Slackware sont installés sur le disque, en-dessous de /mnt. Nous allons à présent chrooter dans cet environnement pour configurer le système. Au préalable, il faudra lier les systèmes /proc et /dev à ceux de l environnement Ubuntu : # mount -t proc /proc /mnt/proc # mount --bind /dev /mnt/dev Ensuite, changez dans l environnement Slackware en spécifiant l interpréteur de commandes Bash : # chroot /mnt /bin/bash Nous voilà dans un système Slackware installé sur le disque, certes, mais pas encore configuré. Dans un premier temps, nous pouvons appeler l utilitaire pkgtool à la rescousse. En effet, en dehors de sa fonction première de gestionnaire de paquets graphique en mode texte, pkgtool permet également d appeler une série de scripts d installation, ceux-là mêmes qui s effectuent lors d une installation «classique». Lancez pkgtool : # pkgtool Installez Slackware sur une Dedibox SC de chez Online - page 4 de 7
Dans l interface NCurses, repérez l entrée de menu SETUP CHOOSE SLACKWARE INSTALLATION SCRIPTS TO RUN AGAIN. En tout et pour tout, nous allons appeler cinq scripts d installation : liloconfig, netconfig, services, cacerts et timeconfig. Activez liloconfig et lancez-le, installez LILO dans la zone d amorçage du disque dur (MBR), ignorez le message d erreur et quittez pkgtool (EXIT). Le message d erreur s explique par le fait que liloconfig n a pas pu «deviner» correctement tous les paramètres. Nous allons donc éditer /etc/lilo.conf et rectifier le tir manuellement. Passez la valeur de timeout de 1200 à 10 pour éviter d avoir à poireauter inutilement lors d un redémarrage du serveur. Le paramètre compact accélère le chargement du kernel au démarrage de la machine. Détail le plus important : il vous faudra renseigner manuellement l emplacement de la partition principale, en l occurrence /dev/sda3. append="vt.default_utf8=1" boot=/dev/sda compact lba32 timeout = 10 image = /boot/vmlinuz root = /dev/sda3 label = Linux read-only Prenez en compte les modifications : # lilo Added Linux * Là aussi, ignorez les éventuels messages d erreur qui ne sont que des avertissements bénins. Ensuite, c est le tour de la configuration réseau. Relancez pkgtool, retournez dans les scripts d installation et invoquez netconfig. C est le moment de ressortir les paramètres réseau de votre Dedibox, c est-à-dire ceux que vous avez notés plus haut, lors de la configuration initiale. nom d hôte : quelque chose comme sd-25987 ; nom de domaine : dedibox.fr ; l adresse IP de la machine ; l adresse IP de la passerelle ; l adresse IP du DNS primaire (le second sera ajouté manuellement après l installation). Le script services permet de définir les services lancés au démarrage de la machine. Par défaut, Slackware active cinq services : rc.fuse, rc.inetd, rc.messagebus, rc.syslog et rc.sshd. Pour notre serveur dédié, on va partir du minimum syndical en activant seulement rc.syslog et rc.sshd. Décochez les services rc.fuse, rc.inetd et rc.messagebus. Ensuite, nous devons construire la base de données des certificats SSL avec cacerts et définir le fuseau horaire (EUROPE/PARIS) avec timeconfig. Une des choses que nous n avons malheureusement pas pu faire en l absence d installateur depuis le début des opérations, c est générer le fichier /etc/fstab automatiquement. C est ce fichier qui Installez Slackware sur une Dedibox SC de chez Online - page 5 de 7
définit les systèmes de fichiers et leurs points de montage respectifs. Vous l aurez deviné : sans ce fichier, notre serveur aura du mal à démarrer. Nous allons donc le créer à la main, avec un éditeur de texte. Voici à quoi il devra ressembler dans notre cas présent : /dev/sda1 /boot ext2 defaults 1 2 /dev/sda2 swap swap defaults 0 0 /dev/sda3 / ext4 defaults 1 1 devpts /dev/pts devpts gid=5,mode=620 0 0 proc /proc proc defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 Définissons un mot de passe pour root : # passwd root Enfin, quittons l environnement chrooté comme ceci : # exit Démontons les partitions : # umount /mnt/proc # umount /mnt/dev # umount /mnt/boot # umount /mnt Revenons dans l interface web de la console Online, repassons en MODE NORMAL et croisons les doigts. Patientons une ou deux minutes, et si tout s est bien passé, nous pouvons nous connecter via SSH en tant que root à notre Dedibox : $ ssh root@ip_de_la_dedibox Nous voilà avec un serveur dédié Slackware flambant neuf, ou plutôt une base de serveur, un peu comme la pâte à crêpes qui nous servira à faire des crêpes sucrées ou salées comme nous le souhaitons. Gardez à l esprit que votre machine dispose d une ouverture frontale sur Internet. Pour avoir une idée de ce que cela veut dire, invoquez la commande suivante : # tail -f /var/log/messages Au bout de quelques minutes à peine, votre console se remplira sans doute de messages qui ressemblent à ceci : sshd[31224]: Failed password for root from 94.240.47.240 port 58593 ssh2 sshd[31224]: Received disconnect from 94.240.47.240: 11: Bye Bye Ce sont là toutes les personnes malveillantes qui essaient de prendre la main sur votre nouvelle Dedibox. Effectuez une recherche sur les adresses IP en question (traceroute, whois, ) et vous serez supris de constater qu un grand nombre de ces tentatives de connexions hostiles proviennent de la Chine et de la Russie. La sécurisation d un serveur dépasse largement le cadre de cet article, mais dans tous les cas, la première chose à faire est de mettre votre système à jour. Éditez /etc/slackpkg/mirrors et décommentez un seul miroir, par exemple : # FRANCE (FR) ftp://mirror.ovh.net/mirrors/ftp.slackware.com/slackware64-14.0/ Procédez à la mise à jour initiale : # slackpkg update # slackpkg upgrade-all Ensuite, récupérez les groupes de paquets que vous n avez pas installés lors de l installation et qui peuvent vous servir : F, K, TCL, X et Y. Notez que même si un serveur est censé tourner en init 3, certains paquets (comme PHP) ont besoin de quelques bibliothèques contenues dans le groupe X. Quant au groupe Y, il vous fournit la citation du jour lors de la connexion. Absolument vital :o) Installez Slackware sur une Dedibox SC de chez Online - page 6 de 7
Annexe des illustrations 1. dedibox01.png Online propose une panoplie de systèmes d exploitation pour ses serveurs dédiés. Votre distribution préférée n y figure pas forcément. 2. dedibox02.png Notez soigneusement les paramètres réseau dans l écran récapitulatif, vous en aurez besoin. 3. dedibox03.png Comptez une bonne heure pour l installation du système initial. 4. dedibox04.png L écran d administration de votre Dedibox, qui vous permet de lancer une console de secours. 5. dedibox05.png Une session de secours Ubuntu 12.04 LTS est proposée par défaut. C est elle qui nous servira à installer Slackware manuellement. 6. dedibox06.png L interface affiche un mot de passe «jetable» censé servir une seule fois pour la connexion SSH à la console de secours. 7. dedibox07.png L écran d accueil de la console de secours dans un terminal. 8. dedibox08.png Partitionnement du disque à l aide de l outil cfdisk de la session de secours. 9. dedibox09.png Faute de disque d installation, nous récupérons les paquets Slackware sur un miroir FTP à l aide du client FTP NcFTP. 10. dedibox10.png Le gestionnaire de paquets offre la possibilité de relancer une série de scripts d installation. Profitons-en pour la configuration de notre système. 11. dedibox11.png Le récapitulatif de la configuration réseau de notre Dedibox. 12. dedibox12.png Notre installation minimale n active que deux services au démarrage de la machine. Installez Slackware sur une Dedibox SC de chez Online - page 7 de 7