Linux下编译安装Apache 2.4
Linux一般会自带httpd服务,但是版本一般不是最新,性能也不是最好,生产中建议手动安装官方源码包,安装Apache官方包之前首先要停止之前的httpd服务,停止后也可以卸载之前的版本
准备工作做完,首先去官网下载Apache的源码包,http://httpd.apache.org/ 这里下载的是最新的httpd-2.4.18.tar.bz2这个包
下载之后,上传到服务器,释放:
tar -jxvf httpd-2.4.18.tar.bz2
进入目录:
cd httpd-2.4.18
执行配置帮助命令,可以依次查看相应的帮助:
./configure --help | more
执行写入配置,其中apache24目录不用自己创建,安装过程会自动创建,后面也是一样:
./configure --prefix=/usr/apache24
到这里发现出了个错误,
提示没有APR这个组件,apr的作用就是维护相应的软件安装库,已解决相应的平台缺陷等,之前Apache老版本不会出现这个问题,所以首先安装apr,网址是:http://apr.apache.org/,这里包括apr、apr-util、apr-iconv这三个包
目前只下载前面两个安装就行,即apr和apr-util,下载好之后正式开始安装
安装apr:
$ tar -zxvf apr-1.5.2.tar.gz $ cd apr-1.5.2 $ ./configure --prefix=/usr/local/apr $ make $ make install
上面的配置参数--prefix就是指定安装目录,执行没问题稍等一会就安装好了,
继续安装apr-util:
$ tar -zxvf apr-util-1.5.4.tar.gz $ cd apr-util-1.5.4 $ ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr $ make $ make install
上面配置参数的--with-apr表示apr-util安装需要依赖apr,所以指定apr的安装目录,到这里apr-util也安装完成了
然后配置依赖安装Apache:
./configure --prefix=/usr/apache24 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
没想到又出错了,看看错误提示:
可以看出,少了程序pcre,需要去http://pcre.org/ 获取,那么现在应该访问这个网站下载,进去网站之后很容易就找到下载链接:ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/
这里下载pcre-8.38.zip这个版本即可,其他的也是没问题的
下载成功,安装pcre:
$ unzip pcre-8.38.zip $ cd pcre-8.38 $ ./configure --prefix=/usr/local/pcre $ make $ make install
到现在,pcre也安装成功了
现在开始安装apache,进入源码包目录,执行命令:
$ ./configure --prefix=/usr/apache24 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre $ make $ make install
编译过程时间有点长,耐心等待一下,执行完毕,Apache就安装完成了,
注意:如果make中出现错误,必须执行make clean清除所有缓存文件后继续,如果是在make install过程中出现错误,必须执行make clean并且删除生成了安装目录,然后重新执行make和make install
安装完成之后删除原来释放出来的那些目录即可,如果以后要卸载,只要不忘记安装目录,直接删除安装目录就可以,也不会出现任何残留垃圾
原来Apache的源码包下有个INSTALL文本文件,可以打开看一下:
这里可以看到最基本的安装和启动方法,当然,更多的参数的配置还需要参考安装目录下的帮助文档或者官方在线文档,这里就不详细说了
现在可以进入启动Apache httpd服务了:
/usr/apache24/bin/apachectl start
停止服务在安装目录下使用:
bin/apachectl stop
现在访问对应的ip地址,看到It works!即表示安装成功
服务器的默认根目录在/usr/apache24/htdocs/
需要注意,第一次如果启动出现错误,要关闭系统自带的httpd服务,然后用vim打开conf/httpd.conf文件找到#ServerName www.example.com:80
把这行代码前面的#去掉,保存退出,然后重新启动Apache就可以正常运行了