Linux初入19 Apache服务
文章目录
- 1 什么叫Apache服务,如何启动
- 1.1Apache
- 1.2启动Apache
- 1.3 了解主要的文件内容。
- 1.4.了解apache服务的配置文件
- 2 Selinux子系统
- 2.1 了解Selinux的状态
- 2.2 启动或关闭Selinux的功能
- 3 个性化的网站
- 3.1 修改主页文件
- 3.1.1.首先我们要到http服务的配置文件中修改网页所在的目录。并且创建这个目录,在目录中写入内容
- 3.1.2发现权限问题
- 3.1.3 解决,推荐用方法2
- 3.2 创建用户主页和用户主页的密码
- 3.2.1 开启用户主页的功能
- 3.2.2.用户家目录下创建public_html文件并且在里面创建一个index.html文件。
- 3.2.3.修改目录的admin用户家目录的权限为755
- 3.2.4.selinux的安全规则设置
- 3.2.5 创建个人主页密码
- 4 虚拟主机功能
- 4.1基于ip
- 4.1.1 nmtui添加网卡
- 4.1.2 修改httpd区域配置文件
- 4.1.3 在相应的目录下创建主页文件
- 4.1.4 修改selinux限制
- 4.2 基于域名
- 4.1.1 修改host文件
- 4.1.2 修改httpd区域配置文件
- 4.1.3 在相应的目录下创建主页文件
- 4.1.4 修改selinux限制
- 4.3 基于端口号
- 4.1.1 增加侦听端口
- 4.1.2 修改httpd区域配置文件
- 4.1.3 在相应的目录下创建主页文件
- 4.1.4 修改selinux限制
- 4.1.5 为http开放端口
- 5 访问控制
1 什么叫Apache服务,如何启动
1.1Apache
:中小型web服务的主流,web服务使用目前排名第一。简单的理解,apache可帮我们把开启网站,我们可以通过前端后端、运维实现一个项目。
1.2启动Apache
[root@localhost ~]# yum -y install httpd
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# systemctl enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to
/usr/lib/systemd/system/httpd.service.
[root@localhost ~]# firewall-cmd --add-port=80/tcp --permanent
success
[root@localhost ~]# firewall-cmd --reload
success
1.3 了解主要的文件内容。
配置文件名称 | 存放的位置 |
---|---|
服务目录 | /etc/httpd |
著配置文件 | /etc/httpd/conf/httpd.conf |
网站数据目录 | /var/www/html |
访问日志 | /var/log/httpd/access_log |
错误日志 | var/log/httpd/error_log |
1.4.了解apache服务的配置文件
<1>首先先来了解apace的配置文件,/etc/httpd/conf/httpd.con文件里,里面的格式大概就是这么的。同时每个配置项所包含的含义就在这里
参数名 |含义
参数名 | 含义 |
---|---|
ServerRoo | 服务目录(第31行) |
ServerAdmin | 管理员邮箱(第85行) |
User | 运行服务的用户(第65行附近) |
Group | 运行服务的用户组(第66行附近) |
ServerName | 网站服务器的域名(在每个区域配置里) |
DocumentRoot | 网站数据目录(在每个区域配置里) |
Listen | 监听的IP地址与端口号(第42行附近) |
DirectoryIndex | 默认的索引页页面的文件名 |
ErrorLog | 错误日志文件 |
CustomLog | 访问日志文件 |
Timeout | 网页超时时间,默认为300秒 |
<2>修改其中的主页配置项。需要确定修改主页页面文件在哪里
DocumentRoot "/var/www/html"
....
<IfModule dir_module>DirectoryIndex index.html
</IfModule>
[root@localhost ~]# echo "Welcone To Mynote" > /var/www/html/index.html
<3>可以发现成功修改主页
2 Selinux子系统
他的存在就是为了管理Linux中各个行为,例如在某个目录下只能干什么,不能干什么。
2.1 了解Selinux的状态
1.SELinux服务有三种配置模式,具体如下。
• enforcing:强制启用安全策略模式,将拦截服务的不合法请求。
• permissive:遇到服务越权访问时,只发出警告而不强制拦截。
• disabled:对于越权的行为不警告也不拦截
2.2 启动或关闭Selinux的功能
1.方法(1)通过修改配置文件,我们这里启动Selinxu的enforcing模式,永久有效,需要重启/
2.方法(2)直接命令修改和查看,暂时有效。
建议先通过方法1关闭或开启,再通过方法2关闭或开启。这样就可以立即和永久生效。
[root@localhost ~]# vim /etc/selinux/config .
SELINUX=enforcing
SELINUXTYPE=targeted
[root@localhost ~]# getenforce #查看selinux的状态
Enforcing
[root@localhost ~]# ls -Zd /var/www/html
drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 /var/www/html
• 用户段system_u代表系统进程的身份
• 角色段object_r代表文件目录的角色
• 类型段httpd_sys_content_t代表网站服务的系统文件
3 个性化的网站
3.1 修改主页文件
3.1.1.首先我们要到http服务的配置文件中修改网页所在的目录。并且创建这个目录,在目录中写入内容
[root@localhost www]# vim /etc/httpd/conf/httpd.conf
119 DocumentRoot "/home/www"
120
121 #
122 # Relax access to content within /var/www.
123 #
124 <Directory "/home/www">
125 AllowOverride None
126 # Allow open access:
127 Require all granted
128 </Directory>
[root@localhost www]# cat /home/www/index.html
this is new index[root@localhost www]# systemctl restart httpd
3.1.2发现权限问题
显示的还是默认apache页面,由于Selinux不知道访问这个页面的用户是否安全,就是说访问这个页面的用户没有权限。
在哪里创建文件,就会继承相应的所在目录的服务权限,就是最后的那个权限。
原本home是存储用户文件的,非得要创建一个网站服务文件夹,home目录肯定不愿意了。
[root@localhost www]# ls -Zd /home/www/
drwxr-xr-x. root root unconfined_u:object_r:home_root_t:s0 /home/www/
[root@localhost www]# ls -Zd /var/www/html/
drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 /var/www/html/
其中,用户段system_u代表系统进程的身份,角色段object_r代表文件目录的角色,类型段httpd_sys_content_t代表网站服务的系统文件
3.1.3 解决,推荐用方法2
方法(1)关闭Selinux的功能(不推荐)
[root@promote ~]# setenforce 0
[root@promote ~]# getenforce
Permissive
方法(2)修改新的文件夹的权限、
yum -y install policycoreutils-python.x86_64 安装selinux管理工具
[[root@localhost ~]# semanage fcontext -a -t httpd_sys_content_t /home/www/*
[root@localhost ~]# semanage fcontext -a -t httpd_sys_content_t /home/www/
[root@localhost ~]# restorecon -Rv /home/www/
restorecon reset /home/www/index.html context unconfined_u:object_r:user_home_t:s0->unconfined_u:object_r:httpd_sys_content_t:s0
3.2 创建用户主页和用户主页的密码
3.2.1 开启用户主页的功能
大约在17 行,开启主页功能,并且在第31行查看用户主页文件夹的名称(可以修改这个名称,不过要在家目录下创建相应的文件夹)
[root@localhost home]# vim /etc/httpd/conf.d/userdir.conf17 #UserDir disabled24 UserDir public_html31 <Directory "/home/*/public_html">
3.2.2.用户家目录下创建public_html文件并且在里面创建一个index.html文件。
肯定需要一个文件夹来存放主页文件呀
[root@localhost admin]# cd public_html/
[root@localhost public_html]# vim index.html
[root@localhost public_html]# cat index.html
这是用户主页文件
3.2.3.修改目录的admin用户家目录的权限为755
为了让其他用户能访问
[root@localhost public_html]# chmod -Rf 775 /home/admin/public_html/
3.2.4.selinux的安全规则设置
这里可能要多次执行命令,一次可能没有改变
[root@localhost ~]# getsebool -a | grep http
httpd_enable_homedirs --> off
[root@localhost ~]# setsebool -P httpd_enable_homedirs=on
3.2.5 创建个人主页密码
root@localhost ~]# htpasswd -c /etc/httpd/passwd admin
New password:
Re-type new password:
Adding password for user admin
[root@localhost ~]# vim /etc/httpd/conf.d/userdir.conf 31 <Directory "/home/*/public_html">32 #密码文件的保存路径33 authuserfile "/etc/httpd/passwd"34 #当用户尝试过访问个人用户网站时的提示信息35 authname "尝试进入跟人网页"36 authtype basic37 #用户进行账号密码登陆时需要验证的用户38 require user admin39 </Directory>[root@localhost ~]# systemctl restart httpd
4 虚拟主机功能
4.1基于ip
4.1.1 nmtui添加网卡
添加三个ip
4.1.2 修改httpd区域配置文件
1.由三个配置区域组成,<VirtualHost></VirutalHost>。组成一个配置区域
2.当访问时,会从上到下匹配ip,如果访问的就是这个IP,就看这个配置区域
3.ServerName暂时不用管。
4.DocumentRoot指向对应的网站文件夹。
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf
113行开始
<VirtualHost 192.168.225.103>
DocumentRoot /home/www/103
ServerName www.huang.com
<Directory /home/www/103>
AllowOverride None
Require all granted
</Directory>
</VirtualHost><VirtualHost 192.168.225.104>
DocumentRoot /home/www/104
ServerName shequ.huang.com
<Directory /home/www/104>
AllowOverride None
Require all granted
</Directory>
</VirtualHost><VirtualHost 192.168.225.105>
DocumentRoot /home/www/105
ServerName tieba.huang.com
<Directory /home/www/105>
AllowOverride None
Require all granted
</Directory>
4.1.3 在相应的目录下创建主页文件
[root@localhost ~]# echo "192.168.225.103">/home/www/103/index.html
[root@localhost ~]# echo "192.168.225.104">/home/www/104/index.html
[root@localhost ~]# echo "192.168.225.105">/home/www/105/index.html
4.1.4 修改selinux限制
并且修改selinux
[root@localhost ~]# semanage fcontext -a -t httpd_sys_content_t /home/www/103
[root@localhost ~]# semanage fcontext -a -t httpd_sys_content_t /home/www/103/*
[root@localhost ~]# semanage fcontext -a -t httpd_sys_content_t /home/www/104
[root@localhost ~]# semanage fcontext -a -t httpd_sys_content_t /home/www/104/*
[root@localhost ~]# semanage fcontext -a -t httpd_sys_content_t /home/www/105
[root@localhost ~]# semanage fcontext -a -t httpd_sys_content_t /home/www/105/*
[root@localhost ~]# restorecon -Rv /home/www/
4.2 基于域名
不常用,因为要修改客户机的hosts文件,我们这里把本机当作客户机测试。
4.1.1 修改host文件
在最后一行上进行域名与ip映射
[root@localhost ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.10.103 www.huang.com tieba.huang.com shequ.huang.com
4.1.2 修改httpd区域配置文件
其实已经配置好了,刚才在配置基于ip的虚拟主机的时候,我们就已经顺便把域名配置了。
4.1.3 在相应的目录下创建主页文件
我们配置文件里的对应关系
DocumentRoot /home/www/103 ServerName www.huang.com
DocumentRoot /home/www/104 ServerName tieba.huang.com
DocumentRoot /home/www/105 ServerName shequ.huang.com
4.1.4 修改selinux限制
刚才的文件已经修改过了
测试:
[root@localhost ~]# curl -I tieba.huang.com
HTTP/1.1 200 OK
4.3 基于端口号
这个非常重要,要注意,我们把虚拟机恢复到刚刚启动http服务的状态,再详细的做一遍这个。
4.1.1 增加侦听端口
默认侦听的就是80端口,访问不加端口号访问的就是80端口,添加一个10001
vim /etc/httpd/conf/httpd.conf 42 Listen 8043 Listen 10001
4.1.2 修改httpd区域配置文件
在110行左右开始写区域配置,
124 <VirtualHost 192.168.225.103:10001>
125 DocumentRoot /home/www/10001
126 ServerName www.huang.com
127 <Directory /home/www/10001>
128 AllowOverride None
129 Require all granted
130 </Directory>
4.1.3 在相应的目录下创建主页文件
[root@localhost ~]# mkdir /home/www/80
[root@localhost ~]# mkdir /home/www/10001
[root@localhost ~]# echo "访问80端口">/home/www/80/index.html
[root@localhost ~]# echo "访问10001端口">/home/www/10001/index.html
4.1.4 修改selinux限制
[root@localhost ~]# semanage fcontext -a -t httpd_sys_content_t /home/www
[root@localhost ~]# semanage fcontext -a -t httpd_sys_content_t /home/www/10001
[root@localhost ~]# semanage fcontext -a -t httpd_sys_content_t /home/www/10001/*
[root@localhost ~]# restorecon -Rv /home/www/
4.1.5 为http开放端口
默认只有一些端口为http服务开放
[root@localhost ~]# semanage port -l | grep http
http_cache_port_t tcp 8080, 8118, 8123, 10001-10010
http_cache_port_t udp 3130
http_port_t tcp 80, 81, 443, 488, 8008, 8009, 8443, 9000
pegasus_http_port_t tcp 5988
pegasus_https_port_t tcp 5989
[root@localhost ~]# semanage -a -t http_port -p tcp 10001
成功
5 访问控制
最后一个功能,不想写了。这是我学习的资料
https://www.linuxprobe.com/chapter-10.html#106_Apache
Linux初入19 Apache服务相关推荐
- Linux中要重启apache服务与在windows是有很大的区别,下面我们来介绍一下
在Linux中要重启apache服务与在windows是有很大的区别,下面我们来介绍一下常用的命令,需要的朋友参考下吧(http://www.hnkjlb.com) linux系统为Ubuntu 一. ...
- linux系统部署静态网站,Linux笔记15 使用Apache服务部署静态网站。
转一篇简洁的UIView动画编程方法 iOS 中的 UIView 动画编程其实还是很简单的,像 CSS3 一样,在给定的时间内完成状态连续性的变化呈现.比如背景色,Frame 大小,位移.翻转,特明 ...
- apache服务Forbidden 403问题精彩总结
部署apache服务Forbidden 403问题小结 ######################################################### #<老男孩linux就 ...
- Linux之apache服务搭建以及浅析web安全
WEB服务器的架设,在linux有一个很著名的架构叫lamp:linux+apache+mysql+php,就知道apache的分量了. 在搭建apache服务钱需要做DNS服务器 DNS的搭建h ...
- 【linux进阶4】apache的服务使用(图文巨详细解释apache的正向和反向代理)
apache的使用 一.apache的基本介绍 (1)Apache的作用 (2)Apache的安装和启用 (3)Apache的基本信息 (4)基本查看 二.更改访问apache默认访问 (1)Apac ...
- Linux系统如何安装apache,和DNS服务并进行应用
实验案例:构建httpd网站服务器 实验环境 某公司根据系信息化建设要求,需要构建一台独立配置的网站服务器.考虑到站点的运行效率.稳定性及可扩展性等因素,要求在CentOS7系统中构建httpd服务器 ...
- Linux 的Apache服务之https与网页重写
https 1.https概述: HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是 ...
- linux重启Apache服务的常用命令
最近项目人手不够,运维的工作,很多都是交给我来处理,顺便学习一下linux的 操作命令.今天分享2个点:Apache服务的常用linux命令和整理磁盘空间的linux命令. 一,使用linux命令重启 ...
- 【linux进阶4】apache的服务使用(图文详解apache的多种使用方式)
apache的使用 一.apache的基本介绍 (1)Apache的作用 (2)Apache的安装和启用 (3)Apache的基本信息 (4)基本查看 二.更改访问apache默认访问 (1)Apac ...
最新文章
- CentOS服务器利用.htaccess批量封IP方法介绍
- Kubernetes v1.17 版本解读 | 云原生生态周报 Vol. 31
- .net core ——微服务内通信Thrift和Http客户端响应比较
- mysql镜像_Mysql phpmyadmin docker镜像安装
- [LeetCode] Search for a Range [34]
- IBM SOA[ESB,BPM,Portal等]基础架构图解
- python空列表添加_Python列表的简单操作
- torch --用法
- 如何在Mac上删除其他存储
- 自然语言处理怎么最快入门?
- jQuery砸金蛋抽奖活动php源码
- 小米手机设备锁定怎么强制解除
- js隐藏显示div页面方法
- 使用tensorboard时踩的坑
- LoRa节点如何以ABP方式入网TTN服务器?
- 十年Java架构师分享
- Sublime Text 3 配置 PHP IDE环境 并使用Xdebug进行调试
- 云师大计算机科学与技术,云南师范大学信息学院
- mysql 字符串前四位_sql截取字符串前几位
- 中兴新支点操作系统电力主站和变电站安全操作系统解决方案
热门文章
- 玩转 Apple 快捷指令,打卡、切图、查快递、扫码付款等!
- hostapd wpa_supplicant madwifi详细分析(九)——wps原理及实现 一
- LIUNX+NAT网吧网段限速透明代理脚本
- SSM 高校学生班费管理系统
- C语言 用指针实现矩阵转置
- 从零开始教你3D打印机怎么使用
- 台式电脑怎么更换计算机明,电脑上面的cpu能换吗_cpu怎么更换(台式机、笔记本)...
- 中创新航冲刺港交所:年营收68亿 小米与红杉是股东
- 交通信号灯控制系统(8051单片机中断实验)
- jieba中文分词库的使用