Ubuntu18.10以源码安装Apache服务

环境概述

虚拟机:VirtualBox 5.2.24
系统镜像:Ubuntu18.10-Desktop

所需文件

apr
apr-util
pcre
httpd

前两者 apr 和 apr-util 可以在中国科学技术大学的镜像中下载,这里给出地址
https://mirrors.ustc.edu.cn/apache/apr/
而 httpd 也可以在中国科学技术大学的镜像中下载
https://mirrors.ustc.edu.cn/apache/httpd/
至于 pcre 则可以在其官网上下载
https://ftp.pcre.org/pub/pcre/

下载得到 4 个文件:
apr-1.6.5.tar.bz2
apr-util-1.6.1.tar.bz2
httpd-2.4.38.tar.gz
pcre-8.43.tar.gz

注:下载的文件可以是 bz2 后缀名,也可以是 gz 后缀名,都可以用 tar 命令解压,两个后缀可以随便选,后面会说到 tar 命令的使用

搭建编译环境

要编译源码则需要 C 编译器,C++ 编译器,以及必要的库,这里可以通过 APT 命令来安装

sudo apt install gcc							#安装 C 编译器
sudo apt install g++							#安装 C++ 编译器
sudo apt install libexpat1-dev					#安装必要的库

建议切换到管理员帐户(一般为 root )来操作,以管理员身份操作可以不要 sudo 命令,这样比较方便,不需要每次都输密码

这样,编译环境就搭建好了

编译前准备

分别将 4 个文件解压

tar xvf apr-1.6.5.tar.bz2
tar xvf apr-util-1.6.1.tar.bz2
tar xvf httpd-2.4.38.tar.gz
tar xvf pcre-8.43.tar.gz

注:正如前文所说,下载 gz 或者 bz2 格式均可,tar 中的 x 参数会智能识别并解压

接下来,将解压出来的 apr 和 apr-util 整个文件夹复制到 httpd-2.4.38/srclib 下,并且去掉数字部分,例如:

cp -r apr-1.6.5 httpd-2.4.38/srclib/apr
cp -r apr-util-1.6.1 httpd-2.4.38/srclib/apr-util

开始编译

先编译 pcre

进入 pcre-8.43

cd pcre-8.43

可以看到有很多文件,但其实编译用到的就那么几个文件
配置 configure 文件

./configure --prefix=/home/sankela/myapp/pcre
# prefix 指定文件安装的路径,如果其它没有选项,则软件的所有数据都保存在该目录下

没有报错就进行下下一步,有报错就根据报错信息进行排错

下一步就开始编译

make

编译比较费时间,之后就是安装

make install

至此,pcre 安装完成,下一步开始编译安装 httpd

同样的步骤,进入文件目录,配置 configure

.configure --prefix=/home/sankela/myapp/http \
--with-pcre=/home/sankela/myapp/pcre \
--with-included-apr

两条参数很重要,不能漏,否则编译会报错

prefix 这条参数可以省略,省略后软件安装到默认路径

之后

make

最后

make install

至此,Apache 安装完成

你可能感兴趣的:(Ubuntu18.10以源码安装Apache服务)