Ubuntu Server 16.04 安装 Apache 2 + MySQL + PHP 5 全攻略

作者 Shilei Tian 日期 2016-08-03
Ubuntu Server 16.04 安装 Apache 2 + MySQL + PHP 5 全攻略

本文采用源码方式安装这三个程序,需要用到的依赖会在步骤中一点一点说明。

材料准备

分别从官网下载 Apache 2 + MySQL + PHP 5,因为下载地址随版本号变化,本文以撰写时间(2016-08-03)为准!

  1. 下载 PHP:wget http://cn2.php.net/get/php-5.6.24.tar.gz/from/this/mirror
  2. 下载 Apache 2:wget https://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.4.23.tar.bz2
  3. 由于 MySQL 的下载安装比较麻烦,我们这里直接用 apt 进行安装。安装 MySQL:sudo apt-get install mysql-server
  4. 分别对它们解压缩:
    • tar -xvj -f httpd-2.4.23.tar.bz2
    • tar -xvz -f php-5.6.24.tar.gz

安装 Apache

下面开始安装 Apache。

cd httpd-2.4.23/
./configure --with-mysql

这时,会进行到 configure: error: APR not found. Please read the documentation. 这里卡住,根据错误提示,我们应该安装 APR。这个 APR 是什么呢?全称是 The Apache Portable Runtime Project,我们需要下载并安装它。

cd ../
wget http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-1.5.2.tar.gz
tar -xvz -f apr-1.5.2.tar.gz
cd apr-1.5.2/
./configure

这个应该能比较顺利的通过,然后

sudo make
sudo make install

好了,APR 应该算安装好了,下面我们继续回到之前的目录进行 Apache 的 configure 过程。它没进行一小会就又提示错误了:configure: error: APR-util not found. Please read the documentation.。根据这次的提示看,是缺少 APR-util,那就继续吧。不过提醒一下哈,这个文件在网页中的位置其实就在 APR 的紧接着下面,所以大家下载的时候一起下载了就行了。

cd ../
wget http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-util-1.5.4.tar.gz
tar -xvz -f apr-util-1.5.4.tar.gz
cd apr-util-1.5.4/
./configure

呃,它又卡在了一句configure: error: APR could not be located. Please use the --with-apr option.,可是我上面明明已经安装了呀,并且 Apache 的安装过程已经都找到了…那没办法,还是按照它的要求指定吧。我们以前的 APR 是安装在了 /usr/loca/apr 这个目录里面,因此我们需要制定这个目录

./configure --with-apr=/usr/local/apr

顺利通过,继续 make & install 吧!

sudo make
sudo make install

好,顺利完成,继续进行 Apache 的 configure 过程。啊,又停止了…这次的提示是:configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/,它都告诉我们去哪里下载了,我们去就行了。不过这里要提醒的是,现在 PCRE 也有 PCRE2 了,但是安装 PCRE2 是万万不行的…只能下载 PCRE!

cd ../
wget http://nchc.dl.sourceforge.net/project/pcre/pcre/8.39/pcre-8.39.tar.gz
tar -xvz -f pcre-8.39.tar.gz
cd pcre-8.39/
./configure
sudo make
sudo make install

安装完成后,我们继续回去…太棒了!终于通过了,下面就 make & install 吧!

sudo make
sudo make install

安装好了后,我们还需要将 Apache 的可执行文件链接到 $PATH 中,否则我们无法执行相应的操作。我的习惯是,在 /usr/local/bin 中创建软链接,这个地方怎么做大家就根据自己的习惯来好了。

sudo ln -s /usr/local/apache2/bin/* /usr/local/bin/

这样 apache2/bin/ 下所有的可执行文件我们都可以直接使用了。但是!你以为这样 Apache 算是安装完了吗?简直太天真了!试着运行 apachectl --help,会出现错误:/usr/local/apache2/bin/httpd: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory,卧槽,这是什么鬼?参考文章(http://www.cnblogs.com/eastson/archive/2012/06/25/2561575.html)吧!直到现在,Apache 才算真正的安装完了。

安装 PHP 5

下面我们开始安装 PHP 5。

cd php-5.6.24/
./configure --with-apxs2=/usr/local/bin/apxs

这里最值得注意的地方,就是上面的 --with-apxs2=/usr/local/bin/apxs,如果不加这一句,Apache 服务器不能加载关于 PHP 5 的 module,那它就不能解释 PHP,这样的话,网页中的 PHP 语句就会被注释掉。停在了这一句:configure: error: xml2-config not found. Please check your libxml2 installation.,这个简单,直接 sudo apt-get install libxml2-dev 即可。

可以顺利的 configure 完成,下面就 make & install 吧!

sudo make
sudo make install

这样,php 也安装好了,赶紧去 /usr/local/apache2/modules/ 目录下检查一下有没有 libphp5.so 这个文件,这个很关键的哦!

配置 Apache

配置 Apache 主要有两个目的:

  1. 设置站点目录;
  2. 开启对于 php 文件的支持。

大家可以参考 http://php.net/manual/en/install.unix.apache2.php 里面的内容,很细致。

对于 MySQL 部分,现在还没有涉及到,等过几天用到了再回来补充。