安装Apache

  • 在Ubunt14.04下很多功能都在apache2这个软件包中了,不在区分mpm-work,mpm-prefork,mpm-event等软件包了,因此我们可以直接安装apache2

    ### sudo apt-get install apache2 -y
    

注意:这边的-y是为了方便安装,加上它就不需要在进行安装确认,简单粗暴一键完成

安装Apache的PHP模块

  • 在Ubuntu14.04中Apache的PHP模块有两个软件包,分别是:libapache2-mod-php5和libapache2-mod-php5filter.大多数情况下应该使用第一个。

    ###  sudo apt-get install libapache2-mod-php5 -y
    www文件默认是在 /var/www/html
    ###  sudo service apache2 restart
    可重新启动apache

安装PHP5的mysql模块

  • 只有安装它mysql才能和php通信

    ###  sudo apt-get install php5-mysql -y

安装mysql

  • 客户和服务一起,在安装的过程中系统会提示你输入密码这个这时候需要输入密码

    ### sudo apt-get mysql-server mysql-clien 
    ### sudo service mysql restart
    可重新启动mysql
    
  • 其实到这里就可以浏览测试网页了,如果在访问PHP页面不能正常显示首先要确保测试代码正确

    ### sudo a2enmod php5
    ### sudo service apache2 restart
    同时清理下浏览器缓存
    
    

LAMP卸载

  • 如果要卸载LAMP相关软件包,则需要以下代码来实现

    ### sudo apt-get purge apache* mysql* php* 
    就可以删除相关软件包
    
  • 为了方便管理我们这里还列举了另外一种安装方式,源码安装PHP5.6以及Apache2.4,因为在Ubuntu14.04下PHP的版本为5.5.9针对一些PHP版本要求高一点的apt-get的就做不到了,因此用源码安装方式不为是一种好方法,而且灵活性,易用性都很高。

安装Apache

  • 在安装Apache前需要安装3个依赖

    **Apr(apache portable runtime)**
    
    **Apr-Util**
    
    **pcre**(语言兼容正则表达式)
    
cd /usr/local/src  将安装包统一放在一个目录
wget http://mirrors.cnnic.cn/apache//apr/apr-1.5.2.tar.gz
wget http://mirrors.cnnic.cn/apache//apr/apr-util-1.5.4.tar.gz
wget http://downloads.sourceforge.net/project/pcre/pcre/8.39/pcre-8.39.tar.gz   (需要电脑能够上网)
wget http://mirrors.cnnic.cn/apache//httpd/httpd-2.4.23.tar.bz2
  • 下载,解压apr的源码包,并且编译安装

tar -zxvf apr-1.5.2.tar.gz
cd /apr-1.5.2
./configure --prefix=/usr/local/apr && make && make install

第一步操作是解压源码包,之后进入源码包输入./configure .....
--prefix的意思是指定安装文件路径,我们上面指定的路径/usr/local/apr,apr文件夹一开始是不存在的我们也不需要创建他指令执行完之后就会自动生成

make 是编译 make install 是安装

  • 下载,解压apr-util源码包,并且编译安装

tar -zxvf apr-util-1.5.4
cd apr-util-1.5.4
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr && make &&  make install

相对于上面安装apr只是多了 --with-apr=/usr/local/apr 因为安装apr-util依赖apr

  • 编译安装pcre,这里安装 pcre不指定安装路径,默认会安装在/usr/local/bin下面.

  • 不过在开始安装之前我们需要装一些基本编译环境

    ### sudo apt-get install build-essential 
    
    由于ubuntu下自带有c/c++编译,只需要安装上面那一个就可以了
    tar -zxvf pcre-8.39.tar.gz
    cd pcre-8.39
    ./configure && make && make install
  • 现在我们可以正式安装apache了

tar -zxvf httpd-2.4.23.tar.bz2
cd httpd-2.4.23
./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util && make && make install

安装apache的时候需要依赖前面我们装的apr和apr-util

这个时候在/usr/local/可以下看到apache目录,web页面是存放于htdocs文件夹下

如果需要使用service httpd start的方式启动apache服务,需要执行如下的命令 :

cp /usr/local/apache/bin/apachectl /etc/init.d/apache

如果出现错误的话这里可能会出现

    error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
  • 这样的错误,解决方法是:

    ### ln -s /usr/local/lib/libpcre.so.1 /lib
    
    在重新启动一下就可以拉
    

至此,执行service apache start启动服务,访问127.0.0.1(如果是服务器搭建在本机的话)可以看到页面输出It's work.

安装PHP5.6

  • 可以从官网上面下载我们所需要的安装包

http://php.net/get/php-5.6.31.tar.gz/from/a/mirror/php-5.6.31.tar.gz
链接如果失败则需要自己从官网上面在下载相应的安装包下来
./configure \
--prefix=/usr/local/php/ \
--with-config-file-path=/usr/local/php/etc \
--with-config-file-scan-dir=/usr/local/php/etc/conf.d \
--enable-soap \
--with-openssl \
--with-mcrypt \
--with-pcre-regex \
--with-sqlite3 \
--with-zlib \
--enable-bcmath \
--with-iconv \
--with-bz2 \
--enable-calendar \
--with-curl \
--with-cdb \
--enable-dom \
--enable-exif \
--enable-fileinf \
--enable-filter \
--with-pcre-dir \
--enable-ftp \
--with-gd \
--with-openssl-dir \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-gettext \
--with-gmp \
--with-mhash \
--enable-json \
--enable-mbstring \
--disable-mbregex \
--disable-mbregex-backtrack \
--with-libmbfl \
--with-onig \
--enable-pdo \
--with-pdo-mysql \
--with-zlib-dir \
--with-pdo-sqlite \
--with-readline \
--enable-session \
--enable-shmop \
--enable-simplexml \
--enable-sockets \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-wddx \
--with-libxml-dir \
--with-xsl \
--enable-zip \
--enable-mysqlnd-compression-support \
--with-pear \
--with-mysqli \
--with-apxs2=/usr/local/apache/bin/apxs

我们可以看到上面的./configure 的参数有很多可以选择性安装
--with-config-file-path和--with-config-file-scan-dir指定了配置文件的放置路径

当然到这里问题也就来了,可能会发生很多错误,不过不要紧
上有政策上有对策,一般错误问题都可以在度娘找得到

我这边简单列举几个
错误一:
configure: error: xml2-config not found. Please check your libxml2 installation.
而我已经安装过了libxml2,但是还是有这个提示:
解决办法:
# sudo apt-get install libxml2-dev

错误二:
configure: error: Please reinstall the BZip2 distribution
而我也已经安装了bzip2,网上找到得解决方案都是需要安装bzip2-dev,可是11.10里面没有这个库。
解决办法:在网上找到bzip2-1.0.5.tar.gz,解压,直接make ,sudo make install.(我使用的该源来自于http://ishare.iask.sina.com.cn/f/9769001.html)

错误三:
configure: error: Please reinstall the libcurl distribution -easy.h should be in /include/curl/
解决办法:
# sudo apt-get install libcurl4-gnutls-dev

错误四:
configure: error: jpeglib.h not found.
解决办法:
# sudo apt-get install libjpeg-dev

错误五:
configure: error: png.h not found.
解决办法:
# sudo apt-get install libpng-dev

错误六:
configure: error: libXpm.(a|so) not found.
解决办法:
# sudo apt-get install libxpm-dev

错误七:
configure: error: freetype.h not found.
解决办法:
# sudo apt-get install libfreetype6-dev

错误八:
configure: error: Your t1lib distribution is not installed correctly. Please reinstall it.
解决办法:
# sudo apt-get install libt1-dev

错误九:
configure: error: mcrypt.h not found. Please reinstall libmcrypt.
解决办法:
# sudo apt-get install libmcrypt-dev

错误十:
configure: error: Cannot find MySQL header files under yes.
Note that the MySQL client library is not bundled anymore!
解决办法:
# sudo apt-get install libmysql++-dev

错误十一:
configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution
解决办法:
# sudo apt-get install libxslt1-dev
可见PHP源码安装之前需要先安装这些依赖,详细可见http://forum.ubuntu.org.cn/viewtopic.php?f=88&t=231159
如上错误都解决之后,再次./config….没有错误之后,
# make
# make install
如果说装了对于的安装包之后还不行的话那么就要在继续找
apt-get 装完了安装包没有反应的话或许需要源码包安装,两种方式都可以试一下,centos下的安装包和Ubuntu下的略有名字略有不同,不过功能是一样的
  • 后,拷贝源码包中的php.ini到php的配置文件中,这个是因为我们编译安装的时候不会生成php.ini的配置文件,我们需要自己拷贝一份.你可能注意到php源码包中有php.ini-production跟php.ini.development两个文件,这两个文件是代表生产环境跟开发环境使用的配置文件, 这里不纠结这些,拷贝任意一个.

cp /usr/local/src/php-5.6.28/php.ini-production /usr/local/php/etc/php.ini
  • 但是,这个时候apache是没有办法执行以php结尾的文件,要想让apache能够执行以php结尾的文件, 还需要做一件事情:找到apache的主配置文件/usr/local/apache/conf/httpd.conf,在AddType application/x-compress .Z的后面添加两行:

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps 

再找到DirectoryIndex index.html这一行,在index.html前面添加index.php,这里index.html跟index.ph的先后顺序表明了如果同时存在index.html跟inde.php的时候.访问主页优先选择index.php.

执行service apache restart,然后执行echo "<?php phpinfo();" >> /usr/local/apache/htdocs/index.php生成index.php文件,访问主页,应该可以看到有关php的信息.

至此PHP跟apache安装完毕

有关参考https://segmentfault.com/a/11...
有关书籍《Ubuntu最佳方案》同时也推荐给大家是一本挺不错的书籍喔 冷罡华先生编著


月亭忘忧
1 声望1 粉丝

人一能之己百之,人十能之己千之。