准备下载源码包到网上下载apr、apr-util、pcre、apache源码包到/usr/local/src目录备份。它们的下载地址如下:apr和apr-util:http://apr.apache.org/downloa...pcre:https://sourceforge.NET/proje...apache:http://httpd.apache.org/downl...安装1.安装apr解压后编译安装到/usr/local/apr目录qingye@qingye-pc:/usr/local/src$sudotar-zxvfapr-1.5.2.tar.gzqingye@qingye-pc:/usr/local/src$cdapr-1.5.2qingye@qingye-pc:/usr/local/src/apr-1.5.2$sudo./configure--prefix=/usr/local/aprqingye@qingye-pc:/usr/local/src/apr-1.5.2$sudomakeqingye@qingye-pc:/usr/local/src/apr-1.5.2$sudomakeinstall2.安装apr-util到解压后,编译安装到/usr/local/apr-util目录下qingye@qingye-pc:/usr/local/src$sudotar-zxvfapr-util-1.5.4.tar.gzqingye@qingye-pc:/usr/local/src$cdapr-util-1.5.4qingye@qingye-pc:/usr/local/src/apr-util-1.5.4$sudo./configure--prefix=/usr/local/apr-util-with-apr=/usr/local/apr/bin/apr-1-configqingye@qingye-pc:/usr/local/src/apr-util-1.5.4$sudomakeqingye@qingye-pc:/usr/local/src/apr-util-1.5.4$sudomakeinstall3.安装pcre解压后编译安装到/usr/local/pcre目录qingye@qingye-pc:/usr/local/src$sudotar-zxvfpcre-8.39.tar.gzqingye@qingye-pc:/usr/local/src$cdpcre-8.39qingye@qingye-pc:/usr/local/src/pcre-8.39$sudo./configure--prefix=/usr/local/pcreqingye@qingye-pc:/usr/local/src/pcre-8.39$sudomakeqingye@qingye-pc:/usr/local/src/pcre-8.39$sudomakeinstall四、安装Apache解压后,编译安装至/usr/local/apache目录qingye@qingye-pc:/usr/local/src$sudotar-zxvfhttpd-2.4.23.tar.gzqingye@qingye-pc:/usr/local/src$cdhttpd-2.4.23qingye@qingye-pc:/usr/local/src/httpd-2.4.23$sudo./configure--prefix=/usr/local/apache--with-apr=/usr/local/apr--with-apr-util=/usr/local/apr-util/--with-pcre=/usr/local/pcre--enable-module=so--enable-mods-shared=all--enable-module=rewirte--enable-cache--enable-file-cache--enable-mem-cache--enable-disk-cache--disable-cgid--disable-cgiqingye@qingye-pc:/usr/local/src/httpd-2.4.23$sudomakeqingye@qingye-pc:/usr/local/src/httpd-2.4.23$sudomakeinstallconfigure参数解释说明如下:--prefix=/usr/local/apache2//身体系无关文件的顶层安装目录PREFIX,即Apache的安装目录--enable-module=so//开启so模块,so模块是用于提供DSO支持的apache核心模块--enable-mods-shared=all//编译所有模板,如果不需要,我们可以在httpd.conf中删除它们。--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-ApacheHTTP服务器性能测试工具--enable-static-checkgid//使用静态连接编译checkgid--disable-cgid//禁止使用外部CGI守护进程执行CGI脚本--disable-cgi//禁止编译PHP的CGI版本--enable-ssl//编译ssl模块。5.此时如果直接运行测试,可能会报错:qingye@qingye-pc:/usr/local/apache/bin$./apachectlstartAH00558:httpd:Couldnotreliabledeterminetheserver'sfullyqualifieddomainname,使用127.0.1.1.全局设置“ServerName”指令以禁止显示此消息(13)Permissiondenied:AH00072:make_sock:couldnotbindtoaddress[::]:80(13)Permissiondenied:AH00072:make_sock:couldnotbindtoaddress0.0.0.0:80nolisteningsocketsavailable,shuttingdownAH00015:Unabletoopenlogs那么错误的原因是什么?因为80是系统保留的,非root用户只能启动1024以上的端口,所以这里需要使用sudo执行,或者切换到root执行:qingye@qingye-pc:/usr/local/apache/bin$sudo./apachectlstartAH00558:httpd:无法可靠地确定服务器的完全限定域名,使用127.0.1.1。全局设置'ServerName'指令抑制这个信息虽然启动成功但是页面有警告,这里注意,在安装完成后,启动前需要编辑/usr/local/下的httpd.conf文件apache/conf/,搜索#ServerName,添加ServerNamelocalhost:80:#ServerNamewww.example.com:80ServerNamelocalhost:80现在重启:qingye@qingye-pc:~$sudo/usr/local/apache/bin/apachectlstarthttpd(pid13826)alreadyrunningOK,启动成功,无报错无警告查看浏览器效果,输入http://127.0.0.1或地址栏http://localhost出现如下页面:安装完成总结Apache的安装和大多数源码编译安装一样,只是参数多了一些。参考手册,一般不会有错误。注意,在编译安装Apache之前,必须先安装apr,apr-util和pcre是Apache所依赖的库,否则Apache无法安装成功。如果configure报错,注意检查系统是否安装了gcc、gcc++等软件或库文件。
