安装服务程序
配置本地Yum仓库
- 将系统镜像挂载到 /media/cdrom
- 编辑Yum仓库的配置文件
- 检查是否配置成功
代码演示:
[root@localhost ~]# mkdir -p /media/cdrom
[root@localhost ~]# mount /dev/cdrom /media/cdrom
mount: /dev/sr0 is write-protected, mounting read-only
[root@localhost ~]# vim /etc/yum.repos.d/media.repo
[media]
name=media
baseurl=file:///media/cdrom
enabled=1
gpgcheck=0
[root@localhost ~]# yum repolist # 列出所有的软件包
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
repo id repo name status
media local media 4,305
repolist: 4,305
安装httpd服务
系统中提供Apache服务的软件包是httpd,所以需要安装的软件包为httpd。
代码演示:
# 执行以下命令,yum 安装成功后有“Complete”字样,匹配到即为安装成功
[root@localhost ~]# yum install httpd -y | grep Complete
Complete! # 安装成功
# 启用并将其加入到开机启动项
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# systemctl enable httpd
ln -s '/usr/lib/systemd/system/httpd.service' '/etc/systemd/system/multi-user.target.wants/httpd.service'
[root@localhost ~]# firefox
执行过firefox
命令后,会弹出Firefox浏览器的窗口,在地址栏内输入http://127.0.0.1,进行访问:
能够出现以上内容,证明Apache已安装成功并能正常提供服务了。
配置文件参数
在Linxu系统中配置一项服务不仅要将其正确的安装和运行,还要熟悉该服务里各个配置文件所在的位置及用途,这样才能对其进行合理的配置,进而为用户提供更好的服务。
httpd服务程序的主要配置文件及存放位置:
项目 | 路径 |
---|---|
服务目录 | /etc/httpd |
主配置文件 | /etc/httpd/conf/httpd.conf |
网站数据目录 | /var/www/html |
访问日志 | /var/log/httpd/access_log |
错误日志 | /var/log/httpd/error_log |
在httpd服务程序的主配置文件中,存在三种类型的信息:注释行信息、全局配置、区域配置,如图所示:
顾名思义,全局配置参数就是一种全局性的配置参数,可作用于对所有的子站点,既保证了子站点的正常访问,也有效减少了频繁写入重复参数的工作量。区域配置参数则是单独针对于每个独立的子站点进行设置的。
在httpd服务程序主配置文件中,最为常用的参数如表所示:
参数名 | 作用 |
---|---|
ServerRoot | 服务目录 |
ServerAdmin | 管理员邮箱 |
User | 运行服务的用户 |
Group | 运行服务的用户组 |
ServerName | 网站服务器的域名 |
DocumentRoot | 网站数据目录 |
Listen | 监听的IP地址与端口号 |
DirectoryIndex | 默认的索引页页面 |
ErrorLog | 错误日志文件 |
CustomLog | 访问日志文件 |
Timeout | 网页超时时间,默认为300秒 |
示例:
# 尝试修改httpd服务的默认首页文件
[root@localhost ~]# echo "The page was changed" > /var/www/html/index.html
[root@localhost ~]# firefox
再次打开Firefox访问http://127.0.0.1,观察到页面已经发生了改变。
SELinux
SELinux(Security-Enhanced Linux) 是美国国家安全局在Linux开源社区的帮助下开发的一个强制访问控制(MAC,Mandatory Access Control)的安全子系统。RHEL 7系统使用SELinux技术的目的是为了让各个服务进程都受到约束,使其仅获取到本应获取的资源。
SELinux安全子系统能够从多方面监控违法行为,包括:
- 对服务程序的功能进行限制(SELinux域限制)
- 对文件资源的访问限制(SELinux安全上下文)
SELinux服务有三种配置模式,具体如下。
-
enforcing:强制启用安全策略模式,将拦截服务的不合法请求。
-
permissive:遇到服务越权访问时,只发出警告而不强制拦截。
-
disabled:对于越权的行为不警告也不拦截。
SELinux的主配置文件 /etc/selinux/config
# 查看SELinux主配置文件中定义的默认运行状态
[root@localhost ~]# cat /etc/selinux/config | grep -v "#"
SELINUX=enforcing # SELinux的运行模式
SELINUXTYPE=targeted
[root@localhost ~]# getenforce
Enforcing
[root@localhost ~]# setenforce 0 # 将SELinux临时设置为禁用
[root@localhost ~]# getenforce
Permissive
管理SELinux服务常用的命令及作用:
命令 | 作用 |
---|---|
setenforce 0/1 | 临时关闭/开启SELinux服务 |
getenforce | 获取当前SELinux运行状态 |
semanage | 管理SELinux的策略 |
restorecon | 使设置的SELinux安全上下文立即生效 |
getsebool | 获取SELinux域策略 |
setsebool | 设置SELinux域策略 |
semanage命令用于管理SELinux的策略,格式为“semanage [选项] [文件]”。semanage命令不仅能够像传统chcon