没有域名的Apache虚拟主机

时间:2014-11-03 02:14:32

标签: php apache dns virtualhost

我安装了一个带有apache2的VPS,我希望只使用IP地址访问一些没有域名的PHP项目。例如:

http://162.243.93.216/projecta/index.php
http://162.243.93.216/projectb/index.php

我的目录/ var / www /

中还有像example.com这样的域名的其他项目
/html/
   info.php
/projecta/
/projectb/
/example/

当我去

http://162.243.93.216/info.php then /var/www/html/info.php is opened. 

我的文件 000-default.conf

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html

    <Directory /var/www/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
     </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

3 个答案:

答案 0 :(得分:23)

" http://162.243.93.216/info.php then /var/www/html/info.php is opened "

我假设这已经有效(如果没有,取消注释下面的conf中显示的ServerAlias行)

您现在要映射

http://162.243.93.216/projecta//var/www/projecta
http://162.243.93.216/projectb//var/www/projectb

为此,您需要使用Apache Alias 指令。

将您的000-default.conf文件更新为:

<VirtualHost *:80>
    # ServerAlias 162.243.93.216
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html

    Alias /projecta /var/www/projecta
    Alias /projectb /var/www/projectb

    <Directory /var/www/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
     </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

答案 1 :(得分:1)

创建一个新的虚拟主机文件,并设置如下:

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        ServerAlias 192.168.1.1 
        DocumentRoot /somewhere/public_html
        <Directory /somewhere/public_html/>
         Options Indexes FollowSymLinks MultiViews ExecCGI
         AllowOverride Authconfig FileInfo
         Require all granted
        </Directory>
</VirtualHost>

添加serveralias,它也会识别IP地址...... 如果要添加更多IP地址(如本地网络第二界面),可以添加更多的血丝......

答案 2 :(得分:0)

第六步 - 设置本地主机文件(可选) 如果您一直使用示例域而不是实际域来测试此过程,则仍可以通过临时修改“LOCAL COMPUTER”上的hosts文件来测试虚拟主机的功能。这将拦截您配置的域的任何请求并将它们指向您的VPS服务器,就像您使用注册域时DNS系统一样。但这仅适用于“您的计算机”,并且仅用于测试目的。

注意:确保您在本地计算机上运行这些步骤而不是VPS服务器。您需要访问该计算机的管理凭据。

如果您使用的是Mac或Linux计算机,请键入以下命令编辑具有管理权限的本地主机文件:

sudo vi / etc / hosts 如果您使用的是Windows计算机,则可以在此处找到有关更改主机文件的说明。

您需要添加的详细信息是您的VPS的公共IP地址,后跟您要用于访问该VPS的域:

127.0.0.1 localhost 127.0.1.1来宾桌面 server_ip_address example.com server_ip_address example2.com

参考:https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-centos-7?utm_source=Customerio&utm_medium=Email_Internal&utm_campaign=Email_CentOSDistroNginxWelcome&mkt_tok=eyJpIjoiTnpWbU5tUTJPV1F5TVRBMyIsInQiOiJhd0JCQVI0NDd0ZWprUDFaaDlhbENcL0lyTjdSbnhwMEpkTE1QcXJTcHl1ZXFhNURKVmVBZHFKMk92RW1kSFwvMHowOW0zcExhaUdyOU42U2lLbk1Cd2FRYzB4XC9lbkhlWnd1ekZOcW1sZVhRYlwvT0xrTUpmQ2dEK2dNVUw4alFrc00ifQ%3D%3D