Xampp在个人主目录中创建虚拟主机文档目录

操作系统:CentOS 8.3;XAMPP 8.0.1

需要以下过程:

1.准备:创建用户、创建目录和测试文件

1、准备工作:建用户、建目录和测试文件 

 1) 先创建用户 mytestuser:

[root@seaturtle home]# useradd -m mytestuser

上述命令中,-m表示要创建用户的家目录,也即 /home/mytestuser。

2) 在家目录下创建文档目录 myprj:

[root@seaturtle home]# su mytestuser
[mytestuser@seaturtle home]# cd ~
[mytestuser@seaturtle ~]# mkdir myprj

上述命令,

  • 第1条是将当前用户由root切换为新创建的mytestuser;

  • 第2条是进行当前用户mytestuser的家目录,也即 /home/mytestuser;

  • 第3条是在当前目录(即,家目录)下创建目录 myprj。

 3) 在myprj目录下创建测试文件 index.php,内容是:

2、修改配置文件

主文件中有2处需要修改。先增加监听端口8000,

#Listen 12.34.56.78:80
Listen 80			# 这是原有的配置,默认的监听端口
Listen 8000			### 这是新增加的监听端口

再启用虚拟主机的配置文件。

# Virtual hosts
Include etc/extra/httpd-vhosts.conf		### 删除此行原有的首字符#号,使此行生效

上述配置文件改动后,需要使用管理员权限重新加载Apache的配置文件,命令如下:

[root@seaturtle ~]# /opt/lampp/xampp reloadapache

3、增加家目录执行权限

在本机上通过以下命令尝试访问服务器时,会提示没有权限访问:

[mytestuser@seaturtle ~]# curl http://localhost:8000/index.php

原因是Apache作为服务器来访问根目录时,需要对文档有执行权限。而mytestuser的家目录默认情况下没有赋予其他用户执行权限。所以需要为其增加执行权限,通过 mytestuser用户或root用户,执行如下代码:

[root@seaturtle ~]# chmod +x /home/mytestuser

此时,再在本地尝试访问服务器,就可以看到

[root@seaturtle ~]# curl http://localhost:8000/index.php
Hello World, This is my test prj![root@seaturtle ~]# 

4、打开防火墙端口

尽管在本地可以访问服务器,但在本机以外进行测试时,会发现仍不能访问。原因是,服务器的监听端口8000默认情况未开放,因此在本机以外无法访问。通过firewall-cmd查看本地端口开放情况,并将8000端口加入例外的开放列表。

[root@seaturtle ~]# firewall-cmd --list-ports
80/tcp 5902/tcp 9418/tcp 3306/tcp
[root@seaturtle ~]# firewall-cmd --add-port=8000/tcp --permanent
success
[root@seaturtle ~]# firewall-cmd --reload
success

上述3条命令,

  • 第1条是firewall-cmd –list-ports,查看当前防火墙有哪些端口开放了;

  • 第2条是添加 8000端口为例外开放;

  • 第3条是重新加载配置文件,使新添加的端口例外生效。

上述操作,可参考:

关于防火墙端口例外的内容,可参考

资源下载: