ネットで見つけることができるすべてのガイドに従って、何時間も円を描いて過ごしました。
192.168.2.8/site1 と 192.168.2.8/site2 のように、1 つの Apache インスタンスで 2 つのサイトを実行したい
私はぐるぐる回っていますが、現時点では、「sites-available (sites-enabled にシンボリックリンクされています)」に次のような 2 つの conf ファイルがあります-
<VirtualHost *:2000>
ServerAdmin webmaster@site1.com
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>
と
<VirtualHost *:3000>
ServerAdmin webmaster@site2.com
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 は次のようになります。
NameVirtualHost *:2000
NameVirtualHost *:3000
現時点では、このエラーが発生しています-
[error] VirtualHost *:80 — mixing * ports and non-* ports with a NameVirtualHostaddress is not supported, proceeding with undefined results
Ports.conf は次のようになります (ただし、これを編集する必要があると言及されているガイドはありません)。
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>
これを実行するための簡単な指示を誰かに教えてもらえますか? 私が見つけたすべてのガイドは、異なる方法でそれを行うように言っており、それぞれが異なるエラーにつながります. 私は明らかに何か間違ったことをしていますが、それが何であるかについての明確な説明は見つかりませんでした。
1 つのサイトをポート 2000 でアクセス可能にし、もう 1 つのサイトをポート 3000 でアクセス可能にするだけです (または、それらのポートを選択してテストするだけです)。
Ubuntu サーバー 12.04 を実行しています…</p>
=============
編集
別の「ガイド」に従いました...
これをサイト利用可能で設定しました:
<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>
これをapache2.confに設定しました:
ServerName site1
ServerName site2
これをports.confに追加しました:
Listen 192.168.2.10:80
==============
編集
これで動作します。これをサイト対応の conf ファイルに入れます。
<VirtualHost *:81>
DocumentRoot "/home/user/site1/"
ServerName site1
</VirtualHost>
<VirtualHost *:82>
DocumentRoot "/home/user/site2/"
ServerName site2
</VirtualHost>
私はこれをports.confに持っています:
Listen *:80
Listen *:81
Listen *:82
私はこれをapache2.confに持っています:
ServerName site1
ServerName site2
どのガイドにもこれが見つかりませんでした。試行錯誤の 1 日を通して機能するようになったので、これが良い解決策かどうかはわかりません。しかし、少なくとも今は私が望むように機能しています。