虚拟机: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 安装完成