文章目录
- 一 需求
 - 二 系统环境
 - 三 基于Alias普通别名
 - 3.1 配置个人主页
 - 3.2 编写虚拟目录配置文件
 - 3.3 测试
 
- 四 基于ScriptAlias脚本别名
 - 4.1 编写主配置文件
 - 4.2 创建测试主页
 - 4.3 测试
 
一 需求
基于用户个人主页的身份验证,在浏览器输入 10.0.0.100/~a 可以得到用户a的个人网页信息,但为了提高系统的安全性,一般需要将 ~a ~b ~c 隐藏起来,所以需要设置一个虚拟目录,也叫目录别名。
当我们搜索 10.0.0.100/a 时,实际访问的是 /home/a/html 目录下的内容。
二 系统环境
| 参数 | 值 | 
|---|---|
| 主机IP | 10.0.0.100 | 
| 主机名 | test | 
| 操作系统版本 | CentOS release 6.9 (Final) | 
| 操作系统内核 | 2.6.32-696.el6.x86_64 | 
| 防火墙规则 | 允许80端口 | 
三 基于Alias普通别名
3.1 配置个人主页
编写apache主配置文件,创建a、b、c用户的测试文件,创建相关.htaccess和.htpasswd文件,给用户家目录以及下面的子目录授予对应的权限,设置SELinux和iptables。
具体内容可参考笔者的上一篇CSDN文章:
 在CentOS-6.9配置apache服务(1)—基于个人主页的身份验证
3.2 编写虚拟目录配置文件
进入 /etc/httpd/conf.d/ 目录,编写可被识别的apache附加的虚拟目录的配置文件。
当输入 10.0.0.100/a 时,可以访问 /home/a/html 站点目录下的内容;
 当输入 10.0.0.100/b 时,可以访问 /home/b/html 站点目录下的内容;
 当输入 10.0.0.100/c 时,可以访问 /home/c/html 站点目录下的内容;
[root@test ~]# cd /etc/httpd/conf.d/
[root@test conf.d]# cat vir_dir.conf 
Alias  "/a"  "/home/a/html"
Alias  "/b"  "/home/b/html"
Alias  "/c"  "/home/c/html"
 
3.3 测试
添加,修改,删除配置文件,都应重启 httpd 服务。
service httpd restart
 
在浏览器输入 10.0.0.100/b

此外,也可以在Linux命令行中用 curl 命令测试:
curl -L 10.0.0.100/c -u user_c
 
其中参数-u,指定登陆的用户名;
 参数-L,自动重定向到指定页面。

由此可见,虚拟目录配置成功。
四 基于ScriptAlias脚本别名
4.1 编写主配置文件
打开 /etc/httpd/conf/httpd.conf 配置文件,将下列内容前面的注释符号去掉,使其生效

4.2 创建测试主页
首先创建测试文件
[root@test conf]# touch /var/www/cgi-bin/index.cgi
[root@test conf]# cat /var/www/cgi-bin/index.cgi 
#!/usr/bin/perl
print "Content-type:text/plain \n\n";
print "-----welcome to cgi page-----\n";
 
接着赋予该文件执行权限
[root@test conf]# chmod +x /var/www/cgi-bin/index.cgi 
[root@test conf]# ll  /var/www/cgi-bin/index.cgi 
-rwxr-xr-x 1 root root 54 1月  31 11:55 /var/www/cgi-bin/index.cgi
 
4.3 测试
先重启httpd服务
[root@test conf]# service httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd:                                            [  OK  ]
 
接着在命令行输入 curl 10.0.0.100/cgi-bin/index.cgi

也可以在浏览器输入 10.0.0.100/cgi-bin/index.cgi

ScriptAlias脚本别名配置成功。



















