首页 文章

没有域名的Apache虚拟主机

提问于
浏览
13

我有一个安装了apache2的VPS,我想访问一些没有域名的PHP项目,只有IP地址 . 例如:

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 回答

  • 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

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

    <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地址(如本地网络第二界面),你可以添加更多的serveralias线...

  • 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 guest-desktop 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

相关问题