【CentOS 7LAMP架構3】,Apache安裝與配置#
阿新 • • 發佈:2019-07-04
shallow丿ove
安裝Apache
- Apache是一個基金會的名字,httpd才是我們要安裝的軟體包,早期它的名字就叫apache
- Apache官網www.apache.org
- wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.4.29.tar.gz
- wget http://mirrors.cnnic.cn/apache/apr/apr-1.6.3.tar.gz
- wget http://mirrors.cnnic.cn/apache/apr/apr-util-1.6.1.tar.bz2
- apr和apr-util是一個通用的函式庫,它讓httpd可以不關心底層的作業系統平臺,可以很方便地移植(從linux移植到Windows)
- tar zxvf httpd-2.4.29.tar.gz
- tar zxvf apr-1.6.3.tar.gz
- tar zxvf apr-util-1.6.1.tar.bz2
- cd /usr/local/src/apr-1.6.3
- ./configure --prefix=/usr/local/apr
- make && make install
- cd /usr/local/src/apr-util-1.6.1
- ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
- make && make install
- cd /usr/local/src/httpd-2.4.29
- ./configure \ #這裡的反斜槓是脫義字元,加上它我們可以把一行命令寫成多行
--prefix=/usr/local/apache2.4
--with-apr=/usr/local/apr
--with-apr-util=/usr/local/apr-util
--enable-so
--enable-mods-shared=most - make && make install
- ls /usr/local/apache2.4/modules
- /usr/local/apache2.4/bin/httpd -M #檢視載入的模組
下載
[root@localhost src]# wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.4.29.tar.gz --2017-12-16 05:48:11-- http://mirrors.cnnic.cn/apache/httpd/httpd-2.4.29.tar.gz Resolving mirrors.cnnic.cn (mirrors.cnnic.cn)... 101.6.6.177, 2402:f000:1:416:101:6:6:177 Connecting to mirrors.cnnic.cn (mirrors.cnnic.cn)|101.6.6.177|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 8638793 (8.2M) [application/octet-stream] Saving to: ‘httpd-2.4.29.tar.gz’ 100%[=====================================================>] 8,638,793 78.8KB/s in 65s 2017-12-16 05:49:18 (129 KB/s) - ‘httpd-2.4.29.tar.gz’ saved [8638793/8638793] [root@localhost src]# wget http://mirrors.cnnic.cn/apache/apr/apr-1.6.3.tar.gz --2017-12-16 05:49:21-- http://mirrors.cnnic.cn/apache/apr/apr-1.6.3.tar.gz Resolving mirrors.cnnic.cn (mirrors.cnnic.cn)... 101.6.6.177, 2402:f000:1:416:101:6:6:177 Connecting to mirrors.cnnic.cn (mirrors.cnnic.cn)|101.6.6.177|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 1072661 (1.0M) [application/octet-stream] Saving to: ‘apr-1.6.3.tar.gz’ 100%[=====================================================>] 1,072,661 98.1KB/s in 12s 2017-12-16 05:49:34 (85.3 KB/s) - ‘apr-1.6.3.tar.gz’ saved [1072661/1072661] [root@localhost src]# wget http://mirrors.cnnic.cn/apache/apr/apr-util-1.6.1.tar.bz2 --2017-12-16 05:49:37-- http://mirrors.cnnic.cn/apache/apr/apr-util-1.6.1.tar.bz2 Resolving mirrors.cnnic.cn (mirrors.cnnic.cn)... 101.6.6.177, 2402:f000:1:416:101:6:6:177 Connecting to mirrors.cnnic.cn (mirrors.cnnic.cn)|101.6.6.177|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 428595 (419K) [application/octet-stream] Saving to: ‘apr-util-1.6.1.tar.bz2’ 100%[=====================================================>] 428,595 218KB/s in 1.9s 2017-12-16 05:49:39 (218 KB/s) - ‘apr-util-1.6.1.tar.bz2’ saved [428595/428595]
[root@localhost src]# tar zxvf httpd-2.4.29.tar.gz
拆包解壓過程
.
.
.
[root@localhost src]# tar zxvf apr-1.6.3.tar.gz
拆包解壓過程
.
.
.
[root@localhost src]# bzip2 -d apr-util-1.6.1.tar.bz2
[root@localhost src]# tar xvf apr-util-1.6.1.tar
拆包過程
.
.
.
首先編譯和安裝apr
[root@localhost src]# cd apr-1.6.3/
[root@localhost apr-1.6.3]# ./configure --prefix=/usr/local/apr
編譯過程
.
.
.
[root@localhost apr-1.6.3]# echo $?
0
[root@localhost apr-1.6.3]# make && make install
編譯過程
.
.
.
再編譯和安裝apr-util
[root@localhost apr-1.6.3]# ls /usr/local/apr
bin build-1 include lib
[root@localhost apr-util-1.6.1]# cd ../apr-util-1.6.1/
[root@localhost apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
#編譯過程
.
.
.
[root@localhost apr-1.6.3]# make && make install
#編譯過程
.
.
.
出現的問題
xml/apr_xml.c:35:19: fatal error: expat.h: No such file or directory 解決的方法:yum install -y expat-devel
[root@localhost ~]# yum install expat-devel
Loaded plugins: fastestmirror
base | 3.6 kB 00:00:00
epel/x86_64/metalink | 7.2 kB 00:00:00
epel | 4.7 kB 00:00:00
extras | 3.4 kB 00:00:00
updates | 3.4 kB 00:00:00
(1/3): extras/7/x86_64/primary_db | 145 kB 00:00:01
epel/x86_64/primary_db FAILED B 00:00:44 ETA
http://mirror2.totbb.net/epel/7/x86_64/repodata/c7883ea243ee401d46c76adddb9d4b46d4cbe7d0f4fbb7f2f71d24ecaececa4a-primary.sqlite.bz2: [Errno 14] HTTP Error 404 - Not Found
Trying other mirror.
(2/3): epel/x86_64/updateinfo | 857 kB 00:00:02
(3/3): epel/x86_64/primary_db | 6.1 MB 00:00:14
Loading mirror speeds from cached hostfile
* epel: mirror01.idc.hinet.net
Resolving Dependencies
--> Running transaction check
---> Package expat-devel.x86_64 0:2.1.0-10.el7_3 will be installed
--> Processing Dependency: expat = 2.1.0-10.el7_3 for package: expat-devel-2.1.0-10.el7_3.x86_64
--> Running transaction check
---> Package expat.x86_64 0:2.1.0-8.el7 will be updated
---> Package expat.x86_64 0:2.1.0-10.el7_3 will be an update
--> Finished Dependency Resolution
Dependencies Resolved
===============================================================================================
Package Arch Version Repository Size
===============================================================================================
Installing:
expat-devel x86_64 2.1.0-10.el7_3 base 57 k
Updating for dependencies:
expat x86_64 2.1.0-10.el7_3 base 81 k
Transaction Summary
===============================================================================================
Install 1 Package
Upgrade ( 1 Dependent package)
Total download size: 137 k
Is this ok [y/d/N]: y
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
(1/2): expat-devel-2.1.0-10.el7_3.x86_64.rpm | 57 kB 00:00:00
(2/2): expat-2.1.0-10.el7_3.x86_64.rpm | 81 kB 00:00:00
-----------------------------------------------------------------------------------------------
Total 208 kB/s | 137 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Updating : expat-2.1.0-10.el7_3.x86_64 1/3
Installing : expat-devel-2.1.0-10.el7_3.x86_64 2/3
Cleanup : expat-2.1.0-8.el7.x86_64 3/3
Verifying : expat-devel-2.1.0-10.el7_3.x86_64 1/3
Verifying : expat-2.1.0-10.el7_3.x86_64 2/3
Verifying : expat-2.1.0-8.el7.x86_64 3/3
Installed:
expat-devel.x86_64 0:2.1.0-10.el7_3
Dependency Updated:
expat.x86_64 0:2.1.0-10.el7_3
Complete!
[root@localhost apr-util-1.6.1]# ls /usr/local/apr-util/
bin include lib
編譯和安裝apache2.4
[root@localhost apr-util-1.6.1]# cd ../httpd-2.4.29/
[root@localhost httpd-2.4.29]# ./configure --prefix=/usr/local/apache2.4 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-so --enable-mods-shared=most
#編譯過程
.
.
.
[root@localhost httpd-2.4.29]# make && make install
#編譯過程
.
.
.
[root@localhost httpd-2.4.29]# echo $?
0
--enable-so動態擴充套件 --enable-mods-shared=most支援的模組
若出現configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/類似的報錯 可以嘗試使用模糊搜尋
[root@localhost httpd-2.4.29]# yum install -y pcre-devel
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* epel: mirror01.idc.hinet.net
Resolving Dependencies
--> Running transaction check
---> Package pcre-devel.x86_64 0:8.32-17.el7 will be reinstalled
--> Finished Dependency Resolution
Dependencies Resolved
=================================================================================================
Package Arch Version Repository Size
=================================================================================================
Reinstalling:
pcre-devel x86_64 8.32-17.el7 base 480 k
Transaction Summary
=================================================================================================
Reinstall 1 Package
Total download size: 480 k
Installed size: 1.4 M
Downloading packages:
pcre-devel-8.32-17.el7.x86_64.rpm | 480 kB 00:00:01
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : pcre-devel-8.32-17.el7.x86_64 1/1
Verifying : pcre-devel-8.32-17.el7.x86_64 1/1
Installed:
pcre-devel.x86_64 0:8.32-17.el7
Complete!
pcre為正則表達的依賴庫
apache檔案介紹
[root@localhost httpd-2.4.29]# cd /usr/local/apache2.4/
[root@localhost apache2.4]# ls
bin build cgi-bin conf error htdocs icons include logs man manual modules
可執行檔案目錄
[root@localhost apache2.4]# ls bin/
ab apxs dbmmanage envvars-std htcacheclean htdigest httpd logresolve
apachectl checkgid envvars fcgistarter htdbm htpasswd httxt2dbm rotatelogs
[root@localhost apache2.4]# ls -l bin/httpd
-rwxr-xr-x 1 root root 2334331 Dec 16 07:58 bin/httpd
[root@localhost apache2.4]# du -sh !$
du -sh bin/httpd
2.3M bin/httpd
配置檔案目錄
[root@localhost apache2.4]# ls conf/
extra httpd.conf magic mime.types original
[root@localhost apache2.4]# vi conf/httpd.conf
訪問頁存放目錄
[root@localhost apache2.4]# ls htdocs/
index.html
日誌存放目錄
[root@localhost apache2.4]# ls logs/
幫助文件
[root@localhost apache2.4]# ls man
man1 man8
擴充套件模組
[root@localhost apache2.4]# ls modules/
httpd.exp mod_dbd.so mod_proxy_hcheck.so
mod_access_compat.so mod_deflate.so mod_proxy_http.so
mod_actions.so mod_dir.so mod_proxy_scgi.so
mod_alias.so mod_dumpio.so mod_proxy.so
mod_allowmethods.so mod_env.so mod_proxy_wstunnel.so
mod_auth_basic.so mod_expires.so mod_ratelimit.so
mod_auth_digest.so mod_ext_filter.so mod_remoteip.so
mod_auth_form.so mod_file_cache.so mod_reqtimeout.so
mod_authn_anon.so mod_filter.so mod_request.so
mod_authn_core.so mod_headers.so mod_rewrite.so
mod_authn_dbd.so mod_include.so mod_sed.so
mod_authn_dbm.so mod_info.so mod_session_cookie.so
mod_authn_file.so mod_lbmethod_bybusyness.so mod_session_dbd.so
mod_authn_socache.so mod_lbmethod_byrequests.so mod_session.so
mod_authz_core.so mod_lbmethod_bytraffic.so mod_setenvif.so
mod_authz_dbd.so mod_lbmethod_heartbeat.so mod_slotmem_shm.so
mod_authz_dbm.so mod_log_config.so mod_socache_dbm.so
mod_authz_groupfile.so mod_log_debug.so mod_socache_memcache.so
mod_authz_host.so mod_logio.so mod_socache_shmcb.so
mod_authz_owner.so mod_macro.so mod_speling.so
mod_authz_user.so mod_mime.so mod_ssl.so
mod_autoindex.so mod_negotiation.so mod_status.so
mod_buffer.so mod_proxy_ajp.so mod_substitute.so
mod_cache_disk.so mod_proxy_balancer.so mod_unique_id.so
mod_cache.so mod_proxy_connect.so mod_unixd.so
mod_cache_socache.so mod_proxy_express.so mod_userdir.so
mod_cgid.so mod_proxy_fcgi.so mod_version.so
mod_dav_fs.so mod_proxy_fdpass.so mod_vhost_alias.so
mod_dav.so mod_proxy_ftp.so mod_watchdog.so
[root@localhost apache2.4]# du -sh !$
du -sh modules/
7.3M modules/
檢視已載入的模組
[root@localhost apache2.4]# /usr/local/apache2.4/bin/httpd -M
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message
Loaded Modules:
core_module (static)
so_module (static)
http_module (static)
mpm_event_module (static)
authn_file_module (shared)
authn_core_module (shared)
authz_host_module (shared)
authz_groupfile_module (shared)
authz_user_module (shared)
authz_core_module (shared)
access_compat_module (shared)
auth_basic_module (shared)
reqtimeout_module (shared)
filter_module (shared)
mime_module (shared)
log_config_module (shared)
env_module (shared)
headers_module (shared)
setenvif_module (shared)
version_module (shared)
unixd_module (shared)
status_module (shared)
autoindex_module (shared)
dir_module (shared)
alias_module (shared)
[root@localhost apache2.4]# /usr/local/apache2.4/bin/apachectl -M
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message
Loaded Modules:
core_module (static)
so_module (static)
http_module (static)
mpm_event_module (static)
authn_file_module (shared)
authn_core_module (shared)
authz_host_module (shared)
authz_groupfile_module (shared)
authz_user_module (shared)
authz_core_module (shared)
access_compat_module (shared)
auth_basic_module (shared)
reqtimeout_module (shared)
filter_module (shared)
mime_module (shared)
log_config_module (shared)
env_module (shared)
headers_module (shared)
setenvif_module (shared)
version_module (shared)
unixd_module (shared)
status_module (shared)
autoindex_module (shared)
dir_module (shared)
alias_module (shared)
啟動apache
[root@localhost ~]# /usr/local/apache2.4/bin/apachectl start
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message
若不想提示,可以修改配置檔案
[root@localhost ~]# ps aux | grep httpd
root 66672 0.0 0.1 70904 2216 ? Ss 08:24 0:00 /usr/local/apache2.4/bin/httpd -k start
daemon 66673 0.0 0.2 359868 4264 ? Sl 08:24 0:00 /usr/local/apache2.4/bin/httpd -k start
daemon 66674 0.0 0.2 359868 4260 ? Sl 08:24 0:00 /usr/local/apache2.4/bin/httpd -k start
daemon 66675 0.0 0.2 359868 4264 ? Sl 08:24 0:00 /usr/local/apache2.4/bin/httpd -k start
root 66758 0.0 0.0 112660 976 pts/3 S+ 08:26 0:00 grep --color=auto httpd
[root@localhost ~]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2627/master
tcp 0 0 0.0.0.0:2049 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:59237 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/systemd
tcp 0 0 0.0.0.0:20048 0.0.0.0:* LISTEN 1884/rpc.mountd
tcp 0 0 0.0.0.0:47251 0.0.0.0:* LISTEN 1566/rpc.statd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1404/sshd
tcp6 0 0 ::1:25 :::* LISTEN 2627/master
tcp6 0 0 :::54207 :::* LISTEN 1566/rpc.statd
tcp6 0 0 :::2049 :::* LISTEN -
tcp6 0 0 :::3306 :::* LISTEN 3192/mysqld
tcp6 0 0 :::111 :::* LISTEN 1/systemd
tcp6 0 0 :::80 :::* LISTEN 66672/httpd
tcp6 0 0 :::20048 :::* LISTEN 1884/rpc.mountd
tcp6 0 0 :::51574 :::* LISTEN -
tcp6 0 0 :::22 :::* LISTEN 1404/sshd
預設監聽80埠
總結: 在編譯的過程,出現的一些問題要學會利用搜索引擎找到解決方案 個人問題./configure和make && make insta