一、基本概念
- 定义
- 工作原理
二、特点
- 开源免费
- Apache 服务器的源代码是公开的,任何人都可以免费使用、修改和分发。这使得它在成本控制方面非常有优势,尤其适合中小型企业和创业公司。
- 跨平台
- 它可以在多种操作系统上运行,包括 Linux、Unix、Windows 等。这种跨平台特性使得用户可以根据自己的需求和环境选择合适的操作系统来部署 Apache 服务器。
- 高度可定制
- 通过其丰富的模块系统,用户可以很容易地添加功能,如 SSL/TLS 加密(通过 mod_ssl 模块)、用户认证(如 mod_auth_basic 模块)、URL 重写(如 mod_rewrite 模块)等。
三、应用场景
- 网站托管
- 大量的网站使用 Apache 服务器来托管其网页内容。无论是小型的个人博客,还是大型的商业网站,都可以基于 Apache 来提供稳定的网页服务。
- 企业应用
- 在企业内部,Apache 服务器可以用于搭建内部的 Web 应用,如企业资源计划(ERP)系统、客户关系管理(CRM)系统等的前端界面,方便员工通过浏览器访问和使用这些应用。
四、安装服务进程
Apache的软件包和服务进程名称为httpd,由于CentOS Stream 9 操作系统已经默认安装了Apachen服务器(httpd),所以不需要再次去安装。
1、安装命令
2、设置启动和开机自启动
3、将http和https服务添加到防火墙中
因为我已经添加过了,所以显示Warning: ALREADY_ENABLED: http
表示尝试启用的HTTP功能已经被启用了
4、重启防火墙
在浏览器输入虚拟机的ip地址
五、修改Apachen的默认主页
1、Apachen网页数据默认存储在 /var/www/html 目录下的index.html
2、编辑文件
3、创建网页数据的保存目录和首页面文件
4、编辑配置文件
设置行号:set nu
修改第124行为:
修改129~133为:
然后保存退出
5、重启httpd服务
6、浏览器输入对应的ip地址(每个人都不同,根据自己的ip地址访问)
当你看到 “Forbidden. You don't have permission to access this resource.” 这个错误信息时,这通常意味着你试图访问的资源受到了权限限制 —— 我们需要修改SELinux
7、禁用SELinux
SELinux(Security - Enhanced Linux)即安全增强型 Linux,是一种基于 Linux 内核的强制访问控制(MAC)安全机制。
基本原理
- 访问控制
- SELinux 在传统的 Linux 自主访问控制(DAC)基础上增加了强制访问控制。在 DAC 中,资源的所有者可以决定谁可以访问该资源;而在 MAC 机制下,系统根据安全策略来决定主体(如进程)是否能够访问客体(如文件、套接字等),用户对访问控制的决定权受到限制。
- 例如,即使一个用户拥有对某个文件的读写权限(在 DAC 下),但如果 SELinux 的安全策略不允许该用户对应的进程访问这个文件,访问也会被拒绝。
- 安全策略
- SELinux 通过加载安全策略来实现对系统资源的保护。这些策略定义了不同类型的主体和客体之间的允许访问关系。
- 策略一般由安全管理员制定,并在系统启动时加载到内核中。常见的策略类型有 targeted(目标策略,只对部分关键进程进行保护)和 strict(严格策略,对所有进程实施强制访问控制)。
主要作用
- 增强系统安全性
- 防止恶意软件或被攻破的进程滥用权限。即使攻击者获得了一个具有一定权限的进程控制权,由于 SELinux 的限制,他们也难以访问没有被策略允许的系统资源。
- 例如,一个网络服务进程如果被攻击,在没有 SELinux 的情况下,它可能能够读取系统中的任意文件;而在有 SELinux 的系统中,它只能访问 SELinux 策略允许的特定文件。
- 最小权限原则
- 确保每个进程只拥有完成其任务所必需的最小权限。这样可以减少因进程权限过大而带来的安全风险。
- 例如,一个打印服务进程只被允许访问与打印相关的文件和设备,而不能访问网络配置文件等无关资源。
执行操作
setenforce 0命令用于将SELinux的执行模式设置为宽容模式
getenforce命令用于显示当前SELinux(Security-Enhanced Linux)的执行模式
Permissive:放任的
重新打开页面
六、搭建个人Wed站点
搭建个人Web站点是指创建一个属于个人的互联网网站,用于展示个人信息、分享知识、作品或提供网络服务等。
1、修改home的权限
后面是个人的用户名!!!每个人都不一样
chmod
是 “change mode”(改变模式)的缩写,它是一个用于改变文件或目录权限的 Linux 命令。
755
是权限模式。在 Linux 中,权限通常用数字表示,每个数字对应一组权限(读、写、执行),分别针对文件所有者、所属组和其他用户。
- 第一位数字
7
对应文件所有者的权限。在八进制中,7
表示rwx
(读、写、执行)权限,即文件所有者有读、写和执行该文件或目录的权限。 - 第二位数字
5
对应文件所属组的权限。在八进制中,5
表示r - x
(读、执行)权限,即文件所属组有读和执行该文件或目录的权限,但没有写权限。 - 第三位数字
5
对应其他用户的权限,同样表示r - x
(读、执行)权限,即其他用户有读和执行该文件或目录的权限,但没有写权限。
2、创建个人页面
3、修改Apachen的Wed站点
Apachen服务器默认没有开启个人Wed站点搭建功能,我们需要对文件进行修改
3.1 注释掉17行
17行是禁用访问其家目录中的内容,注释掉则取消
3.2 取消24行的注释
24行是默认访问主目录html
3.3 修改31行
31行是修改home下的管理、控制权限
4、修改Apachen配置文件
因为Apachen的默认文件是index.html,而我们的个人Wed文件是yinzhen.html
在后面添加yinzhen.html
5、禁用SELinux,重启httpd服务
七、配置基于域名的虚拟主机
1、创建目录文件,写入内容
2、新建 /etc/httpd/conf.d/vhost.conf 配置文件
使用<VirtualHost></VirtualHost>标签为虚拟主机配置域名和访问目录。
3、客户端访问
为了使客户端也可以访问虚拟主机目录,需要在/etc/httpd/conf/httpd.conf主配置文件中设置虚拟主机目录的访问权限。在/etc/httpd/conf/httpd.conf主配置文件中添加一个<Directory>
在底部添加即可
4、配置主机域名
打开本地电脑C:\Windows\System32\drivers\etc,修改hosts文件,如果没有此文件就新建,或者把host修改为hosts
根据自己的ip和设置的域名添加