Apache在CentOS编译安装指南
Apache HTTP Server(简称Apache)是全球使用最广泛的Web服务器软件,它支持跨平台运行,因其稳定性、灵活性和安全性而广受欢迎,本文将详细介绍如何在CentOS系统上编译并安装最新版本的Apache HTTP Server。
一、准备工作
登录CentOS系统
确保你有CentOS系统的访问权限,可以通过SSH远程连接或直接在本地终端进行操作。
安装必要的依赖包
编译Apache需要一些基本的编译工具和库,执行以下命令以安装这些依赖:
sudo yum groupinstall "Development Tools" sudo yum install gcc openssldevel pcredevel zlibdevel libtool expatdevel gettext unzip make cmake ncursesdevel curldevel y
下载Apache源码
从Apache官方镜像站下载最新版的Apache HTTP Server源码包,下载2.4.52版本:
cd /usr/local/src sudo wget https://downloads.apache.org/httpd/httpd2.4.52.tar.gz
或者,如果你更喜欢使用阿里云镜像来加速下载,可以使用以下命令:
sudo wget https://mirrors.aliyun.com/apache/httpd/httpd2.4.52.tar.gz
下载完成后,解压文件:
tar zxvf httpd2.4.52.tar.gz cd httpd2.4.52
二、安装依赖项
1. APR(Apache Portable Runtime)
APR是Apache HTTP Server的一个关键依赖项,用于提供跨平台的功能,执行以下命令下载并安装APR:
cd .. sudo wget https://mirrors.aliyun.com/apache/apr/apr1.7.0.tar.gz tar zxvf apr1.7.0.tar.gz cd apr1.7.0 sudo ./configure prefix=/etc/apr sudo make && sudo make install
APRUtil
APRUtil是另一个关键的依赖项,用于提供高级功能,执行以下命令下载并安装APRUtil:
cd .. sudo wget https://mirrors.aliyun.com/apache/apr/aprutil1.6.1.tar.gz tar zxvf aprutil1.6.1.tar.gz cd aprutil1.6.1 sudo ./configure prefix=/etc/aprutil withapr=/etc/apr sudo make && sudo make install
3. PCRE(Perl Compatible Regular Expressions)
PCRE库是Apache HTTP Server的另一个依赖项,用于提供正则表达式支持,执行以下命令下载并安装PCRE:
cd .. sudo wget https://sourceforge.net/projects/pcre/files/pcre/8.45/pcre8.45.tar.gz/download tar zxvf pcre8.45.tar.gz cd pcre8.45 sudo ./configure prefix=/etc/pcre sudo make && sudo make install
三、配置与编译Apache
配置选项
在编译Apache之前,需要配置编译选项,这些选项指定了安装路径和其他依赖库的位置,执行以下命令进行配置:
cd ../httpd2.4.52 sudo ./configure prefix=/etc/apache2 sysconfdir=/etc/httpd withincludedapr enableso enablessl enablempmsshared="all" withmpm=event enabledeflate enableexpires enablerewrite withpcre=/etc/pcre
上述命令中的各个选项解释如下:
prefix
:指定Apache的安装路径。
sysconfdir
:指定配置文件的路径。
withincludedapr
:指定包含APR库。
enableso
:启用动态加载模块。
enablessl
:启用SSL支持。
enablempmsshared="all"
:以共享方式编译所有MPM模块。
withmpm=event
:指定使用Event MPM。
enabledeflate
:启用gzip压缩。
enableexpires
:启用过期头。
enablerewrite
:启用URL重写。
withpcre
:指定PCRE库的位置。
编译与安装
配置完成后,执行以下命令进行编译和安装:
sudo make sudo make install
编译过程可能需要一些时间,具体取决于系统性能,安装完成后,可以检查Apache是否成功安装:
ls /etc/apache2/bin/httpd
如果输出类似于/etc/apache2/bin/httpd
,说明安装成功。
四、配置Apache环境变量
为了使系统能够找到Apache的可执行文件,需要将Apache的bin
目录添加到环境变量PATH
中,编辑/etc/profile
文件,添加以下行:
export PATH=$PATH:/etc/apache2/bin
然后使更改生效:
source /etc/profile
五、增加Apache服务自启
为了方便管理Apache服务,可以将其添加到系统服务中,执行以下命令复制启动脚本并修改权限:
sudo cp /etc/apache2/bin/apachectl /etc/init.d/httpd sudo chmod +x /etc/init.d/httpd
然后添加服务:
sudo chkconfig add httpd sudo chkconfig level 2345 httpd on
你可以使用以下命令来启动、停止或重启Apache服务:
sudo service httpd start sudo service httpd stop sudo service httpd restart
六、验证安装
通过浏览器验证Apache是否正确安装,打开浏览器,访问http://<你的服务器IP>/
,你应该能看到Apache的默认欢迎页面,如果看到此页面,说明Apache已经成功安装并运行。
七、常见问题及解决
问题1:编译过程中出现“undefined reference”错误怎么办?
答:这种错误通常是由于缺少某些库或库路径未正确指定导致的,请确保所有依赖项都已正确安装,并在配置时指定正确的路径,如果问题仍然存在,可以尝试重新安装相关库或查找相关的错误信息进行排查。
问题2:如何卸载Apache?
答:由于我们是源码编译安装的Apache,卸载也相对简单,只需要删除相关的文件和目录即可,执行以下命令:
sudo rm rf /etc/apache2 sudo rm rf /etc/init.d/httpd