Installer un serveur de mail sous Linux (2/3) : Dovecot

L'objectif de cette note en trois parties (au départ c'était une, mais c'est devenu trop long ! 😉 ) est d'installer un serveur de mail simple nous permettant d'envoyer et recevoir des mails, mais aussi de les consulter via une interface Web.

Pour réaliser ces fonctions, le serveur de mail sera composé des éléments suivants qui composeront chacun une note :

  • un serveur SMTP pour le transport des mails : Postfix
  • un serveur POP3/IMAP pour la récupération et gestion des mails depuis un client : Dovecot
  • un Webmail pour la gestion de ses mails en ligne : l'application RoundCube

Les installations seront réalisées à partir des codes sources, et non des packages de distribution. Elles peuvent donc être appliquées sur n'importe quelle distribution.

Le but n'est pas ici de monter une usine à gaz. Il s'agit simplement de monter un serveur de mails fonctionnel.

Nous reviendrons dans d'autres notes sur des notions plus avancées telles que l'authentification, la prise en charge SSL ou la gestion du multi-domaines.

Logiciels utilisés : Dovecot 2.0.8

Système d'exploitation : Debian  5.0, Linux 2.6.34

Note : dans cette note sera donc traitée la partie 2 (Dovecot).

Pour la partie 1 (Postfix) : http://blog.moncoindunet.fr/linux/installer-un-serveur-de-mail-sous-linux-13-postfix/

Continuer la lecture de « Installer un serveur de mail sous Linux (2/3) : Dovecot »

Installer un serveur MySQL 5.5 sous Linux

MySQL est un SGBDR (Système de Gestion de Base de Données Relationnelles). Il est disponible en version open source (utilisée ici) et commerciale. Concurrent direct d'Oracle ou de Microsoft SQL Server, il est très utilisé pour des applications Web, notamment en association avec les serveurs Web Apache & Tomcat ainsi que les langages PHP & Java.

Objectif : installer un serveur MySQL 5.5 pas à pas à partir des sources officielles.

Logiciel utilisé : MySQL 5.5.8

Système d'exploitation : Debian 5.0, Linux 2.6.34

Note : les méthodes d'installations ayant évolué à partir de MySQL 5.5, pour l'installation de MySQL 5.1 se référer plutôt à l'article suivant : http://blog.moncoindunet.fr/linux/mysql-linux/installer-un-serveur-mysql-sur-linux/

Continuer la lecture de « Installer un serveur MySQL 5.5 sous Linux »

Installer un serveur de mail sous Linux (1/3) : Postfix

L'objectif de cette note en trois parties (au départ c'était une, mais c'est devenu trop long ! 😉 ) est d'installer un serveur de mail simple nous permettant d'envoyer et recevoir des mails, mais aussi de les consulter via une interface Web.

Pour réaliser ces fonctions, le serveur de mail sera composé des éléments suivants qui composeront chacun une note :

  • un serveur SMTP pour le transport des mails : Postfix
  • un serveur POP3/IMAP pour la récupération et gestion des mails depuis un client : Dovecot
  • un Webmail pour la gestion de ses mails en ligne : l'application RoundCube

Les installations seront réalisées à partir des codes sources, et non des packages de distribution. Elles peuvent donc être appliquées sur n'importe quelle distribution.

Le but n'est pas ici de monter une usine à gaz. Il s'agit simplement de monter un serveur de mails fonctionnel.

Nous reviendrons dans d'autres notes sur des notions plus avancées telles que l'authentification, la prise en charge SSL ou la gestion du multi-domaines.

Logiciels utilisés : Postfix 2.7.2

Système d'exploitation : Debian  5.0, Linux 2.6.34

Note : dans cette note sera donc traitée la partie 1 (Postfix).

Pour la partie 2 (Dovecot) : http://blog.moncoindunet.fr/linux/installer-un-serveur-de-mail-sous-linux-23-dovecot/

Continuer la lecture de « Installer un serveur de mail sous Linux (1/3) : Postfix »

Configurer Apache avec SSL

SSL (Secure Socket Layer) est un protocole permettant de sécuriser une communication entre deux points, typiquement un client et un serveur.

Il peut être couplé au protocole HTTP pour former le HTTP sécurisé (HTTPS) qui apporte à la communication entre le client et le serveur Web :

  • la confidentialité : les données sont cryptées et donc pas lisibles par un tiers
  • l'intégrité : vérification que les données n'ont pas été modifiées pendant le transport
  • l'authentification : vérification que le serveur (ou le client) est bien celui qu'il prétend être

Le but de cette note est donc de configurer un serveur Web Apache pour qu'il prenne en compte le SSL, permettant ainsi d'accéder à des sites Webs en HTTPS.

Continuer la lecture de « Configurer Apache avec SSL »

Ajouter un module à Apache

Vous avez compiler et installer votre tout nouveau serveur Apache, puis, quelques temps plus tard, vous avez besoin d'un nouveau module (par exemple, le mod_rewrite).

Plutôt que de tout recompiler, il est possible d'ajouter un module au serveur Apache de manière dynamique (ou shared) grâce à l'outil apxs (APache eXtenSion tool), fourni avec le package Apache.

Note : cette opération n'est réalisable que si vous avez compiler votre serveur Apache avec le module mod_so ! (option de compilation : --enable-module=shared)

Pour le vérifier, la commande httpd -l vous renseignera sur les modules compilés :

$ httpd -l
Compiled in modules:
  core.c
  prefork.c
  mod_so.c

Les sources d'Apache fournissent un certain nombre de sources de modules, dont le mod_rewrite qui nous intéresse. A partir de là, la compilation et l'installation se fait en une seule commande.

On se place dans le répertoire contenant les sources du module :

$ cd /usr/local/src/httpd-2.2.14/modules/mappers

Et on lance apxs avec trois options, plus le nom du fichier source *.c (fonctionne aussi avec les fichiers objets *.o et les archives *.a) :

  • -c pour compiler
  • -i pour installer le module compilé dans le répertoire des modules d'Apache
  • -a pour ajouter le chargement du module dans la configuration d'Apache (via la directive LoadModule)

$ apxs -i -a -c mod_rewrite.c

Un petit redémarrage d'Apache pour charger le module et c'est fini :

$ /etc/init.d/httpd stop
$ /etc/init.d/httpd start

PS : pour l'installation d'un serveur Apache, voir cet article : http://blog.moncoindunet.fr/linux/installer-un-serveur-apache-avec-php-sur-linux/

Installer un serveur Apache avec PHP sous Linux

Apache est un serveur HTTP open source utilisé pour hébergé des pages web (html, php, etc.). Il est le serveur web le plus populaire depuis 1996 et plus de 50% des sites Internet du monde tournent avec Apache (barre des 100 000 000 de sites dépassée en 2009).

PHP est un langage de programmation largement utilisé dans le développement Web.

L'objectif de cette note est donc d'installer un serveur Apache ainsi que PHP pas à pas à partir des sources officielles, puis de configurer notre serveur Apache pour interpréter les pages PHP.

Logiciels utilisés : Apache 2.2.17 et PHP 5.3.4

Système d'exploitation : Debian  5.0, Linux 2.6.34

Mis à jour le 03/09/2010 : upgrade des versions Apache et PHP et améliorations diverses

Continuer la lecture de « Installer un serveur Apache avec PHP sous Linux »

Installer un serveur MySQL sous Linux

MySQL est un SGBDR (Système de Gestion de Base de Données Relationnelles). Il est disponible en version open source (utilisée ici) et commerciale. Concurrent direct d'Oracle ou de Microsoft SQL Server, il est très utilisé pour des applications Web, notamment en association avec les serveurs Web Apache & Tomcat ainsi que les langages PHP & Java.

Objectif : installer un serveur MySQL pas à pas à partir des sources officielles.

Logiciel utilisé : MySQL 5.1.44

Système d'exploitation : Debian 5.0, Linux 2.6.32

Note : les méthodes d'installations ayant évolué à partir de MySQL 5.5, pour l'installation de MySQL 5.5 se référer plutôt à l'article suivant : http://blog.moncoindunet.fr/linux/installer-un-serveur-mysql-5-5-sur-linux/

Continuer la lecture de « Installer un serveur MySQL sous Linux »

PHP, GD et JPEG …

Voici une petite histoire qui peut arriver à n'importe qui (sisi !) : un jour, vous compilez PHP avec le support GD, sans autre option. Puis, plus tard, vous avez besoin du support JPEG pour GD. Vous retournez donc fièrement voir vos sources et recompilez joyeusement PHP avec GD et le support JPEG … et là : PAF ! Pas d'erreurs à la compilation, tout se passe bien, sauf que votre phpinfo() persiste à vous dire que, bah non, le support JPEG n'est pas activé !

Voici donc la marche à suivre pour que votre phpinfo() vous donne raison :

  • déjà, on installe le paquet libjpeg62-dev, indispensable pour la compilation de PHP :

$ apt-get install libjpeg62-dev

  • ensuite, on s'assure qu'il existe un fichier libjpeg.so quelque part et on note le nom de son répertoire (ici, /usr/lib) :

$ find / -name "libjpeg.so"
/usr/lib/libjpeg.so

  • s'il n'existe pas, il faut chercher un fichier libjpeg.so.62.0.0 puis créer un lien symbolique :

$ find / -name "libjpeg.so.62.0.0"
/usr/lib/libjpeg.so.62.0.0
$ ln -s /usr/lib/libjpeg.so.62.0.0 /usr/lib/libjpeg.so

  • puis; dans le répertoire des sources de PHP, on purge les compilations précédentes :

$ cd /usr/local/src/php-5.2.13
$ make clean

  • on peut maintenant recompiler avec les bonnes options, dont l'emplacement du fichier libjpeg.so :

$ ./configure <les options de compilation précédentes> --with-gd --with-jpeg-dir=/usr/lib
$ make
$ make install

  • et voilà ! Le support JPEG pour GD est maintenant activé et fonctionnel. Ce peut être vérifié en créant un fichier phpinfo.php avec ce contenu :
<?php
phpinfo();
?>
  • on s'aperçoit alors que, dans la section GD, apparait bien la ligne : JPG Support enabled

Sauvegarde et restauration d’une base de données MySQL

Sauvegarde (dump) de la base de données avec compression du fichier de sortie :

$ cd /usr/local/mysql/bin
$ mysqldump -u root -p --database <nom de la base> --add-drop-database | gzip -c9 > /tmp/dump_<nom de la base>.gz

Restauration de la base de données (sur la même machine, ou pas) :

$ cd /tmp
$ gzip -d dump_<nom de la base>.gz
$ cd /usr/local/mysql/bin
$ mysql -u root -p < dump_<nom de la base>

Installer un serveur DNS BIND sous Linux

BIND (Berkely Internet Name Domain) est un serveur DNS open source utilisé pour la résolution de noms Internet.

Objectif : installer un serveur BIND pas à pas à partir des sources officielles afin de s'en servir pour porter une zone Internet (serveur autoritaire) ou pour effectuer du cache DNS (serveur cache seulement).

Logiciel utilisé : BIND 9.7.2-P3

Système d'exploitation : Debian 5.0, Linux 2.6.34

Continuer la lecture de « Installer un serveur DNS BIND sous Linux »