1, ready to install the program:
Apr-1.6.2.tar.gz
Apr-util-1.6.0.tar.gz
Expat-2.2.4.tar.bz
Httpd-2.4.27.tar.gz
Openssl-1.1.0f.tar.gz
Pcre-8.41.tar.gz
2, in turn decompression:
TAR-XVF apr-1.6.2.tar.gz
TAR-XVF apr-util-1.6.0.tar.gz
TAR-XVF expat-2.2.4.tar.bz
TAR-XVF httpd-2.4.27.tar.gz
TAR-XVF pcre-8.41.tar.gz
3. Installation OpenSSL
TAR-XVF openssl-1.1.0f.tar.gz
cd openssl-1.1.0f
./config shared Zlib-dynamic--prefix=/usr/local/openssl Make make
install
After installation, if you have a history version of OpenSSL, you need to deal with
Mv/usr/bin/openssl/usr/bin/openssl.bak
Mv/usr/include/openssl/usr/include/openssl.bak
New so file soft connection, here need to pay attention to find the address of so file to know the address of the soft link
For example, some people are
Ln-s/usr/lib64/libssl.so.1.1/usr/local/lib64/libssl.so.1.1
But I found out that my server failed, so I looked for the so address
Find/-name "libssl.so.1.1"
The installation address is found to be different:
[root$tgpmsidc39 lib64]# Find/-name "libssl.so.1.1"
/soft/openssl-1.1.0f/libssl.so.1.1
/usr/local/openssl /lib/libssl.so.1.1
So obviously, our order should be modified to:
Ln-s/usr/local/openssl/lib/libssl.so.1.1/usr/lib64/libssl.so.1.1
ln-s/usr/local/openssl/lib/ libcrypto.so.1.1/usr/lib64/libcrypto.so.1.1
Let so effective, the specific principle please Google:
echo "/usr/lib64" >>/etc/ld.so.conf
Check to see if the path is written
[root$tgpmsidc39 lib64]# cat/etc/ld.so.conf
include ld.so.conf.d/*.conf
/usr/lib64
The file is written to take effect
Ldconfig–v
or Ldconfig–v |grep Libssl.
Some people perform ldconfig–v, will error, please modify add absolute path:
/sbin/ldconfig-v |grep Libssl
No problem if you have 1.1 version of so information
Install Apr
Tar -xvzf apr-1.6.2.tar.gz
cd apr-1.6.2
./configure--prefix=/usr/lcoal/apr
make Install
Install expat after decompression
Tar -xvzf expat-2.2.4.tar.gz
cd expat-2.2.4
./configure make make
install
Install Apr-util
Tar -xvzf apr-util-1.6.0.tar.gz
cd apr-util-1.6.0
Discovery System Error:
[root$tgpmsidc39 apr-util-1.6.0]#./configure
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.0
Checking for chosen layout ... apr-util checking for
gcc ... gcc
checking whether the C compiler works ... yes
CH ecking 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 U Sing 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:e RROR:APR could not to be located. Please use the--WITH-APR option.
To start over:
Success.
Make
Make install
Install Pcre
TAR-XVF pcre-8.41.tar.gz
CD pcre-8.41
This installation needs to specify the path
./configure--prefix=/usr/local/pcre make make
install
Install Apache
TAR-XVF httpd-2.4.27.tar.gz
cd httpd-2.4.27
./configure--prefix=/usr/local/apache2.4.27-- Enable-mods-shared=all --with-ssl=/usr/local/openssl --with-apr=/usr/local/apr--with-pcre=/usr/local/ Pcre--with-expat=/usr/local/expat
The make compile phase is an error:
exports.c:1902: Error: ' AP_HACK_APR_MD4 ' redefine exports.c:1080: Error: ' AP_HACK_APR_MD4 ' last definition in this exports.c:1907: Error: ' Ap_hack_ap
R_md5_init ' redefine exports.c:1085: Error: ' Ap_hack_apr_md5_init ' previous definition in this exports.c:1908: Error: ' Ap_hack_apr_md5_set_xlate ' redefine exports.c:1086: Error: Previous definition of ' ap_hack_apr_md5_set_xlate ' in this exports.c:1909: Error: ' Ap_hack_apr_md5_update ' redefine exports.c:1 087: Error: The previous definition of ' ap_hack_apr_md5_update ' exports.c:1910: Error: ' Ap_hack_apr_md5_final ' redefine exports.c:1088: Error: ' Ap_hack_ Apr_md5_final ' last definition in this exports.c:1911: Error: ' Ap_hack_apr_md5 ' redefine exports.c:1089: Error: ' AP_HACK_APR_MD5 ' last definition in this Expor ts.c:1912: Error: ' Ap_hack_apr_md5_encode ' redefine exports.c:1090: Error: ' Ap_hack_apr_md5_encode ' last definition in this exports.c:1913: Error: ' A P_hack_apr_password_validate ' redefine exports.c:1091: Error: ' ap_hack_apr_password_validate ' previous definition in this exports.c:1918: Error: ' AP _hack_apr_memcache_hash ' redefine exports.c:1096: Error: ' Ap_hack_apr_memcache_hash ' previous definition in this exports.c:1919: Error: ' AP_HACK_APR _MEMCACHE_HASH_CRC32 ' Redefine Exports.c:1097: Error: Previous definition of ' ap_hack_apr_memcache_hash_crc32 ' in this exports.c:1920: Error: ' Ap_hack_apr_memcache_hash_default ' Redefining exports.c:1098: Error: Previous definition of ' ap_hack_apr_memcache_hash_default ' in this exports.c:1921: Error: ' Ap_hack_apr_memcache_find_ Server_hash ' redefine exports.c:1099: Error: ' Ap_hack_apr_memcache_find_server_hash ' previous definition in this exports.c:1922: Error: ' AP_HACK_APR _memcache_add_server ' redefine exports.c:1100: Error: ' Ap_hack_apr_memcache_add_server ' previous definition in this exports.c:1923: Error: ' Ap_hack_ Apr_memcache_find_server ' redefine exports.c:1101: Error: ' Ap_hack_apr_memcache_find_server ' previous definition in this exports.c:1924: Error: ' AP_ Hack_apr_memcache_enable_server ' redefine exports.c:1102: Error: ' Ap_hack_apr_memcache_enable_server ' previous definition in this EXPORTS.C : 1925: Error: ' Ap_hack_apr_memcache_disable_server ' redefine exports.c:1103: Error: ' Ap_hack_apr_memcache_disable_server ' The previous definition of this exports.c:1926: Error: ' Ap_hack_apr_memcache_server_create ' redefine exports.c:1104: Error: ' Ap_hack_apr_memcache_ Server_create ' last definition in this exports.c:1927: Error: ' Ap_hack_apr_memcache_Create ' redefine exports.c:1105: Error: ' ap_hack_apr_memcache_create ' last definition in this exports.c:1928: Error: ' AP_HACK_APR_MEMCACHE_GETP ' Redefining exports.c:1106: Error: Previous definition of ' ap_hack_apr_memcache_getp ' in this exports.c:1929: Error: ' Ap_hack_apr_memcache_add_multget_ Key ' redefine exports.c:1107: Error: ' Ap_hack_apr_memcache_add_multget_key ' last definition in this exports.c:1930: Error: ' Ap_hack_apr_memcache _multgetp ' redefine exports.c:1108: Error: ' AP_HACK_APR_MEMCACHE_MULTGETP ' previous definition in this exports.c:1931: Error: ' Ap_hack_apr_memcache_ Set ' redefine exports.c:1109: Error: Previous definition of ' ap_hack_apr_memcache_set ' in this exports.c:1932: Error: ' Ap_hack_apr_memcache_add ' redefine ex PORTS.C:1110: Error: Previous definition of ' ap_hack_apr_memcache_add ' in this exports.c:1933: Error: ' Ap_hack_apr_memcache_replace ' redefine exports.c : 1111: Error: ' Ap_hack_apr_memcache_replace ' last definition in this exports.c:1934: Error: ' Ap_hack_apr_memcache_delete ' redefine exports.c : 1112: Error: ' Ap_hack_apr_memcache_delete ' last definition in this exports.c:1935: Error: ' AP_HACK_APR_MEMCACHE_INCR ' redefine exports.c:1113: Wrong Error: ' AP_HACK_APR_MEMCACHE_INCR ' last definition in this exports.c:1936: Error: ' AP_HACK_APR_MEMCACHE_DECR ' redefine exports.c:1114: Error: ' AP_HACK_APR_MEMCACHE_DECR ' last definition in this EXPORTS.C : 1937: Error: ' Ap_hack_apr_memcache_version ' redefine exports.c:1115: Error: ' ap_hack_apr_memcache_version ' previous definition in this EXPORTS.C : 1938: Error: ' Ap_hack_apr_memcache_stats ' redefine exports.c:1116: Error: ' ap_hack_apr_memcache_stats ' previous definition in this exports.c:1943: wrong ERR: ' Ap_hack_apr_dynamic_fn_register ' redefine exports.c:1179: Error: ' Ap_hack_apr_dynamic_fn_register ' last definition in this EXPORTS.C
: 1944: Error: ' Ap_hack_apr_dynamic_fn_retrieve ' redefine exports.c:1180: Error: ' Ap_hack_apr_dynamic_fn_retrieve ' previous definition in this
exports.c:1949: Error: ' Ap_hack_apr_optional_hook_add ' redefine exports.c:1185: Error: ' Ap_hack_apr_optional_hook_add ' last definition in this
exports.c:1950: Error: ' Ap_hack_apr_optional_hook_get ' redefine exports.c:1186: Error: ' Ap_hack_apr_optional_hook_get ' last definition in this exports.c:1956: Error: ' Ap_hack_apr_queue_create ' redefine exports.c:1323: Error: ' ap_hack_apr_queue_create ' last definition in this EXPORTS.C : 1957: Error: ' Ap_hack_apr_queue_push ' redefine exports.c:1324: Error: The previous definition of ' Ap_hack_apr_queue_push ' exports.c:1958: Error: ' Ap_hack_apr_queue_pop ' redefine exports.c:1325: ' ERROR: ' Ap_hack_apr_ Queue_pop ' last definition in this exports.c:1959: Error: ' Ap_hack_apr_queue_trypush ' redefine exports.c:1326: Error: ' Ap_hack_apr_queue_ Trypush ' last definition in this exports.c:1960: Error: ' Ap_hack_apr_queue_trypop ' redefine exports.c:1327: Error: ' Ap_hack_apr_queue_trypop ' last Definition in this exports.c:1961: Error: ' Ap_hack_apr_queue_size ' redefine exports.c:1328: Error: ' ap_hack_apr_queue_size ' last definition in this EXPORTS.C
: 1962: Error: ' Ap_hack_apr_queue_interrupt_all ' redefine exports.c:1329: Error: ' Ap_hack_apr_queue_interrupt_all ' previous definition in this exports.c:1963: Error: ' Ap_hack_apr_queue_term ' redefine exports.c:1330: Error: ' ap_hack_apr_queue_term ' last definition in this exports.c:1970: Error: ' Ap_hack_apr_reslist_create ' redefine exports.c:1351: Error: ' ap_hack_apr_reslist_create ' last definition in this exports.c:1971: Error: ' AP_ Hack_apr_reslist_destroy ' redefine exports.c:1352: Error: ' Ap_hack_apr_reslist_destroy ' previous definition in this exports.c:1972: Error: ' Ap_hack_ Apr_reslist_acquire ' redefine exports.c:1353: Error: ' Ap_hAck_apr_reslist_acquire ' last definition in this exports.c:1973: Error: ' Ap_hack_apr_reslist_release ' redefine exports.c:1354: Error: ' Ap_hack_ Apr_reslist_release ' last definition in this exports.c:1974: Error: ' Ap_hack_apr_reslist_timeout_set ' redefine exports.c:1355: Error: ' Ap_hack_ Apr_reslist_timeout_set ' last definition in this exports.c:1975: Error: ' Ap_hack_apr_reslist_acquired_count ' redefine exports.c:1356: Error: ' AP _hack_apr_reslist_acquired_count ' last definition in this exports.c:1976: Error: ' Ap_hack_apr_reslist_invalidate ' redefine exports.c:1357: Error: The previous definition of ' ap_hack_apr_reslist_invalidate ' exports.c:1982: Error: ' Ap_hack_apr_rmm_init ' redefine exports.c:1363: ' ERROR: ' AP_ Hack_apr_rmm_init ' last definition in this exports.c:1983: Error: ' Ap_hack_apr_rmm_destroy ' redefine exports.c:1364: Error: ' Ap_hack_apr_rmm_ Destroy ' last definition in this exports.c:1984: Error: ' Ap_hack_apr_rmm_attach ' redefine exports.c:1365: Error: ' Ap_hack_apr_rmm_attach ' last definition in This exports.c:1985: Error: ' Ap_hack_apr_rmm_detach ' redefine exports.c:1366: Error: ' Ap_hack_apr_rmm_detach ' last definition in this exports.c:198 6: Error: ' Ap_hack_apr_rmm_malloc ' redefine exports.c:1367: Error: Previous definition of ' ap_hack_apr_rmm_malloc ' in this exports.c:1987: Error: ' Ap_hack_apr_rmm_realloc ' redefine exports.c:1368: Error: ' AP_ Hack_apr_rmm_realloc ' last definition in this exports.c:1988: Error: ' Ap_hack_apr_rmm_calloc ' redefine exports.c:1369: Error: ' Ap_hack_apr_rmm_ Calloc ' last definition in this exports.c:1989: Error: ' Ap_hack_apr_rmm_free ' redefine exports.c:1370: Error: ' Ap_hack_apr_rmm_free ' last definition in this ex ports.c:1990: Error: ' Ap_hack_apr_rmm_addr_get ' redefine exports.c:1371: Error: ' Ap_hack_apr_rmm_addr_get ' last definition in this EXPORTS.C : 1991: Error: ' Ap_hack_apr_rmm_offset_get ' redefine exports.c:1372: Error: ' Ap_hack_apr_rmm_offset_get ' previous definition in this exports.c:1992: wrong ERR: ' Ap_hack_apr_rmm_overhead_get ' redefine exports.c:1373: Error: ' Ap_hack_apr_rmm_overhead_get ' last definition in this exports.c:1997: Error: ' Ap_hack_apr_sdbm_open ' redefine exports.c:1378: Error: ' Ap_hack_apr_sdbm_open ' previous definition in this exports.c:1998: Error: ' Ap_hack_apr_sdbm_ Close ' Redefine exports.c:1379: Error: ' Ap_hack_apr_sdbm_close ' last definition in this exports.c:1999: Error: ' Ap_hack_apr_sdbm_lock ' redefine Expor ts.c:1380: Error: ' Ap_hack_apr_sdbm_lock 'Previous definition in this exports.c:2000: Error: ' Ap_hack_apr_sdbm_unlock ' redefine exports.c:1381: Error: ' Ap_hack_apr_sdbm_unlock ' previous definition in this Expor TS.C:2001: Error: ' Ap_hack_apr_sdbm_fetch ' redefine exports.c:1382: Error: ' Ap_hack_apr_sdbm_fetch ' last definition in this exports.c:2002: Error: ' A P_hack_apr_sdbm_store ' redefine exports.c:1383: Error: ' Ap_hack_apr_sdbm_store ' previous definition in this exports.c:2003: Error: ' AP_HACK_APR_SDBM
_delete ' redefine exports.c:1384: Error: ' Ap_hack_apr_sdbm_delete ' previous definition in this exports.c:2004: Error: ' Ap_hack_apr_sdbm_firstkey ' redefine exports.c:1385: Error: Previous definition of ' ap_hack_apr_sdbm_firstkey ' in this exports.c:2005: Error: ' Ap_hack_apr_sdbm_nextkey ' redefine exports.c : 1386: Error: ' Ap_hack_apr_sdbm_nextkey ' last definition in this exports.c:2006: Error: ' Ap_hack_apr_sdbm_rdonly ' redefine exports.c:1387: Error: ' AP _hack_apr_sdbm_rdonly ' last definition in this exports.c:2011: Error: ' Ap_hack_apr_sha1_base64 ' redefine exports.c:1392: Error: ' Ap_hack_apr_ Sha1_base64 ' last definition in this exports.c:2012: Error: ' Ap_hack_apr_sha1_init ' redefine exports.c:1393: Error: ' Ap_hack_apr_sha1_init ' last set Righteousness here exports.c:2013: Error: ' Ap_hack_aPr_sha1_update ' redefine exports.c:1394: Error: ' ap_hack_apr_sha1_update ' previous definition in this exports.c:2014: Error: ' Ap_hack_apr_sha1_ Update_binary ' redefine exports.c:1395: Error: ' ap_hack_apr_sha1_update_binary ' previous definition in this exports.c:2015: Error: ' AP_HACK_APR_SHA1 _final ' redefine exports.c:1396: Error: ' ap_hack_apr_sha1_final ' previous definition in this exports.c:2024: Error: ' Ap_hack_apr_strmatch_ Precompile ' redefine exports.c:1455: Error: ' Ap_hack_apr_strmatch_precompile ' previous definition in this exports.c:2030: Error: ' Ap_hack_apr_thread _pool_create ' redefine exports.c:1519: Error: ' ap_hack_apr_thread_pool_create ' previous definition in this exports.c:2031: Error: ' Ap_hack_apr_ Thread_pool_destroy ' redefine exports.c:1520: Error: ' Ap_hack_apr_thread_pool_destroy ' previous definition in this exports.c:2032: Error: ' Ap_hack_ Apr_thread_pool_push ' redefine exports.c:1521: Error: ' Ap_hack_apr_thread_pool_push ' previous definition in this exports.c:2033: Error: ' AP_HACK_APR _thread_pool_schedule ' redefine exports.c:1522: Error: ' Ap_hack_apr_thread_pool_schedule ' previous definition in this exports.c:2034: Error: ' AP_ Hack_apr_thread_pool_top ' redefine exports.c:1523: Error: ' Ap_hack_apr_Thread_pool_top ' last definition in this exports.c:2035: Error: ' Ap_hack_apr_thread_pool_tasks_cancel ' redefine exports.c:1524: Error: ' Ap_hack_ Apr_thread_pool_tasks_cancel ' last definition in this exports.c:2036: Error: ' Ap_hack_apr_thread_pool_tasks_count ' redefine exports.c:1525: Error: The previous definition of ' Ap_hack_apr_thread_pool_tasks_count ' exports.c:2037: Error: ' Ap_hack_apr_thread_pool_scheduled_tasks_ Count ' redefine exports.c:1526: Error: ' Ap_hack_apr_thread_pool_scheduled_tasks_count ' last definition in this exports.c:2038: Error: ' Ap_hack_ Apr_thread_pool_threads_count ' redefine exports.c:1527: Error: ' Ap_hack_apr_thread_pool_threads_count ' previous definition in this EXPORTS.C
: 2039: Error: ' Ap_hack_apr_thread_pool_busy_count ' redefine exports.c:1528: Error: ' Ap_hack_apr_thread_pool_busy_count ' previous definition in this exports.c:2040: Error: ' Ap_hack_apr_thread_pool_idle_count ' redefine exports.c:1529: ' ERROR: ' Ap_hack_apr_thread_pool_idle_ The previous definition of Count ' here exports.c:2041: Error: ' Ap_hack_apr_thread_pool_idle_max_set ' redefine exports.c:1530: Error: ' Ap_hack_apr_thread _pool_idle_max_set ' last definition in this exports.c:2042: Error: ' AP_HACK_APR_thread_pool_idle_max_get ' redefine exports.c:1531: Error: ' Ap_hack_apr_thread_pool_idle_max_get ' last definition in this exports.c:2043: Error: ' Ap_hack_apr_thread_pool_thread_max_set ' redefine exports.c:1532: Error: ' Ap_hack_apr_thread_pool_thread_max_set ' The previous definition of this exports.c:2044: Error: ' Ap_hack_apr_thread_pool_thread_max_get ' redefine exports.c:1533: Error: ' Ap_hack_apr_thread_ Pool_thread_max_get ' last definition in this exports.c:2045: Error: ' Ap_hack_apr_thread_pool_threshold_set ' redefine exports.c:1534: Error: ' AP_
Hack_apr_thread_pool_threshold_set ' last definition in this exports.c:2046: Error: ' Ap_hack_apr_thread_pool_threshold_get ' redefine exports.c:1535: Error: Previous definition of ' ap_hack_apr_thread_pool_threshold_get ' in this exports.c:2047: Error: ' Ap_hack_apr_thread_pool_ Task_owner_get ' redefine exports.c:1536: Error: ' Ap_hack_apr_thread_pool_task_owner_get ' previous definition in this exports.c:2053: Error: ' Ap_hack _apr_uri_port_of_scheme ' redefine exports.c:1635: Error: ' Ap_hack_apr_uri_port_of_scheme ' previous definition in this exports.c:2054: Error: ' AP_ Hack_apr_uri_unparse ' redefine exports.c:1636: Error: ' Ap_hack_apr_uri_unparse 'The previous definition of this exports.c:2055: Error: ' Ap_hack_apr_uri_parse ' redefine exports.c:1637: Error: ' Ap_hack_apr_uri_parse ' last definition in this exports. c:2056: Error: ' Ap_hack_apr_uri_parse_hostinfo ' redefine exports.c:1638: Error: ' Ap_hack_apr_uri_parse_hostinfo ' last definition in this exports . c:2061: Error: ' Ap_hack_apr_uuid_get ' redefine exports.c:1663: Error: ' Ap_hack_apr_uuid_get ' last definition in this exports.c:2062: Error: ' Ap_hack _apr_uuid_format ' redefine exports.c:1664: Error: ' Ap_hack_apr_uuid_format ' previous definition in this exports.c:2063: Error: ' Ap_hack_apr_uuid_ Parse ' redefine exports.c:1665: Error: ' Ap_hack_apr_uuid_parse ' previous definition in this exports.c:2068: Error: ' Ap_hack_apr_xlate_open ' redefine Expo rts.c:1678: Error: Previous definition of ' ap_hack_apr_xlate_open ' in this exports.c:2069: Error: ' Ap_hack_apr_xlate_sb_get ' redefine exports.c:1679: Error : The previous definition of ' ap_hack_apr_xlate_sb_get ' exports.c:2070: Error: ' Ap_hack_apr_xlate_conv_buffer ' redefine exports.c:1680: ' ERROR: ' AP_ Hack_apr_xlate_conv_buffer ' last definition in this exports.c:2074: Error: ' Ap_hack_apr_xlate_conv_byte ' redefine exports.c:1684: Error: ' AP_ Hack_apr_xlate_conv_byte ' 's previous definition in this exports.c:2075: Error: ' Ap_hack_apr_xlate_close ' redefine exports.c:1685: Error: ' Ap_hack_apr_xlate_close ' previous definition in this exports.c:2080: Error : ' Ap_hack_apr_text_append ' redefine exports.c:1690: Error: ' ap_hack_apr_text_append ' last definition in this exports.c:2081: Error: ' AP_HACK_APR _xml_parser_create ' redefine exports.c:1691: Error: ' ap_hack_apr_xml_parser_create ' previous definition in this exports.c:2082: Error: ' Ap_hack_apr_ Xml_parse_file ' redefine exports.c:1692: Error: ' Ap_hack_apr_xml_parse_file ' previous definition in this exports.c:2083: Error: ' Ap_hack_apr_xml_ Parser_feed ' redefine exports.c:1693: Error: ' ap_hack_apr_xml_parser_feed ' previous definition in this exports.c:2084: Error: ' Ap_hack_apr_xml_ Parser_done ' redefine exports.c:1694: Error: ' Ap_hack_apr_xml_parser_done ' previous definition in this exports.c:2085: Error: ' Ap_hack_apr_xml_ Parser_geterror ' redefine exports.c:1695: Error: ' Ap_hack_apr_xml_parser_geterror ' previous definition in this exports.c:2086: Error: ' Ap_hack_apr_ Xml_to_text ' redefine exports.c:1696: Error: ' Ap_hack_apr_xml_to_text ' previous definition in this exports.c:2087: Error: ' Ap_hack_apr_xml_empty_ Elem ' redefine exports.c:1697: Error: ' Ap_hack_apr_xml_empty_elEm ' 's previous definition in this exports.c:2088: Error: ' ap_hack_apr_xml_quote_string ' redefine exports.c:1698: Error: ' Ap_hack_apr_xml_quote_string ' The previous definition of this exports.c:2089: Error: ' Ap_hack_apr_xml_quote_elem ' redefine exports.c:1699: Error: ' Ap_hack_apr_xml_quote_elem ' The previous definition of this exports.c:2090: Error: ' Ap_hack_apr_xml_insert_uri ' redefine exports.c:1700: Error: ' Ap_hack_apr_xml_insert_uri ' The previous definition of this exports.c:2099: Error: ' Ap_hack_apu_version ' redefine exports.c:1709: Error: ' ap_hack_apu_version ' last definition in this exports.c:21 00: Error: ' ap_hack_apu_version_string ' redefine exports.c:1710: Error: ' ap_hack_apu_version_string ' last definition in this make[2]: * * * [exports . Lo] Error 1 Make[2]: Leaving directory '/abc/setup/httpd-2.2.17/server ' make[1]: * * * [all-recursive] Error 1 Make[1]: Lea Ving Tsun '/abc/setup/httpd-2.2.17/server ' Make: * * * * [all-recursive] Error 1
The resolution steps are as follows:
./configure--prefix=/usr/local/apache2.4--enable-mods-shared=all --with-ssl=/usr/local/openssl -- With-apr-util=/usr/local/apr/bin/apu-1-config
Then make will not be an error, the installation will be successful.
Another installation of the other when the error can not find the APR
[root$tgpmsidc39 httpd-2.4.27]#./configure--prefix=/usr/local/apache2.4.27--enable-mods-shared=all -- With-ssl=/usr/local/openssl--with-apr-util=/usr/local/apr/bin/apu-1-config
Checking for chosen layout ... Apache
checking for working mkdir-p ... yes checking for
grep that handles long lines and-e .../bin/grep chec
King 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 ... Configure:WARNING:APR version 1.4.0 or later is required, found 1.3.9 configure
: warning:skipped APR at Apr-1-config, version not acceptable
no
configure:error:APR not found. Please read the documentation.
Solution:
./configure--prefix=/usr/local/apache2.4.27--enable-mods-shared=all --with-ssl=/usr/local/openssl -- With-apr-util=/usr/local/apr/bin/apu-1-config--with-apr=/usr/local/apr/bin/apr-1-config--with-lib=/usr/local/ Apr/lib
Success
Make make
Install