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
nano /etc/hosts
127.0.0.1 serveur1.domain.com serveur1
nano /etc/hostname
serveur1
Mise à jour du système
Contrôler les sources (là il faudrait expliquer trop longuement) :
nano /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 -
apt-get update
apt-get upgrade -y
Paquetages de base
Installation de quelques outils de base :
apt-get install -y acl apt-transport-https aptitude 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 vim-gtk3 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.
nano /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.