CentOS6编译安装Apache
一、目标
1、熟练掌握CentOS6.5下Apache的编译安装
2、能够解决编译过程中产生的问题,并对相应问题进行记录
二、编译前环境搭建
1、环境搭建
所需环境:make、gcc、gcc-c++、openssl-devel、pcre、pcre-devel、zlib*、expat-devel
说明:所有软件包在本地yum源中都有,yum配置https://www.cnblogs.com/fengyuzhige/p/11150515.html
2、安装软件包准备(已保存到百度网盘)
1)apr-1.6.5.tar.gz 下载地址:http://apr.apache.org/download.cgi;https://mirrors.tuna.tsinghua.edu.cn/apache/apr/
2)apr-util-1.6.1.tar.gz 下载地址:http://apr.apache.org/download.cgi;https://mirrors.tuna.tsinghua.edu.cn/apache/apr/
3)httpd-2.4.38.tar.bz2 下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/httpd/
三、编译安装
1、编译安装apr
1)解压apr
tar -zxvf apr-1.6.5.tar.gz
2)进入解压后的目录,并将其配置到/usr/local/apr目录中
cd apr-1.6.5
./configure --prefix=/usr/local/apr
3)编译并安装
make -j 4 && make install
2、编译安装apr-util
1)解压apr-util
tar -zxvf apr-util-1.6.1.tar.gz
2)进入解压后的目录,将其配置到/usr/local/apr-util目录中,并指定apr位置
cd apr-util-1.6.1
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
3)编译并安装
make && make install
3、编译安装httpd
1)解压httpd
tar -jxvf httpd-2.4.38.tar.bz2
2)进入解压后目录,将其配置到/usr/local/apache目录中,并指定apr、apr-util位置和其他参数
./configure --prefix=/usr/local/apache --sysconf=/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=prefork
--sysconf=/etc/httpd 配置文件位置
--enable-so 支持模块化
--enable-ssl 支持ssl功能
--enable-cgi 支持cgi功能
--enable-rewrite 支持url重写
--enable-modules=most 启用模块级别:most大多数
--enable-mpms-shared=all 支持所有支持的模块
--with-mpm=prefork/event/worker mpm模块为prefork模式
--with-zlib 支持传输压缩
--with-pcre 支持pcre正则表达式
--with-apr=/usr/local/apr apr位置为/usr/local/apr
--with-apr-util=/usr/local/apr-util apr-util位置为/usr/local/apr
3)编译并安装
make && make install
四、安装后的设置
1、打开源码包中build/rpm/httpd.init文件
2、在文件第二行添加内容(不用添加):
#chkconfig:35 92 92
#description:httpd
3、将build/rpm/httpd.init文件复制到/etc/rc.d/init.d/目录下改名为httpd,并将httpd服务添加进chkconfig
cp /usr/local/apache/bin/apache /etc/rc.d/init.d/httpd
chkconfig --add httpd
chkconfig --list | grep httpd
4、检测httpd的配置文件是否有语法错误,并清空缓存
/usr/local/apache/bin/httpd -t
bash -r
5、将/usr/local/apache/bin添加到环境变量
vim /etc/profile.d/httpd.sh
export PATH=/usr/local/apache/bin:$PATH
执行环境变量:chmod +x /etc/profile.d/httpd.sh && source httpd.sh
查看:echo $PATH
6、启动httpd服务,并查看结果
service httpd start
ps aux | grep httpd
7、查看mpm启动的模块
httpd -M
其配置内容在/etc/httpd24/httpd.conf
LoadModule mpm_event_module modules/mod_mpm_event.so
#LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
#LoadModule mpm_worker_module modules/mod_mpm_worker.so
五、出错总结
1、需要安装openssl-devel
checking for OpenSSL version >= 0.9.8a... FAILED |
2、在执行./httpd.sh时报错,执行后PATH没改变
使用source命令运行