Bonjour,
Je cherche à configurer un serveur apache en interne dans mon entreprise, afin de pouvoir héberger plusieurs sites mais je n'y arrive pas.
Voici ce que j'ai fait actuellement :
- un serveur apache sur un linux ( ubuntu je sais plus quelle version mais avec le noyau 3.0.0 )
- un premier site de configuré pour gérer un dépot svn. Celui-ci est configuré non pas dans le fichier sites-available/default , mais dans le fichier mods-availables/dav_svn.conf ( je ne comprends pas déjà pourquoi on peut configurer plusieurs accès à plusieurs endroits différents ).
J'ai plusieurs dépots, mais cela ne change rien, je donne la config d'un dépot :
Code :
- <Location /svn-tools>
- DAV svn
- SVNPath /var/svn/svn-tools
- AuthType Basic
- AuthName "Subversion Repository tools"
- AuthUserFile /etc/apache2/dav_svn_tools.passwd
- </Location>
|
J'ai donc une authentification pour ce "site" , et l'accès de ce site se fait de la facon suivante : http://monserveur/svn-tools/
Ceci fonctionne bien, et je peux dupliquer autant de location que j'ai besoin de dépot avec leur propre fichier d'authentification si je le souhaite.
- un second site cette fois ci configuré de facon standard ( dans /var/www/ ) .Celui-ci est donc configuré dans sites-available/default dans lequel on voit apparaitre des "virtualhost" et des "directory". Déjà, c'est différent des "location" de la méthode précédente, je ne comprends pas bien la différence.
voici la configuration par défaut ( je n'ai rien changé pour le moment au fichier de configuration default ).
Code :
- <VirtualHost *:80>
- ServerAdmin webmaster@localhost
- DocumentRoot /var/www
- <Directory />
- Options FollowSymLinks
- AllowOverride None
- </Directory>
- <Directory /var/www/>
- Options Indexes FollowSymLinks MultiViews
- AllowOverride None
- Order allow,deny
- allow from all
- </Directory>
- ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
- <Directory "/usr/lib/cgi-bin">
- AllowOverride None
- Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
- Order allow,deny
- Allow from all
- </Directory>
- ErrorLog ${APACHE_LOG_DIR}/error.log
- # Possible values include: debug, info, notice, warn, error, crit,
- # alert, emerg.
- LogLevel warn
- CustomLog ${APACHE_LOG_DIR}/access.log combined
- Alias /doc/ "/usr/share/doc/"
- <Directory "/usr/share/doc/">
- Options Indexes MultiViews FollowSymLinks
- AllowOverride None
- Order deny,allow
- Deny from all
- Allow from 127.0.0.0/255.0.0.0 ::1/128
- </Directory>
- </VirtualHost>
|
ce site se trouve donc par défaut dans /var/www et si j'accède à l'adresse http://monserveur/ je tombe sur mon site. Jusque là, normal.
Ce que je souhaite faire , c'est avoir non pas un site, mais autant que je souhaite ( on va commencer par 2 ).
Je souhaite accéder à ces sites de la facon suivante :
http://monserveur/site1/
http://monserveur/site2/
si je crée 2 répertoires dans /var/www : /var/www/site1/ qui contient mon site1 et /var/www/site2/ qui contient mon site2 , cela fonctionne.
Sauf que je souhaite mettre une authentification sur site1 , et pas d'authentification sur site 2.
Si je rajoute les lignes suivantes dans mon directory /var/www
Code :
- AuthType Basic
- AuthName "Wiki "
- AuthUserFile /etc/apache2/wiki.passwd
|
l'authentification va agir sur tout /var/www/ donc sur mon site 1 et sur mon site 2.
Maintenant, je ne vois pas comment faire pour séparer la configuration en 2 sites distincts, afin de pouvoir agir indépendamment sur mes sites :
- je veux pouvoir choisir le répertoire qui contient mon site : /var/www/site1 et /var/www/site2 mais ca pourrait être également /var/www pour le site1 et /mnt/disk/www pour le site2
- je veux pouvoir gérer l'authentification indépendamment sur chaque site , donc en mettre une ou non et pas forcément avec les memes user/pass.
- l'accès de mes sites devrait se faire de la facon suivante : http://monserveur/site1 et http://monserveur/site2 ( http://monserveur/ devrait ne pas fonctionner ou pointer vers un 3eme site encore différent ). Et non pas http://monsite1/ et http://monsite2. En effet, je n'ai pas de serveur dns en interne, et de toutes facons, ces sites sont égalements accessible de l'externe d'une facon différente, et je n'ai qu'une seule adresse dns externe pour accéder à mon apache , donc je ne peux pas les différencier par leur adresse dns également.
Dois-je pour cela créer plusieurs virtual host ? Ou à l'intérieur de mon virtual host, dois je déclarer plusieurs directory ? J'ai fait plusieurs essais, mais aucun ne fonctionne
Quelqu'un aurait-il une idée ?
Merci d'avance