LAMP架构应用实战—Apache服务介绍与安装02
以下内容接上节文章
解决方案安装GCC套件
[root@Centos ~]# yum install gcc -y
Loadedplugins: fastestmirror, refresh-packagekit, security
Loadingmirror speeds from cached hostfile
*base: mirrors.163.com
*extras: mirrors.163.com
*updates: mirrors.163.com
base |3.7kB 00:00
extras | 3.4 kB 00:00
updates | 3.4 kB 00:00
Setting up Install Process
Resolving Dependencies
-->Running transaction check
--->Package gcc.x86_64 0:4.4.7-17.el6 will be installed
-->Processing Dependency: libgomp = 4.4.7-17.el6 for package:gcc-4.4.7-17.el6.x86_64
-->Processing Dependency: cpp = 4.4.7-17.el6 for package: gcc-4.4.7-17.el6.x86_64
-->Processing Dependency: libgcc >= 4.4.7-17.el6 for package:gcc-4.4.7-17.el6.x86_64
-->Processing Dependency: cloog-ppl >= 0.15 for package:gcc-4.4.7-17.el6.x86_64
-->Running transaction check
--->Package cloog-ppl.x86_64 0:0.15.7-1.2.el6 will be installed
-->Processing Dependency: libppl_c.so.2()(64bit) for package:cloog-ppl-0.15.7-1.2.el6.x86_64
-->Processing Dependency: libppl.so.7()(64bit) for package:cloog-ppl-0.15.7-1.2.el6.x86_64
--->Package cpp.x86_64 0:4.4.7-17.el6 will be installed
-->Processing Dependency: libmpfr.so.1()(64bit) for package:cpp-4.4.7-17.el6.x86_64
--->Package libgcc.x86_64 0:4.4.7-4.el6 will be updated
--->Package libgcc.x86_64 0:4.4.7-17.el6 will be an update
--->Package libgomp.x86_64 0:4.4.7-4.el6 will be updated
--->Package libgomp.x86_64 0:4.4.7-17.el6 will be an update
-->Running transaction check
--->Package mpfr.x86_64 0:2.4.1-6.el6 will be installed
--->Package ppl.x86_64 0:0.10.2-11.el6 will be installed
-->Finished Dependency Resolution
Dependencies Resolved
===========================================================
Package Arch Version Repository Size
===========================================================
Installing:
gcc x86_64 4.4.7-17.el6 base 10 M
Installingfor dependencies:
cloog-ppl x86_64 0.15.7-1.2.el6 base 93 k
cpp x86_64 4.4.7-17.el6 base 3.7 M
mpfr x86_64 2.4.1-6.el6 base 157 k
ppl x86_64 0.10.2-11.el6 base 1.3 M
Updating for dependencies:
libgcc x86_64 4.4.7-17.el6 base 103 k
libgomp x86_64 4.4.7-17.el6 base 134 k
Transaction Summary
===========================================================
Install 5 Package(s)
Upgrade 2 Package(s)
Total
download size: 16 M
Downloading Packages:
(1/7):cloog-ppl-0.15.7-1.2.el6.x86_64.rpm | 93kB 00:00
(2/7):cpp-4.4.7-17.el6.x86_64.rpm | 3.7 MB 00:02
(3/7):gcc-4.4.7-17.el6.x86_64.rpm | 10 MB 00:08
(4/7):libgcc-4.4.7-17.el6.x86_64.rpm |103 kB 00:00
(5/7):libgomp-4.4.7-17.el6.x86_64.rpm |134 kB 00:00
(6/7):mpfr-2.4.1-6.el6.x86_64.rpm | 157 kB 00:00
(7/7):ppl-0.10.2-11.el6.x86_64.rpm | 1.3 MB 00:00
--------------------------------------------------------------------------------------------------------------------------------------
Total 1.2 MB/s | 16 MB 00:13
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Warning:RPMDB altered outside of yum.
** Found 1pre-existing rpmdb problem(s), 'yum check' output follows:
gnome-user-share-2.28.2-3.el6.x86_64has missing requires of httpd >= ('0', '2.2.0', None)
Updating : libgcc-4.4.7-17.el6.x86_64 1/9
Installing : ppl-0.10.2-11.el6.x86_64 2/9
Installing : cloog-ppl-0.15.7-1.2.el6.x86_64 3/9
Updating : libgomp-4.4.7-17.el6.x86_64 4/9
Installing : mpfr-2.4.1-6.el6.x86_64 5/9
Installing : cpp-4.4.7-17.el6.x86_64 6/9
Installing : gcc-4.4.7-17.el6.x86_64 7/9
Cleanup : libgomp-4.4.7-4.el6.x86_64 8/9
Cleanup : libgcc-4.4.7-4.el6.x86_64 9/9
Verifying : libgcc-4.4.7-17.el6.x86_64 1/9
Verifying : ppl-0.10.2-11.el6.x86_64 2/9
Verifying : mpfr-2.4.1-6.el6.x86_64 3/9
Verifying : gcc-4.4.7-17.el6.x86_64 4/9
Verifying : libgomp-4.4.7-17.el6.x86_64 5/9
Verifying : cpp-4.4.7-17.el6.x86_64 6/9
Verifying : cloog-ppl-0.15.7-1.2.el6.x86_64 7/9
Verifying : libgomp-4.4.7-4.el6.x86_64 8/9
Verifying : libgcc-4.4.7-4.el6.x86_64 9/9
Installed:
gcc.x86_64 0:4.4.7-17.el6
Dependency Installed:
cloog-ppl.x86_64 0:0.15.7-1.2.el6 cpp.x86_64 0:4.4.7-17.el6
mpfr.x86_64 0:2.4.1-6.el6 ppl.x86_64 0:0.10.2-11.el6
Dependency Updated:
libgcc.x86_64 0:4.4.7-17.el6 libgomp.x86_64 0:4.4.7-17.el6
Complete!
再次切换到APR目录下执行安装
[root@Centos~]# cd /Downloads/tools/apr-1.5.2
[root@Centosapr-1.5.2]# ./configrue --prefix=/var/local/apr
[root@Centosapr-1.5.2]# make && make install
检查下是否安装成功
[root@Centosapr-1.5.2]# rpm -qa|grep apr
apr-1.3.9-5.el6_2.x86_64
apr-util-1.3.9-3.el6_0.1.x86_64
apr-util-ldap-1.3.9-3.el6_0.1.x86_64
下载apr-util软件
[root@Centostools]# wgethttps://mirrors.tuna.tsinghua.edu.cn/apache/apr/apr-util-1.5.4.tar.gz
--2016-09-1201:40:11-- https://mirrors.tuna.tsinghua.edu.cn/apache/apr/apr-util-1.5.4.tar.gz
Resolvingmirrors.tuna.tsinghua.edu.cn... 166.111.206.63, 2402:f000:1:416:166:111:206:63
Connectingto mirrors.tuna.tsinghua.edu.cn|166.111.206.63|:443... connected.
HTTPrequest sent, awaiting response... 200 OK
Length:874044 (854K) [application/octet-stream]
Saving to:“apr-util-1.5.4.tar.gz”
100%[====================================================================================================================================>]874,044 904K/s in 0.9s
2016-09-1201:40:12 (904 KB/s) - “apr-util-1.5.4.tar.gz” saved [874044/874044]
[root@Centosapr-util-1.5.4]# ./configure --prefix=/usr/local/web/apr-util–with-apr=/usr/local/apr
[root@Centosapr-util-1.5.4]#make && make install
............................................................................................................................过程省略
重新切换到apache目录下执行前面的编译安装apache
[root@Centoshttpd-2.4.23]# ./configure
--prefix=/application/apache2.4.23\
--enable-deflate\
--enable-expires\
--enable-headers\
--enable-modules=most\
--enable-so\
--with-mpm=worker\
--enable-rewrite\
--with-apr=/usr/local/apr\
--with-apr-util=/usr/local/web/apr-util
checkingfor chosen layout... Apache
checkingfor working mkdir -p... yes
checkingfor grep that handles long lines and -e... /bin/grep
checkingfor egrep... /bin/grep -E
checkingbuild system type... x86_64-unknown-linux-gnu
checkinghost system type... x86_64-unknown-linux-gnu
checkingtarget system type... x86_64-unknown-linux-gnu
configure:
configure:Configuring Apache Portable Runtime library...
configure:
checkingfor 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:
checkingfor APR-util... yes
checkingfor gcc... gcc
checkingwhether the C compiler works... yes
checkingfor C compiler default output file name... a.out
checkingfor suffix of executables...
checkingwhether we are cross compiling... no
checking forsuffix of object files... o
checkingwhether we are using the GNU C compiler... yes
checkingwhether gcc accepts -g... yes
checkingfor gcc option to accept ISO C89... none needed
checkinghow to run the C preprocessor... gcc -E
checkingfor gcc option to accept ISO C99... -std=gnu99
checkingfor pcre-config... false
configure: error: pcre-config for libpcre not found. PCRE isrequired and available from http://pcre.org/
根据提示解决方法如下
下载pcre软件交并安装
[root@Centostools]# wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.gz
--2016-09-1203:18:42-- ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.gz
=> “pcre-8.38.tar.gz”
Resolvingftp.csx.cam.ac.uk... 131.111.8.115
Connectingto ftp.csx.cam.ac.uk|131.111.8.115|:21... connected.
Logging inas anonymous ... Logged in!
==> SYST... done. ==> PWD ... done.
==> TYPEI ... done. ==> CWD (1)/pub/software/programming/pcre ... done.
==> SIZEpcre-8.38.tar.gz ... 2053336
==> PASV... done. ==> RETR pcre-8.38.tar.gz... done.
Length:2053336 (2.0M) (unauthoritative)
100%[============================================================================================================================>]2,053,336 544K/s in 3.7s
2016-09-1203:18:54 (544 KB/s) - “pcre-8.38.tar.gz” saved [2053336]
[root@Centostools]# ls -ll
total 12096
drwxr-xr-x.28 1000 1000 4096 Sep 12 01:29 apr-1.5.2
-rw-r--r--. 1 root root 1031613 Apr 29 2015apr-1.5.2.tar.gz
drwxr-xr-x.20 1000 1000 4096 Sep 12 01:44 apr-util-1.5.4
-rw-r--r--. 1 root root 874044 Sep 20 2014apr-util-1.5.4.tar.gz
drwxr-xr-x.11 yumw games 4096 Sep 12 03:04httpd-2.4.23
-rw-r--r--. 1 root root 8406575 Jul 5 03:50httpd-2.4.23.tar.gz
-rw-r--r--. 1 root root 2053336 Sep 12 03:18 pcre-8.38.tar.gz
解压并进行编译安装
[root@Centostools]# tar zxf pcre-8.38.tar.gz
[root@Centostools]# cd pcre-8.38
[root@Centospcre-8.38]# ./configure --prefix=/usr/local/pcre
[root@Centospcre-8.38]# make && make install
............................................................................................................................过程省略
重新切换到apache目录下执行前面的编译安装apache
[root@Centoshttpd-2.4.23]# ./configure
--prefix=/application/apache2.4.23\
--enable-deflate\
--enable-expires\
--enable-headers\
--enable-modules=most\
--enable-so\
--with-mpm=worker\
--enable-rewrite\
--with-apr=/usr/local/apr\
--with-apr-util=/usr/local/web/apr-util
--with-pcre=/usr/local/pcre/bin/pcre-config
............................................................................................................................过程省略
[root@Centoshttpd-2.4.23]#make && make install
............................................................................................................................过程省略
过程省略,注意查看是否有错误提示,否则到最后也无法安装成功
[root@Centoshttpd-2.4.23]# ln -s /application/apache2.4.23 /application/apache
便于后续使用,生产环境中常用这种配置
安装时指定版本号路径方便查看安装版本与后续升级,如果后续升级,只需将前面的软链接删除,重新创建一个新软链接即可
[root@Centoshttpd-2.4.23]# ls -l /application/
total 4
lrwxrwxrwx. 1 root root 25 Sep 12 03:44 apache -> /application/apache2.4.23
drwxr-xr-x.14 root root 4096 Sep 12 03:30 apache2.4.23
启动服务
[root@Centoshttpd-2.4.23]# cd ..
[root@Centostools]# /application/apache/bin/apachectl start
AH00557:httpd: apr_sockaddr_info_get() failed for Centos
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 thismessage
httpd (pid34190) already running
服务启动成功,但由于没有DNS出现这种提示,解决方法如下(测试环境,实际生产环境中不存在这提示信息)
[root@Centos~]# vi/application/apache/conf/httpd.conf
#
# This isthe main Apache HTTP server configuration file. It contains the
#configuration directives that give the server its instructions.
# See<URL:http://httpd.apache.org/docs/2.4/> for detailed information.
............................................................................中间内容省略
# If yourhost doesn't have a registered DNS name, enter its IP address here.
ServerName www.example.com:80==========>localhost:80(192.168.1.2:80)
查看端口
[root@Centostools]# lsof -i tcp:80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
httpd 34190 root 4u IPv6 46376 0t0 TCP *:http (LISTEN)
httpd 34191 daemon 4u IPv6 46376 0t0 TCP *:http (LISTEN)
httpd 34192 daemon 4u IPv6 46376 0t0 TCP *:http (LISTEN)
httpd 34193 daemon 4u IPv6 46376 0t0 TCP *:http (LISTEN)
查看进程
[root@Centostools]# ps -ef |grep httpd
root 34190 1 0 03:57 ? 00:00:00/application/apache2.4.23/bin/httpd -k start
daemon 34191 34190 0 03:57 ? 00:00:00/application/apache2.4.23/bin/httpd -k start
daemon 34192 34190 0 03:57 ? 00:00:00/application/apache2.4.23/bin/httpd -k start
daemon 34193 34190 0 03:57 ? 00:00:00/application/apache2.4.23/bin/httpd -k start
root 34320 1866 0 04:06 pts/0 00:00:00 grep httpd
关闭防火墙
[root@Centostools]# /etc/init.d/iptables stop
iptables:Setting chains to policy ACCEPT: filter [ OK ]
iptables:Flushing firewall rules: [ OK ]
iptables:Unloading modules: [ OK ]
[root@Centostools]# /etc/init.d/iptables status
iptables:Firewall is not running.
如果是生产环境,可以添加规则允许80端口即可
[root@Centostools]#iptables -I INPUT -p tcp --dport 80 -jACCEPT
[root@Centostools]# vi /etc/selinux/config
# This filecontrols the state of SELinux on the system.
# SELINUX=can take one of these three values:
# enforcing - SELinux security policy isenforced.
# permissive - SELinux prints warningsinstead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disalbed
#SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes areprotected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
打开IE浏览器直接输入http://192.168.1.2 打开出现 it works 表示安装成功
[root@Centos~]# cd /application/apache/conf/
[root@Centosconf]# ls
extra httpd.conf index.html magic mime.types original
[root@Centosconf]# cat index.html
<html><body><h1>Itworks!</h1></body></html>
浏览器出现的内容就是读取这个文件的内容
至此,Apache服务安装配置完成,可以正常提供 http服务了