Logo Dedibox Une fois que l’on a installé une distribution Linux sur un serveur dédié de type Dedibox, il faut ensuite la configurer et installer tous les paquets logiciels qui seront nécessaires pour sécuriser la machine et pour disposer d’un environnement LAMP. Pour rappel, cet acronyme désigne un ensemble de logiciels libres permettant de mettre en place un serveur de sites Internet :

  • Linux (système d’exploitation, en l’occurrence Debian)
  • Apache (serveur web)
  • MySQL (serveur de base de données)
  • PHP (langage de programmation)

Cet article - très technique - montre les étapes à suivre pour monter ce type de serveur afin d’héberger ensuite une ou plusieurs applications web.

Changement de la langue par défaut

La première étape consiste à configurer la langue du système d’exploitation. En effet, la distribution Debian fournit par Dedibox est livrée par défaut uniquement en français. Dans le cas où vous souhaiteriez utiliser l’anglais à la place, voici la procédure à suivre :

echo "en_GB.UTF-8 UTF-8" > /etc/locale.gen
locale-gen
sed -i "/^$/d" /etc/environment
sed -i "s/^LANGUAGE=.*$/LANGUAGE=\"en_GB.UTF-8:en\"/" /etc/environment
sed -i "s/^LANG=.*$/LANG=en_GB.UTF-8/" /etc/environment

La première commande va mettre à jour la liste des locales supportées en ne gardant que l’anglais. Celle d’après va compiler la nouvelle locale. Enfin, les trois dernières vont la déclarer dans les variables d’environnements.

Mise à jour du système d’exploitation

Malheureusement, la distribution Debian installée via la console d’administration de la Dedibox ne contient pas les derniers correctifs ni les dernières versions des paquets logiciels. Il faut donc s’en occuper soi-même, en commençant par mettre à jour le noyau de la distribution elle-même :

wget --passive ftp://ftp.dedibox.fr/pub/dedibox/kernel/r6/kernel-image-2.6.18.1_10.00.Custom_i386_FINAL2.deb
dpkg -i kernel-image-2.6.18.1_10.00.Custom_i386_FINAL2.deb
rm kernel-image-2.6.18.1_10.00.Custom_i386_FINAL2.deb

Il faut ensuite réinitialiser la machine :

reboot

Une fois le serveur redémarré, il peut être intéressant de supprimer des paquets logiciels qui ne seront pas utiles (là encore, un certain nombre d’entre eux sont automatiquement installés avec la distribution Debian de la Dedibox). Cela dépend bien évidemment des besoins de chacun :

apt-get remove --purge --assume-yes --force-yes apache
apt-get remove --purge --assume-yes --force-yes apache-common
apt-get remove --purge --assume-yes --force-yes ppp
apt-get remove --purge --assume-yes --force-yes proftpd
apt-get remove --purge --assume-yes --force-yes webalizer

L’étape d’après nécessite de mettre à jour le fichier qui contient la liste de tous les paquets disponibles :

apt-get update

Il ne reste plus alors qu’à effectuer la mise à jour du système d’exploitation (les paquets qui ne sont plus valides seront automatiquement téléchargés) :

apt-get dist-upgrade

Pour terminer, il faut supprimer les paquets qui viennent juste d’être installé avec la mise à jour du système et qui ne sont pas nécessaires :

apt-get remove --purge --assume-yes --force-yes ca-certificates
apt-get remove --purge --assume-yes --force-yes smsclient

Installation de services additionnels

Il peut être intéressant de compléter la distribution en installant certains services supplémentaires. Par exemple, le paquet cron-apt est très pratique, puisqu’il permet d’automatiser les mises à jour du système (ou du moins de se tenir informé de leur disponibilité) :

apt-get install cron-apt

L’installation d’un serveur de temps (basé sur le protocole NTP) est un bon moyen de garder l’horloge du serveur toujours synchronisée :

apt-get install ntp ntpdate

Le paquet fail2ban permet de se se protéger des attaques par force brute en surveillant l’apparition de certains événements dans les fichiers de logs et en modifiant les droits d’accès gérés par le firewall à la volée :

apt-get install fail2ban

Il est souvent recommandé de mettre en place un système de quotas afin de s’assurer que le serveur ne se retrouve pas dans une situation de blocage si certaines partitions venaient à être saturées :

apt-get install quotatool

Il existe encore bien d’autres paquets, mais leur installation dépendra des besoins et des objectifs de chacun (sachant que les aspects liés à la sécurité sont à privilégier).

Installation des composants LAMP

L’installation du serveur web, en l’occurrence Apache, est très rapide :

apt-get install apache2-mpm-prefork

Il faut cependant penser ensuite à activer tous les modules nécessaires à l’application web que l’on souhaite héberger :

a2enmod rewrite
a2enmod ssl

De la même manière, il suffit d’une seule commande pour installer le serveur de base de données MySQL :

apt-get install mysql-server-5.0

Il est recommandé d’exécuter juste après le script suivant afin de sécuriser au maximum ce serveur :

mysql_secure_installation

La dernière étape consiste à installer le langage de programmation Php (ainsi que l’extension nécessaire pour interagir avec la base de données) :

apt-get install php5
apt-get install php5-mysql

En conclusion

Le serveur est maintenant complètement installé avec tous les éléments nécessaires pour déployer un service web. Il ne reste plus qu’à configurer chaque composant de cet environnement LAMP ainsi que le serveur lui-même. Concernant ce dernier point, il faut encore en effet :

  • déclarer les droits d’accès au niveau du firewall
  • définir les quotas pour chaque utilisateur
  • corriger les permissions de certains fichiers et répertoires
  • supprimer les comptes utilisateur qui ne sont plus utilisés

D’autres paquets logiciels peuvent également être installé (serveur de mail, outil d’analyse de montée en charge, …). Et pour terminer, il peut être pertinent de mettre à jour le firmware de la Dedibox ou encore d’effectuer un audit de sécurité (accessible depuis la console d’administration).

A lire également

Vous pouvez continuer votre lecture sur des sujets similaires en consultant les articles suivants :

Les visiteurs qui ont vu cette page ont consulté ensuite :

A savoir

La rédaction de cet article a nécessité 2 heures et 38 minutes. Si vous le souhaitez, vous pouvez être prévenu de la parution de nouveaux articles en vous abonnant par RSS ou par email.


4 commentaires à propos de “Comment installer un serveur LAMP sur une Dedibox avec Debian” :

  1. Tiens, c’est marrant je n’étais pas habitué à voir des articles techniques par ici, mais ça fait du bien
    J’imagine qu’il va y avoir une série d’articles techniques à venir?

  2. On parle de Linux ? j’arrive … :-)

    “quotas afin de s’assurer que le serveur ne se retrouve pas dans une situation de blocage si certaines partitions venaient à être saturées :”

    => pas vraiment vrai à mon avis. Linux permet de base de partitionner son sytème comme on le souhaite afin de gérer tout cela.

    C’est à dire on met le /var sur une parition, le /tmp sur une autre et le reste du système ailleurs. Ainsi, si on tente de te hacker en remplissant tes logs (deni de service ou autre), ta partition /var sera pleine à 100%, mais ton sytème fonctionnera toujours correctement car il sera ailleurs.

    Sinon l’installation de Apache/php/mysql sous forme de paquet reste la meilleure solution pour les debutants,.

    Pour ma part, dans mon environnement professionnel, j’opte pour la compilation d’apahce/php/mysql + tout un tas de modifications pour optenir des performances extremes. Mais bon faut s’y connaitre un minimum, néanmoins je pense publier des articles sur le sujet un de ces quatres.

  3. Et bien en fait cette série d’articles techniques a déjà commencé Bastien.

    En effet Pti-Seb, la compilation des paquets demande des compétences plus pointues. Tu ne serais pas Administrateur Système par hasard ?

  4. Concis et complet j’aime bien :-)

Ajouter un commentaire

Les informations obligatoires sont indiquées par une étoile rouge *.


Un rétrolien à propos de “Comment installer un serveur LAMP sur une Dedibox avec Debian” :

  1. Anonyme
    Le 3 décembre 2007 à 17:44

Une carte mère avec des slots DDR-3 (comme celle-ci : ) ne peut pas accepter de mémoire DDR-2, n'est-ce pas ?

A Propos

Je m’appelle Stéphane Thomas et je suis Ingénieur Senior expert dans le développement d'applications web complexes. Etant également un peu Entrepreneur, j'ai tenté l'aventure de la création d'un nouveau service Internet appelé Loomiz. Je suis maintenant le cofondateur d'Hitomi Studio, un studio de développement spécialisé dans la réalisation de sites ecommerce haut de gamme pour de jolies marques.

Lire la suite…