如何在Ubuntu 14.04 上安装Linux, Apache, MySQL, PHP (LAMP)组件

阿里云产品限时红包,最高 ¥1888 元,立即领取

翻译自:https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu-14-04

介绍

“ 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
2
sudo apt-get update
sudo apt-get install apache2

由于我们使用 sudo 命令,这些操作在 root 权限下执行。这将要求你输入常规用户的密码来验证你的意图。

在此之后,你的 web 服务器就安装好了。

你可以马上做一些验证来确定一起如预期进行。在浏览器中输入你服务器的公网IP地址:

1
http://your_server_IP_address

你将看到默认的 Ubuntu 14.04 Apache 页面,这个页面展示的目的是出于测试及显示信息。看起来他是这样的:

image

如果你看到这个页面,说明你的 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
2
3
<IfModule mod_dir.c>
DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
</IfModule>

我们将其中的 index.php 移到第一项的位置,在 DirectoryIndex 之后,如下所示:

1
2
3
<IfModule mod_dir.c>
DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>

当操作完成,按下 CTRL-X 保存并退出文件。你需要输入 Y 来确认保存,并点击回车来确认文件保存位置。

在这之后,我们需要重启 Apache web 服务器来使配置修改生效。输入以下命令来完成:

1
sudo service apache2 restart

安装 PHP 模块

为了扩展 PHP 的功能,我们可以选择安装一些额外的模块。

查看可选的 PHP 模块和库,可以在系统中输入如下命令:

1
apt-cache search php5-

结果是所有你可以安装的可选组件,并给出每项的简短介绍。

1
2
3
4
5
6
7
8
php5-cgi - server-side, HTML-embedded scripting language (CGI binary)
php5-cli - command-line interpreter for the php5 scripting language
php5-common - Common files for packages built from the php5 source
php5-curl - CURL module for php5
php5-dbg - Debug symbols for PHP5
php5-dev - Files for PHP5 module development
php5-gd - GD module for php5
. . .

如果想要获取每个模块更多的信息,你可以在互联网上搜索或者通过如下命令查看包内的详细介绍:

1
apt-cache show package_name

这将会有许多输出,其中有个名为 Description-en 的区域对模块所提供的功能有详细的解释。

比如说,想要知道 php5-cli 模块的用处,我们可以输入:

1
apt-cache show php5-cli

从大片的输出信息中,你会看到与如下类似的的内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
. . .
SHA256: 91cfdbda65df65c9a4a5bd3478d6e7d3e92c53efcddf3436bbe9bbe27eca409d
Description-en: command-line interpreter for the php5 scripting language
This package provides the /usr/bin/php5 command interpreter, useful for
testing PHP scripts from a shell or performing general shell scripting tasks.
.
The following extensions are built in: bcmath bz2 calendar Core ctype date
dba dom ereg exif fileinfo filter ftp gettext hash iconv libxml mbstring
mhash openssl pcntl pcre Phar posix Reflection session shmop SimpleXML soap
sockets SPL standard sysvmsg sysvsem sysvshm tokenizer wddx xml xmlreader
xmlwriter zip zlib.
.
PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used
open source general-purpose scripting language that is especially suited
for web development and can be embedded into HTML.
Description-md5: f8450d3b28653dcf1a4615f3b1d4e347
Homepage: http://www.php.net/
. . .

搜索之后,如果你决定要安装某些包,你可以像之前安装软件一样,使用 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
2
3
<?php
phpinfo();
?>

操作完成,保存并关闭文件。

现在要测试我们的服务器是否可以正确显示由 PHP 脚本生成的内容。在 web 浏览器中访问这个页面,这时,你需要服务器的公网 IP 地址。

你需要访问的地址如下:

1
http://your_server_IP_address/info.php

你看到的页面显示如下:

image

这个页面给出了你 web 服务器上的 PHP 信息。这对于你调试,并确保配置信息正确非常有用。

如果这个成功,那么 PHP 已经可以正常运行。

测试完毕,你需要删除这个文件。因为,这会向未授权用户泄露你服务器的信息。输入以下命令:

1
sudo rm /var/www/html/info.php

如果你需要查看配置信息,可以再次建立这个文件。