共计 4354 个字符,预计需要花费 11 分钟才能阅读完成。
【前言】一名 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 用户权限太大,很不安全,普通用户可以依靠 su
和sudo
命令执行 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 restart
和sudo 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.conf
和sudo a2ensite info.conf
将该配置文件在 sites-enabled 文件夹下创建软链接,当然你也可以自己手工创建软链接,然后重启 apache 服务。
访问下不同的两个子域名,看看是否成功,如果是 Forbidden,那就注意文件的权限问题哦。
七、phpMyAdmin 的安装
执行 sudo apt-get install phpmyadmin
和sudo ln -s /usr/share/phpmyadmin/ /var/www/pma
即可完成 phpmyadmin 的安装,至于其相关的配置等可自行参考其余资料。
至此,基本上完成了 LAMP 环境的搭建,而至于其详细配置,路漫漫其修远兮 …
下面关于 LAMP 相关 的内容你可能也喜欢:
LAMP 平台安装 Xcache 和 Memcached 加速网站运行 http://www.linuxidc.com/Linux/2015-06/118835.htm
CentOS 7 下搭建 LAMP 平台环境 http://www.linuxidc.com/Linux/2015-06/118818.htm
CentOS 6.5 系统安装配置 LAMP(Apache+PHP5+MySQL)服务器环境 http://www.linuxidc.com/Linux/2014-12/111030.htm
Ubuntu 14.04 配置 LAMP+phpMyAdmin PHP(5.5.9)开发环境 http://www.linuxidc.com/Linux/2014-10/107924.htm
Ubuntu 14.10 下安装 LAMP 服务图文详解 http://www.linuxidc.com/Linux/2014-12/110082.htm
LAMP 结合 NFS 构建小型博客站点 http://www.linuxidc.com/Linux/2015-08/121029.htm
CentOS7 下安装部署 LAMP 环境 http://www.linuxidc.com/Linux/2016-04/130653.htm
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-08/133934.htm