Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 26/09/2006, à 00:15

barbidou

gestion de sites en local avec apache2: configuration

bonjour

après avoir installé le serveur   lamp sur ubuntu 6.06,  ( merci à Laurent Declerq pour son excellent tutoriel) ,   je voudrais pouvoir gérer mon serveur apache , c'est à dire installer en local des versions de développement de plusieurs projets  sur lesquel je travaille.

le  site est le site par  défaut :  localhost  ou 127.0.0.1 ;   

comment changer le nom localhost ?


pour gérer mes projets ,  la solution la plus immédiate   est d'avoir des sous répertoires sous /var/www/,   soit directement, soit sous la forme de liens .
par exemple pour phpmyadmin, l'accès à ce dernier  se fait   via un lien nommé phpmyadmin dans le répertoire /var/www et qui pointe sur /usr/share/phpmyadmin

pour créer un lien vers un répertoire , voici la commande :

 $   sudo ln -s -d  /home/mon_login/mon_repertoire   nom_de_repertoire

sans l'option -s , ça ne marche pas !

a) peut on gérer ça autrement   ?

b) peut -on  transformer ensuite ces sous répertoires en sites distincts ?
faut-il alors une adresse ip par site ?
 


merci de vos réponses

cordialement


Timeo Danaos , et dona ferentes

Hors ligne

#2 Le 26/09/2006, à 00:21

YS

Re : gestion de sites en local avec apache2: configuration

2 choses à faire:
- signaler à ubuntu que les domaines fictifs que tu vas créer doivent être redirigés sur ta machine en local
- signaler à apache où chercher les fichiers pour le domaine fictif donné

1/ Fais un tour du côté de Système > Administration > Réseau pour ajouter à 127.0.0.1 et localhost des domaines fictifs (comme "monsiteweb" si tu veux)

2/ Il te reste à créer un alias pour apache: édites en root /etc/apache2/sites-available/default et ajoute pour chaque site à créer en local

<VirtualHost *>
	DocumentRoot /DOSSIER/LOCAL/DU/SITE/
	ServerName NOM_DE_DOMAINE_FICTIF
</Virtualhost>

J'ai quelques sites en local comme ça et ça tourne, mais je ne peux pas te garantir que c'est la solution 100% pure. ^^

P.S: je ne peux pas te donner exactement l'endroit où ajouter le domaine pour le 1/ car je suis en pleine dist-upgrade vers edgy donc la gestion des permissions est altérée pour le moment. big_smile

Dernière modification par YS (Le 26/09/2006, à 00:23)


Aspirant couche-tard, à tendance otageek.

Hors ligne

#3 Le 26/09/2006, à 06:12

M. DECLERCQ

Re : gestion de sites en local avec apache2: configuration

Bonjour ;

La solution appropriée me semble très simple --> hôtes virtuels

Prenons un exemple concret et pédagogique (enfin, je l'espère big_smile) :

J'ai 4 projets de developpement qui sont les suivants :

1. mars
2. jupiter
3. pluton
4. lune

Ces 4 projets correspondent chacun à un site Web et je désires qu'il soient accessibles en local.

Ma configuration est la suivante :

J'ai installé le Serveur Apache2, php5 et mysql-5.0. Je ne dispose que d'une interface réseau ethernet d'adresse IP 192.168.0.1

Voici donc comment je vais mis prendre :

1. Je vais éditer mon fichier /etc/hosts et  je vais y rajouter ceci :

192.168.0.1   mars
192.168.0.1   jupiter
192.168.0.1   pluton
192.168.0.1   lune

Bien entendu, je ne vais pas oublier d'enregistrer les modifications.

Ensuite, je vais créer quatres nouveaux répertoires dans le répertoire /var/www.

Pour ce faire, je vais taper les commandes suivantes dans un terminal :

1. Je créer le répertoire mars

sudo mkdir /var/www/mars

2. Je créer le répertoire jupiter

sudo mkdir /var/www/jupiter

3. Je créer le répertoire pluton

sudo mkdir /var/www/pluton

4. Je créer le répertoire lune

sudo mkdir /var/www/lune

Une fois ceci fait, et dans la mesure ou il s'agit de projets qui ne seront pas accessibles via internet, j'applique les permissions les plus larges sur les répertoires que je viens de créer :

1. Répertoire mars

sudo chmod 777 /var/www/mars

2. Répertoire jupiter

sudo chmod 777 /var/www/jupiter

3. Répertoir pluton

sudo chmod 777 /var/www/pluton

4. Répertoir lune

sudo chmod 777 /var/www/lune

Une fois ceci fait, il faut que je créer mes hôtes virtuels.

Je me rends donc dans le répertoire /etc/apache2/sites-available et dans ce répertoire, je créer 4 nouveaux fichiers qui sont les suivants :

1. mars.conf
2. jupiter.conf
3. pluton.conf
4. lune.conf

Ceci étant fait, j'édite chacun des fichiers que je viens de créer et je les renseigne de la manière suivante :

1. fichier mars.conf

<VirtualHost *>
     DocumentRoot /var/www/mars
     ServerName   mars
</VirtualHost>

Et je sauvegarde.

2. fichier jupiter.conf

<VirtualHost *>
     DocumentRoot /var/www/jupiter
     ServerName   jupiter
</VirtualHost>

Et je sauvegarde.

3. Fichier pluton.conf

<VirtualHost *>
     DocumentRoot /var/www/pluton     
     ServerName   pluton
</VirtualHost>

Et je sauvegarde.

4. Fichier lune.conf

<VirtualHost *>
     DocumentRoot /var/www/lune
     ServerName   lune
</VirtualHost>

Et je sauvegarde.

Ceci étant terminé, je vais désormais activer les hôtes virtuels que je viens de mettre en place. Pour ce faire, je vais taper les commandes suivantes dans un terminal :

1. J'active mars :

sudo a2ensite mars

2. J'active jupiter :

sudo a2ensite jupiter

3. J'active pluton :

sudo a2ensite pluton

4. J'active lune :

sudo a2ensite lune

Et enfin, je demande au Serveur Web Apache2 de relire ses fichiers de configuration :

sudo /etc/init.d/apache2 reload

Toutes ma configuration de base étant fin prête, je peux dès à présent accéder à l'index de mes différents hôtes virtuels en tapant ceci dans la barre de mon navigateur préféré :

1. Accès à mars :

http://mars

2. Accès à jupiter :

http://jupiter

3. Accès à pluton :

http://pluton

4. Accès à lune :

http://lune

Voilà pour ce qui est de la configuration des Hôtes Virtuels qui accueillerons mes différents projets.

Maintenant, je sais que tout ce qui concerne le projet :
mars doit être placé dans le répertoire :
/var/www/mars ,

jupiter dans le répertoire : /var/www/jupiter ,

pluton dans le répertoir : /var/www/pluton ,

lune dans le répertoire : /var/www/lune.

Bien entendu une fois que j'aurais plaçé mes documents Web dans chacun de mes nouveaux répertoires Web je prendrais le soin d'apliquer les bonnes permissions auxdits documents afin qu'ils soient accessibles.

Pour exemple, une fois que j'aurais plaçé les documents Web liés au projets pluton dans le répertoire Web /var/www/pluton, je taperais la commande suivante dans un terminal :

sudo chmod 777 -R /var/www/pluton

------------------------------
Ps : Dans le cadre de cet exemple, je n'ai pas fait mention des directives qui d'usage doivent êtres incluses dans les fichiers de configuration des Hôtes Virtuels. Ce faisant, il ne s'agit que de developpement.

Par ailleurs, au lieu d'indiquer l'adresse Ip de ma carte réseau, j'ai utilisé le joker (*) qui correpond à toutes les interfaces réseau.

Pour exemple, au lieu d'écrire ceci :

<VirtualHost *>

J'aurais pu écrire ceci :

<VirtualHost 192.168.0.1>

Ce faisant, si je l'avais fait, j'aurais aussi dû rajouter la directive NameVirtualHost 192.168.0.1 dans le fichier /etc/apache2/apache2.conf.

Dans le cas présent, je n'ai pas eu à rajouter cette directive puisque celle-ci était déjà présente dans le fichier /etc/apache2/sites-available/default, qui est créé et activé à l'installation du Serveur Web Apache2.

Cette directive est de la forme :

NameVirtualHost *

Espérant vous avoir aidé....
____________________________
Bien cordialement ;
Monsieur Laurent DECLERCQ

Dernière modification par M. DECLERCQ (Le 27/09/2006, à 22:17)


Cordialement ;

Hors ligne

#4 Le 27/09/2006, à 21:22

barbidou

Re : gestion de sites en local avec apache2: configuration

merci pour  cet exposé
je vais mettre en oeuvre la solution préconisée smile

cordialement


Timeo Danaos , et dona ferentes

Hors ligne

#5 Le 27/09/2006, à 21:50

Fiyorden

Re : gestion de sites en local avec apache2: configuration

Pourquoi ne pas recreer une page sur le wiki avec cette belle explication !!!!


J'ai fais le pas ... Pourquoi pas vous???
Passer a Ubuntu

Hors ligne

#6 Le 28/09/2006, à 10:31

Jarodd

Re : gestion de sites en local avec apache2: configuration

Oui c'est un très bon tuto !

J'ai une question : M. Declercq a précisé qu'il s'agissait de projets de développement, en local. La méthode est-elle aussi compatible avec un environnement de production ? Il faut changer les droits d'accès, mais y a-t-il d'autres manipulations pour sécuriser les projets s'ils sont accessibles de l'extérieur ?

Et puisqu'on parle de sous-répertoires, faut-il utiliser cette méthode pour créer des sous-domaines ? Toutes les docs que j'ai lu à ce sujet ne m'ont pas aidé...

Merci d'avance smile


Ubuntu 22.04.3 LTS (64 bits)

Hors ligne

#7 Le 07/10/2006, à 19:13

Keneyda

Re : gestion de sites en local avec apache2: configuration

Bonjour,

Je viens d'effectuer le tuto de M. DECLERCQ, sur la creation des hosts, et je voulais juste signaler que sur ma version ubuntu 6.06

Je me rends donc dans le répertoire /etc/apache2/sites-available et dans ce répertoire, je créer 4 nouveaux fichiers qui sont les suivants :

1. mars.conf
2. jupiter.conf
3. pluton.conf
4. lune.conf

Je suis obligé de mon coté de faire

Je me rends donc dans le répertoire /etc/apache2/sites-available et dans ce répertoire, je créer 4 nouveaux fichiers qui sont les suivants :

1. mars
2. jupiter
3. pluton
4. lune

Donc sans .conf

Keneyda

Hors ligne

#8 Le 09/05/2007, à 19:33

Squinty

Re : gestion de sites en local avec apache2: configuration

Bonjour,
je voudrais savoir comment faire pour que à l'adresse localhost, on retrouve le choix des différents dossier accessibles en local.
Je m'explique :
J'ai plusieurs projets en cours à tester en local : Jupiter et Mars.
Je place donc un dossier Jupiter contenant tous les fichiers liés à ce projet dans le dossier /var/www. De même pour Mars.
Comment faire pour que Apache m'affiche la liste des dossier placés dans le répertoire www?
En cliquant dessus, j'aimerais qu'il rentre dans le dossier correspondant (et qu'accessoirement, il m'execute le index.php qu'il y a dedans).
En espérant avoir été assez clair sur mes attentes.
Merci d'avance

Hors ligne

#9 Le 18/05/2007, à 18:41

Camomille

Re : gestion de sites en local avec apache2: configuration

Merci pour le tuto ça marche nickel !

Par contre, je trouve un peu rébarbatif de devoir modifier le fichier hosts sur chaque ordinateur client (pour le cas d'un réseau local).

N'y a-t-il pas moyen de configurer directement ça sur la machine serveur ?
Je pense que c'est faisable avec Bind, mais vu que j'y connais rien en DNS...... C'est possible ?