安装前的准备工作
1、更新系统:确保系统软件包是最新的,执行以下命令:
- sudo yum update y
2、安装依赖包:安装一些必要的依赖包,包括开发工具、PCRE库等,执行以下命令:

- sudo yum groupinstall 'Development Tools' y
- sudo yum install pcre pcredevel openssl openssldevel y
下载并安装Apache 2.4
1、下载Apache 2.4源码包:可以从apache官方网站或其他可信赖的源下载Apache 2.4的源码包,下载httpd2.4.x.tar.gz(x为版本号)到本地。
2、解压源码包:将下载的源码包解压到指定目录,如/usr/local/src。
- tar zxvf httpd2.4.x.tar.gz C /usr/local/src
- cd /usr/local/src/httpd2.4.x
3、配置编译选项:运行./configure
脚本来配置编译选项,可以根据需要添加或修改参数。
- ./configure prefix=/usr/local/apache2.4 enableso enablerewrite enablessl withincludedapr withmpm=event withpcre=/usr/local/src/pcre8.44
prefix
指定安装路径,enableso
启用共享对象支持,enablerewrite
启用URL重写模块,enablessl
启用SSL支持,withmpm=event
使用Event MPM(多路处理模块),withpcre
指定PCRE库的路径。
4、编译和安装:执行以下命令进行编译和安装:
- make
- sudo make install
5、配置环境变量:将Apache的相关命令添加到系统的环境变量中,方便使用,编辑/etc/profile文件,在最后添加以下内容:

- export PATH=/usr/local/apache2.4/bin:$PATH
- export LD_LIBRARY_PATH=/usr/local/apache2.4/lib:$LD_LIBRARY_PATH
然后使环境变量生效:
- source /etc/profile
配置Apache服务器
1、配置文件结构:Apache的主配置文件是httpd.conf,通常位于安装目录下的conf文件夹中,还有一些其他的配置文件和目录用于存储虚拟主机配置、日志文件等。
2、监听端口:默认情况下,Apache监听80端口(HTTP)和443端口(HTTPS),可以通过修改httpd.conf文件中的Listen指令来更改监听端口。
- Listen 8080
这将使Apache监听8080端口。
3、设置根目录:DocumentRoot指令用于设置网站的根目录,即网站文件的存放位置。
- DocumentRoot "/var/www/html"
4、目录权限:通过<Directory>指令可以设置目录的访问权限、索引文件、跟随符号链接等属性。

- <Directory "/var/www/html">
- Options Indexes FollowSymLinks
- AllowOverride All
- Require all granted
- </Directory>
5、虚拟主机配置:如果需要配置虚拟主机,可以在httpd.conf文件中添加VirtualHost段,或者在conf.d/vhosts.conf文件中进行配置。
- <VirtualHost *:80>
- ServerName example.com
- DocumentRoot "/var/www/example"
- <Directory "/var/www/example">
- Options Indexes FollowSymLinks
- AllowOverride All
- Require all granted
- </Directory>
- </VirtualHost>
6、日志文件配置:ErrorLog和CustomLog指令用于设置错误日志和访问日志的文件路径和格式。
- ErrorLog "/var/log/httpd/error_log"
- CustomLog "/var/log/httpd/access_log" combined
7、启动和停止服务:可以使用以下命令来启动、停止、重启和检查Apache服务的状态:
- # 启动Apache服务
- sudo /usr/local/apache2.4/bin/apachectl start
- # 停止Apache服务
- sudo /usr/local/apache2.4/bin/apachectl stop
- # 重启Apache服务
- sudo /usr/local/apache2.4/bin/apachectl restart
- # 检查Apache服务状态
- sudo /usr/local/apache2.4/bin/apachectl status
常见问题及解决方案
1、防火墙配置:如果无法访问Apache服务器,可能是防火墙阻止了相应的端口,可以使用以下命令开放端口:
- sudo firewallcmd permanent addport=80/tcp
- sudo firewallcmd permanent addport=443/tcp
- sudo firewallcmd reload
2、SELinux配置:在某些情况下,SELinux可能会阻止Apache访问某些资源,可以将SELinux设置为Permissive模式或Disabled模式,但需要注意这可能会降低系统的安全性,可以使用以下命令临时或永久关闭SELinux:
临时关闭:setenforce 0
永久关闭:编辑/etc/selinux/config文件,将SELINUX=enforcing改为SELINUX=disabled,然后重启系统。
3、权限问题:如果遇到权限相关的错误,需要检查相关目录和文件的权限是否正确,确保Apache进程有权限读取配置文件、网站文件和日志文件等,可以使用chmod
和chown
命令来修改权限和所有者。