系统:Centos 7.4
服务:Apache 2.4.33、apr 1.5.2、apr-util 1.5.4
依赖包:
pcre.x86_64 pcre-devel.x86_64 openssl.x86_64 openssl-devel.x86_64
expat-devel
编译工具:gcc、gcc-c++
下载地址:
Apache 2.4.33:https://pan.baidu.com/s/1yWg7gwz230I2C2uTBocNyg
pugc
apr 1.5.2:https://pan.baidu.com/s/1_UbVCZ75silimQLItsMBvg
cdlw
apr-util 1.5.4:https://pan.baidu.com/s/1TbxseR5XyMrJluAAypq-Ow
4uvu
1、编译参数
编译安装详解 # 选择安装目录 --prefix=/usr/local/apache # 选择安装配置目录 --sysconfdir=/etc/httpd # 定义apr目录 --with-apr=/usr/local/apr # 定义apr-util目录 --with-apr-util=/usr/local/apr-util # 打开 so 模块,so 模块是用来提 DSO 支持的,提供动态共享模块与php协作 --enable-so # https使用 --enable-ssl # 为非线程方式工作的mpm使用 --enable-cgi # 支持 URL 重写 --enable-rewrite # 通用压缩机制 --enable-zlib # 支持pcre --with-pcre # 启用大多数常用的模块 --enable-module=most # 启用MPM支持的模式,启用哪种mpm(prefork,worker,event),使用worker或event时要另外一种方式编译php(编 译时使用了–enable-maintainer-zts选项) --enable-mpms-shared=all # 指定默认的mpm --with-mpm=prefork # 传输压缩机制,节约带宽 --enable-deflate # 以线程工作(worker/event)的mpm使用 --enable-cgid
--enable-module=so //打开 so 模块,so 模块是用来提 DSO 支持的 apache 核心模块 --enable-deflate=shared //支持网页压缩 --enable-expires=shared //支持 HTTP 控制 --enable-rewrite=shared //支持 URL 重写 --enable-cache //支持缓存 --enable-file-cache //支持文件缓存 --enable-mem-cache //支持记忆缓存 --enable-disk-cache //支持磁盘缓存 --enable-static-support //支持静态连接(默认为动态连接) --enable-static-htpasswd //使用静态连接编译 htpasswd - 管理用于基本认证的用户文件 --enable-static-htdigest //使用静态连接编译 htdigest - 管理用于摘要认证的用户文件 --enable-static-rotatelogs //使用静态连接编译 rotatelogs - 滚动 Apache 日志的管道日志程序 --enable-static-logresolve //使用静态连接编译 logresolve - 解析 Apache 日志中的IP地址为主机名 --enable-static-htdbm //使用静态连接编译 htdbm - 操作 DBM 密码数据库 --enable-static-ab //使用静态连接编译 ab - Apache HTTP 服务器性能测试工具 --enable-static-checkgid //使用静态连接编译 checkgid --disable-cgid //禁止用一个外部 CGI 守护进程执行CGI脚本 --disable-cgi //禁止编译 CGI 版本的 PHP --disable-userdir //禁止用户从自己的主目录中提供页面 --with-mpm=worker // 让apache以worker方式运行 --enable-authn-dbm=shared // 对动态数据库进行操作。Rewrite时需要。
2、添加环境变量
vim /etc/profile.d/apache.sh
export PATH=$PATH:/usr/local/apache/bin
3、立即生效
source /etc/profile.d/apache.sh
4、启动服务
apachectl start
5、设置开机自启动:添加到/etc/rc.d/rc.local 需要 添加x权限。
注:需要用绝对路径的启动命令。
问题1:编译安装apr报错
再configure 下注释掉如下行。 # $RM "$cfgfile"