更多内容: http://blog.yuhai.win
apache 源码安装(在网络正常的情况下)
在整理本文之前,已经有过在liunx下安装,php、apache的经历,但是由于我对liunx下的操作极其匮乏。再加上之前没有整理好文档。所在这次的安装任务中,走了很多弯路。浪费了很多不必要的时间和经历。希望这次整理的笔记可以帮助到大家,让新手们在在安装apcahe的时候少走弯路。这个笔记主要是帮助我自己在日后再次安装apache的时候可以少走弯路。同时希望新手们在安装后可以自己整理下文档,以备日后使用。
参考地址:
1.
Apache apxs添加proxy模块
http://www.linuxidc.com/Linux/2012-09/69712.htm
2.
apache集成php5.6
http://www.jb51.net/article/59472.htm
3.
apache 的安装
http://www.jb51.net/article/59474.htm
4.
./configure 不同版本的说明
http://www.ha97.com/2612.html
apache 版本
[root@localhost bin]# ./httpd -v
Server version: Apache/2.2.3
Server built: Jul 11 2016 18:49:32
安装前的建议
libphp5.so 是php5提供的,是在编译安装php5之后才会生成的,
需要在安装php confiure 的时候 加上 --with-apxs2=/usr/local/apache/bin/apx
所以建议先安装apache 在安装 php
- 删除系统自带的 apache
1. 查看安装的与httpd相关的软件包
rpm -qa |grep httpd
2. 删除 httpd
rpm -e httpd
- 下源码包
1. 可以到 apache 官网查找你想要的源码包
http://apache.fayea.com/
2. 在我的有道云笔记中可以找到我用的源码包
http://note.youdao.com/yws/public/redirect/share?id=ad618b9375cbe1a115edaba83af58390&type=false
- 解压安装包并进入,进行编译
本次安装我使用
./configure --prefix=/usr/local/apache --enable-mods-shared=all --enable-so --enable-rewirte
相关参数说明:
1. --enable-so 选项,让apache 可以支持DSO 模式(so模块用来提供DSO 支持的apache核心模块),我也不太明白什么意思
DOS 具体说明请看 http://blog.chinaunix.net/uid-20773865-id-113909.html
2. -–enable-mods-shared=most 告诉编译器将所有标准模块都动态编译为DSO模块
3. --enable-rewirte 支持地址重写功能
4. --enable-mods-shared=all 意思是说动态加载所有模块,如果去掉-shared 的话,是静态加载所有模块
在不同的版本中可能使用的命令有所区别(以下本人没有进行验证)
1. 对于apache 1.3.x
./configure –prefix=/usr/local/apache –enable-module=so –enable-module=most –enable-shared=max –enable-module=rewrite
2. 对于apache 2.0.x
./configure –prefix=/usr/local/apache2 –enable-modules=most –enable-mods-shared=all –enable-so –enable-rewrite
3. 对于apache 2.2.0
./configure –prefix=/usr/local/apache2 –enable-mods-shared=all –enable-so –enable-rewrite
4. 对于apache2.2.8版本
./configure –prefix=/usr/local/apache –enable-so –enable-mods-shared=most –enable-rewrite –enable-forward
具体区别请看 http://www.ha97.com/2612.html
make ; make install
配置文件的修改 /usr/local/apache/conf/httpd.conf
1.
# ServerName www.example.com:80
改为:
ServerName 127.0.0.1:80
2. 添加php支持
LoadModule php5_module modules/libphp5.so
3. 增加需要php进行解析的文件
AddType application/x-httpd-php .php .phtml .html
AddType application/x-httpd-php-source .phps
- 遇到的问题
1. 端口被占用
(98)Address already in use: make_sock: could not bind to address [::]:80
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
解决办法:
修改apache 默认使用的端口。
- 查看以安装的apache 使用的编译参数
[root@localhost build]# cd /usr/local/apache/build/
[root@localhost build]# cat config.nice
#! /bin/sh
#
# Created by configure
"./configure" \
"--prefix=/usr/local/apache" \
"--enable-mods-shared=all" \
"--enable-so" \
"--enable-rewirte" \
"$@"
本文在有道云笔记的地址(有道云笔记中保持最新的状态):
http://note.youdao.com/yws/public/redirect/share?id=62755ada2b0fd2df0fb65feb65fc5d1f&type=false