Mar 162013
 

Ce post fait suite à la première partie de l’installation complète d’un serveur web/mail/ftp/… disponible à l’adresse suivante: Installation Partie 1

A ce stade, vous devez donc disposer d’un serveur sous debian (squeeze) avec le network configuré et un accès ssh (local ou distant.) La première partie de l’installation permet d’effectuer les quelques vérifications fondamentales avant de commencer l’installation. (Entre autre la bonne configuration du réseau, nom de machine etc.)

Il est donc temps de passer à l’installation des différentes dépendances.

Installation de Postfix, Courier, Saslauthd, MySQL, rkhunter, binutils

Nous commençons par la mise en place du serveur mail, de MySQL ainsi que de différents outils nécessaires à la sécurité.

Vous aurez à répondre aux questions suivantes:

General type of mail configuration: <– Internet Site
System mail name: <– nomdeserveur.exemple.com
New password for the MySQL « root » user: <– votremdpsql
Repeat password for the MySQL « root » user: <– votremdpsql
Create directories for web-based administration? <– No
SSL certificate required <– Ok

N’oubliez pas de bien noter votre mot de passe MySQL. Il vous sera nécessaire par la suite.
Nous allons également modifier la configuration de MySQL pour que l’écoute se fasse sur toutes les interfaces du serveur (et non uniquement Localhost)

Commentez la ligne bind-address = 127.0.0.1
Votre fichier my.cnf doit ressembler à cela:

[…]
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#bind-address = 127.0.0.1
[…]

On peut dès à présent vérifier le bon fonctionnement de MySQL:

Doit renvoyer:
root@server1:~# netstat -tap | grep mysql
tcp        0      0 *:mysql                 *:*                     LISTEN      10457/mysqld
root@server1:~#

Il est également nécessaire de recréer les certificats SSL pour courier. (Ceux-ci sont créés avec le hostname localhost. On souhaite les recréer pour intégrer le nom de notre serveur (nomdeserveur.exemple.com.)
On commence par supprimer les certificats présents:

On modifie ensuite les deux fichiers imapd.cnf et pop3d.cnf en remplacant le paramètre CN=localhost par CN=nomdeserver.exemple.com

[…]
CN=server1.example.com
[…]

[…]
CN=server1.example.com
[…]

Puis on recrée les certificats:

Il ne reste plus qu’à redémarrer le serveur courier:

Installation de Amavisd-new, SpamAssassin, And Clamav

Suit l’installation de l’antispam et antivirus, plus leur dépendances, que l’on lancera avec la commande suivante:

Nous pouvons stopper le processus spamassassin et le supprimer du script de démarrage automatique car ISPConfig a sa propre façon de le lancer via amavisd.

Juin 252012
 

Après avoir brièvement présenté ISPConfig 3 dans un précédent post : ISPConfig, il est temps de passer à la pratique. Pour cela, la première chose à faire est, bien évidemment, l’installation.

Préparation du serveur dédié pour ISPConfig

Le but de ce post est donc de vous permettre, en partant d’une installation vierge de Debian Squeeze, d’installer tous les services nécessaires pour l’hébergement (Apache 2.2, PHP 5.2, MySQL 5, ftp, mail…) avec une administration par le web à l’aide d’ISPConfig. Bien évidemment, je n’ai rien inventé là et ce tutoriel se base principalement sur ce post (en anglais) du site HowtoForge:
http://www.howtoforge.com/perfect-server-debian-squeeze-with-bind-and-dovecot-ispconfig-3

J’ai très légèrement personnalisé l’installation afin de remplacer Squirrel mail par Roundcube (que je trouve bien plus agréable à l’utilisation) et je vous l’ai traduit en français, voilà tout.

Prérequis

Je suppose dans le début de ce tutoriel que vous disposez d’un serveur fonctionnel sur Debian Squeeze (à jour: 6.0.5) avec un accès ssh et un réseau configuré pour disposer d’une IP statique. (Pour ceux qui voudraient installer Debian sur leur propre machine afin de réaliser des tests @home, vous pourrez suivre le début de la procédure sur le lien cité plus haut afin d’installer Debian avec un accès ssh.) Pour information, même si ce tutoriel devrait fonctionner sur la plupart des distrib sous Debian Squeeze, je précise que mon serveur est installé sur la base d’un noyau 3.2.13 compilé par OVH. Ce n’est pas pour faire de la pub, mais il est intéressant de le noter car cela pourrait expliquer quelques différences par rapport à d’autres versions.

Configuration réseau

Commençons donc par s’occuper du nom d’hôte de la machine. Pour cela, deux modifications sont à faire:
Editez votre fichier /etc/hosts afin d’intégrer le nom de votre choix en regard de votre IP (192.168.0.100 pour l’exemple.)

Ne vous occupez pas de la partie IPv6 (si elle existe dans votre fichier) j’y reviendrais dans un autre post dédié. La partie alias est facultative derrière le nom de serveur. Il s’agit de l’alias local se référant à l’IP en question. (L’alias localhost en revanche, pour l’IP 127.0.0.1, est plus important; beaucoup de programme l’utilisant directement.)
De la même façon, on va modifier le fichier /etc/hostname afin de faire correspondre le nom d’hôte choisi.

Inscrivez le nom d’hôte choisi (si une ligne est déjà présente, la remplacer) et validez la création/modification du fichier en tapant :wq

Afin de vérifier la cohérence des noms d’hôtes, vous pouvez taper successivement les commandes suivantes:

Les deux commandes doivent renvoyer le même nom;

Mise à jour du serveur

Il est également conseillé, avant toute installation majeure, de mettre à jour les paquets Debian. Cela se fait simplement par les commandes suivantes:

(Si aucune mise à jour n’est disponible, assurer vous de bien avoir ajouté le squeeze-update repository dans le fichier /etc/apt/sources.list

Parmi les autres vérifications importantes à faire avant l’installation d’ISPConfig, il convient de s’assurer que bash est le shell par défaut. Pour faire simple, bash et dash sont deux portages  de sh, le shell originel (qui date de 1977.) Bash est plus ancien et a été longuement utilisé par défaut dans les distributions linux quand Dash en est une version plus récente et moins gourmande qui devient donc le standard dans les distributions récentes. Cependant, ISPConfig, ne supporte pas encore dash et c’est pour cela que cette modification est nécessaire. On l’effectuera par la commande suivante:

Use dash as the default system shell (/bin/sh)? <– No

La vérification du shell par défaut se fait de la façon suivante:

doit retourner

Enfin, une dernière précaution qui vous évitera quelques fâcheux problèmes, synchroniser l’horloge avec un serveur NTP (Network Time Protocol.) On installera pour cela les paquets ntp et ntpdate

Cela devrait vous permettre de garder automatiquement votre serveur à l’heure.

Ainsi se termine cette phase de préparation de votre serveur pour l’installation propre d’ISPConfig et de tous les services d’hébergement. Nous n’avons certes pas fait grand chose mais ces vérifications sont importantes afin de partir sur des bases propres pour l’installation. Un prochain post détaillera les phases d’installation des services mails, web, sql et autre avant de pouvoir mettre en place notre interface d’administration.