Ubuntu 14.04.4 LTS下LAMP环境的搭建


【前言】一名Web开发尤其是后端不懂LAMP环境的搭建,那就摊上事了,有些人说他一直用Windows下的wampServer这种傻瓜式环境搭建,用的挺好的,也有人说他用云服务器,搭配“一键搭建LAMP环境”大法也挺好用的,是的,这些在初学的时候都是可以先用上的,但是“不知其所以然”的习惯一旦养成,很多事情就不再好奇,不再想去一探究竟,到某天也就失去了前行的动力,所以我还是会一步一步来搭建下LAMP环境,说不定会遇到一些迷之bug...

目的

如何从零开始在本地虚拟机搭建一个LAMP环境以便我们进行本地测试,远程服务器上搭建是一样一样的

系统和软件

WIN8.1 64位
VMware Workstation
Xshell

一、在虚拟机上下载安装 Ubuntu Server LTS

VM虚拟机如何建立不在这里赘述,Ubuntu Server镜像可以在Ubuntu官网上找到,Server表示服务器版本,而LTS表示 Long Term Support,长时间支持版本,至少支持4年。本文用的是14.04.4。

如何安装Ubuntu系统也不赘述,安装过程相对简单,有问题可以另行参考其他资料。

如果是远程服务器,像国内的阿里云等云服务器,一般在你选择购买产品时会让你选择安装的系统,所以就不用自己下载安装了。

注意:在虚拟机安装系统后,虚拟机网络连接方式一般我们选NAT方式,以便于我们接下去的SSH远程连接。

二、SSH终端工具远程连接服务器

SSH是一种协议,也可以理解为一种服务,以一种安全的方式允许用户远程登录主机进行操作,SSH终端软件也有很多,大同小异,这里我们推荐使用Xshell,可以从官网下载免费版,够用了。为什么推荐使用远程连接,而不是虚拟机里面直接操作呢?因为我们尽量模拟真实的工作环境,虚拟机里直接操作好比我们在服务器机房直接操作,这在现实中几乎不会这么做,所以就算我们本地使用,还是推荐使用SSH终端。

打开Xshell,文件 -- 新建,只需要填写这几个地方就可以设置好一个连接。

这里的ip,如果你是远程服务器,这个ip你购买产品的时候就会告诉你,如果是本地虚拟机,你不知道,那怎么办?可以进入虚拟机,利用ifconfig命令查看当前的ip

这里我们的登录名,不用root登录,这是一个好习惯,root用户权限太大,很不安全,普通用户可以依靠susudo命令执行root用户权限命令。

设置好后可以连接,填写密码,第一次连接会弹出提示框,选“接受保存”。

连接成功后

三、利用apt-get安装Apache MySQL PHP

apt-get是ubuntu安装软件包的一个工具,原理是首先准备一个源列表,这个列表包括了许许多多ubuntu可以下载安装的软件,然后安装的时候就是在这上面选择相应的安装包下载安装。

首先执行sudo apt-get update命令进行源列表的更新,而后准备安装 A M P

安装Apache,执行sudo apt-get install apache2,中间有确认环节,需要键入Y,注意有时小写的y是不行的。
安装好后在浏览器键入服务器的ip地址,看到apache默认页面就说明apache安装完成。

安装MySQL,执行sudo apt-get install mysql-server
安装MySQL过程中会要求输入MySQL的root密码(注意这个root是数据库的root而不是服务器的root)。安装完成后执行mysql --version,如果看到版本信息,说明mysql已经被安装。

安装PHP,执行sudo apt-get install php5
执行php5 -v,如果出现php的版本信息,就说明PHP已被安装。

注意,如果先安装PHP再安装MySQL,那么可能需要的MySQL扩展没有被安装到PHP中,需要手动安装,当我们执行cat /etc/php5/mods-available/mysql.ini命令时,我们发现提示找不到这样的文件或目录就说明在PHP中我们的MySQL扩展没有被加载,因为PHP安装是默认不加载的,于是我们需要手动加载MySQL扩展。

执行sudo apt-get install php5-mysql命令,为PHP安装MySQL扩展。然后重启MySQL和Apache服务,执行sudo service mysql restartsudo service apache2 restart重启服务。

而如果是执行cat /etc/php5/mods-available/mysql.ini命令可以看到extension=mysql.so,那就是mysql扩展被正确加载。

四、创建phpinfo服务器探针查看是否LAMP环境正常工作

默认的服务器目录为/var/www/html目录,所以我们通过cd /var/www/html进入此目录创建一个info.php文件(记得使用sudo以超级用户创建,否则保存不了的),文件内容如下:

<?php

echo mysql_connect('localhost','root','这里填写数据库root的密码,每个人不一样')?'连接数据库成功':'居然失败了';

phpinfo();

?>

此时回到浏览器,当我们访问这个PHP文件时,比如"http://192.168.17.129/info.php"时会出现“服务器错误”,原因是PHP文件需要有权限被执行,这样才能被解析,所以可以用chmod命令赋755的权限给info.php文件,注意以上的操作都是需要超级用户权限的,重启下apache服务,再去访问,发现就会出现正确的显示:

此时,说明数据库连接已经没有问题,同时也可以看到phpinfo给出的相关信息。

至此,证明我们的LAMP环境已经初步搭建成功。

五、LAMP环境配置文件简单了解

通过apt-get安装的软件,配置文件都在/etc目录下,apache配置文件在/etc/apache2目录下,php在/etc/php5下,mysql在/etc/mysql下。

apache配置文件,进入/etc/apache2目录,其中apache2.conf是总配置文件,将其余的配置文件都包含进来形成的,使apache的配置成模块化,不至于使配置文件太大同时又使配置项的条理清晰。核心的配置项是mods-*和sites-*文件夹,带后缀关键词available的是可使用的配置,而带enabled的是当前使用的,通过在enabled建立软连接来指向available中的配置文件以达到激活某种配置的目的。
php和mysql配置文件,mysql配置核心文件是其目录下的my.cnf文件,php是其自身配置目录下的php.ini文件。

六、虚拟主机的配置

让多个域名解析到一台服务器,服务器根据不同来源的域名进入不同的目录进行操作。

这里如果不是具有真实域名进行,仅仅本地实验的话,可以通过修改本地的host文件将某个域名解析到指定的ip(也就是你自己服务器的ip)。

假设我们有两个二级域名,blog.test.com和info.test.com,我们有两个目录/www/blog/和/www/info/分别对应两个域名处理的目录,在两个目录下我们可以创建不同的index.html测试页面,然后我们来进行apache多站点虚拟主机的配置。

进入/etc/apache2/sites-available目录,找到默认配置文件000-default.conf,复制该文件内容到当下目录的一个新建的配置文件,我们可以取名blog.conf,我们再编辑此配置文件:

<Directory/www/blog>   //这里改成你的虚拟主机目录
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>
<VirtualHost*:80>
        ServerName blog.test.com    //这里改成你的域名
        ServerAdmin webmaster@localhost
        DocumentRoot /www/blog      //这里改成你的虚拟主机目录

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost> 

同样,我们类似的编辑info.conf配置文件,注意修改相应地方。

然后执行sudo a2ensite blog.confsudo a2ensite info.conf将该配置文件在sites-enabled文件夹下创建软链接,当然你也可以自己手工创建软链接,然后重启apache服务。

访问下不同的两个子域名,看看是否成功,如果是Forbidden,那就注意文件的权限问题哦。

七、phpMyAdmin的安装

执行sudo apt-get install phpmyadminsudo ln -s /usr/share/phpmyadmin/ /var/www/pma 即可完成phpmyadmin的安装,至于其相关的配置等可自行参考其余资料。

至此,基本上完成了LAMP环境的搭建,而至于其详细配置,路漫漫其修远兮...

下面关于LAMP相关的内容你可能也喜欢:

LAMP平台安装Xcache和Memcached加速网站运行   

CentOS 7下搭建LAMP平台环境 

CentOS 6.5系统安装配置LAMP(Apache+PHP5+MySQL)服务器环境

Ubuntu 14.04 配置 LAMP+phpMyAdmin PHP(5.5.9)开发环境 

Ubuntu 14.10 下安装 LAMP 服务图文详解 

LAMP结合NFS构建小型博客站点 

CentOS7下安装部署LAMP环境 

本文永久更新链接地址

相关内容