文章目录
- 一 需求
- 二 系统环境
- 三 基于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脚本别名配置成功。