1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
#由于中间过程内容较多这里省略了一些不太重要的内容,小友们可以自行安装
#查看。这里安装组包使用yum groupinstall -y(安装过程无需输入确认)这里先安装Development Tools
[root@station47 yum.repos.d]
# yum groupinstall "Development Tools" -y
Loaded plugins: fastestmirror, refresh-packagekit, security
Determining fastest mirrors
base | 3.2 kB 00:00
base
/primary_db
| 3.2 MB 00:00
Setting up Group Process
Loading mirror speeds from cached hostfile
base
/group_gz
| 220 kB 00:00
Package 1:
make
-3.81-20.el6.x86_64 already installed and latest version
Package patch-2.6-6.el6.x86_64 already installed and latest version
....................................................................................................
......................................................................
Complete!
[root@station47 yum.repos.d]
#
|
1
2
3
4
5
6
7
8
9
10
11
12
|
#安装Server Platform Development组包
[root@station47 yum.repos.d]
# yum groupinstall "Server Platform Development" -y
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
Setting up Group Process
Loading mirror speeds from cached hostfile
.....................................................................................
.....................................................................................
openldap.x86_64 0:2.4.23-32.el6_4.1
openssl.x86_64 0:1.0.1e-15.el6
pam.x86_64 0:1.1.1-17.el6
Complete!
|
1
2
3
4
5
6
7
|
#显示如下信息说明已经安装成功
[root@station47 yum.repos.d]
# gcc --version
gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4)
Copyright (C) 2010 Free Software Foundation, Inc.
This is
free
software; see the
source
for
copying conditions. There is NO
warranty; not even
for
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
[root@station47 yum.repos.d]
#
|
1
2
3
4
5
6
7
8
9
10
|
#解压源码包
[root@station47 ~]
# tar xf httpd-2.2.25.tar.bz2
[root@station47 ~]
# ll
total 5464
-rw-------. 1 root root 2774 Feb 14 21:34 anaconda-ks.cfg
drwxr-xr-x 11 500 500 4096 Jun 29 2013 httpd-2.2.25
-rw-r--r-- 1 root root 5524905 Jul 25 2013 httpd-2.2.25.
tar
.bz2
-rw-r--r--. 1 root root 43809 Feb 14 21:34
install
.log
-rw-r--r--. 1 root root 9963 Feb 14 21:30
install
.log.syslog
[root@station47 ~]
#
|
1
2
3
4
5
6
7
8
9
10
11
|
[root@station47 ~]
# cd httpd-2.2.25
#切换目录,查看源码目录的基本文件结构。
[root@station47 httpd-2.2.25]
# ls
ABOUT_APACHE CHANGES httpd.dsp libhttpd.dep NOTICE server
acinclude.m4 config.layout httpd.mak libhttpd.dsp NWGNUmakefile srclib
Apache.dsw configure httpd.spec libhttpd.mak os support
build configure.
in
include LICENSE README
test
BuildAll.dsp docs INSTALL Makefile.
in
README.platforms VERSIONING
BuildBin.dsp emacs-style InstallBin.dsp Makefile.win README-win32.txt
buildconf httpd.dep LAYOUT modules ROADMAP
[root@station47 httpd-2.2.25]
#
|
1
2
3
4
5
6
7
8
9
10
11
|
#内容较多,中间有省略。这里重点关注--prefix和--syscondir
[root@station47 httpd-2.2.25]
# ./configure --help
`configure' configures this package to adapt to many kinds of systems.
Usage: .
/configure
[OPTION]... [VAR=VALUE]...
....................................................................
--bindir=DIR user executables [EPREFIX
/bin
]
--sbindir=DIR system admin executables [EPREFIX
/sbin
]
--libexecdir=DIR program executables [EPREFIX
/libexec
]
--sysconfdir=DIR
read
-only single-machine data [PREFIX
/etc
]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX
/com
]
--localstatedir=DIR modifiable single-machine data [PREFIX
/var
]
|
1
2
3
4
|
#这里--prefix设置程序安装目录,--sysconfdir设置配置文件目录,--enable-so
#设置http服务加载DSO模块。
若无问题,就可以编译安装了。若有错误,需根据具体错误信息做相应对策。
[root@station47 httpd-2.2.25]
# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd/ --enable-so
|
1
2
|
#不要切换当前工作目录,直接使用make命令即可开始编译
[root@station47 httpd-2.2.25]
# make
|
1
|
[root@station47 httpd-2.2.25]
# make install
|
1
2
3
4
5
6
7
8
|
切换工作目录之httpd安装目录,执行apachectl start启动httpd服务
[root@station47 ~]
# cd /usr/local/httpd/bin/
[root@station47 bin]
# ls
ab apu-1-config dbmmanage htcacheclean htpasswd logresolve
apachectl apxs envvars htdbm httpd rotatelogs
apr-1-config checkgid envvars-std htdigest httxt2dbm
[root@station47 bin]
# apachectl start
[root@station47 bin]
#
|
1
2
3
|
#在apache.sh中键入如下内容。
PATH=
/usr/local/apache/bin
:$PATH
export
PATH
|
1
2
3
4
|
#如果配置成功,命令补全功能也能够正常使用
[root@station75 profile.d]
# apachectl start
httpd (pid 1972) already running
[root@station75 profile.d]
#
|
1
2
3
4
5
6
7
|
#在最后面添加一条,将apache的man路径添加进来。系统能够自动去寻找
MANPATH
/usr/man
MANPATH
/usr/share/man
MANPATH
/usr/local/man
MANPATH
/usr/local/share/man
MANPATH
/usr/X11R6/man
MANPATH
/usr/local/apache/man
|
1
2
3
4
|
将
/usr/local/apache/include
目录整个与系统include做软链接
[root@station75
man
]
# ln -sv /usr/local/apache/include/ /usr/include/httpd
`
/usr/include/httpd
' -> `/usr/local/apache/include/'
[root@station75
man
]
#
|
1
2
3
|
[root@station75 include]
# ll -d httpd/
drwxr-xr-x 2 root root 4096 Feb 24 17:34 httpd/
[root@station75 include]
#
|
1
2
|
#在配置文件中,仅有这一条,如果有多个库文件目录,每行一条即可
/usr/local/apache/lib
|
1
2
3
4
5
6
|
#-v显示详细信息
[root@station75 ld.so.conf.d]
# ldconfig -v | less
/usr/local/apache/lib
:
libexpat.so.0 -> libexpat.so.0.5.0
libaprutil-1.so.0 -> libaprutil-1.so.0.5.2
libapr-1.so.0 -> libapr-1.so.0.4.8
|