Installation d'un serveur minimal sous Debian
De quoi a-t-on besoin ?
On va installer Debian de la manière la plus simple : en un seul CD-Rom d'une centaine de Mo, et bootable. Il nous faut donc les ISO de la Net Install (version officielle, c'est plus pratique). Il nous faudra, puisqu'on choisit l'installation par Internet, un lecteur de CD-Rom bootable et une carte réseau en état de marche reliée à un réseau (lui-même relié à Internet sans contrôle d'accès type Novell ou Netware ou équivalent) comportant un serveur DHCP (les modems/routeurs remplissent souvent ce rôle).
Côté logiciels, ils nous faudra un serveur web et un serveur SSH.
On y va !
Les dernières versions de la Net Install prennent en charge elles-mêmes le matériel pour peu que la configuration ne soit pas trop exotique, elle est détectée automatiquement, et les pilotes appropriés sont installés.
Les écrans successifs qui apparaissent après le (re)boot de la machine sur le CD-Rom (pour commencer l'installation) vous informent de l'avancée de l'installation, et vous demandent des renseignements basiques, comme la disposition du clavier. La partie la plus importante est le formatage. Allez au plus simple : une partition pour tout (à la rigueur une pour / et une pour /var). Si vous vous contentez de l'installation minimale décrite ici, 500 Mo suffiront bien pour /. Voyez en fonction de la place disponible, et n'oubliez pas la SWAP. Il est conseillé, pour un serveur (pour une station de travail aussi, d'ailleurs), d'utiliser un système de fichiers "journalisé", de type ext3.
Arrive enfin le reboot. Après celui-ci, l'installation se termine en vous demandant un mot de passe root, un nom d'utilisateur (et son mot de passe), le fuseau horaire, etc. C'est fait ! Vous avez un système Debian qui marche ! Fuyez après cette installation les programmes du style aptitude ou je-sais-plus-quoi, qui vous amènent plus de logiciels que vous n'en voulez.
Les logiciels
On va utiliser ici la puissance de apt-get. Vous pouvez auparavant modifier les sources utilisées en modifiant /etc/apt/sources.list. Utilisez stable ou unstable (ou bien laissez testing).
On va donc commencer par installer un serveur SSH. Tapez en tant que root apt-get update. Une fois les téléchargements terminés, tapez apt-get install ssh. Lors de l'installation, le programme va vous poser des questions : répondez oui à SSH2, et gardez généralement les options par défaut. Testez la connexion à partir d'un autre poste en utilisant SSH (sous Linux) ou Putty (sous Windows).
Vous pouvez réaliser la suite des opérations sans écran, directement par SSH.
Vient ensuite le serveur web. Vu la faiblesse de ma configuration (48 Mo de RAM, 2 Go de disque dur), et mes besoins réduits - et, je l'avoue, ma fainéantise d'avoir à configurer quelque chose de la taille d'Apache - j'ai choisi de ne pas utiliser ce dernier, mais thttpd, qui sert très bien les pages (X)HTML et le reste (images, etc), et peut utiliser l'architecture CGI 1.1. Faites apt-get install thttpd. Une fois le téléchargement terminé ("oui" au chroot()), créez un nouvel utilisateur "thttpd" (useradd thttpd). Créez-lui un répertoire : mkdir /home/thttpd && chown thttpd /home/thttpd. Créez-y un fichier de config qui contiendra quelque chose come (man thttpd pour plus de détails) :
dir=/www chroot user=thttpd logfile=/home/thttpd/log pidfile=/home/thttpd/pid charset=utf-8
Créez ensuite un fichier vide de pid dans ce même dossier (/home/thttpd). Modifiez le script d'init /etc/init.d/thttpd pour qu'il puisse démarrer sur cette configuration. Repérez la ligne qui commence par CONFFILE, et modifiez-la en :
CONFFILE=/home/thttpd/config
Pareil pour la ligne commençant par PIDFILE :
PIDFILE=/home/thttpd/pid
Ajoutez ensuite ce script aux scripts exécutés au boot : update-rc.d thttpd defaults.
Et voilà ! un serveur web (HTTP) et un serveur SSH (pour l'admin) en état de marche !
Usage
Le plus simple pour transférer des fichiers sur le serveur est d'utiliser sftp (FTP over SSH). Sous Linux, en mode console (pratique pour automatiser !), vous pouvez utiliser sftp pour accéder à votre serveur pour peu que vous ayez installé SSH sur la machine cliente ; ou bien lftp (en tapant lftp fish://utilisateur@ip). Sous Windows, utilisez le client FTP libre FileZilla, qui possède un mode SFTP.
[Suite] : le firewall
Merci aux geeks de #tavernedulibre (quelles idioties je n'aurais pas écrites s'ils n'avaient été là
)

Commentaires
1. Le mardi 10 mai 2005 à 17:17, par walix
2. Le mercredi 22 février 2006 à 04:52, par ativan
3. Le mercredi 22 février 2006 à 07:51, par ativan
4. Le vendredi 24 août 2007 à 15:09, par christophe
Ajouter un commentaire
Les commentaires pour ce billet sont fermés.