Apache源码包在LINUX(CENTOS6.8)中的安装(出现问题及解决)

任务在CENT6.8系统中安装Apache(版本为:httpd-2.4.41)

前提由于源码包必须先编译后安装,所以必须先安装编译器:gcc

理论步骤

1.检测gcc软件包,如果不存在则进行安装。

2.下载Aache的源码包(压缩包形式)并上传到CENTOS服务器中

3.解压源码包后进入解压后的目录,执行配置,编译,安装。

  3.1 配置:使用 ./configure 进行安装目录的设置

       3.2 编译:使用 make 命令直接执行

       3.3 安装:使用 make install 命令直接执行。

4.如果无意外,按照“理论步骤',完成后即可在CENTOS服务器启用httpd服务(运行apache)中,使用浏览器访问

     http://localhost/       或   http://127.0.0.1       或    http://192.168.253.129    

 

实际过程:

 

检测gcc服务包:

[root@cent001 ~]# rpm -q gcc
gcc-4.4.7-23.el6.x86_64

说明gcc服务包已经安装。进入”理论步骤“2

 

下载Aache的源码包(压缩包形式)并上传到CENTOS服务器中:

访问:http://mirror.bit.edu.cn/apache/httpd/  

找到:httpd-2.4.41.tar.gz  然后下载到本地。

然后通过FTP上传到CENTOS的个人源码包专用目录/usr/local/src  下边。进入”理论步骤“3

 

解压源码包

进入源码包压缩包的存储目录:

[root@cent001 ~]# cd /usr/local/src

解压httpd-2.4.41.tar.gz源码压缩包(会生成httpd-2.4.41目录):

[root@cent001 src]# tar -zxvf httpd-2.4.41.tar.gz 

查看解压后的源码包大小:(此操作不是必须)

[root@cent001 src]# du -sh httpd-2.4.41

46M httpd-2.4.41

进入源码包解压后目录:

[root@cent001 src]# cd httpd-2.4.41

开始进行”理论步骤“3.1

 

配置:使用 ./configure 进行安装目录的设置

执行命令进行配置:(注意:官方手册推荐使用 /usr/local/apache2 作为httpd的源码安装路径)

[root@cent001 httpd-2.4.41]# ./configure --prefix=/usr/local/apache2
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软件包不存在,导致配置不成功,它还说让我们去读安装说明文档(目录中的INSTALLREADME文档)

 

首先确认一下,是否apr软件包真不存在:

[root@cent001 httpd-2.4.41]# rpm -q apr
apr-1.3.9-5.el6_9.1.x86_64

很明显,apr软件包已经存在了,这跟配置出错提示的”APR not found“根本两相矛盾了。

所以,这时你就猜测地想到:依赖的apr版本冲突了,是完成操作,必须依赖于其它版本的apr。那重新指定依赖的版本行了吧,不使用默认的,于是:

[root@cent001 httpd-2.4.41]# ./configure -help | grep apr
--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

可以知道,利用--width-apr=PATH 可以通过配置apr安装目录来指定特定版本的apr,于是 ./configure 操作可以重新执行为如下形式:

[root@cent001 httpd-2.4.41]# ./configure --prefix=/usr/local/apache2 --with-apr=能被正确依赖的apr版本的安装目录

这时要解决的问题是:

哪个(哪些)版本的apr能够被正确依赖(由于兼容性原因,猜测的话,一般最新版本最好,当然不排除最新版本的apr不兼容老旧版本的httpd的情况)

 

由于不是十分肯定是否最新版本apr(或其它软件包)能被正确依赖,我们在解决办法有两个:

办法-1。按照“Please read the documentation”的提示,去读INSTALLREADME文档,以便确定肯定我们上边的猜测。

办法-2。尝试安装某些版本的apr(或其它软件包)直到可行,比如尝试:apr-1.4.2等等。

   *****先按照办法-1来进行,如果不行的话则进入办法-2。******

 

 

先按办法-1去做:

[root@cent001 httpd-2.4.41]# vim INSTALL

然后/apr 搜索一下,可以以下相关内容:

* Consider if you want to use a previously installed APR and
APR-Util (such as those provided with many OSes) or if you
need to use the APR and APR-Util from the apr.apache.org
project. If the latter, download the latest versions and
unpack them to ./srclib/apr and ./srclib/apr-util (no
version numbers in the directory names) and use
./configure's --with-included-apr option. This is required
if you don't have the compiler which the system APR was
built with. It can also be advantageous if you are a
developer who will be linking your code with Apache or using
a debugger to step through server code, as it removes the
possibility of version or compile-option mismatches with APR
and APR-Util code. As a convenience, prepackaged source-code
bundles of APR and APR-Util are occasionally also provided
as a httpd-2.X.X-deps.tar.gz download.

这段内容的大概意思是:

。。。。。。(不说了,看下边)==>

官方在线的安装说明文档(http://httpd.apache.org/docs/2.4/install.html)中还有一个比较简要的说明:

APR and APR-Util
Make sure you have APR and APR-Util already installed on your system. If you don't, or prefer to not use the system-provided versions, download the latest versions of both APR and APR-Util from Apache APR, unpack them into /httpd_source_tree_root/srclib/apr and /httpd_source_tree_root/srclib/apr-util (be sure the directory names do not have version numbers; for example, the APR distribution must be under /httpd_source_tree_root/srclib/apr/) and use ./configure's --with-included-apr option. On some platforms, you may have to install the corresponding -dev packages to allow httpd to build against your installed copy of APR and APR-Util.
apr 和 apr-Util

确保你系统中已经安装了apr和apr-Util。如果没有安装过,或者安装了却不想用它,那就下载最新版本的apr和apr-Util的源码压缩包并解压后放到:httpd源码目录/srclib/apr与 和 httpd源码目录/srclib/apr-util (命名中不要带版本号)。例如:

apr源码必须放在:httpd源码目录/srclib/apr 中,并且执行./configure时使用: --with-included-apr

上边的内容就我们当前的情况来举例,其操作原由和过程就是:

不想用内置的RPM版本的APR(因为默认使用时发生版本冲突),那就从网址:http://apr.apache.org/  中下载最新的apr与apr-util(其推荐版本为:apr-1.7.0.tar.gz 与 apr-util-1.6.1.tar.gz )

然后解压为:

apr-1.7.0  目录,重命名为 apr(即去掉版本号信息) 

apr-util-1.6.1  目录,重命名为 apr-util(即去掉版本号信息) 

将apr目录与apr-util目录复制(或剪贴)到  httpd源码目录(即:/usr/local/src/httpd-2.4.41/)

此时httpd源码目录为:

/usr/local/src/httpd-2.4.41/

/usr/local/src/httpd-2.4.41/apr

/usr/local/src/httpd-2.4.41/apr-util

。。。

最后,使用:./configure 时,用  --with-included-apr,这是因为:

[root@cent001 httpd-2.4.41]# ./configure -help | grep with-included-apr
--with-included-apr Use bundled copies of APR/APR-Util

可知:配置时使用--with-included-apr,会使用httpd源码目录/srclib/下的apr与apr-util
注意:不要被--with-included-apr 名称迷惑,它同时作用于apr与apr-util。也就是说,没有:--with-included-apr-util参数项。

 

以上便是官方中提到的说明,它提到的最重要的3条是:

1。最新版本(或当前推荐版本)的apr及apr-util是可用于当前各版本的httpd的,不会出现版本冲突。(我们之前遇到的问题“哪个(哪些)版本的apr能够被正确依赖” ,这1条就是答案---使用最新版本推荐版本

2。可以使用系统内置的apr和apr-util(我们之前使用的就是这种方式,然后遇到了问题,一步步解决后,剩下的版本问题,并最终到达了上边第1条)

3。一种用于配置依赖的源码放置方式及命令参数--with-included-apr进行./configure操作。

 

因为我想以源码包的形式手动安装apr与apr-util,所以暂时不按上边的第3条操作,而是根据第1条,回到我们先前的问题处,即:

[root@cent001 httpd-2.4.41]# ./configure --prefix=/usr/local/apache2 --with-apr=最新版本或推荐版本的apr安装目录

由于指定的是“安装目录”,所以必须已进行了相应安装,才存在”安装目录“,我们还没有对最新版本或推荐版本的apr进行安装,于是,先进行安装推荐版本的apr:(假设已经下载并解压)

[root@cent001 apr-1.7.0]# ls
apr-1-config apr.spec config.layout emacs-mode libapr.rc misc README time
apr-config.in atomic config.log encoding libtool mmap README.cmake tools
apr.dep build config.nice file_io LICENSE network_io shmem user
apr.dsp buildconf config.status helpers locks NOTICE strings
apr.dsw build.conf configure include Makefile NWGNUmakefile support
apr.mak build-outputs.mk configure.in libapr.dep Makefile.in passwd tables
apr.pc CHANGES docs libapr.dsp Makefile.win poll test
apr.pc.in CMakeLists.txt dso libapr.mak memory random threadproc

[root@cent001 apr-1.7.0]# vim README

....

Configuring and Building APR on Unix
====================================

Simply;

./configure --prefix=/desired/path/of/apr
make
make test
make install

....

[root@cent001 apr-1.7.0]# ./configure --prefix=/usr/local/apr

[root@cent001 apr-1.7.0]# make

[root@cent001 apr-1.7.0]# make install

至此,最新版本(推荐版本)的apr源码安装成功。有了安装目录:/usr/local/apr,于是,开始执行以下操作:

[root@cent001 apr-1.7.0] cd /usr/local/src/httpd-2.4.41

[root@cent001 httpd-2.4.41]# ./configure --prefix=/usr/local/apache2 --with-apr=/usr/local/apr

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... yes
setting CC to "gcc"
setting CPP to "gcc -E"
setting CFLAGS to " -g -O2 -pthread"
setting CPPFLAGS to " -DLINUX -D_REENTRANT -D_GNU_SOURCE"
setting LDFLAGS to " "
configure:
configure: Configuring Apache Portable Runtime Utility library...
configure:
checking for APR-util... no
configure: error: APR-util not found. Please read the documentation.

出现的问题是apr-util找不到,根据之前的官方文档,发现与apr问题相似,于是,先安装推荐版本的apr-util(假设已经进行了下载和解压)

[root@cent001 apr-util-1.6.1]# ls
aprutil.dep build configure.in include Makefile.win redis
aprutil.dsp buildconf crypto ldap memcache renames_pending
aprutil.dsw build.conf dbd libaprutil.dep misc strmatch
aprutil.mak build-outputs.mk dbm libaprutil.dsp NOTICE test
apr-util.pc.in CHANGES docs libaprutil.mak NWGNUmakefile uri
apr-util.spec CMakeLists.txt encoding libaprutil.rc README xlate
apu-config.in config.layout export_vars.sh.in LICENSE README.cmake xml
buckets configure hooks Makefile.in README.FREETDS

[root@cent001 apr-util-1.6.1]# vim README

[root@cent001 apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util
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
checking for a BSD-compatible install... /usr/bin/install -c
checking for working mkdir -p... yes
APR-util Version: 1.6.1
checking for chosen layout... apr-util
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
Applying apr-util hints file rules for x86_64-pc-linux-gnu
checking for APR... no
configure: error: APR could not be located. Please use the --with-apr option.

出现错误,要求用--with-apr 参数指明apr的安装路径,于是:

[root@cent001 apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr

[root@cent001 apr-util-1.6.1]# make

此时出现错误信息有:

xml/apr_xml.c:35:19: 错误:expat.h:没有那个文件或目录
xml/apr_xml.c:66: 错误:expected specifier-qualifier-list before ‘XML_Parser’
xml/apr_xml.c: 在函数‘cleanup_parser’中:
xml/apr_xml.c:364: 错误:‘apr_xml_parser’没有名为‘xp’的成员
xml/apr_xml.c:365: 错误:‘apr_xml_parser’没有名为‘xp’的成员
xml/apr_xml.c: 在文件层:
xml/apr_xml.c:384: 错误:expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
xml/apr_xml.c: 在函数‘apr_xml_parser_create’中:
xml/apr_xml.c:401: 错误:‘apr_xml_parser’没有名为‘xp’的成员
xml/apr_xml.c:402: 错误:‘apr_xml_parser’没有名为‘xp’的成员
xml/apr_xml.c:410: 错误:‘apr_xml_parser’没有名为‘xp’的成员
xml/apr_xml.c:411: 错误:‘apr_xml_parser’没有名为‘xp’的成员
xml/apr_xml.c:412: 错误:‘apr_xml_parser’没有名为‘xp’的成员
xml/apr_xml.c:424: 错误:‘apr_xml_parser’没有名为‘xp’的成员
xml/apr_xml.c:424: 错误:‘default_handler’未声明(在此函数内第一次使用)
xml/apr_xml.c:424: 错误:(即使在一个函数内多次出现,每个未声明的标识符在其
xml/apr_xml.c:424: 错误:所在的函数内也只报告一次。)
xml/apr_xml.c: 在函数‘do_parse’中:
xml/apr_xml.c:434: 错误:‘apr_xml_parser’没有名为‘xp’的成员
xml/apr_xml.c:438: 错误:‘apr_xml_parser’没有名为‘xp’的成员
xml/apr_xml.c:442: 错误:‘apr_xml_parser’没有名为‘xp_err’的成员
xml/apr_xml.c:442: 错误:‘apr_xml_parser’没有名为‘xp’的成员
xml/apr_xml.c: 在函数‘apr_xml_parser_geterror’中:
xml/apr_xml.c:500: 错误:‘apr_xml_parser’没有名为‘xp_err’的成员
xml/apr_xml.c:500: 错误:‘apr_xml_parser’没有名为‘xp_err’的成员
make[1]: *** [xml/apr_xml.lo] 错误 1
make[1]: Leaving directory `/usr/local/src/apr-util-1.6.1'
make: *** [all-recursive] 错误 1

百度了一下,根据:https://blog.csdn.net/dn1115680109/article/details/80847924

于是对缺少的expat库进行安装:

[root@cent001 apr-util-1.6.1]# yum install -y  expat-devel

执行后就安装了:expat-devel.x86_64 0:2.0.1-11.el6_2,然后清理后再次编译:

[root@cent001 apr-util-1.6.1]# make clean

[root@cent001 apr-util-1.6.1]# make

[root@cent001 apr-util-1.6.1]# make install

至此,最新版本(推荐版本)的apr-util 源码安装成功。有了安装目录:/usr/local/apr-util,于是,开始执行以下操作:

[root@cent001  apr-util-1.6.1] cd /usr/local/src/httpd-2.4.41

[root@cent001 httpd-2.4.41]# ./configure --prefix=/usr/local/apache2 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util

...

checking whether gcc accepts -g... yes

checking for gcc option to accept ISO C89... none needed

checking how to run the C preprocessor... gcc -E

checking for gcc option to accept ISO C99... -std=gnu99

checking for pcre-config... false

configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/

出错原因:pcre模块没有配置。于是我们查看一下pcre:

[root@cent001 httpd-2.4.41]# rpm -q pcre

pcre-7.8-7.el6.x86_64

说明默认是有的,可能还是版本冲突原因,依据http://pcre.org/下载个最新版(如果该网上不去,可以换成https协议访问:https://pcre.org/ ,或者访问:https://sourceforge.net/projects/pcre/files/

下载最新版本的pcre(暂时不用:pcre2):pcre-8.43.tar.gz

[root@cent001 pcre-8.43]# ls

查看到有INSTALL安装说明文档

[root@cent001 pcre-8.43]# vim INSTALL

一些安装说明:

configure、make、make check、make install、make installcheck、

make maintainer-clean、make uninstall、make  distcheck、./configure --help

[root@cent001 pcre-8.43]# ./configure --prefix=/usr/local/pcre

[root@cent001 pcre-8.43]# make

[root@cent001 pcre-8.43]# make install

至此,最新版本的pcre 源码安装成功。有了安装目录:/usr/local/pcre,于是,开始执行以下操作:

[root@cent001  apr-util-1.6.1] cd /usr/local/src/httpd-2.4.41

[root@cent001 httpd-2.4.41]# ./configure --prefix=/usr/local/apache2 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util -with-pcre=/usr/local/pcre

...

configure: summary of build options:

Server Version: 2.4.41
Install prefix: /usr/local/apache2
C compiler: gcc -std=gnu99
CFLAGS: -g -O2 -pthread
CPPFLAGS: -DLINUX -D_REENTRANT -D_GNU_SOURCE
LDFLAGS:
LIBS:
C preprocessor: gcc -E

至此,httpd服务安装过程中的配置正确地完成,进入”理论步骤“3.2

编译:使用 make 命令直接执行

[root@cent001 httpd-2.4.41]# make clean

[root@cent001 httpd-2.4.41]# make

...

/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_ParserCreate'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_GetErrorCode'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_SetUserData'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_ErrorString'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_SetEntityDeclHandler'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_ParserFree'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_SetElementHandler'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_StopParser'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_Parse'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_SetCharacterDataHandler'
collect2: ld returned 1 exit status
make[2]: *** [htpasswd] 错误 1
make[2]: Leaving directory `/usr/local/src/httpd-2.4.41/support'
make[1]: *** [all-recursive] 错误 1
make[1]: Leaving directory `/usr/local/src/httpd-2.4.41/support'
make: *** [all-recursive] 错误 1

出错原因:猜测是由于apr-util引起的。

如果是这样的话,那么:之前猜想着“官方都极力推荐了那么应该没问题”是有问题的,apr-util推荐版本可以针对任何版本都可行这种想法就是错误的。

现在是真的是apr-util的问题吗?推荐版本的apr-util究竟是真的可靠吗?

明眼看上去,确实apr-util很有问题!官方办法行不通了,于是采用土法:

 

按办法-2去做

 

于是更换一下低版本的apr-util 来试试:

重新下载低版本的apr-util:

网址:http://archive.apache.org/dist/apr/  (此网址包含各版本的apr与apr-util,但速度较慢,建议使用百度搜索:archive.apache.org/dist/apr/  然后以百度快照 形式进入下载)

下载 apr-util-1.3.11.tar.gz  (下载速度太慢,有时真的下不动。推荐从其它地方下载)

然后进行解压。移除之前版本(直接重命名),进行当前版本安装:

[root@cent001 httpd-2.4.41]# cd /usr/local/

[root@cent001 local]# mv apr-util apr-util.bak2

[root@cent001 local]# cd /usr/local/src/apr-util-1.3.11

[root@cent001 apr-util-1.3.11]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr

[root@cent001 apr-util-1.3.11]# make clean

[root@cent001 apr-util-1.3.11]# make

[root@cent001 apr-util-1.3.11]# make install

至此,apr-util已经替换为低版本,重新执行:

[root@cent001  apr-util-1.6.1] cd /usr/local/src/httpd-2.4.41

[root@cent001 httpd-2.4.41]# ./configure --prefix=/usr/local/apache2 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util -with-pcre=/usr/local/pcre

[root@cent001 httpd-2.4.41]# make clean

[root@cent001 httpd-2.4.41]# make

至此,编译任务成功,进入”理论步骤“3.3

 

安装:使用 make install 命令直接执行

[root@cent001 httpd-2.4.41]# make install

至此,安装任务成功,进入”理论步骤“4

 这里直接说明了:”官方极力推荐的版本并不一定适用“,比如apr适用,而apr-util就不适用。

启用httpd服务(运行apache)中,使用浏览器访问

 

启动服务,使用:安装目录/bin/apachectl start    (要停止服务则使用:安装目录/bin/apachectl stop)

[root@cent001 httpd-2.4.41]# /usr/local/apache2/bin/apachectl start
AH00557: httpd: apr_sockaddr_info_get() failed for cent001
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message

这种情况,可以参照 https://www.cnblogs.com/xiaoqian1993/p/6027907.html  ,进行2步修改:

1。修改HOSTS文件:

[root@cent001 httpd-2.4.41]# vim /etc/hosts

添加一行(注意其中的cent001为主机名):       127.0.0.1   localhost.localdomain localhost cent001

 

2。修改HTTPD配置文件:

[root@cent001 httpd-2.4.41]# vim /usr/local/apache2/conf/httpd.conf

查找#ServerName,添加一行:ServerName localhost:80

 

再次启动(或停止后再次启动):

[root@cent001 httpd-2.4.41]# /usr/local/apache2/bin/apachectl start
浏览:http://localhost/       或   http://127.0.0.1       或    http://192.168.253.129    

正常的话显示:It works!

httpd (pid 119873) already running

至此,整个httpd-2.4.41安装过程算是暂时可行。另外还有一些其它的问题:系统有时也默认安装了httpd服务(RPM形式):

 

如果是RMP包的APACHE可以直接进行如下操作:
查看RPM的APACHE版本:
[root@cent001 httpd-2.4.41]# rpm -q httpd
httpd-2.2.15-53.el6.centos.x86_64

或者:

[root@cent001 httpd-2.4.41]# httpd -v
Server version: Apache/2.2.15 (Unix)
Server built: May 11 2016 19:28:33

 

查看RPM的APACHE状态:
[root@cent001 httpd-2.4.41]# service httpd status
httpd 已停

 

RPM的APACHE启动方式:

[root@cent001 httpd-2.4.41]# service httpd start

正在启动 httpd:                                           [确定]

[root@cent001 httpd-2.4.41]# service httpd status
httpd (pid 120138) 正在运行...

使用启动命令后没有出错信息的情况下,通过查询状态为“正在运行”就可以表明已经成功启动服务。

如果启动失败,信息如下显示时,则代表已经有服务占用了80端口(可能是源码包的APACHE已经启动了,要使用RPM的APACHE的话就可以先停止源码版的)
正在启动 httpd:(98)Address already in use: make_sock: could not bind to address [::]:80
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
[失败]

另外,如果像源码版的APACHE服务,启动时显示:

AH00557: httpd: apr_sockaddr_info_get() failed for cent001

AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message

则可以按照源码版,同时修改HOSTS文件及配置文件:

其中HOSTS文件是同一个(即说到HOSTS文件的时候,就是指:/etc/hosts

而RPM版的APACHE的配置文件,是在:/etc/httpd/conf/httpd.conf  (可以通过:# rpm -ql httpd | more  看到)

[root@cent001 httpd-2.4.41]# vim /etc/httpd/conf/httpd.conf

按照上边源码版的修改同样修改就可以!

 

 

==================================================================

    END OF 《Apache源码包在LINUX(CENTOS6.8)中的安装(出现问题及解决)》

==================================================================

 

你可能感兴趣的:(Apache源码包在LINUX(CENTOS6.8)中的安装(出现问题及解决))