Pages : 1
#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.
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 ) :
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
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
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 ?