Linux编译安装apache

本文详细介绍了在Linux环境下编译安装Apache HTTP Server的步骤,包括安装依赖、下载源码、配置参数、解决编译错误以及启动、停止和重启服务器的方法。

安装前准备
yum -y install gcc
yum -y install openssl
yum -y install openssl-devel
yum -y install curl
yum -y install curl-devel
yum -y install bzip2
yum -y install bzip2-devel

下载apache安装包并解压

Download - The Apache HTTP Server Project

创建apache的待安装目录   /usr/local/

mkdir /usr/local/apache

下载依赖包apr-1.7.0.tar.gz  apr-util-1.6.1.tar.gz

Download - The Apache Portable Runtime Project

安装apr-1.7.0

cd apr-1.7.0
./configure --prefix=/usr/local/apr
make
make install

安装apr-util-1.6.1

cd apr-util-1.6.1
./configure --prefix=/usr/local/apr-util-1.6.1 --with-apr=/usr/local/apr
make
make install

这里直接make编译的时候会报错,如果报错,就是少了一个expat库,需要编译前安装,错误信息如下:

xml/apr_xml.c:35:19: error: expat.h: No such file or directory
xml/apr_xml.c:66: error: expected specifier-qualifier-list before ‘XML_Parser’
xml/apr_xml.c: In function ‘cleanup_parser’:
xml/apr_xml.c:364: error: ‘apr_xml_parser’ has no member named ‘xp’
xml/apr_xml.c:365: error: ‘apr_xml_parser’ has no member named ‘xp’

yum安装expat-devel

yum install expat-devel

下载pcre-8.42.tar.gz  并解压,创建待安装目录

PCRE - Browse Files at SourceForge.net    (注意别下载pcre2开头的)

安装pcre-8.42

cd pcre-8.42
./configure --prefix=/usr/local/pcre
make
make install

安装apache

cd httpd-2.4.51
 ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-rewirte --enable-ssl --enable-cgi --enable-cgid--enable-modules=most --enable-modules-shared=most --enable-mpms-shared=all --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre
make
make install

出现如下报错解决方法

make[2]: [htpasswd] 错误 1
make[2]: 离开目录“/usr/local/src/httpd-2.4.51/support”
make[1]: [all-recursive] 错误 1
make[1]: 离开目录“/usr/local/src/httpd-2.4.51/support”
make: *** [all-recursive] 错误 1

解决方法:

(1)在configure后加上 “--with-included-apr”。再重新编译, make, make install

(2)如果在添加上述语句后又再次报错,内容如下:

configure: error: Bundled APR requested but not found at ./srclib/. Download and unpack the corresponding apr and apr-util packages to ./srclib/.

解决方法:

将解压后的apr-1.7.0、apr-util-1.6.1、pcre-8.42这三个文件拷贝到/usr/local/httpd-2.4.51/srclib/下 :具体操作如下:

cp apr-1.7.0 /usr/local/httpd-2.4.51/srclib/apr
cp apr-util-1.6.1 /usr/local/httpd-2.4.51/srclib/apr-util
cp pcre-8.42 /usr/local/httpd-2.4.51/srclib/pcre

状态命令

启动:/usr/local/apache/bin/apachectl start
停止:/usr/local/apache/bin/apachectl stop
重启:/usr/local/apache/bin/apachectl restart
 

### 编译安装Apache HTTP服务器 #### 准备工作 为了成功编译安装Apache HTTP服务器,在Linux环境下需先确认已安装必要的依赖库。这些通常包括`gcc`, `make`, 和其他开发工具链组件。 #### 获取源代码 下载最新的Apache HTTP Server版本是非常重要的一步。可以从官方网站获取稳定版的压缩包文件,例如`httpd-2.4.x.tar.gz`这样的格式[^2]。 ```bash wget http://mirror.bit.edu.cn/apache/httpd/httpd-2.4.39.tar.gz tar -zxf httpd-2.4.39.tar.gz cd httpd-2.4.39 ``` #### 安装依赖项 除了基本的构建工具外,还需要几个额外的支持库来增强Apache的功能,比如APR (Apache Portable Runtime), APR-util, 和 PCRE (Perl Compatible Regular Expressions) 库。对于某些发行版来说,可能已经预装了部分所需的库;如果没有,则可以通过包管理器或者手动编译的方式获得它们[^3]。 ##### 安装 apr ```bash # 使用系统自带仓库中的apr-devel包简化操作 sudo yum install apr-devel # 对于基于RedHat/CentOS系统的命令 # 或者 sudo apt-get install libapr1-dev # 针对Debian/Ubuntu类系统 ``` ##### 安装 apr-util 同样地,可以利用官方资源或本地镜像站点下载对应的`.tar.bz2`文件,并按照常规流程解压、配置、编译以及安装。 ##### 安装 pcre PCRE用于支持正则表达式的处理能力,这对于URL重写等功能至关重要。大多数现代Linux发行版都提供了现成的二进制包可以直接安装。 #### 编译 Apache 完成上述准备工作之后就可以正式开始编译Apache本身了: ```bash ./configure --prefix=/usr/local/apache2 \ --enable-so \ --enable-cgi \ --enable-rewrite \ --with-included-apr \ --enable-modules=most \ --enable-mods-shared=all make && sudo make install ``` 这段脚本指定了多个选项来自定义最终生成的服务端程序的行为模式及其性能特征。其中一些关键参数解释如下: - `--prefix`: 设置安装路径,默认情况下会放置到`/usr/local/apache2`目录内; - `--enable-*`: 启用特定模块或特性集; - `--with-included-apr`: 表明使用捆绑在一起发布的APR版本而非系统级实例。 #### 初始化设置与验证 一旦编译过程顺利完成,接下来就是调整初始配置文件(位于`conf/httpd.conf`) 并尝试启动新搭建起来的服务进程以检验一切是否正常运作。 ```bash /usr/local/apache2/bin/apachectl start curl localhost ``` 如果返回了一个标准HTML页面的内容片段,说明HTTP请求已经被正确接收和响应,表明整个安装过程达到了预期效果。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值