Préparation et accès SFTP (Serveur Web sur Debian Squeeze)

Publié le

La première étape lors de la réception d'un serveur dédié et de bien préparer le terrain pour configurer l'espace de travail dont nous avons besoin.

Pour l'édition de fichiers, j'utilise vi. Il existe une variante un peu plus ergonimique et avec plus d'options, nommé vim.

Je commence par l'installer :

aptitude install vim vim-common

Puis j'éditer la configuration de base pour y ajouter la colorisation syntaxique et l'affichage du nombre de ligne.

En modifiant le fichier /etc/vim/vimrc :

syntax on # décommenter
set number # ajouter la ligne

Puis, on va aussi ajouter la colorisation lorsqu'on parcours les dossiers et fichier, c'est toujours plus agréable. On va aussi ajouter un alias sur la ligne de commande vi pour utiliser vim.

Editer le fichier /root/.bashrc pour décommenter les lignes suivantes et ajouter la dernière :

export LS_OPTIONS='--color=auto'
eval "`dircolors`"
alias ls='ls $LS_OPTIONS'
alias ll='ls $LS_OPTIONS -l'
alias l='ls $LS_OPTIONS -lA'
alias vi='vim'

 

Lorsque vous vous connectez la première fois sur votre serveur, ce sera sûrement en root. Les administrateurs n'apprécient pas vraiment ça. Personnelement, je préfère garder mon accès root pour plus de liberté. Plutôt que de devoir utiliser sudo à tour de bras, je préfère créer un alias de l'utilisateur root, et n'autoriser que cet utilisateur à se connecter en SSH.

Editer le fichier /etc/passwd pour y ajouter la ligne :

toto::0:0:root:/root:/bin/bash

Puis exécuter les commandes :

passwd toto
shadowconfig on

La première vous demandera le mot de passe pour toto. La seconde améliore la sécurité des mots de passe sur votre serveur.

 

Puis, Nous allons autoriser uniquement cet utiliser à se connecter en SSH. Les autres utilisateurs appartenant au groupe www-data vont être forcé d'utiliser le sous-système SFTP.

Editer le fichier /etc/ssh/sshd_config pour y ajouter à la fin :

DenyUsers root
Match group www-data
ChrootDirectory %h
AllowTcpForwarding no
X11Forwarding no
ForceCommand internal-sftp

Chaque utilisateur du groupe www-data qui se connectera en SSH sera forcé d'utiliser le SFTP, et sera en plus Chrooté dans son répertoire personnel.

On redémarre le serveur SSH et nous voilà déjà avec un serveur SFTP opérationnel :

/etc/init.d/ssh force-reload

Si vous êtes sûr que tout fonctionne bien, vous pouvez vous déconnecter et vosu reconnecter avec toto.

 

La seconde partie importante de la prépaparation du serveur Debian consiste à mettre à jour les sources de fichiers APT.

Pour ce faire, il faut éditer le fichier /etc/apt/sources.list pour autoriser les sources contrib et non-free, y ajouter les backports. Nous y ajoutons aussi dotdeb qui permettra d'obtenir les dernières versions de PHP par exemple. Le fichier sources.list devrait donc ressembler à cela :

deb http://mirror.ovh.net/debian/ squeeze main contrib non-free
deb-src http://mirror.ovh.net/debian/ squeeze main contrib non-free

deb http://security.debian.org/ squeeze/updates main contrib non-free
deb-src http://security.debian.org/ squeeze/updates main contrib non-free

deb http://backports.debian.org/debian-backports squeeze-backports main contrib non-free
deb-src http://backports.debian.org/debian-backports squeeze-backports main contrib non-free

deb http://packages.dotdeb.org stable all
deb-src http://packages.dotdeb.org stable all

Pour terminer l'installation des sources dotdeb, il faut exécuter :

wget http://www.dotdeb.org/dotdeb.gpg
cat dotdeb.gpg | apt-key add -
rm dotdeb.gpg

Nous voilà prêt pour notre première mise à jour du serveur. vous en aurez peut-être déjà !

aptitude update
aptitude full-upgrade

 

Sur le serveur dédié OVH que j'ai acheté, le / du serveur ne dispose que de 10G, alors que le /home a quant à lui 1.8T ! Plutôt que de stocker les logs sur le / et de craindre d'atteindre un jour cet hypotétique 10G de logs, je préfère les stockés dans /home/var/log. Réalisé simplement grâhce à un lien symbolique :

mkdir /home/var
mv /var/log /home/var
ln -s /home/var/log/ /var/log

 

Enfin, pour être compatible IPv6, il faut d'abord récupérer l'adresse IPv6 de votre serveur. Chez OVH, vous le trouverez dans le manager, sur le récapitualitf de votre dédié. Il s'agira sûrement d'une plage d'adresse IP, se terminant par exemple par /64. Nous allons pour noter serveur n'utiliser qu'une seule adresse IPv6. L'adresse IPv6 indiqué par OVH est 2001:41d0:8:1753::/64. J'ai décidé d'utilsier comme adresse IPv6 2001:41d0:8:1753::1. Pour que le serveur comprenne qu'il possède cette IP, il faut ajouter dans le fichier /etc/network/interfaces :

iface eth0 inet6 static
address 2001:41d0:8:1753::1
netmask 64

Puis redémarrer le service correspondant :

/etc/init.d/networking restart

 

Voilà, votre serveur est prêt pour la suite, le serveur Web.

 

Retour au sommaire du tutorial complet.