文章目录

  • 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服务相关推荐

  1. Linux中要重启apache服务与在windows是有很大的区别,下面我们来介绍一下

    在Linux中要重启apache服务与在windows是有很大的区别,下面我们来介绍一下常用的命令,需要的朋友参考下吧(http://www.hnkjlb.com) linux系统为Ubuntu 一. ...

  2. linux系统部署静态网站,Linux笔记15 使用Apache服务部署静态网站。

    转一篇简洁的UIView动画编程方法 iOS  中的 UIView 动画编程其实还是很简单的,像 CSS3 一样,在给定的时间内完成状态连续性的变化呈现.比如背景色,Frame 大小,位移.翻转,特明 ...

  3. apache服务Forbidden 403问题精彩总结

    部署apache服务Forbidden 403问题小结 ######################################################### #<老男孩linux就 ...

  4. Linux之apache服务搭建以及浅析web安全

    WEB服务器的架设,在linux有一个很著名的架构叫lamp:linux+apache+mysql+php,就知道apache的分量了.   在搭建apache服务钱需要做DNS服务器 DNS的搭建h ...

  5. 【linux进阶4】apache的服务使用(图文巨详细解释apache的正向和反向代理)

    apache的使用 一.apache的基本介绍 (1)Apache的作用 (2)Apache的安装和启用 (3)Apache的基本信息 (4)基本查看 二.更改访问apache默认访问 (1)Apac ...

  6. Linux系统如何安装apache,和DNS服务并进行应用

    实验案例:构建httpd网站服务器 实验环境 某公司根据系信息化建设要求,需要构建一台独立配置的网站服务器.考虑到站点的运行效率.稳定性及可扩展性等因素,要求在CentOS7系统中构建httpd服务器 ...

  7. Linux 的Apache服务之https与网页重写

    https 1.https概述: HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是 ...

  8. linux重启Apache服务的常用命令

    最近项目人手不够,运维的工作,很多都是交给我来处理,顺便学习一下linux的 操作命令.今天分享2个点:Apache服务的常用linux命令和整理磁盘空间的linux命令. 一,使用linux命令重启 ...

  9. 【linux进阶4】apache的服务使用(图文详解apache的多种使用方式)

    apache的使用 一.apache的基本介绍 (1)Apache的作用 (2)Apache的安装和启用 (3)Apache的基本信息 (4)基本查看 二.更改访问apache默认访问 (1)Apac ...

最新文章

  1. CentOS服务器利用.htaccess批量封IP方法介绍
  2. Kubernetes v1.17 版本解读 | 云原生生态周报 Vol. 31
  3. .net core ——微服务内通信Thrift和Http客户端响应比较
  4. mysql镜像_Mysql phpmyadmin docker镜像安装
  5. [LeetCode] Search for a Range [34]
  6. IBM SOA[ESB,BPM,Portal等]基础架构图解
  7. python空列表添加_Python列表的简单操作
  8. torch --用法
  9. 如何在Mac上删除其他存储
  10. 自然语言处理怎么最快入门?
  11. jQuery砸金蛋抽奖活动php源码
  12. 小米手机设备锁定怎么强制解除
  13. js隐藏显示div页面方法
  14. 使用tensorboard时踩的坑
  15. LoRa节点如何以ABP方式入网TTN服务器?
  16. 十年Java架构师分享
  17. Sublime Text 3 配置 PHP IDE环境 并使用Xdebug进行调试
  18. 云师大计算机科学与技术,云南师范大学信息学院
  19. mysql 字符串前四位_sql截取字符串前几位
  20. 中兴新支点操作系统电力主站和变电站安全操作系统解决方案

热门文章

  1. 玩转 Apple 快捷指令,打卡、切图、查快递、扫码付款等!
  2. hostapd wpa_supplicant madwifi详细分析(九)——wps原理及实现 一
  3. LIUNX+NAT网吧网段限速透明代理脚本
  4. SSM 高校学生班费管理系统
  5. C语言 用指针实现矩阵转置
  6. 从零开始教你3D打印机怎么使用
  7. 台式电脑怎么更换计算机明,电脑上面的cpu能换吗_cpu怎么更换(台式机、笔记本)...
  8. 中创新航冲刺港交所:年营收68亿 小米与红杉是股东
  9. 交通信号灯控制系统(8051单片机中断实验)
  10. jieba中文分词库的使用