Dans ce dernier billet, je vais recensé tout un tas de petites choses qui améliore la vie du serveur et de l'administrateur.
Tout d'abord, je vous conseille de modifier les heures d'exécution des tâches cron dans /etc/crontab pour mettre des heures de creux de votre serveur ; pensez aux graphes de munin pour définir ces heures !
Ensuite, installons de nouveaux paquets :
apt-get install screen ncftp ntpdate apticron
Screen permet de lancer un nouveau shell dans un shell courant.
UPDATE : voir la version à jour pour Debian Squeeze pour l'installation de Munin.
UPDATE : voir la version à jour pour Debian Squeeze pour l'installation de Monit.
Notre serveur fonctionne bien, avec quelques bans pour différents services. Mais qu'arrive-t-il si un démon tombe en panne ? Et puis comment connait-on la charge du serveur ?
Monit va répondre à la première question en vérifiant à intervalle régulier tous les services et les redémarrer si besoin.
UPDATE : voir la version à jour pour Debian Squeeze.
fail2ban est utilisé pour lire les log de tous les autres démons et bannir des adresses IP s'ils ont échoués à plusieurs reprises de se connecter.
On installe simplement par apt :
apt-get install fail2ban
Puis on configure fail2ban dans /etc/fail2ban/jail.conf
bantime = 600
destemail = server@domain.tld
action = %(action_mwl)s
[postfix]
action = %(action_)s
bantime = 3600
De cette façon, on recevra un email lorsque fail2ban fera une action quelconque.
UPDATE : voir la version à jour pour Debian Squeeze.
Cette partie sera la plus grande car la plus complexe. Et on ne se facilite pas la tâche puisque le serveur de mail incluras un antispam avec vérifications des éventuels virus contenu dans les emails. L'antispam pourra aussi apprendre de ses erreurs lorsque l'utilisateur final déplacera simplement ses emails dans les dossiers IMAP.
Bref, commençons par supprimer l'éventuel Exim 4 qui serait présent sur le serveur :
UPDATE : voir la version à jour pour Debian Squeeze.
J'ai choisi PowerDNS plutôt que Bind parce que sa configuration peut se faire de différentes façons. J'ai choisi d'utiliser MySQL. On désinstalle donc bind avant d'installer PowerDNS :
apt-get remove bind9
apt-get install pdns-server pdns-backend-mysql pdns-recursor
PowerDNS est découpé de deux façon différentes et indépendantes : le serveur qui permet de définir vos zones (vos sites, sous-domaines, etc...) et le recursor qui permet d'effectuer des requêtes DNS vers l'extérieur.
UPDATE : voir la version à jour pour Debian Squeeze.
On installe le serveur :
apt-get install mysql-server
Durant l'installation, il vous sera demandé le mot de passe de l'utilisateur MySQL root.
MySQL vient avec une commande sympathique qui permet de sécurisé le serveur :
mysql_secure_installation
# Current password : VOTRE_MOT_PASSE
# set new password : N
# remove anonymous Users : Y
# Disallow root login remotley : Y
UPDATE : voir la version à jour pour Debian Squeeze.
On installe le paquet simplement :
apt-get install vsftpd
Puis on modifier le fichier de configuration /etc/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
chroot_local_user=YES
force_dot_files=YES
De cette façon, chaque utilisateur de notre serveur (un utilisateur étant associé à un site) pourra se connecter par FTP et n'avoir accès qu'à son répertoire.
On recharge la configuration :
/etc/init.d/vsftpd force-reload
Et on passe au serveur de base de données, MySQL.
UPDATE : voir la version à jour pour Debian Squeeze.
Et c'est là qu'on découvre les joies de Debian :
apt-get install apache2 apache2-dev libapache2-mod-gnutls php5 php5-mysql php5-dev php-pear php5-gd php5-mcrypt
Nous installes tout le nécessaire pour apache avec PHP5.
Un peu ce paramétrage s'impose quand même : dans le fichier /etc/apache2/mods-available/userdir.conf, remplacer public_html par www.
En effet, sur notre serveur, chaque site aura un utilisateur associé avec un dossier www où les fichiers web seront déposés.
UPDATE : voir la version à jour pour Debian Squeeze.
Ce premier billet va permettre de mettre en place notre espace de travail.
Sur debian, il existe vi et vim. Vim est beaucoup plus simple d'utilisation selon moi. Afin de pas s'embêter à taper toujours son nom complet, nous allons ajouter un alias de commande pour celui-ci. Profitons-en aussi pour ajouter d'autres alias utiles dans /root/.bashrc :
export LS_OPTIONS='--color=auto'
UPDATE : voir la version à jour pour Debian Squeeze.
J'ai récemment acheté un serveur dédié chez OVH. Comme j'ai pris une version nue Debian, j'ai décidé de faire une série de billets pour fournir un tutoriel complet d'installation d'un serveur web basé sur Debian Lenny.
Ce tutoriel n'est en rien un gage de sécurité et je ne pourrai être tenu responsable pour un manquement quelconque.
Les prérequis pour ce tutoriel sont :