介绍
“ LAMP “组件是一组典型的安装在一起的开源软件,用于服务器搭建动态网站和 Web 应用。实际上,这是一个首字母缩写的组合,代表了 Linux 操作系统安装 Apache Web 服务器。网站的数据存储在 MySQL 数据库中,并由 PHP 提供动态内容。
在这篇向导中,我们将在 Ubuntu 14.04 Droplet 上搭建 LAMP 。 Ubuntu 提供了我们的第一个需求:一个 Linux 操作系统。
先决条件
在你开始这个向导之前,在你的服务器上需要配置一个独立的非 root 用户账号。你可以按照Ubuntu 14.04上搭建服务器中的1-4步来学习完成它。
步骤一 - 安装Apache
Apache web 服务器是目前世界上最流行的 web 服务器,是挂载站点的最佳默认选择。
我们将通过 Ubuntu 的包管理器 apt
来便捷地安装 Apache。这个包管理器让我们可以毫无痛苦的从 Ubuntu 维护的存储库中来安装大多数的软件。更多关于 apt
的信息,可以看这里如何使用 apt。
为了我们的目标,我们可以从输入这些命令开始:
1 | sudo apt-get update |
由于我们使用 sudo
命令,这些操作在 root 权限下执行。这将要求你输入常规用户的密码来验证你的意图。
在此之后,你的 web 服务器就安装好了。
你可以马上做一些验证来确定一起如预期进行。在浏览器中输入你服务器的公网IP地址:
1 | http://your_server_IP_address |
你将看到默认的 Ubuntu 14.04 Apache 页面,这个页面展示的目的是出于测试及显示信息。看起来他是这样的:
如果你看到这个页面,说明你的 web 服务器正确安装了。
如何找到你的服务器的公网 IP 地址
如果你不知道服务器的公网IP地址是什么,可以有多重方式来找到。通常,这个地址是你用来通过SSH来连接你的服务器的。
在命令行下,有一些方法来找到。首先,你可以使用 iproute2
工具来获取地址,输入以下命令:
1 | ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//' |
这个将返回一行或两行输出。这两个都是正确地地址,但是你的电脑只能用其中之一,因此放松地尝试每一个。
另一种方法是通过外部的第三方工具来查看你的服务器。你可以通过访问一个确定的服务器来查看自己的IP地址。
1 | curl http://icanhazip.com |
不论你用哪种方法获取到了自己的IP地址,你可以在浏览器的地址栏中来访问服务器。
步骤二 - 安装 MySQL
现在我们已经安装了 web 服务器,并正常运行,是时候安装 MySQL 了。 MySQL 是一个数据库管理系统。最基本的,它用来组织和访问用来存储我们站点信息的数据库。
我们再次用 apt
工具来获取和安装软件。这次,我们还需要安装一些其他的辅助工具包,来让安装的组件相互通信:
1 | sudo apt-get install mysql-server php5-mysql |
注意:在这里,你不需要在执行这个命令之前,执行 sudo apt-get update
。因为我们在之前安装 Apache 的时候已经执行过了。你电脑上的包索引已经是最新的了。
在安装过程中,你的服务器会让你为 MySQL 的 root 用户选择并设置密码。这在 MySQL 中是一个具有管理员权限的账号。这个有点类似于操作系统中的 root 账号(尽管如此,你目前所配置的账号仅针对 MySQL )。
当安装结束,我们需要运行一些额外的命令,来保证我们的 MySQL 环境足够安全。
首先,我们需要告诉 MySQL 来创建它用于存储信息的数据库目录结构。你需要输入:
1 | sudo mysql_install_db |
然后我们要运行一些简单地安全脚本来消除默认的危险配置,并锁定数据的访问。通过输入如下命令,来开始使用交互脚本:
1 | sudo mysql_secure_installation |
你会被要求输入所设置的 MySQL 的 root 账号密码。接下来,会被问到是否想要修改密码,如果你对现有的密码满意,输入 n
代表 no
并提交。
接下来的问题中,你只需简单地回车来使用默认配置。这样做会移除一些测试用户和数据库,禁止 root 用户远程登录,加载这些新的配置,以便我们的修改在 MySQL 中立即生效。
到这里,你的数据库系统已经建立,可以继续下一步。
步骤三 - 安装 PHP
PHP 是我们安装的一个组件,用于处理代码以显示动态内容。它可以运行脚本,连接到 MySQL 数据库来获取信息,并传输处理好的内容到web服务器来显示。
我们可以再次利用 apt
工具来安装我们的组件。同样,我们会包含一些辅助包:
1 | sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt |
这样安装 PHP 将不会有任何问题,我们将马上测试。
在大部分情况下,当请求文件夹时,我们需要修改 Apache 服务器上处理文件的方式。现在,如果一个用户向服务器请求目录, Apache 会首先寻找名为 index.html
的文件。我们需要告诉我们的 web 服务器优先处理 PHP 文件,因此我们让 Apache 首先寻找 index.php
。
要完成这个,输入以下命令来在文本编辑器中打开 dir.conf
文件:
1 | sudo nano /etc/apache2/mods-enabled/dir.conf |
找到如下代码:
1 | <IfModule mod_dir.c> |
我们将其中的 index.php
移到第一项的位置,在 DirectoryIndex
之后,如下所示:
1 | <IfModule mod_dir.c> |
当操作完成,按下 CTRL-X
保存并退出文件。你需要输入 Y
来确认保存,并点击回车来确认文件保存位置。
在这之后,我们需要重启 Apache web 服务器来使配置修改生效。输入以下命令来完成:
1 | sudo service apache2 restart |
安装 PHP 模块
为了扩展 PHP 的功能,我们可以选择安装一些额外的模块。
查看可选的 PHP 模块和库,可以在系统中输入如下命令:
1 | apt-cache search php5- |
结果是所有你可以安装的可选组件,并给出每项的简短介绍。
1 | php5-cgi - server-side, HTML-embedded scripting language (CGI binary) |
如果想要获取每个模块更多的信息,你可以在互联网上搜索或者通过如下命令查看包内的详细介绍:
1 | apt-cache show package_name |
这将会有许多输出,其中有个名为 Description-en
的区域对模块所提供的功能有详细的解释。
比如说,想要知道 php5-cli
模块的用处,我们可以输入:
1 | apt-cache show php5-cli |
从大片的输出信息中,你会看到与如下类似的的内容:
1 | . . . |
搜索之后,如果你决定要安装某些包,你可以像之前安装软件一样,使用 apt-get
命令来安装这些包。
假设我们想要安装所需的 php5-cli
包,我们输入:
1 | sudo apt-get install php5-cli |
如果你想要安装多个模块,你可以在 apt-get install
命令之后,列出每个包名,包名之间以空格隔开。像这样:
1 | sudo apt-get install package1 package2 ... |
到此,我们的组件安装并配置完毕。接下来,我们要测试 PHP。
步骤四 - 在 Web 服务器上测试 PHP
为了测试我们的系统已经正确配置 PHP ,我们可以新建一个基本的 PHP 脚本。
这个脚本命名为 inifo.php
。为了 Apache 可以正确找到并处理它,它将被保存在名为 web root
的确定目录中。
在 Ubuntu 14.04中,这个目录是 /var/www/html/
。通过以下命令在目标位置新建文件。
1 | sudo nano /var/www/html/info.php |
这将打开一个空文件,我们需要在文件中输入如下有效的PHP代码:
1 |
|
操作完成,保存并关闭文件。
现在要测试我们的服务器是否可以正确显示由 PHP 脚本生成的内容。在 web 浏览器中访问这个页面,这时,你需要服务器的公网 IP 地址。
你需要访问的地址如下:
1 | http://your_server_IP_address/info.php |
你看到的页面显示如下:
这个页面给出了你 web 服务器上的 PHP 信息。这对于你调试,并确保配置信息正确非常有用。
如果这个成功,那么 PHP 已经可以正常运行。
测试完毕,你需要删除这个文件。因为,这会向未授权用户泄露你服务器的信息。输入以下命令:
1 | sudo rm /var/www/html/info.php |
如果你需要查看配置信息,可以再次建立这个文件。