CentOS 使用 Yum 安装 apache
一、Yum 简介
Yum(Yellowdog Updater, Modified)是一个在CentOS和其他基于RPM的Linux发行版中使用的命令行包管理工具,Yum可以自动解决依赖关系,并且提供了一种简便的方式来安装、更新和删除软件包。

二、安装 Apache
1. 检查是否已经安装 Apache
在安装之前,可以先检查系统中是否已经安装了Apache,执行以下命令:
- rpm qa | grep httpd
如果没有任何输出,说明系统尚未安装Apache。
2. 安装 Apache
使用Yum安装Apache非常简单,只需执行以下命令:
- sudo yum install httpd y
该命令会自动下载并安装httpd软件包及其所有依赖项。

3. 启动 Apache
安装完成后,需要启动Apache服务:
- sudo systemctl start httpd.service
要确保Apache在系统启动时自动运行,可以执行:
- sudo systemctl enable httpd.service
4. 验证安装
打开浏览器,访问服务器的IP地址或域名,如果看到Apache的默认页面,则表示安装成功,http://服务器IP
三、Apache 配置
1. 主配置文件

Apache的主配置文件位于/etc/httpd/conf/httpd.conf
,常用配置选项包括:
ServerRoot: 服务目录。
ServerAdmin: 管理员邮箱。
DocumentRoot: 网站根目录。
DirectoryIndex: 默认索引页。
ErrorLog: 错误日志文件。
CustomLog: 访问日志文件。
2. 修改网站根目录
将默认的网站根目录从/var/www/html
修改为/home/wwwroot
:
- sudo vim /etc/httpd/conf/httpd.conf
找到类似以下的行:
- DocumentRoot "/var/www/html"
- <Directory "/var/www/html">
将其修改为:
- DocumentRoot "/home/wwwroot"
- <Directory "/home/wwwroot">
然后重启Apache服务:
- sudo systemctl restart httpd.service
3. SELinux 设置
如果修改了网站根目录,SELinux可能会阻止Apache访问新目录,解决方法如下:
临时关闭SELinux:
- sudo setenforce 0
查看新目录的SELinux属性:
- ls Zd /home/wwwroot
应用正确的SELinux上下文:
- sudo semanage fcontext a t httpd_sys_content_t "/home/wwwroot(/.*)?"
- sudo restorecon Rv /home/wwwroot/
重新启动SELinux:
- sudo setenforce 1
四、常见问题及解决方法
1. 启动Apache时提示“Permission denied”
可能是由于SELinux的限制导致的,临时关闭SELinux进行测试:
- sudo setenforce 0
如果问题解决,则需要按照上述方法正确配置SELinux。
2. 防火墙阻止访问
确保防火墙允许HTTP流量通过:
- sudo firewallcmd permanent addservice=http
- sudo firewallcmd reload
3. 忘记更改DocumentRoot后的权限问题
确保Apache对新的DocumentRoot目录具有适当的权限:
- sudo chown R apache:apache /home/wwwroot/
- sudo chmod R 755 /home/wwwroot/
使用Yum在CentOS上安装Apache是一种快捷且高效的方式,通过简单的命令即可完成安装和基本配置,实际生产环境中可能需要进一步优化和安全配置,如配置SSL、调整性能参数等,希望本文能帮助读者顺利完成Apache的安装与基本配置。
六、相关FAQs
Q1: 如何更改Apache监听的端口?
A1: 可以在/etc/httpd/conf/httpd.conf
文件中查找“Listen”指令,并将其值改为所需的端口号,
- Listen 8080
然后重启Apache服务:
- sudo systemctl restart httpd.service
注意,还需要确保防火墙开放新的端口:
- sudo firewallcmd permanent addport=8080/tcp
- sudo firewallcmd reload
Q2: 如何在Apache中添加虚拟主机?
A2: 虚拟主机的配置通常放在/etc/httpd/conf.d/
目录下的独立文件中,每个文件对应一个虚拟主机,创建一个新的配置文件/etc/httpd/conf.d/mywebsite.conf
如下:
- <VirtualHost *:80>
- ServerName www.mywebsite.com
- DocumentRoot /var/www/mywebsite
- ErrorLog logs/mywebsiteerror_log
- CustomLog logs/mywebsiteaccess_log common
- </VirtualHost>
然后重启Apache服务:
- sudo systemctl restart httpd.service