Synopsis Table des matières








télécharger 22.3 Kb.
titreSynopsis Table des matières
date de publication29.04.2018
taille22.3 Kb.
typeSynopsis
ar.21-bal.com > économie > Synopsis

v:\users\badger\pictures\logo.gif

Héberger un site Web chez soi







François Allais

10/05/2011



Remerciements
J'adresse ici tous mes remerciements à l'équipe de rédaction de "developpez.com" pour le temps qu'ils ont bien voulu passer à la correction et à l'amélioration de cet article.





Synopsis

Table des matières




Introduction 3

Architecture globale 3

Le routeur 4

DMZ 4

Cas particulier 5

Remarque 5

Serveur 5

Configuration IP 5

Apache, PHP et MySQL 5

Configuration des sites 5

Définitions des besoins 5

Le fichier httpd.conf 6

Journalisation des évènements 7

Conclusion 8

Liens 8


Introduction


Aujourd’hui, beaucoup de personnes développent des sites Web chez eux en freelance ou simplement pour le plaisir mais se heurtent aux problèmes de l’hébergement. Le projet doit être accessible à tous les développeurs, sécurisé, extensible et tout cela à moindre cout. C’est la raison pour laquelle beaucoup se tournent vers l’hébergement à domicile.

Cette solution est tout à fait possible puisqu’elle est l’objet de ce tutoriel qui proposera un serveur sécurisé, accessible et journalisé.

Architecture globale


Le schéma suivant présente l’architecture qui va être réalisée dans ce tutoriel.

architecture globale.png

Le routeur


Pour réaliser ce tutoriel, un routeur est nécessaire. Il peut être matériel, ou inclus dans les modems vendus sur le marché. Si tel est le cas, il doit être activé. Consultez la FAQ de votre fournisseur d’accès pour activer cette fonction.

DMZ


Une DMZ, Demilitarized Zone en anglais, va permettre d’isoler le serveur Web de votre LAN tout en le rendant accessible depuis Internet. Ce concept est largement répandu dans la sécurité informatique car concrètement si le serveur web est compromis, le réseau local reste protégé.

dmz.png

Fonctionnement d’une DMZ

La plupart des FAI proposent des modems qui disposent de la fonction DMZ, mais également les équipements réseaux disponibles sur le marché. Pour savoir si votre équipement dispose de cette fonctionnalité, il suffit de se rendre sur la page d’administration et aller dans les fonctions relatives au routage. Un onglet ou un champ nommé DMZ doit s’y trouver.

Si tel est le cas, vous devez renseigner une adresse IP qui sera utilisée par le serveur dans la suite du tutoriel. Utilisez par exemple l’adresse 192.168.0.1.

Cas particulier


Si votre modem ou votre équipement ne propose pas la fonction DMZ, vous pouvez procéder autrement grâce à une astuce. En effet, il vous suffit de rediriger l’intégralité des ports (1 à 65535) vers le serveur, donc vers l’adresse 192.168.0.1.

Remarque


Il faut absolument veiller à ce que l’adresse de la DMZ ne soit pas comprise entre les intervalles du DHCP. En effet, si le serveur Web vient à être arrêté, l’adresse de la DMZ pourrait être attribuée à un ordinateur qui ne serait pas le serveur Web et cela serait dramatique.

Vous pouvez par exemple fixer le DHCP comme ceci :

  • Début : 192.168.0.10

  • Fin : 192.168.0.20

Serveur


Dans ce tutoriel, le serveur fonctionnera avec Linux, plus particulièrement la distribution Ubuntu. Notez que le serveur peut tout à fait être virtuel à l’aide de solutions telles que VMWare (payante) ou VirtualBox (gratuite). Dans ce cas, d’un point de vue conceptuel, l’architecture reste la même mais vous économisez une machine.

Configuration IP


Le serveur doit avoir une IP statique de valeur identique à celle renseignée dans le routeur, dans notre exemple 192.168.0.1 (Masque 255.255.255.0 et Passerelle 192.168.0.254). Ainsi toutes les nouvelles connexions entrantes seront redirigées vers le serveur Web.

Apache, PHP et MySQL


Si vous lisez ce tutoriel, il est fort probable que PHP, MySQL et apache soit installés sur votre serveur. Si ce n’est pas le cas, la documentation d’Ubuntu à ce sujet est très complète.

Configuration des sites

Définitions des besoins


Pour bien comprendre le mécanisme mis en place, nous allons configurer deux sites Web. Le premier site web est un projet sur les pommes, il est en phase de test et doit donc être accessible par tous les membres du projet et les bêta-testeurs. Le deuxième site est un projet sur les bananes, il commence à peine et doit uniquement être accessible par les utilisateurs du LAN.

Les besoins en termes de sécurité sont résumés dans ce tableau :




LAN

Locale

Extérieur

Site n°1 (apple)

check, confirm, ok, yes icon

check, confirm, ok, yes icon

check, confirm, ok, yes icon

Site n°2 (banana)

check, confirm, ok, yes icon

check, confirm, ok, yes icon

close, closing, delete, dialog, disabled, exit, no, red x, x icon


Le fichier httpd.conf



# Site n°1 (apple)
# Déclaration des serveurs virtuels
NameVirtualHost 127.0.0.1:8080
NameVirtualHost 192.168.0.1:8080
# Déclaration des cibles d’écoute
Listen 127.0.0.1:8080
Listen 192.168.0.1:8080
# Locale

DocumentRoot "/home/websites/apple/www"
DirectoryIndex index.html
CustomLog /var/log/websites/apple.log combined

AllowOverride All Allow from All
# DMZ DocumentRoot "/home/websites/apple/www" DirectoryIndex index.html CustomLog /var/log/websites/apple.log combined AllowOverride All Allow from All # Site n°2 NameVirtualHost 127.0.0.1:8081 NameVirtualHost 192.168.0.1:8081 Listen 127.0.0.1:8081 Listen 192.168.0.1:8081 DocumentRoot "/home/websites/banana/www" DirectoryIndex index.html CustomLog /var/log/websites/banana.log combined AllowOverride All Allow from All DocumentRoot "/home/websites/banana/www" DirectoryIndex index.html CustomLog /var/log/websites/banana.log combined AllowOverride All Allow from All

Pensez à créer les deux répertoires apple et banana dans /home. Chacun de ces répertoires doit contenir un fichier index.html contenant un petit message d’accueil personnalisé.

Ainsi, chaque projet pourra être consulté en interne ou en externe de la manière suivante :

  • Site n°1 (apple)

    • [IP DMZ] : http://192.168.0.1:8080

    • [IP Locale] : http://127.0.0.1 :8080

    • [IP Publique] : http://82.120.150.140:8080

  • Site n°2 (banana)

    • [IP DMZ] : http://192.168.0.1:8081

    • [IP Locale] : http://127.0.0.1 :8081

Journalisation des évènements


Nous avons vu dans le http.conf que les logs sont externalisés dans un répertoire dédié. Il est donc nécessaire de créer ce répertoire et les fichiers associés.

cd /var/log/

mkdir websites

cd websites/

touch apple.log banana.log

Les logs peuvent être étudiés via une interface graphique, je vous conseille d’utiliser AWStats.

Conclusion



Liens


similaire:

Synopsis Table des matières iconTable des matières

Synopsis Table des matières iconTable des matières

Synopsis Table des matières iconTable des matières

Synopsis Table des matières iconTable des matières

Synopsis Table des matières icon1. Table des Matières

Synopsis Table des matières iconTable des matières

Synopsis Table des matières iconTable des matières

Synopsis Table des matières iconTable des matières

Synopsis Table des matières iconTable des matières

Synopsis Table des matières iconTable des matières








Tous droits réservés. Copyright © 2016
contacts
ar.21-bal.com