Ubuntu 源码编译安装apache

操作系统:Ubuntu18.04
apache版本:2.4.48
说明:编译安装apache需要先安装:pcre、apr、apr-util

  1. pcre:Perl 兼容的正则表达式库(为其他的源码编译提供支持)
  2. apr:是基本的可移植性库
  3. apr-util:在 APR 之上提供了许多有用的抽象
    注意事项:各部分要按照顺序安装,因为它们之间存在支持关系。对于没有apr-iconv的操作系统(例windows)需要安装APR iconv(apache推荐apr)

需要安装的系统软件:gcc、make、g++、libtool-bin、libexpat1-dev、build-essential(gcc-c++)

一般的源码编译流程

gzip -d httpd-NN.tar.gz # gzip解压
tar xvf httpd-NN.tar # tar解压
cd httpd-NN # 在根目录开始编译
./configure --prefix=PREFIX # 配置:配置生成Makefile。prefix为安装路径,不设置则为默认路径,一般在/usr/local/下
make # 编译:编译出软件包,make clean命令清理编译(出问题的话最好重新./configure)
make install # 安装
vi PREFIX/conf/httpd.conf # 修改配置,根据具体软件而定
PREFIX/bin/apachectl -k start # 开启软件或服务

PCRE编译安装

安装软件:gcc、make、g++、libtool-bin
源码下载地址:PCRE - Perl 兼容的正则表达式
实验版本:pcre-8.00.tar.gz

cd 源码根目录
./configure
make
make install

libpcre3 libpcre3-dev
注:apache启动时可能会提示“找不到libpcre.so.0”,(可能是缺少其他配置),我的解决办法是将libpcre.so.0的软链接加入到/lib/x86_64-linux-gnu/下(可通过find查找libpcre.so.0路径)

apr编译安装

apr下载地址:apache推荐apr
实验版本:apr-1.7.0.tar.gz

cd 源码根目录
./configure
make
make install

提示:configure会显示rm: cannot remove 'libtoolT': No such file or directory,我未作处理,网络上可参考的相关处理很多,但感觉都不准确。

apr-util编译安装

安装软件:libexpat1-dev、build-essential(也叫gcc-c++,此处不安装不会报错,但是会影响使用,在httpd编译时报错)
apr-util下载地址:apache推荐apr
实验版本:apr-util-1.6.1.tar.gz

cd 源码根目录
./configure --with-apr=/usr/local/apr/bin/apr-1-config # --with-apr:指定使用apr的位置,一直到bin下的apr-1-config
make
make install

httpd编译安装

注意事项:编译apr-util时要安装build-essential(gcc-c++),否则会报XML相关错误。
apache下载地址:Downloading the Apache HTTP Server
实验版本:httpd-2.4.48.tar.gz

cd 源码根目录
./configure
make
make install

启动apache

/usr/local/apache2/bin/apachectl start # apache根目录/bin/apachectl start

浏览器打开http://127.0.0.1,显示It Works!

相关链接:
官网编译手册

你可能感兴趣的:(Apache,ubuntu,apache)