Ubuntu 16.04 下配置Apache2.4 + PHP5.6

相信用惯了Windows的朋友一开始接触Linux是很崩溃的,因为很多东西都是通过命令行来完成的,包括安装绝大多数的开发工具以及环境,那么在Ubuntu下其实可以直接通过apt-get指令来安装apache和php,其实也是相当方便的,只要几行指令就可以完成。但是这里会出现一个问题,那就是没办法安装旧版本的php,比如到现在(2017年9月),使用上述指令Ubuntu会默认给你安装php7.1.8,那么当我们需要兼容一些低版本的代码时显然是不行的,这个时候我们就需要自己编译安装apache和php,在这里我以Ubuntu 16.04 下Apache2.4 + PHP5.6为例进行配置。

其实在php的官方文档对安装过程有比较清楚的介绍,只不过中间可能会出现一些问题,这里我把最常见的问题做一个记录。

官方文档:http://php.net/manual/zh/install.unix.apache2.php

1.下载apache源码包,这里下载的是apache2.4

打开一个终端窗口,输入指令:

wget http://mirrors.hust.edu.cn/apache//httpd/httpd-2.4.27.tar.gz

等待下载完成。

2.下载php5.6的源码包

在终端输入指令:

wget http://hk1.php.net/get/php-5.6.31.tar.gz/from/this/mirror

等待下载完成,然后在终端输入

ls

我们可以看到(看到的内容不一定完全相同,但一定存在httpd-2.4.27.tar.gz和mirror)

Ubuntu 16.04 下配置Apache2.4 + PHP5.6

这时我们在终端输入

mv mirror php.tar.gztar -zxvf httpd-2.4.27.tar.gztar -zxvf php.tar.gz

通过上面的指令,我们已经把刚刚下载的两个源码包解压出来,接下来我们就根据官方文档的指导进行编译安装。

3.编译安装apache

首先我们看看apache的官方文档:http://httpd.apache.org/docs/current/install.html

在这里,我们可以看到官方给出的几种依赖:

Ubuntu 16.04 下配置Apache2.4 + PHP5.6

这里可以看到,我们需要APR、APR-UTIL、PCRE和其他的一些依赖,其中这三样是需要我们手动安装的。

这里表示APR和APR-UTIL可以使用系统内置的,也可以自己重新安装,重新安装的话可以直接将源码包放在srclib目录下,这里我测试过,Ubuntu使用这种方法安装会出现官方文档说的

On some platforms, you may have to install the corresponding -dev packages to allow httpd to build against your installed copy of APR and APR-Util.

所以我们接下来手动安装这三个东西,在安装APR之前必须安装libxml2-dev,否则会出现这个错误:

Ubuntu 16.04 下配置Apache2.4 + PHP5.6

这里提示没有找到xml方法,所以先安装libxml2-dev:

sudo apt-get install libxml2-dev
 
APR:wget http://mirrors.hust.edu.cn/apache//apr/apr-1.6.2.tar.gz
APR-UTIL:wget http://mirrors.hust.edu.cn/apache//apr/apr-util-1.6.0.tar.gz
PCRE:wget https://ftp.pcre.org/pub/pcre/pcre-8.41.tar.gz
tar -zxvf apr-1.6.2.tar.gz
cd apr-1.6.2
./configure
sudo make && make install
 

运行完以上指令后,我们可以找到:

Ubuntu 16.04 下配置Apache2.4 + PHP5.6

留意一下最后一行处的路径:/usr/local/apr,接下来将会用到这个路径。

cd ..
tar -zxvf apr-util-1.6.0.tar.gz
cd apr-util-1.6.0
./configure --with-apr=/usr/local/apr/
sudo make && make install

执行完以上指令我们就会发现报错了:

Ubuntu 16.04 下配置Apache2.4 + PHP5.6

这时候我们需要安装libexpat-dev

sudo apt-get install libexpat-dev
sudo make clean
sudo make && make install

这次执行完指令就安装成功了:

Ubuntu 16.04 下配置Apache2.4 + PHP5.6

接下来安装PCRE:

cd ..
tar -zxvf pcre-8.41.tar.gz
cd pcre-8.41
./configure
sudo make && make install

依赖安装完成,下面开始编译安装apache2.4:

cd ..
cd httpd-2.4.27
./configure --enable-so
sudo make && make install

执行完configure:

Ubuntu 16.04 下配置Apache2.4 + PHP5.6

执行完make&&make install:

Ubuntu 16.04 下配置Apache2.4 + PHP5.6

接下来启动服务器测试一下:

/usr/local/apache2/bin/apachectl start

打开浏览器,输入网址:http://localhost/,回车

Ubuntu 16.04 下配置Apache2.4 + PHP5.6

出现这个画面说明apache2.4已经配置完成了,接下来关闭服务器,安装php。

/usr/local/apache2/bin/apachectl stop
cd ..
cd php-5.6.31
./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql

看到这个画面:

Ubuntu 16.04 下配置Apache2.4 + PHP5.6

然后最后一步:

sudo make && make install

Ubuntu 16.04 下配置Apache2.4 + PHP5.6

这就把php也安装完了,最后还要把php配置到apache上:

cp php.ini-development /usr/local/lib/php.ini

创建一个目录存放网站文件(随意创建,自己喜欢就好,但是一般用这个路径):

mkdir /var/wwwmkdir /var/www/html

修改apache的配置文件:

sudo vi /usr/local/apache2/conf/http.conf

在末尾追加:

LoadModule php5_module modules/libphp5.so
<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>

修改

Ubuntu 16.04 下配置Apache2.4 + PHP5.6

Ubuntu 16.04 下配置Apache2.4 + PHP5.6

修改

Ubuntu 16.04 下配置Apache2.4 + PHP5.6

Ubuntu 16.04 下配置Apache2.4 + PHP5.6

在之前设置的网站目录下创建一个php文件:

vi /var/www/html/index.php
 
// 文件内容
<?php

phpinfo();

?>

启动apache服务器测试一下:

/usr/local/apache2/bin/apachectl start

打开浏览器:输入网址:http://localhost/,回车

Ubuntu 16.04 下配置Apache2.4 + PHP5.6

OK,大功告成!

更多Apache相关教程见以���内容

相关推荐