web-dev-qa-db-fra.com

apache sur le répertoire virtuel windows config help

J'utilise Apache sous Windows XP via Xampplite et je pourrais utiliser l'aide pour configurer mon répertoire virtuel. Voici ce que j'espère faire sur ma boîte de dev:

  1. Je veux que mes fichiers source résident en dehors du répertoire xampp htdocs
  2. sur mon ordinateur local, je peux accéder au projet sur http: // myproject
  3. les autres utilisateurs de mon réseau local peuvent accéder au projet à l'adresse my.ip.address/myproject
  4. faites en sorte que localhost pointe vers le dossier htdocs de xampp afin que je puisse facilement ajouter d'autres projets.

1 & 2 travaille en modifiant le fichier hosts de Windows et en ajoutant un répertoire virtuel dans le fichier Apache\conf\extra\httpd-vhosts.conf de xampp. Je ne vois pas immédiatement comment faire 3 sans gâcher 4.

19
sprugman

Je l'ai compris: utilisez Alias ​​pour # 3, au lieu de VirtualHost, ainsi:

Alias /myproject "C:/path/to/my/project"
<Directory "C:/path/to/my/project">
  Options Indexes FollowSymLinks MultiViews ExecCGI
  AllowOverride All
  Order allow,deny
  Allow from all
</Directory>
29
sprugman

Pour accomplir votre liste de besoins.

1) Faites le répertoire:

mkdir c:\xampp\sites\myproject

2) Éditez c:\windows\system32\drivers\etc\hosts pour qu'il contienne cette ligne:

127.0.0.1 mon projet

et ajoutez ce qui suit à c:\xampp\Apache\conf\extra\httpd-vhosts.conf:

  NameVirtualHost myproject:80

  <VirtualHost myproject:80>
  DocumentRoot c:/xampp/sites/myproject
  Options Indexes FollowSymLinks Includes ExecCGI
   AllowOverride All
  Order allow,deny
  Allow from all  
  </Directory>

3) Ajoutez les lignes suivantes à la fin de c:\xampp\Apache\conf\httpd.conf:

  Alias /myproject/  "/xampp/sites/myproject/"

  <Directory "/xampp/sites/myproject">
  AllowOverride None
  Options None
  Order allow,deny
  Allow from all
  </Directory>

4) Laissez DocumentRoot, Directory, etc. dans c:\xampp\Apache\conf\httpd.conf seul pour accomplir cela. Pour référence ces lignes seraient:

  DocumentRoot "/xampp/htdocs"

  <Directory />
   Options FollowSymLinks
   AllowOverride None
   Order deny,allow
   Deny from all
  </Directory>

  <Directory "/xampp/htdocs">
   Options Indexes FollowSymLinks Includes ExecCGI
   AllowOverride All
   Order allow,deny
   Allow from all
  </Directory>
10
jeremyasnyder

Première activation: LoadModule alias_module modules/mod_alias.so

<IfModule alias_module>
  Alias /ddd "D:/prj/customer/www"

  <Directory "D:/prj/customer/www">
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride all
    Order allow,deny
    Allow from all
  </Directory>
</IfModule>

Testé sur WAMP 2.2 et son fonctionnement: http: // localhost/ddd

2
Stefan Michev

Dans httpd.conf, ajoutez les lignes suivantes mutatis mutandis:

<IfModule alias_module>
    Alias /angular-phonecat "C:/DEV/git-workspace/angular-phonecat"
</IfModule>

<Directory "C:/DEV/git-workspace/angular-phonecat">
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride all
    Order allow,deny
    Allow from all
    Require all granted
</Directory>

Cela a fonctionné à merveille sur mon installation (Windows) XAMPP après le redémarrage du serveur Apache. J'ai dû ajouter "Exiger tout ce qui est accordé", mais sinon, c'est à peu près la même chose que les réponses ci-dessus.

1
4pi

résolu le problème. il manquait la balise de répertoire.

NameVirtualHost myproject:80
<VirtualHost myproject:80>
    DocumentRoot "D:/Solution"
    <Directory "D:/Solution">
        Options Indexes FollowSymLinks Includes ExecCGI
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>    
</VirtualHost>
0
Nilanjan

NameVirtualHost mon projet: 80 <VirtualHost mon projet: 80>
</ Répertoire>

Doit être:

NameVirtualHost mon projet: 80 <VirtualHost mon projet: 80>
</ VirtualHost>

salue;)

0
frans