第一篇:编译安装apache
配置yum本地源
移除原有的yum源
cd  /etc/yum.repos.d/
mkdir bak
mv *.repo  bak
挂载安装光盘的第一张至/mnt目录
mount /dev/cdrom /mnt

配置yum本地源

cat >iso.repo<

[c6-media]
name=CentOS-$releasever - Media
baseurl=file:///mnt/
gpgcheck=1
enabled=1  
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
EOF

编译安装LAMP所需依赖包

yum -y install libmcrypt-devel mhash-devel libxslt-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel  krb5-devel libidn libidn-devel openssl openssl-devel pcre pcre-devel libtermcap  libtermcap-devel  gcc gcc-c++

创建tools目录,集中存放源码包
mkdir tools
cd tools/

编译安装apr(1.5.0版本)和apr-util(1.5.3版本)
tar xf apr-1.5.0.tar.bz2
cd apr-1.5.0
./configure --prefix=/usr/local/apr
make && make install
cd ..
tar xf apr-util-1.5.3.tar.bz2
cd apr-util-1.5.3
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install
cd ..

编译安装apache2.4.9
apache2.4编译需知:
apache2.4的编译安装,依赖于更高版本的apr和apr-util(一般来说,apr和apr-util的版本要求在1.5.0以上,否则编译apache时会报错);
apr全称为apache portable runtime,它是一个底层库,是一个可以帮助apache实现跨平台的工具,这样的话,一段代码即可以在windows上运行,也可以在Linux上运行;
apr-util是apr的工具;
pcre,是一个正则表达式库,apache使用正则表达式需依赖pcre库,尤其是pcre-devel (安装: yum -y install pcre pcre-devel)
tar xf httpd-2.4.9.tar.bz2
cd httpd-2.4.9
./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --enable-modules=most --enable-mpms-shared=all --with-mpm=event --enable-deflate --enable-expires
make && make install
cd

./configure参数详解
--prefix=PREFIX     指定apache编译完成的安装路径,默认安装路径是/usr/local/apache2
--sysconfdir=DIR   指定apache主配置文件的安装路径,默认是
PREFIX/etc/
--enable-so  启用DSO模块的加载
--enable-ssl  启用SSl/TSL模块的支持
--enable-cgi 启用CGI的支持
--enable-rewrite       启用URL重写模块
--with-z=DIR              指定zlib库安装位置,若是yum安装zlib,则无需指定
--with-pcre=PATH   指定pcre库文件的位置,
若是yum安装pcre和pcre-devel,则无需指定
--with-apr=/usr/local/apr   指定apr安装位置
--with-apr-util=/usr/local/apr-util/        指定apr-util安装位置
--enable-modules=most 将模块编译成DSO,这里有两个参数,一个是all(编译所有模块),一个是most(大多数模块),如果出现错误,使用all参数会中断配
置,使用most则会忽略
--enable-mpms-shared=all  以共享的方式编译模块

--with-mpm=event      指定使用哪种类型的MPM, MPM={event|worker|prefork|winnt},This  will be statically linkedas the only available MPM
                                        unless --enable-mpms-shared is also specified
--enable-deflate           启用deflate压缩模块
--enable-expires          启用
expires缓存模块

在centos5上使用--with-zlib=DIR,指定zlib库安装位置(若是yum安装zlib,则无需指定)
centos6也可使用,编译不会报错


将httpd添加为系统服务,并设置开机自启  (即可以使用service启动,并可使用chkconfig加载服务列表)
cp /usr/local/apache/bin/apachectl /etc/init.d/httpd
sed -i '1a\# chkconfig: - 85 15\n\# description: Apache is a World Wide Web server.' /etc/init.d/httpd
chkconfig --add httpd
chkconfig --level 35 httpd on
chkconfig --list httpd
service httpd reload

lsof -i :80


sed -i '/PidFile/a\PidFile  "/var/run/httpd.pid"' /etc/httpd/httpd.conf
sed -n '/PidFile / p' /etc/httpd/httpd.conf

操作步骤详解

wKioL1NBWX7QEqLQAAFSC9zKmn8866.jpg

第一篇:编译安装apache_第1张图片


导出头文件,库文件和apache man 帮助信息
输出apache的头文件至系统头文件路径/usr/include:
这可以通过简单的创建链接实现:
[root@station123 httpd-2.4.9]# ln -sv /usr/local/apache/include /usr/include/apache
`/usr/include/apache' -> `/usr/local/apache/include'
输出apache的库文件给系统库查找路径:(我没看到)
[root@station123 ~]# ldconfig
导出apache man 帮助信息(我是在最后一行添加的)
[root@localhost ~]# sed -i '$a\MANPATH  /usr/local/apache/man' /etc/man.config
[root@localhost ~]# tail -1 /etc/man.config
MANPATH  /usr/local/apache/man

在中心主机创建测试页,看apache能否工作
wKioL1NBWb7jDyG9AAC3qJ9RZqA835.jpg

访问成功。(也可在宿主机的浏览器中输入apache所在主机的地址,看是否可以看到测试页中的内容)

wKioL1NBWfewM6I4AACEqqMayQo934.jpg

至此,一个简单可用的apache已安装成功!!!!