Axiso

Notes

Installation d’un serveur d’hébergement Linux – Debian

Serveur — janvier 2016

Connexion au serveur

Si ce n’est déjà fait, installer une console sur un poste Windows.

Première connexion

Le serveur a sans doute été mis à disposition avec un mot de passe choisi ou transmis par le prestataire. Il servira pour la première connexion.

ssh root@111.222.333.444

répondre yes et indiquer le passe.

Une fois connecté, le modifier :

passwd root

Indiquer le nouveau passe.

Création d’un utilisateur

adduser user

Entrer les informations optionnelles.

Cet utilisateur pourra accéder aux données du groupe www-data :

usermod -aG www-data user

Facultatif, personnalisez la console dès maintenant pour la rendre plus lisible.

Contrôler les variables locales

dpkg-reconfigure locales

Cocher seulement :

  • en_GB.UTF-8 UTF-8

Valider et ensuite sélectionner par défaut en_GB.UTF-8 UTF-8. Ou bien, cochez les options liées à la langue française, selon votre préférence.

Prendre en compte les modifications avec une réinitialisation de la session :

exit
ssh root@111.222.333.444

Contrôler avec :

locale
echo $LANG

Mise à jour du système

Contrôler les sources (là il faudrait expliquer trop longuement) :

vi /etc/apt/sources.list

… ou utiliser la configuration complète suivante :

echo 'deb http://ftp2.fr.debian.org/debian/ wheezy main contrib non-free

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

deb http://ftp.fr.debian.org/debian/ wheezy-proposed-updates main contrib non-free

## Dotdeb
deb http://packages.dotdeb.org wheezy all
deb http://packages.dotdeb.org wheezy-php55 all

## Backports
deb http://ftp.de.debian.org/debian wheezy-backports main' > /etc/apt/sources.list

Ajouter les clés GPG des dépôts Mod-security et Dotdeb puis lancer une mise à jour globale du système :

gpg --keyserver keys.gnupg.net --recv-keys 89DF5277
gpg --export --armor 89DF5277 | apt-key add -
aptitude update
aptitude safe-upgrade -y

Paquetages de base

Installation de quelques outils de base :

aptitude install -y acl apt-transport-https bash-completion chkrootkit dialog dirmngr dnsutils ftp git hdparm host lftp locate lshw lynis lynx mcrypt needrestart nmap ntp ntpdate psmisc rsync ssh subversion sudo traceroute unzip vim whois zip
sed -i 's/^"syntax on/syntax on/' /etc/vim/vimrc
aptitude install -y apticron

Contrôler la date de la machine

Particulièrement si le serveur est loué à l’étranger.

Afficher la date actuelle avec la commande date afin de contrôler le bon fonctionnement de la synchronisation de la date avec NTP.

Décaler les tâches programmées

Afin qu’elles ne soient pas exécutées dans le même temps que les autres machines ayant conservé le paramétrage par défaut.

vi /etc/crontab

Configuration par défaut :

# m h dom mon dow user command 17 * * * * root cd / && run-parts --report /etc/cron.hourly 25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily ) 47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly ) 52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )

La première colonne correspond aux minutes, la seconde aux heures. Modifier l’horaire selon sa préférence, sur la période 01h00 à 05h00 par exemple.

Exécuter Apticron avec les autres tâches et non toutes les heures :

sed -i 's/^/#/' /etc/cron.d/apticron
echo 'if test -x /usr/sbin/apticron; then /usr/sbin/apticron --cron; else true; fi' >> /etc/cron.d/apticron
mv /etc/cron.d/apticron /etc/cron.daily/apticron
service cron restart

Désactiver le contrôle des disques

Ceci n’est pas recommandé mais maintenir cette fonctionnalité pourrait rendre le serveur indisponible trop longtemps s’il est relancé un jour. Un contrôle manuel et planifié est préférable.

tune2fs -c 0 /dev/sda1
tune2fs -i 0 /dev/sda1

L’identifiant sda1 du disque physique peut être déterminé avec la commande df par exemple.