최근 제가 일하는 회사에서 VPS를 임대했습니다.
이제 이 VPS에서 여러 웹사이트를 호스팅해야 합니다. 이는 문제가 되지 않습니다. 웹 호스팅, 데이터베이스 등을 설정했습니다. 이제 도메인 이름(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에서 이 주소에 접속하기 위한 기록인데, 도메인 이름을 입력하면 여전히 기본 사이트가 제공됩니다.
그래서 제 질문은 하나의 VPS에서 도메인 이름을 사용하여 여러 웹사이트를 호스팅하려면 무엇이 필요합니까(하나의 WAN IP 주소만 사용 가능). 인터넷 검색을 많이 하고 BIND를 뒤져봤지만 아무 것도 작동하지 않는 것 같습니다. .
시스템 세부정보
Ubuntu 13.04
ISPConfig
1 WAN IP address
추신: 이것은 매우 기본적인 사항이라고 확신하지만 저는 그곳에서 프로그래머로 일하고 있기 때문에 서버는 제 전문 분야는 아니지만, 불행히도 현재 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
이것은 답변이 아닌 형식화된 설명입니다. 웹 서버에 가상 호스트가 구성되어 있습니까? 즉, (웹 서버가 Apache이고 루트 액세스 권한이 있다고 가정할 때) 항목 /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>