Héberger un serveur Web 2.0

Le "web deux point zéro" est partout, on en mange à toutes les sauces. Nous allons dans ce post nous focaliser sur les aspects techniques avec la mise en place d'une plate-forme Web 2.0 "open-source" hébergée directement chez vous.

Avant d'entrée dans le vif du sujet, voici la liste des services Web 2.0 que nous allons installer:
- Serveur LDAP pour la gestion des comptes utilsateurs.
- Serveur de messagerie (avec Webmail).
- Serveur Web (avec blog et forum).
- Serveur de fichiers.
Cette liste est bien entendu non exhaustive, à vous d'installer les services qui répondent à vos besoins...

Pour cela nous loons utiliser:
- un accès Internet haut débit.
- un routeur d'accès sécurisé si possible avec une DMZ.
- une machine (serveur) de type Linux ou BSD.

Architecture du réseau

Il est important de noter que la bande passante de votre accès doit être la plus symétrique possible. En technologie ADSL le "A" veut dire asymétrique, ce qui implique que la bande passante entre Internet et vous et beaucoup plus important que celle entre vous et Internet. Hors quand l'on souhaite héberger des services, il faut que la bande passante entre vous et Internet soit également importante.

Au niveau du serveur qui va héberger les services "2.0", il est préférable de dédier une machine (pas besoin d'un bête de course, un simple PC avec un peu de RAM et de HD suffit largement). Cette machine pourra être hébergé sur une DMZ, c'est à dire un réseau isolé du réseau ou se trouve vos autres machines (ce n'est pas obligatoire mais conseillé pour des raisons de sécurité).

Installation du système sur le serveur

La première étape consiste donc à installer le système sur la machine serveur. Pour cela vous pouvez vous référer aux deux posts suivants selon votre choix:
- Installation de FreeBSD
- Installation de Fedora

Il n'est pas nécessaire d'installer une interface graphique de type Gnome ou KDE, en effet tout peut être fait en ligne de commande.

Le serveur doit être mis à jour régulièrement au niveau des patchs de sécurité. En effet comme il sera accéssible depuis Internet, il risque de subir des attaques sur les ports réseaux qui seront ouverts.

Installation du serveur LDAP

Le serveur LDAP stockera l'ensembles des informations sur les utilisateurs que vous allez déclarer. Nous utilisons OpenLDAP (suivre la procédure ici).

Installation du serveur de messagerie

Nous allons nous baser sur Postfix qui a le mérite d'être beaucoup plus facile à configurer que Sendmail. Le site suivant est une bonne base en Francais pour la configuraton de se serveur de mail. Pour que le serveur de messagerie utilise les comptes utilisteurs LDAP, on utilisera la documentation suivante.

Si vous avez un nom de domaine, il faudra configurer votre MX pour qu'il pointe vers l'adresse IP publique de votre serveur. Ainsi un mail envoyé à vous@votredomaine.com sera relayé automatiquement vers votre serveur.

Au niveau de votre routeur d'accès, les ports réseaux à ouvrir au niveau du Firewall sont les suivants: POP, SMTP

Pour l'accès via le Web, on peut installer RoundCube, un Webmail très bien fait. Ce dernier nécessite l'installation préalable d'un serveur Web.

Installation du serveur Web

Le serveur Web est le coeur de votre serveur 2.0, on utilisera Apache qui est incontournable... Le post suivant vous aidera à installer le service.

Il faut ensuite installer le moteur de Blog WordPress. Pour cela, il faut d'abord installer un serveur de base de données MySQL puis installer la dernière version de WordPress.

Enfin on installe le serveur de forum PhpBB.

Au niveau de votre routeur d'accès, les ports réseaux à ouvrir au niveau du Firewall sont les suivants: HTTP et HTTPs

Installation du serveur de fichiers

Le serveur de fichiers (FTP) se base sur ProFTPd. On peut trouver une procédure d'installation ici.

Au niveau de votre routeur d'accès, les ports réseaux à ouvrir au niveau du Firewall sont les suivants: FTP, SFTP

Cet article n'est là que pour introduire la notion d'hébergement.
A vous d'installer d'autres services !

Bouquins sur le sujet:

  • http://gnubuntu.free.fr khalid

    Salut Nico,

    Super, merci ..
    Voilà quelques semaines que je réflichi à faire un serveur chez moi mais j’aurais quelques questions à te poser.
    J’ai récupéré un portable qu’un ami voulais jeté !!!
    Après avoir viré le Win XP, j’ai installer Ubuntu LTS -> Edgy et là Faisty Beta !
    Discription :
    * 20 Go de HD
    * 256 Mo de RAM
    * Intel Celeron
    c’est un “Gericom Hummer” vieux c’est vrai, mais l’idée c’est d’apprendre dessus..
    Donc je voulais avoir ton avis sur la question ..

  • http://blog.nicolargo.com NicoLargo

    Salut Khalid,

    cette configuration est largement suffisante. Par contre, je te conseille d’installer un système “light”, sans interface graphique et avec seulement les services dont tu as besoin de lancer.

    N’hésites pas si tu as d’autres questions.

  • Adil

    Bonjour ,

    Je vaudrais installer un serveur de messagerie chez moi , est ce que je dois demander a la société qui héberge mon nom de domine de créer un enregistrement MX vers mon adresse IP privé et configurer mon MX pour qu’il pointe vers l’adresse IP publique de mon serveur.

    D’avance merci.

  • http://blog.nicolargo.com NicoLargo

    @adil: il faut que tu demandes à l’hébergeur de ton nom de domaine de modifier le MX pour le faire pointer vers ton adresse IP publique (et non pas privé). Si ton serveur de messagerie est dans un sous-réseau privé, il faudra que tu fasses, au niveau de ton routeur d’accès, une redirection de port (TCP et UDP 53) de ton adresse publique vers ton adresse privé.

    PS: mis à part le fait que ca fasse bien d’avoir un serveur de messagerie à soit, quel est l’avantage part rapport à des services d’un hébergeur ? n’oublie pas qu’en cas de problème sur ta liaison, les messages seront perdus…

  • ntc

    Bonjour,

    j’aimerai bien avoir une idée sur comment demander à mon serveur de retourner du https à la place de http
    merci

  • rihab

    bonjour , svp quelqu’un peut m’aider d’expliquer les techniques à utiliser pour mettre en place un serveur web et ses services . merci d’avance.