在讲 Apache 虚拟网站 之前 ,我先给大家说说 怎么搭建 个人用户主页。

如果想为系统中每位用户都建立一个独立的网站,通常的方法只能是基于虚拟网站主机功能来部署出多个网站,但这未免会让管理员感觉到很麻烦,而且在用户管理自己网站的时候还可能碰到种种权限的限制,产生出很多不必要的工作。其实如果只是想为每位用户建立独立的网站,不妨试试httpd服务程序提供的个人用户主机功能吧,这项功能可以让系统内所有的用户在自己的家目录中管理个人的网站,访问起来也非常容易。

第1步:开启配置文件/etc/httpd/conf.d/userdir.conf 中的个人用户主页功能(配置文件默认是关闭的)

apache 基础(Apache个人主页搭建)(1)

第二步:切换用户,创建public_html目录,给予755权限

切换到用户下

创建文件夹public_html,写入首页文件

apache 基础(Apache个人主页搭建)(2)

改变public_html的权限

apache 基础(Apache个人主页搭建)(3)

然后 我们切换至 管理员 下重启 httpd 服务

systemctl restart httpd

打开浏览器 输入你的 网站IP地址 ,本机就用 http://127.0.0.1/~feixiangkeji (这里的feixiangkeji是我创建的那个用户)

我们再次查看下

apache 基础(Apache个人主页搭建)(4)

发现 报错 !!!!不用说 一定又是selinux 搞的鬼

我们用getsebool -a | grep http 查看一下 是不是什么东西 没开

apache 基础(Apache个人主页搭建)(5)

找到原因了 ,我们就来改变 SElinux的布尔值策略吧

setsebool -P httpd_enable_homedirs on (-P 的意思是永久写入 )

apache 基础(Apache个人主页搭建)(6)

接着 我们再次重启 httpd 服务试试

systemctl restart httpd

打开浏览器 ,输入我们刚刚输入的网址!!!!注意了 不是 单独的IP地址 ,还要有你的用户名(http://127.0.0.1/~feixiangkeji)

小编这里是使用的ssh登入的方式,在我windos 的浏览器中输入Linux服务器的IP地址,进行访问的(要注意了 ,如果linux 防火墙没有做端口策略,你外面的机器是 不可能访问到你的网站的 防火墙策略嘛 ,

简单,firewall-cmd --add-service http --permanent 然后 也要重启防火墙firewall-cmd --reload

所以 我这里访问的地址是http://192.168.1.88/~feixiangkeji

apache 基础(Apache个人主页搭建)(7)

紧接着我们输入 刚刚创建用户的账号,密码

apache 基础(Apache个人主页搭建)(8)

当把个人用户网站功能实现之后也会遇到一个很尴尬的显示——或许用户们并不希望直接就把网页内容显示出来,或者只想让部分读者看到里面的内容,这时就可以给网站上面加上口令验证功能啦,给网页内容增加一道安全防护吧。

第1步:需要先用htpasswd命令来生成密码数据库,-c参数代表第一次生成的意思,后面再分别追加上要生成到哪个文件中,以及验证要用到的用户名称即可

(该用户不必是系统中已有的帐户)

htpasswd -c /etc/httpd/passwd 123 (123是我要指定的用户,但我系统中却没有这个用户存在)

建立密码,连续输入两次

apache 基础(Apache个人主页搭建)(9)

然后 需要再回去编辑一下个人用户主页功能的配置文件,把原本大约31-35行的参数信息修改成下列内容,其中#(井号)开头的内容为刘遄老师添加的注释信息,您无需照抄进去,保存退出后重启httpd服务程序即可生效。

apache 基础(Apache个人主页搭建)(10)

apache 基础(Apache个人主页搭建)(11)

<Directory "/home/*/public_html">

AllowOverride all

#刚刚生成出来的密码验证文件保存路径

authuserfile "/etc/httpd/passwd"

#当用户尝试访问个人用户网站时的提示信息

authname "My privately website"

authtype basic

#用户进行帐号口令登陆时需要验证的用户名称

require user 123

</Directory>

!!!!保存退出

systemctl restart httpd 重启Httpd 服务

此时用户再想访问某个用户的个人网站时,就必须要输入密码后才能正常访问了,另外验证时候的帐号和密码是用htpasswd命令生成的专门用于网站登陆的口令密码,而不是咱们系统中的用户密码,这一定不要搞混了哦,登陆界面如下图所示:

apache 基础(Apache个人主页搭建)(12)

apache 基础(Apache个人主页搭建)(13)

这样我们的 个人网站 加密访问也就搭建好了!!!

欢迎大家在下面留言区评论 !!!下一期 给大家讲解 apache 的虚拟网站的搭建,是基于域名,还是基于IP 更是基于 D端口

,