Linux安装Apache

由于工作需要,准备在Linux上安装apache httpd服务,目前我用的Linux发行版是Ubuntu 11.04,由于我下面是用源码编译安装的,所以跟Linux发行版本无关。
首先到 http://httpd.apache.org下载最新的发行版本httpd-2.4.12.tar,打开终端,解压文件
gt@GT-SERVER:~$ sudo wget http://apache.fayea.com//httpd/httpd-2.4.12.tar.gz
gt@GT-SERVER:~$ tar zxf httpd-2.4.12.tar

通过官方文档 http://httpd.apache.org/docs/2.4/install.html得知,httpd的安装需要依赖APR, APR-Util和Perl-Compatible Regular Expressions Library (PCRE)。

根据官网的提示,我们分别需要将apr的源文件放到httpd-2.4.12/srclib/apr下,将apr-util的源文件放到httpd-2.4.12/srclib/apr-util
gt@GT-SERVER:~$ sudo wget http://mirror.bit.edu.cn/apache//apr/apr-1.5.2.tar.gz
gt@GT-SERVER:~$ tar zxf apr-1.5.2.tar.gz
gt@GT-SERVER:~$ mv apr-1.5.2 httpd-2.4.12/srclib/apr
gt@GT-SERVER:~$ sudo wget http://mirror.bit.edu.cn/apache//apr/apr-util-1.5.4.tar.gz
gt@GT-SERVER:~$ tar zxf apr-util-1.5.4.tar.gz
gt@GT-SERVER:~$ mv apr-util-1.5.4 httpd-2.4.12/srclib/apr-util


我们还需要安装PCRE,官网为 http://www.pcre.org,目前有两个分支,PCRE和PCRE2,PCRE目前版本除了修改不会添加新功能了,PCRE2会不断的升级新功能,我这边就下载了PCRE源码包pcre-8.36.tar.bz2,回到终端
gt@GT-SERVER:~$ tar jxf pcre-8.36.tar.bz2
gt@GT-SERVER:~$ cd pcre-8.36/
gt@GT-SERVER:~/pcre-8.36$ ./configure
gt@GT-SERVER:~/pcre-8.36$ sudo make
gt@GT-SERVER:~/pcre-8.36$ sudo make install

以上步骤会很顺利,不会出现什么问题,接下来就可以正式安装httpd了,
gt@GT-SERVER:~$ cd httpd-2.4.12/
gt@GT-SERVER:~/httpd-2.4.12$ ./configure
gt@GT-SERVER:~/httpd-2.4.12$ sudo make
gt@GT-SERVER:~/httpd-2.4.12$ sudo make install

默认安装在/usr/local/apache2/目录下,至此安装部分完成了,下面尝试启动
gt@GT-SERVER:~$ /usr/local/apache2/bin/apachectl -k start

会报错
/usr/local/apache2/bin/httpd: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory

找不到我们刚才安装的PCRE中libpcre.so.1库文件,查看下
gt@GT-SERVER:~$ ls /usr/local/apache2/lib

确实没有该文件,刚才我们PCRE库文件被安装到/usr/local/lib/下了,为该文件创建软连接
gt@GT-SERVER:~$ sudo ln -s /usr/local/lib/libpcre.so.1 /usr/local/apache2/lib/libpcre.so.1

再执行
gt@GT-SERVER:~$ /usr/local/apache2/bin/apachectl -k start

会提示如下信息
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message

这个意思是你没有设置server的ServerName属性,会自动用127.0.0.1,但如果你不想看到这个警告的话,可以打开httpd.conf去设置下
gt@GT-SERVER:~$sudo vim /usr/local/apache2/conf/httpd.conf

找到如下行
#ServerName www.example.com:80

把注释去掉就行了,再重启就不会有警告了,当然每次执行apachectl命令都要打上一长串的目录会让人觉得很不自在,我想直接输入apachectl命令该怎么做,这里有两种方法,一是把该命令所在的目录添加到环境变量
gt@GT-SERVER:~$sudo vim ~/.bashrc

添加下面代码
export PATH=/usr/local/apache2/bin:$PATH

还有一种我比较推荐的做法是在系统预定义的环境变量目录中创建该命令的软连接
gt@GT-SERVER:~$sudo ln -s  /usr/local/apache2/bin/apachectl /usr/local/sbin/

打开浏览器输入本机地址http://192.168.0.61,显示如下



至此,httpd安装成功,关于apache+tomcat实现负载均衡,请参照我的另一篇博客 apache+tomcat集群实现负载均衡

猜你喜欢

转载自995215629-qq-com.iteye.com/blog/2219276