Installation d’un serveur Linux Debian 7.0 (Wheezy)

debian1Debian 7.0 Wheezy est disponible depuis quelques semaines. Après Lenny et Squeeze, c’est l’occasion de à nouveau mettre à jour mon article sur l’installation d’une distribution Debian.

Pour cet article, je pars d’une distribution de base fournie sur un serveur OVH. Je vais décrire les étapes de l’installation des packages complémentaires afin de disposer de MySQL, MongoDB, Apache, PHP, Java, Tomcat, Mercurial et Git. Ceci peut vous intéresser, mais c’est surtout un aide mémoire pour moi-même. C’est un peu technique et je n’entre pas forcément dans les détails.

Les commandes qui sont indiquées doivent être exécutées sous le compte root ou avec sudo (on va voir sudo plus loin).

Mettre à jour les dépots Apt / Aptitude

Apt et Aptitude, sont les outils qui permettent d’installer des packages et de gérer les dépendances. Les 2 outils utilisent les mêmes dépots. La mise à jour en question a pour but de rafraichir la liste des packages disponibles.

Je commence par modifier le fichier /etc/apt/sources.list pour ajouter les dépots contrib.

Mon fichier contient ceci :

Et enfin :

Installation du serveur OpenSSH

Dans une installation de base, il faut un accès SSH. Si ce n’est pas fait, il faut installer OpenSSH depuis la console physique de serveur.

Création de l’utilisateur « dominique »

Installer sudo

sudo permet d’exécuter des commandes comme utilisateur root sans être connecté sous le compte root.

Déclarer l’utilisateur dominique dans sudo en ajoutant la ligne suivante dans « /etc/sudoers« 

A partir de là, tout se fait si possible sous le compte « dominique » (et utilisation de sudo pour les actions nécessitants les droits root).

Augmentation des limites systèmes (optionnel)

Pour mes besoins j’ai besoin d’augmenter certaines limites systèmes. Cela se fait en éditant le fichier  /etc/security/limits.conf

Personnellement, j’y ajoute les lignes suivantes :

Installation de apache2.2

Activer les modes rewrite et proxy

Installation PHP 5

La version de PHP installée par Wheezy est la 5.4.x. Si vous souhaitez utiliser une version 5.3.x, il faut au préalable :

1/ ajouter les lignes suivantes dans /etc/apt/sources.list

2/ créer un fichier /etc/apt/preferences

3/ mettre à jour aptitude

Pour terminer par l’installation en elle même :

Installation et mise à jour de PHP PEAR

Puis installation de quelques modules Pear

Installation de mysql server 5.5

Installation de mongdb

Télécharger sur le site mongodb la version Linux 2.2.x 64bits . Au moment de l’écriture de cet article, il s’agit du fichier « mongodb-linux-x86_64-2.2.4.tgz ».

Décompresser l’archive dans /tmp et la copier dans /opt

Créer une répertoire pour les données 

Créer un répertoire pour les log

Copier dans /etc/init.d/mongo le fichier à l’adresse suivante : https://github.com/mongodb/mongo/blob/master/debian/init.d, et modifier les paramètres DAEMON et DAEMONUSER en :

Copier dans /etc/mongodb.conf le fichier à l’adresse suivante : https://github.com/mongodb/mongo/blob/master/debian/mongodb.conf, et modifier le paramètre dbpath en :

Mettre en démarrage automatique mongodb lors du démarrage du serveur

Modification du php.ini

Editer « /etc/php5/apache2/php.ini » et mettre

Installation de tomcat 7

L’installation de Tomcat 7 installe automatiquement OpenJDK 6 si ce n’est pas déjà fait. On le remplacera juste après par Java 7 de Oracle.

Remarque : Tomcat 6 est toujours disponible sous Wheezy

La procédure de configuration pour Tomcat 7 ci-dessous s’applique à Tomcat 6. Il fait juste adapter les chemins et les noms de fichiers.

Dans /var/lib/tomcat7/conf/server.xml, on vérifie que le connecteur non-SSL inclut l’attribut « URIEncoding= »UTF-8″ ». C’est le cas apparemment par défaut maintenant.

Sous Debian, Tomcat est très sécurisé. Une autre manière radicale de passer outre cette sécurisation est de la désactiver dans le fichier « /etc/init.d/tomcat7 », en indiquant :

Je constate que c’est la configuration par défaut maintenant. Par contre, je ne me permet ceci parce que je n’autorise l’accès à mon serveur Tomcat que localement. Dans /var/lib/tomcat7/conf/server.xml, j’ajoute une définition de valve au niveau engine :

Je change également le fichier « /etc/default/tomcat7 » pour lui indiquer le bon timezone et augmenter ses ressources mémoires. Editer le fichier « /etc/default/tomcat7 », pour modifier la ligne JAVA_OPTS=…

Je change également le script de lancement de Tomcat « /ect/init.d/tomcat7 » en ajoutant la ligne suivante au début :

Relancer tomcat

Installation Java 7 de Oracle

Télécharger sur le site Oracle le JDK 7. Au moment de l’écriture de cet article, il s’agit du fichier « jdk-7u21-linux-x64.gz ». Décompresser l’archive dans /tmp

Je change à nouveau le fichier « /etc/default/tomcat7 » pour lui indiquer la version de java à utiliser. Editer le fichier « /etc/default/tomcat7 », pour modifier la ligne JAVA_HOME=…

Installation de pdftotext

Installation de lftp

lftp est un client ftp qui sera utile pour mettre les sauvegardes sur le serveur FTP mis a disposition par OVH.

Installer Git et Mercurial

Installer le compilateur GCC et l’outil make

Installer ntpdate

Pour mettre à l’heure en utilisant le serveur de temps de l’observatoire de Paris

Dans la crontab ajouter la ligne suivante afin de synchroniser l’heure tous les matins à 3h

Installer fail2ban

En fonctionnement, un serveur s’expose à des attaques. Fail2ban permet de se protéger contre les attaques de masse sur certains ports TCP ou UDP en attente de connexion. Le premier protocole à protéger (le seul exposé à la livraison du serveur lorsque qu’il n’y a pas de logiciel complémentaire installé) est ssh. Ssh permet de prendre la main sur un serveur à distance. Mais si on connaît le port d’attente (22 par défaut) et le mot de passe root, on peut tout faire sur le serveur. Fail2ban scrute les logs des services en attente de connexion pour déterminer si une attaque est en cours et si donc il doit bloquer l’adresse IP de l’attaquant.

dans « /etc/fail2ban/jail.conf », j’ajout mon ip perso dans les ip a ignorer

ignoreip = 127.0.0.1 82.xxx.xxx.xxx

redémarrage de fail2ban

Concernant la sécurité, on peut (et on doit) aller plus loin, mais cela n’ai pas couvert par cet article.

Installation de Munin 2

Munin est un outil générant des graphiques d’utilisation des ressources système et réseau au fil du temps. Il est utile pour surveiller la charge globale d’un serveur. Le guide de Pierre Landuré vous aide à mettre en place Munin sur Debian.

Cas de l’installation sous Vmware (server 2.0, ESXi 5.0 ou Fusion 5.0)

Dans ce cas, il faut installer les vmware tools. Pour cela :

1. Dans l’administration Web Vmware Server 2.0, cliquer sur « Install VMware Tools » du serveur en question

2. Ouvrir une console Vmware pour accéder au serveur, se connecter sous le compte root et exécuter les commandes suivantes :

Attention, si lors de la commande « mout /media/cdrom », vous obtenez le message « mount: special device /dev/hda does not exist », il faut essayer ceci.

2 Commentairess

  1. Cascador 7 décembre 2013
  2. admin 7 décembre 2013

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *