阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

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

186次阅读
没有评论

共计 3891 个字符,预计需要花费 10 分钟才能阅读完成。

相信用惯了 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.gz
tar -zxvf httpd-2.4.27.tar.gz
tar -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/www
mkdir /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 相关教程见以���内容

CentOS6.8 编译安装 Apache2.4.25、MySQL5.7.16、PHP5.6.29  http://www.linuxidc.com/Linux/2016-12/138993.htm

CentOS 6.6 下安装 Apache 2.2.31 http://www.linuxidc.com/Linux/2017-02/140803.htm

Apache 配置多站点访问及二级域名配置  http://www.linuxidc.com/Linux/2017-03/141339.htm

Ubuntu 16.04 LTS 安装 Apache2+PHP7.0+MySQL+phpMyAdmin 图文详解  http://www.linuxidc.com/Linux/2017-02/140098.htm

CentOS 6 下 Apache 和 Tomcat 整合  http://www.linuxidc.com/Linux/2017-04/143021.htm

Apache 启用 gzip 压缩模块节约网站带宽  http://www.linuxidc.com/Linux/2017-04/142821.htm

Apache 配置 https  http://www.linuxidc.com/Linux/2017-02/140801.htm

使用 Apache 搭建 Web 网站服务器  http://www.linuxidc.com/Linux/2017-05/143468.htm

Linux 下 Apache 安装及实例  http://www.linuxidc.com/Linux/2017-02/140800.htm

Apache2.4.6 服务器安装及配置  http://www.linuxidc.com/Linux/2017-01/140006.htm

Ubuntu 16.04 下搭建 Web 服务器(MySQL+PHP+Apache) 教程  http://www.linuxidc.com/Linux/2017-01/139570.htm

CentOS 7 下 Apache 2.4.18 编译安装详解  http://www.linuxidc.com/Linux/2017-03/142003.htm

Linux 下编译安装 Apache httpd 服务器  http://www.linuxidc.com/Linux/2017-08/146567.htm 

Red Hat Enterprise Linux 7.3 下 Apache 安装  http://www.linuxidc.com/Linux/2017-05/143939.htm

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-09/147138.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计3891字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中