前言:在一个月色朦胧的夜里,三三两两的小鸟不停在外面叽叽喳喳,哦不,那不是小鸟,是我的肚子在咕咕叫,确实是已经饿了几个小时了,但是就在我坚持不下去的时候,我看到了放在一旁的Linux,这就是阻止我增肥的有效途径。哎,最近也发现了,阻止我学习进步的最大障碍,就是我这张脸,给我带来了太多的诱惑,还好我有那本《Linux就该这么学》。嗯 ~ 包子真香。
开始:
<默认已经安装yum服务,如果没有安装的话,请看我其他的笔记>
1:安装httpd服务
yum install httpd -y < -y 表示在安装过程中与界面交互时自动答复yes >
systemctl start httpd < 开启 httpd 服务 >
systemctl enable httpd < 将 httpd 服务添加到开机自动启动 >
2:安装完成后
检验是否已经成功安装: 可以打开firefox输入127.0.0.1 查看页面内容 或者 输入yum install httpd查看返回信息
主要的配置文件
/etc/httpd 服务目录
/etc/httpd/conf/httpd.conf 主配置文件
/var/www/html 网站数据目录
/var/log/httpd/access_log 访问日志
/var/log/httpd/error_log 错误日志
3:改变数据保存目录
默认数据保存目录在 /var/www/html , 若想更改到 /home/wwwroot
首先修改主配置信息 vim /rtc/httpd/conf/httpd.conf
定位在119行(用于定义网站数据保存路径) 将 DocumentRoot 修改为 /home/wwwroot
定位在124行(用于定义目录权限) 将 Directory 后面的路径修改为 /home/wwwroot
重启 httpd 服务 systemctl restart httpd
好了,到目前为止基本的操作完毕,但是为时有点过早,当你打开firefox验证时会出现错误。当你百思不得其解的时候,虚拟机或许就会弹出来类似因为 Linux 的 SELinux 的阻止信息,或许应该会猜到,在我吃完这个酸菜馅的包子后会讲一下SELinux的。
4:SELinux
Linux系统的安全机制,我所理解的就是这个系统将每个文件都设置规则,如果想访问文件,则会进行规则的匹配,如果匹配上,则可以访问数据,反之,权限受限无法访问。
状态
enforcing 强制模式 正常运行状态 <默认状态>
permissive 宽容模式 会发出警告信息但是不会限制行为
disabled 关闭 不正常模式
常用命令
setenforce [ 0 | 1] 设置SELinux的状态 setenforce 0 表示SELinux处于permissive模式 反之为enforcing模式
getenforce 查看 SELinux 的状态
semanage 修改文件的默认安全环境类型 semanage fcontext -a <添加> -m <修改> -d <删除> -t <安全环境名称> 执行文件名
restorecon 使得修改的配置信息立即生效 restorecon -Rf 文件名
getsebool 查询安全策略
setsebool 设置安全策略 setsebool -P 安全策略 <-P 表示永久生效>
htpasswd 设置个人网页的登陆信息 htpasswd -c /etc/httpd/passed<表示验证密码的存放位置> linuxprobe
5:第一个网页
接着上面的操作,执行 semanage fcontext -a -t httpd_sys_content_t /home/wwwroot
再使得立即生效 restorecon -Rv /home/wwwroot
好了 现在打开firefox就可以打开文件了
6:建立个人用户网页
进入 /etc/httpd/conf.d/userdir.conf
按照箭头所指,修改内容
进入用户的终端 su - 用户名
在用户终端建立 存放数据目录 mkdir public_html 并且在里面添加网站默认网页
重启 httpd 服务
调试中会发现存在问题,其实这个问题就是 SELinux 的域的问题,解决问题用 setsebool -P httpd_enabled_homedirs=on
你会发现成功了
对了 在浏览器应该输入地址为 127.0.0.1/~用户名 < 记住 ~ 不可以省略 >
7:虚拟主机功能
基于 IP 地址
创建文件信息
mkdir -p /home/wwwroot/10
mkdir -p /home/wwwroot/20
mkdir -p /home/wwwroot/30
创建主页信息
echo “111111” > /home/wwwroot/10/index.html
echo “222222” > /home/wwwroot/20/index.html
echo “333333” > /home/wwwroot/30/index.html
利用 nmtui 在一个网卡上配置多个IP
进入 /etc/httpd/conf/httpd.conf 文件进行信息配置
添加图下信息,具体内容根据自己的IP情况设定
重启 network 服务 systemctl restart network
如果出现问题则进行 semanage fcontext -a -t /home/wwwroot/10 等权限设置
基于主机域名
vim /etc/hosts