共计 7020 个字符,预计需要花费 18 分钟才能阅读完成。
【阿里云镜像】装置编译 Apache 环境
一、参考链接
阿里巴巴开源镜像站 -OPSX 镜像站 - 阿里云开发者社区 (aliyun.com)
apache 镜像 -apache 下载地址 -apache 装置教程 - 阿里巴巴开源镜像站 (aliyun.com)
Apache(Web 服务器软件)_百度百科 (baidu.com)
编译装置_Apache 中文文档 (apachehttpd.com)
二、Apache 简介
Apache(音译为阿帕奇) 是世界应用排名第一的 Web 服务器软件。它能够运行在简直所有宽泛应用的计算机平台上,因为其跨平台和安全性被宽泛应用,是最风行的 Web 服务器端软件之一。它疾速、牢靠并且可通过简略的 API 裁减,将 Perl/Python 等解释器编译到服务器中。
下载地址:https://mirrors.aliyun.com/apache/
三、Apache 编译装置(基于 CentOS 零碎)
1、登录 CentOS 零碎
2、装置依赖包
编译装置 Apache HTTP Server,目前最新的版本为 2.4.52,将 apr,apr-util,pcre 等相干依赖包编译装置好即可。
若上述安装包已全副装置实现,能够间接进行 Apache 装置。
🔴 apr 装置
下载链接:https://mirrors.aliyun.com/ap…
# 测试 YUM 源是否可能失常
[root@centos apache]# yum clean all
[root@centos apache]# yum repolist
# 下载压缩包
[root@centos apache]# wget https://mirrors.aliyun.com/apache/apr/apr-1.7.0.tar.gz
# 查看 apr-1.7.0.tar.gz
[root@centos apache]# ll
total 1072
-rw-r--r-- 1 root root 1093896 Jul 6 2020 apr-1.7.0.tar.gz
#解压压缩包
[root@centos apache]# tar -zxvf apr-1.7.0.tar.gz
[root@centos apache]# ll
total 1076
drwxr-xr-x 27 1001 1001 4096 Apr 2 2019 apr-1.7.0
-rw-r--r-- 1 root root 1093896 Jul 6 2020 apr-1.7.0.tar.gz
# 进入解压后的文件夹
[root@centos apache]# cd apr-1.7.0
# 创立 apr 装置目录文件夹
[root@centos apr-1.7.0]# mkdir -p /usr/local/apr/apr
# 装置配置
[root@centos apr-1.7.0]# ./configure --prefix=/usr/local/apr/apr/
# 编译
[root@centos apr-1.7.0]# make
#装置
[root@centos apr-1.7.0]# make install
局部装置过程截图如下:
🟡apr-util 装置
下载链接:https://mirrors.aliyun.com/ap…
[root@centos apache]# wget https://mirrors.aliyun.com/apache/apr/apr-util-1.6.1.tar.gz
[root@centos apache]# ll
total 1624
drwxr-xr-x 28 1001 1001 4096 Dec 22 18:19 apr-1.7.0
-rw-r--r-- 1 root root 1093896 Jul 6 2020 apr-1.7.0.tar.gz
drwxr-xr-x 20 1001 1001 4096 Oct 18 2017 apr-util-1.6.1
-rw-r--r-- 1 root root 554301 Jul 6 2020 apr-util-1.6.1.tar.gz
[root@centos apache]#
[root@centos apache]# cd apr-util-1.6.1
[root@centos apr-util-1.6.1]#
[root@centos apr-util-1.6.1]# mkdir /usr/local/apr/util
# --with-apru 命令的意思是指定自定义的 apr 的装置地位
[root@centos apr-util-1.6.1]# ./configure --prefix=/usr/local/apr/util --with-apr=/usr/local/apr/apr
# 编译
[root@centos apr-util-1.6.1]# make
#装置
[root@centos apr-util-1.6.1]# make install
局部装置过程截图如下:
🟢pcre 装置
下载链接:https://sourceforge.net/proje…
[root@centos apache]# ll
total 3672
drwxr-xr-x 28 1001 1001 4096 Dec 22 18:19 apr-1.7.0
-rw-r--r-- 1 root root 1093896 Jul 6 2020 apr-1.7.0.tar.gz
drwxr-xr-x 21 1001 1001 4096 Dec 22 18:32 apr-util-1.6.1
-rw-r--r-- 1 root root 554301 Jul 6 2020 apr-util-1.6.1.tar.gz
-rw-r--r-- 1 root root 2096552 Dec 22 18:39 pcre-8.45.tar.gz
[root@centos apache]#
[root@centos apache]# tar -zxvf pcre-8.45.tar.gz
[root@centos apache]# cd pcre-8.45/
[root@centos pcre-8.45]#mkdir /usr/local/pcre
[root@centos pcre-8.45]# ./configure --prefix=/usr/local/pcre/
[root@centos pcre-8.45]# make
[root@centos pcre-8.45]# make install
局部装置过程截图如下:
3、Apache 装置
下载链接:阿里云开源镜像站资源目录 (aliyun.com)
[root@centos ~]# wget https://mirrors.aliyun.com/apache/httpd/httpd-2.4.52.tar.gz
[root@centos apache]# ll
total 13188
drwxr-xr-x 28 1001 1001 4096 Dec 22 18:19 apr-1.7.0
-rw-r--r-- 1 root root 1093896 Jul 6 2020 apr-1.7.0.tar.gz
drwxr-xr-x 21 1001 1001 4096 Dec 22 18:32 apr-util-1.6.1
-rw-r--r-- 1 root root 554301 Jul 6 2020 apr-util-1.6.1.tar.gz
drwxr-xr-x 12 504 games 4096 Dec 16 21:49 httpd-2.4.52
-rw-r--r-- 1 root root 9719976 Dec 20 17:36 httpd-2.4.52.tar.gz
drwxr-xr-x 9 1169 1169 12288 Dec 22 18:45 pcre-8.45
-rw-r--r-- 1 root root 2096552 Dec 22 18:39 pcre-8.45.tar.gz
[root@centos apache]# cd httpd-2.4.52
[root@centos httpd-2.4.52]#
[root@centos httpd-2.4.52]# mkdir /usr/local/httpd
[root@centos httpd-2.4.52]# ./configure --prefix=/usr/local/httpd/
checking for chosen layout... Apache
checking for working mkdir -p... yes
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
configure:
configure: Configuring Apache Portable Runtime library...
configure:
checking for APR... no
configure: error: APR not found. Please read the documentation.
# 因批改了 apr 的默认装置地位,提醒找不到 apr,应用帮忙命令查看。[root@centos httpd-2.4.52]# ./configure --help
[root@centos httpd-2.4.52]# ./configure --help | grep -i apr
--enable-hook-probes Enable APR hook probes
--with-included-apr Use bundled copies of APR/APR-Util
--with-apr=PATH prefix for installed APR or the full path to
apr-config
--with-apr-util=PATH prefix for installed APU or the full path to
# 指定自定义的目录
[root@centos httpd-2.4.52]# ./configure --prefix=/usr/local/httpd/ --with-apr=/usr/local/apr/apr/ --with-apr-util=/usr/
local/apr/util/ --with-pcre=/usr/local/pcre/ --with-included-apr
local/apr/util/ --with-pcre=/usr/local/pcre/
# 编译
[root@centos httpd-2.4.52]# make
# 装置
[root@centos httpd-2.4.52]# make install
# 批改配置信息
[root@centos httpd-2.4.52]# vim /usr/local/httpd/conf/httpd.conf
ServerName localhost:80
保留退出
# 启动 Apache 服务
[root@centos ~]# /usr/local/httpd/bin/apachectl -k start
[root@localhost ~]# /usr/local/httpd/bin/apachectl -T
httpd (pid 66510) already running
[root@localhost ~]#
[root@localhost ~]# cd /usr/local/httpd/
[root@localhost httpd]# ll
total 44
drwxr-xr-x 2 root root 302 Dec 22 19:35 bin
drwxr-xr-x 2 root root 253 Dec 22 19:35 build
drwxr-xr-x 2 root root 78 Dec 22 19:10 cgi-bin
drwxr-xr-x 4 root root 84 Dec 22 19:47 conf
drwxr-xr-x 3 root root 4096 Dec 22 19:10 error
drwxr-xr-x 2 root root 24 Dec 22 19:10 htdocs
drwxr-xr-x 3 root root 8192 Dec 22 19:10 icons
drwxr-xr-x 2 root root 8192 Dec 22 19:35 include
drwxr-xr-x 3 root root 281 Dec 22 19:35 lib
drwxr-xr-x 2 root root 58 Dec 22 19:55 logs
drwxr-xr-x 4 root root 30 Dec 22 19:10 man
drwxr-xr-x 14 root root 8192 Dec 22 19:10 manual
drwxr-xr-x 2 root root 4096 Dec 22 19:35 modules
[root@localhost httpd]# cd htdocs/
[root@localhost htdocs]# ll
total 4
-rw-r--r-- 1 504 games 45 Jun 12 2007 index.html
[root@localhost htdocs]# cat index.html
<html><body><h1>It works!</h1></body></html>
[root@localhost htdocs]#
局部装置过程截图如下:
四、总结与反馈
以上就是编译装置 Apache 的次要操作步骤,须要留神的是在装置 Apache 之前,须要装置好相应的依赖包,否则会在装置过程中报错,须要进一步排查。
在装置相应的依赖包的过程中,也会产生一些报错,也须要装置相应的组件,能够将报错信息复制粘贴至网上,搜寻查看对应的解决办法。
这里也列举了几个在装置过程中报错的信息,供大家参考。
报错信息 1
# 报错信息
[root@centos apr-1.7.0]# ./configure --prefix=/usr/local/apr/apr/
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
Configuring APR library
Platform: x86_64-pc-linux-gnu
checking for working mkdir -p... yes
APR Version: 1.7.0
checking for chosen layout... apr
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/root/apache/apr-1.7.0':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details
[root@centos apr-1.7.0]#
[root@centos apr-1.7.0]# yum -y install gcc
参考链接:https://blog.csdn.net/weixin_33858249/article/details/91574176
报错信息 2
# 报错信息 2
[root@centos apr-util-1.6.1]# make
make[1]: Entering directory `/root/apache/apr-util-1.6.1'
/bin/sh /usr/local/apr/apr//build-1/libtool --silent --mode=compile gcc -g -O2 -pthread -DHAVE_CONFIG_H -DLINUX -D_REENTRANT -D_GNU_SOURCE -I/root/apache/apr-util-1.6.1/include -I/root/apache/apr-util-1.6.1/include/private -I/usr/local/apr/apr//include/apr-1 -o xml/apr_xml.lo -c xml/apr_xml.c && touch xml/apr_xml.lo
xml/apr_xml.c:35:19: fatal error: expat.h: No such file or directory
#include <expat.h>
^
compilation terminated.
make[1]: *** Error 1
make[1]: Leaving directory `/root/apache/apr-util-1.6.1'
make: *** [all-recursive] Error 1
# 解决办法
[root@centos apr-util-1.6.1]# yum install -y expat-devel
参考链接:https://blog.csdn.net/weixin_43930641/article/details/105269092
报错信息 3
checking for windows.h... no
configure: error: Invalid C++ compiler or C++ compiler flags
# yum install -y gcc-c++
参考链接:https://blog.csdn.net/weixin_43930641/article/details/105313937