Cette page n'a pas encore d'étiquettes.
Apportez votre aide…

Ceci est une ancienne révision du document !



Apache2 , Astuces et DynDNS

Cette documentation a pour but de donner un exemple de mise en place d'hôtes virtuels sur son PC dans le cadre d'un développeur de page internet, souhaitant séparer des sections : Administration , Privée , Publique ; en utilisant un nom de domaine gratuit du type DynDNS.

Avoir un serveur LAMP installé et fonctionnel.

(Ceci concerne principalement les utilisateurs de Livebox/Orange)

Pour rendre un domaine mon_domaine.dnsalias.net accessible en local,
éditez le fichier avec des droits root /etc/hosts

127.0.0.1	localhost mon_domaine.dnsalias.net

Pour appliquer le nom de domaine à votre serveur (ServerName),
éditez le fichier avec des droits root /etc/apache2/apache2.conf

ServerName mon_domaine.dnsalias.net
ServerRoot "/etc/apache2"

Puis rechargez la configuration d'Apache

sudo /etc/init.d/apache2 reload

Vous avez désormais accès à votre serveur via votre nom de domaine DynDNS

Nous allons rester dans l'esprit Ubuntu et se baser sur le principe d'un disque ou d'une partition monté au démarrage de votre ordinateur soit : /media/web ; pour ce qui est des sections 'privée' et 'publique'.(il sera ainsi accessible depuis le bureau)

Bien sur vous pouvez choisir un tout autre chemin.

Zone Administration

Racine : /var/www

Cette "zone" doit être accessible en local et/ou dans le réseau local. Elle contient entre autre phpMyAdmin (le gestionnaire de base de données MySql).

L'erreur de beaucoup de personnes arrivant sur Ubuntu est de créer des pages internet avec des droits d'administration ou d'affecter le répertoire /var/www à un utilisateur. En contrepartie, beaucoup d'utilisateurs trouvent également peu pratique de devoir travailler dans un répertoire qu'ils n'ont pas choisit.

Nous allons donc rendre ce répertoire strictement local et interdit au "reste du monde".

Pour ce faire, éditez le fichier avec des droits root /etc/apache2/sites-available/default

Dans la section <Directory /var/www/>…</Directory>, Changez la ligne

Order Allow,Deny

en

Order Deny,Allow

On interdit tout le monde

Deny from all

Et on autorise localhost et éventuellement le réseau/pc

Allow from localhost
Allow from 192.168.1.0/24

Zone Privée

Racine : /media/web/private

Cet espace vous permet de créer des pages internet/applications web strictement privées.

Créez le dossier qui contiendra ces fichiers

sudo mkdir /media/web/private

Nous rendons ce dossier accessible à l'utilisateur principal en écriture/lecture

sudo chown -R $USER:users /media/web/private

Éditez le fichier avec des droits root /etc/apache2/sites-available/default

Après la section <Directory /var/www/>…</Directory>, nous allons créer un Alias et définir les droits d'accès pour cet alias

Alias /private /media/web/private
<Directory /media/web/private>
	Options Indexes FollowSymLinks MultiViews
	AllowOverride All
	Order deny,allow
	Deny from all
	Allow from localhost
</Directory>

Explications :

Alias /private /media/web/private

permet l'accès à cet espace depuis l'URL http://nom_domaine.aliasdns.net/private

AllowOverride All

permet de gérer l'URLRewriting (entre autre).

Deny from all

interdit l'accès à tout le monde.

Allow from localhost

autorise l'accès en local.

Pour que cette espace vous soit accessible depuis votre dossier principal /var/www –> http://nom_domaine.aliasdns.net, nous allons créer un lien symbolique.

sudo ln -s /media/web/private /var/www/private

On recharge la configuration d'apache

sudo /etc/init.d/apache2 reload

Zone Publique

Racine : /media/web/public

Cette espace vous permet de mettre en ligne vos créations et sera accessible à tout le monde.

Créez le dossier destiné à accueillir vos fichiers

sudo mkdir /media/web/public

Rendons ce dossier accessible à l'utilisateur principal en écriture/lecture

sudo chown -R $USER:users /media/web/public

Éditez le fichier avec des droits root /etc/apache2/sites-available/default

Après la section <Directory /var/www/>…</Directory>, nous allons créer un Alias et créer les droits de cet alias

Alias /public /media/web/public
<Directory /media/web/public>
	Options Indexes FollowSymLinks MultiViews
	AllowOverride All
	Order allow,deny
	Allow from all
</Directory>

Explications :

Alias /public /media/web/public

permet d'accèder à cet espace depuis l'URL http://nom_domaine.aliasdns.net/public

AllowOverride All

permet de gérer l'URLRewriting (entre autre).

Allow from all

autorise l'accès pour tout le monde

Pour que cette espace vous soit accessible depuis votre dossier principal /var/www –> http://nom_domaine.aliasdns.net, nous allons créer un lien symbolique.

sudo ln -s /media/web/public /var/www/public

On recharge la configuration d'apache

sudo /etc/init.d/apache2 reload

Erreur 403

Afin d'éviter l'affichage d'erreur 403 à vos visiteurs (erreur d'URL ou non) on va les rediriger automatiquement vers la section publique.
il suffit d'ajouter pour les sections

<Directory /var/www/>
<Directory /media/web/private>
<Directory /media/web/public>

une ligne de gestion d'erreur qui sera uniquement valable pour ces sections.

Éditez le fichier avec des droits root /etc/apache2/sites-available/default et insérez pour chaque section :

  <Directory /....>
    ErrorDocument 403 "http://nom_domaine.dnsalias.net/public"
    .....
  </Directory>

Vous disposez à présent d'un serveur 'web' vous permettant de travailler directement sur vos fichiers publics et privés et ce dans un environnement séparé (pratique dans le cas d'un média amovible, pour emporter son travail) et vous pouvez donner des liens "complet" depuis votre nom de domaine gratuit sans devoir remplacer localhost par nom_domaine.aliasdns.net avant de coller vos liens. De plus vos visiteurs dans le cas d'une erreur d'url (omission du répertoire /public) seront automatiquement redirigés vers celui-ci.


virtualhosts_avec_apache2_et_dyndns Contributeurs : McPeter

  • tutoriel/virtualhosts_avec_apache2_et_dyndns.1196971001.txt.gz
  • Dernière modification: Le 18/04/2011, 14:51
  • (modification externe)