Comment faire pour exécuter plusieurs sites sur un apache instance

Passé des heures à tourner en rond à la suite de chaque guide que je peux trouver sur le net.

Je veux avoir deux sites en cours d'exécution sur un seul apache exemple, quelque chose comme ça -
192.168.2.8/site1
et
192.168.2.8/site2

J'ai été tourner en rond, mais pour le moment j'ai deux fichiers de conf dans des "sites-available (liés à des sites-enabled)" qui ressemble à ceci-

<VirtualHost *:2000>

ServerAdmin [email protected]
ServerName site1
ServerAlias site1

# Indexes + Directory Root.
DirectoryIndex index.html
DocumentRoot /home/user/site1/

# CGI Directory
ScriptAlias /cgi-bin//home/user/site1/cgi-bin/

Options +ExecCGI

# Logfiles
ErrorLog /home/user/site1/logs/error.log
CustomLog /home/user/site1/logs/access.log combined

</VirtualHost>

et

<VirtualHost *:3000>

ServerAdmin [email protected]
ServerName site2
ServerAlias site2

# Indexes + Directory Root.
DirectoryIndex index.html
DocumentRoot /home/user/site2/

# CGI Directory
ScriptAlias /cgi-bin//home/user/site2/cgi-bin/

Options +ExecCGI

# Logfiles
ErrorLog /home/user/site2/logs/error.log
CustomLog /home/user/site2/logs/access.log combined

</VirtualHost>

http.conf ressemble à ceci-

NameVirtualHost *:2000
NameVirtualHost *:3000

Pour le moment, je reçois cette erreur-

[error] VirtualHost *:80 — mixing * ports and non-* ports with a NameVirtualHostaddress is not supported, proceeding with undefined results

Ports.conf ressemble à ceci – (bien que pas de guides ont mentionné la nécessité de modifier ce)

NameVirtualHost *:80

Listen 80
<IfModule mod_ssl.c>
# If you add NameVirtualHost *:443 here, you will also have to change
# the VirtualHost statement in /etc/apache2/sites-available/default-ssl
# to <VirtualHost *:443>
# Server Name Indication for SSL named virtual hosts is currently not
# supported by MSIE on Windows XP.
Listen 443
</IfModule>

<IfModule mod_gnutls.c>
Listen 443
</IfModule>

Quelqu'un peut-il donner quelques instructions simples pour obtenir cette course? Chaque guide que j'ai trouvé a dit de le faire d'une manière différente, et chacun d'eux mène à des erreurs différentes. Je suis évidemment faire quelque chose de mal mais n'ont pas trouvé d'explication claire de ce que cela pourrait être.

Veux juste un site accessible sur le port 2000 et l'autre accessible sur le port 3000 (ou que ce soit, juste pris ces ports pour le test).

Je suis sur Ubuntu server 12.04...

=============

MODIFIER

Suivie d'une autre "guide"...

Maintenant, j'ai mis cela dans sites-available:

<VirtualHost *:80>
    DocumentRoot "/home/user/site1/"
    ServerName 192.168.2.10/site1
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "/home/user/site2/"
    ServerName 192.168.2.10/site2
</VirtualHost>

Ont mis cela dans apache2.conf:

ServerName site1
ServerName site2

Ont ajouté ceci à des ports.conf:

Listen 192.168.2.10:80

==============

MODIFIER

Il fonctionne maintenant, j'ai mis ça dans un fichier de conf dans sites-enabled:

<VirtualHost *:81>
    DocumentRoot "/home/user/site1/"
    ServerName site1
</VirtualHost>

<VirtualHost *:82>
    DocumentRoot "/home/user/site2/"
    ServerName site2
</VirtualHost>

J'ai ceci dans les ports.conf:

Listen *:80
Listen *:81
Listen *:82

J'ai ceci dans apache2.conf:

ServerName site1
ServerName site2

Je n'ai pas trouver dans tous les guides, je viens de travailler pendant toute une journée d'essais et d'erreurs, donc je ne sais pas si c'est une bonne solution. Mais c'est au moins de travail de la façon dont je le veux maintenant.

  • Il me semble que vous devez spécifier les noms d'hôte virtuel dans NameVirtualHost.
  • Cheers, j'ai essayé beaucoup de choses le long de ces lignes, pouvez-vous être plus précis sur ce que je devrais essayer de mettre là-dedans?
  • Après une journée entière à essayer d'obtenir ce travail, j'ai enfin tombé sur la réponse lol. Je me sens mentalement vidé, je vais au lit. Je doute que ma famé apache hack solution serait de l'intérêt de personne, mais je vais le modifier dans la fin de ma question.
  • Mais si quelqu'un peut fournir de plus amples informations ou une explication à propos de cela, je vais le marquer comme réponse...
  • je ne pourrais pas utiliser le même sous-structure de dossier que le site en direct en quelque sorte. Dans Apache, le haut niveau (menu des sites) index.php fichier <a>s de l'individu, les index et les fichiers étaient assis dans des sous-dossiers. sites chargés mais les sites individuels des indices (php) se référant à leur css ou js dans des sous-dossiers, ce qui n'a pas fonctionné. J'avais besoin de mettre ces dossiers à droite au niveau de la racine, où les "sites " menu" index.php est assis. Bousille mon contenu, structure, mais il fonctionne. Maintenant j'ai besoin de faire attention à ne pas avoir les mêmes noms de dossier ou d'un fichier similaire noms pour mes projets. Une meilleure solution serait appréciée.
InformationsquelleAutor Exbi | 2012-09-09