将域名绑定到VPS上的Apache虚拟主机

将域名绑定到VPS上的Apache虚拟主机

最近我工作的公司租了VPS。

现在我需要在这个VPS上托管多个网站,这不是问题,我设置了虚拟主机,数据库等。现在我想测试一下,看看我是否可以通过域名访问VPS上的网站(班尼班.cz)。域名在不同的注册商处注册,我已将 DNS A 记录指向 VPS 的 IP 地址(193.105.159.72)并且它工作正常(显示 apache 默认站点),但我需要将此域名(bennyben.cz)路由到 VPS 上的虚拟主机(bennyben.cz.vhost)。

经过一番谷歌搜索后,我认为我需要添加新的主 DNS 区域记录(我在 VPS 上安装了 ISPConfig)并将其定向到虚拟主机,因此我将虚拟主机绑定到本地 IP 地址(192.168.1.1)并设置 A 记录在 VPS 上访问此地址,但如果我输入域名,它仍然提供默认站点。

所以我的问题是,我需要什么才能在一个 VPS 上托管多个带有域名的网站(只有一个可用的 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

这是格式化评论而不是答案:您的网络服务器中是否配置了虚拟主机?即(假设网络服务器是 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>

相关内容