最近私が働いている会社でVPSを借りました。
これで、このVPSで複数のWebサイトをホストする必要があります。これは問題ではありません。 Webホスティング、データベースなどを設定しました。これでドメイン名(banniban.cz)。ドメイン名が別の登録機関に登録されており、DNS AレコードをVPSのIPアドレス(193.105.159.72)はうまく機能しますが(Apacheのデフォルトサイトを表示)、このドメイン名(bennyben.cz)をVPSの仮想ホスト(bennyben.cz.vhost)にルーティングする必要があります。
インターネット検索を行った後、新しいプライマリDNSゾーンレコードを追加し(VPSにISPConfigをインストールしました)、それを仮想ホストとして指定する必要があることがわかりました。そのため、仮想ホストをローカルIPアドレス(192.168.1.1)にバインドし、VPSがこのアドレスに接続するための履歴ですが、ドメイン名を入力してもデフォルトサイトが提供されます。
したがって、私の質問は、1つのVPSでドメイン名を使用して複数のWebサイトをホストするために必要なものです(1つのWAN IPアドレスのみが利用可能です)。インターネット検索をたくさんしてBINDを遅らせてみましたが、何も動作しないようです。 。
システムの詳細
Ubuntu 13.04
ISPConfig
1 WAN IP address
PS:これは非常に基本的なことだと確信していますが、私はそこでプログラマーとして働いているので、サーバーは私の専門分野ではありませんが、残念ながら現在VPSを管理する人がいないので、それは私が担当します。
Listen 80
/etc/apache2/ports.confに存在
**仮想ホスト構成ファイルはISPconfigによって生成されました*
構成ファイル: /etc/apache2/sites-enabled/100-bennyben.cz.vhost
<Directory /var/www/bennyben.cz>
AllowOverride None
Order Deny,Allow
Deny from all
</Directory>
<VirtualHost *:80>
DocumentRoot /var/www/bennyben.cz/web
ServerName bennyben.cz
ServerAlias www.bennyben.cz
ServerAdmin [email protected]
ErrorLog /var/log/ispconfig/httpd/bennyben.cz/error.log
Alias /error/ "/var/www/bennyben.cz/web/error/"
ErrorDocument 400 /error/400.html
ErrorDocument 401 /error/401.html
ErrorDocument 403 /error/403.html
ErrorDocument 404 /error/404.html
ErrorDocument 405 /error/405.html
ErrorDocument 500 /error/500.html
ErrorDocument 502 /error/502.html
ErrorDocument 503 /error/503.html
<IfModule mod_ssl.c>
</IfModule>
<Directory /var/www/bennyben.cz/web>
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
<Directory /var/www/clients/client4/web5/web>
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
# suexec enabled
<IfModule mod_suexec.c>
SuexecUserGroup web5 client4
</IfModule>
# Clear PHP settings of this website
<FilesMatch "\.ph(p3?|tml)$">
SetHandler None
</FilesMatch>
# php as fast-cgi enabled
# For config options see: http://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html
<IfModule mod_fcgid.c>
FcgidIdleTimeout 300
FcgidProcessLifeTime 3600
# FcgidMaxProcesses 1000
FcgidMaxRequestsPerProcess 5000
FcgidMinProcessesPerClass 0
FcgidMaxProcessesPerClass 100
FcgidConnectTimeout 3
FcgidIOTimeout 360
FcgidBusyTimeout 300
FcgidMaxRequestLen 1073741824
</IfModule>
<Directory /var/www/bennyben.cz/web>
AddHandler fcgid-script .php .php3 .php4 .php5
FCGIWrapper /var/www/php-fcgi-scripts/web5/.php-fcgi-starter .php
Options +ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
<Directory /var/www/clients/client4/web5/web>
AddHandler fcgid-script .php .php3 .php4 .php5
FCGIWrapper /var/www/php-fcgi-scripts/web5/.php-fcgi-starter .php
Options +ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
# add support for apache mpm_itk
<IfModule mpm_itk_module>
AssignUserId web5 client4
</IfModule>
<IfModule mod_dav_fs.c>
# Do not execute PHP files in webdav directory
<Directory /var/www/clients/client4/web5/webdav>
<ifModule mod_security2.c>
SecRuleRemoveById 960015
SecRuleRemoveById 960032
</ifModule>
<FilesMatch "\.ph(p3?|tml)$">
SetHandler None
</FilesMatch>
</Directory>
DavLockDB /var/www/clients/client4/web5/tmp/DavLock
# DO NOT REMOVE THE COMMENTS!
# IF YOU REMOVE THEM, WEBDAV WILL NOT WORK ANYMORE!
# WEBDAV BEGIN
# WEBDAV END
</IfModule>
</VirtualHost>
/etc/apach2/sites-available/bennyben.cz.vhost
<Directory /var/www/bennyben.cz>
AllowOverride None
Order Deny,Allow
Deny from all
</Directory>
<VirtualHost *:80>
DocumentRoot /var/www/bennyben.cz/web
ServerName bennyben.cz
ServerAlias www.bennyben.cz
ServerAdmin [email protected]
ErrorLog /var/log/ispconfig/httpd/bennyben.cz/error.log
Alias /error/ "/var/www/bennyben.cz/web/error/"
ErrorDocument 400 /error/400.html
ErrorDocument 401 /error/401.html
ErrorDocument 403 /error/403.html
ErrorDocument 404 /error/404.html
ErrorDocument 405 /error/405.html
ErrorDocument 500 /error/500.html
ErrorDocument 502 /error/502.html
ErrorDocument 503 /error/503.html
<IfModule mod_ssl.c>
</IfModule>
<Directory /var/www/bennyben.cz/web>
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
<Directory /var/www/clients/client4/web5/web>
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
# suexec enabled
<IfModule mod_suexec.c>
SuexecUserGroup web5 client4
</IfModule>
# Clear PHP settings of this website
<FilesMatch "\.ph(p3?|tml)$">
SetHandler None
</FilesMatch>
# php as fast-cgi enabled
# For config options see: http://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html
<IfModule mod_fcgid.c>
FcgidIdleTimeout 300
FcgidProcessLifeTime 3600
# FcgidMaxProcesses 1000
FcgidMaxRequestsPerProcess 5000
FcgidMinProcessesPerClass 0
FcgidMaxProcessesPerClass 100
FcgidConnectTimeout 3
FcgidIOTimeout 360
FcgidBusyTimeout 300
FcgidMaxRequestLen 1073741824
</IfModule>
<Directory /var/www/bennyben.cz/web>
AddHandler fcgid-script .php .php3 .php4 .php5
FCGIWrapper /var/www/php-fcgi-scripts/web5/.php-fcgi-starter .php
Options +ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
<Directory /var/www/clients/client4/web5/web>
AddHandler fcgid-script .php .php3 .php4 .php5
FCGIWrapper /var/www/php-fcgi-scripts/web5/.php-fcgi-starter .php
Options +ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
# add support for apache mpm_itk
<IfModule mpm_itk_module>
AssignUserId web5 client4
</IfModule>
<IfModule mod_dav_fs.c>
# Do not execute PHP files in webdav directory
<Directory /var/www/clients/client4/web5/webdav>
<ifModule mod_security2.c>
SecRuleRemoveById 960015
SecRuleRemoveById 960032
</ifModule>
<FilesMatch "\.ph(p3?|tml)$">
SetHandler None
</FilesMatch>
</Directory>
DavLockDB /var/www/clients/client4/web5/tmp/DavLock
# DO NOT REMOVE THE COMMENTS!
# IF YOU REMOVE THEM, WEBDAV WILL NOT WORK ANYMORE!
# WEBDAV BEGIN
# WEBDAV END
</IfModule>
</VirtualHost>
答え1
これは答えではなく形式化された説明です。 Webサーバーに仮想ホストが構成されていますか?つまり、(WebサーバーがApacheであり、rootアクセス権があると仮定するとき)、エントリ/etc/apache2/sites-enabled
(通常は次へのシンボリックリンク)が必要です/etc/apache2/sites-available/bennyben
。
<VirtualHost *:80>
ServerName bennyben.cz.vhost
DocumentRoot /home/bennyben/public_html
</VirtualHost>
Listen 80
になければそこにいるはずです/etc/apache2/ports.conf
。
構成を提供できますか?
期待どおりに機能しないものがある場合は、直ちに調査してください/var/log/apache2/error.log
。
答え2
質問のOPの元の編集に従って:
うまくいくには、私がすべきことは追加するだけでした。
Satisfy any
到着
Directory
氏名。たとえば、
<Directory /var/www/bennyben.cz/web>
Satisfy any
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>