原文链接
一、无论你是要安装APR、APR-Util、PCRE还是Apache Server或者是其他的一些软件,总之,只要是源码安装,那么就需要一个ANSI-C编译器。如果你没有,那就用yum装一个吧,既然推荐使用GCC,那就装个GCC吧。执行命令:
yum install -y gcc
二、安装APR、APR-UtilE,如图:
下载地址: APR、APR-Util下载
三、安装PCRE,如图:
选择一个版本:
四、将下载的3个压缩包上传到你的Linux系统中去,我上传到了我Linux系统下/mysoft目录中。进入这个目录:cd /mysoft。我们先解包APR,并查看/mysoft目录下的文件,依次执行命令,根据自己下载的版本号对应:
gzip -d apr-1.5.2.tar.gz
tar -xf apr-1.5.2.tar
ll
可以看到/mysoft目录下多了一个目录apr-1.5.2
进入apr-1.5.2目录:cd ./apr-1.5.2/。然后,进行APR的源码安装,依次执行命令:
./configure
make
make install
安装完成后,我们可以在make install过程中看到如下图所示信息,我们可以看到APR的安装路径/usr/local/apr。当然,你也可以使用 --prefix=目录 选项来指定一个安装目录。
五、接着,我们来解包APR-Util,并查看/mysoft目录下的文件,依次执行命令:
gzip -d apr-util-1.5.4.tar.gz
tar -xf apr-util-1.5.4.tar
ls -l
可以看到/mysoft目录下多了一个目录apr-util-1.5.4
进入apr-util-1.5.4目录:cd ./apr-util-1.5.4/。然后,进行APR-Util的源码安装,依次执行命令:
./configure --with-apr=/usr/local/apr
make
make install
在安装APR-Util时,需要指定APR的安装路径,所以需要带上选项--with-apr=/usr/local/apr,如果你不带上这个选项,在configure的时候会看到下图的错误提示。
六、下面,我们来安装PCRE。首先,解包PCRE,并查看/mysoft目录下的文件,依次执行命令:
gzip -d pcre-8.36.tar.gz
tar -xf pcre-8.36.tar
ls -l
可以看到/mysoft目录下多了一个目录pcre-8.36。
进入pcre-8.36目录:cd ./pcre-8.36/。然后,进行pcre-8.36源码安装,但是,当你在执行./configure时,会看到下图所示提示:
configure: error: You need a C++ compiler for C++ support
不用担心,yum又派上用场了,执行命令:
yum install -y gcc gcc-c++
gcc-c++安装完成后,我们继续我们的pcre-8.36源码安装,依次执行命令:
./configure
make
make install
七、至此,准备工作就绪,开始准备安装Apache Server2.4,首先,来看下怎么下载Apache2.4,我们可以去http://httpd.apache.org进行下载,看下图。
八、解包httpd,并查看/mysoft目录下的文件,依次执行命令:
gzip -d httpd-2.4.17.tar.gz
tar -xf httpd-2.4.17.tar
ls -l
可以看到/mysoft目录下多了一个目录httpd-2.4.17。
进入httpd-2.4.17目录:cd ./httpd-2.4.17/。然后,进行Apache源码安装,依次执行命令:
./configure --enable-mods-shared=all
make
make install
Apache默认安装在/usr/local/apache2目录下。同样,这里你也可以使用
--prefix=目录名
来指定一个安装目录,例如:
./configure --prefix=/usr/mydir --enable-mods-shared=all
九、Apache已经安装成功,现在启动httpd服务。执行命令:
/usr/local/apache2/bin/apachectl -k start
大家会发现,httpd服务并没有启动,而是出现了一条如下图所示的错误信息:
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message
出现上述错误信息,是因为配置文件httpd.conf中的ServerName没有修改。
我们用Vim打开httpd.conf配置文件,执行命令:
vi /usr/local/apache2/conf/httpd.conf
设置Vim在执行搜索时不区分大小写,执行命令:
:set ic
搜索"servername"字符串,执行命令:
/servername
找到servername后,按A键进行编辑。将ServerName前的#号去掉,将ServerName后面的字符串改为:localhost:80,如下图所示。
修改完成后,按Esc键由编辑模式切换到命令模式,然后执行保存退出命令:
:wq
十、在启动httpd之前,我们先为其创建一个软链接(相当于windows下的快捷方式),否则每次重启Apache都要输那么一长串,很费劲。
为httpd创建软链接,并查看一下软链接是否创建成功,依次执行命令:
ln -s /usr/local/apache2/bin/apachectl /mylinks/httpd。
ls -l /mylinks
来吧,启动httpd服务,执行命令:
/mylinks/httpd -k start
十一、在测试Apache是否已经正常工作之前,我们先看下防火墙的状态:
systemctl status firewalld
如果处于running运行状态,就把它关掉:
systemctl stop firewalld
然后,查看一下防火墙是否已经关掉:
systemctl status firewalld
如果处于dead状态,就说明已经关掉了。
如果你希望每次系统启动的时候都不要启动防火墙,可以执行命令:
systemctl disable firewalld
同样,如果你希望每次系统启动的时候都启动防火墙,可以执行命令:
systemctl enable firewalld
十二、防火墙关闭后,接着来看下你系统的IP地址:
ifconfig -a
可以看到我的IP是192.168.0.104