如何在 Ubuntu 14.04 上安装 Linux、Apache、MySQL 和 PHP (LAMP) 协议栈

介绍

LAMP堆栈是一组开源软件,通常被安装在一起,使服务器能够托管动态网站和Web应用程序. 这个术语实际上是一个简称,代表了Linux操作系统,与 ** A pache Web服务器。

在本指南中,我们将安装一个LAMP堆栈在Ubuntu 14.04 Droplet上,Ubuntu将满足我们的第一个要求:一个Linux操作系统。

<$>[注] 注: LAMP 堆栈可以通过在启动时添加 此脚本到其用户数据来自动安装到您的 Droplet。

前提条件

在您开始使用本指南之前,您应该在您的服务器上设置一个单独的非根用户帐户,您可以通过完成 Ubuntu 14.04 初始服务器设置(https://www.digitalocean.com/community/articles/initial-server-setup-with-ubuntu-14-04)中的步骤 1 到 4 来学习如何做到这一点。

步骤1:安装Apache

Apache Web 服务器目前是世界上最受欢迎的 Web 服务器,这使得它成为托管网站的绝佳默认选择。

我们可以使用Ubuntu的包管理器apt轻松安装Apache,一个包管理器允许我们从Ubuntu维护的存储库中无痛无痛地安装大多数软件。

对于我们的目的,我们可以通过键入这些命令开始:

1sudo apt-get update
2sudo apt-get install apache2

由于我们正在使用一个sudo命令,这些操作将用根特权执行,它将要求您使用常规用户的密码来验证您的意图。

随后,您的 Web 服务器将被安装。

您可以立即进行点击检查,以验证一切按计划进行,通过访问您的网络浏览器中的服务器的公共IP地址(请参阅下面的标题下面的注释,以了解您的公共IP地址是什么,如果您还没有这些信息):

http://your_server_IP_address

您将看到默认的Ubuntu 14.04 Apache网页,这是为了信息和测试目的。

Ubuntu 14.04 Apache default

如果您看到此页面,那么您的 Web 服务器现在已正确安装。

如何找到您的服务器的公共IP地址

如果你不知道你的服务器的公共IP地址是什么,有几种方法可以找到它,通常,这是你用来通过SSH连接到你的服务器的地址。

从命令行,你可以找到几种方法,首先,你可以使用iproute2工具来输入你的地址:

1ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'

它们都是正确的地址,但您的计算机可能只能使用其中一个,所以可以尝试每一个。

另一种方法是使用外部方来告诉您 it 如何看待您的服务器. 您可以通过询问特定服务器您的 IP 地址来做到这一点:

1curl http://icanhazip.com

无论您使用哪种方法获取您的IP地址,您都可以将其输入到您的Web浏览器的地址栏中,到达您的服务器。

步骤二:安装MySQL

现在我们有我们的Web服务器上运行,是时候安装MySQL了MySQL是一个数据库管理系统. 基本上,它将组织和提供访问我们的网站可以存储信息的数据库。

再次,我们可以使用apt来获取和安装我们的软件,这次我们还会安装一些其他辅助包,以帮助我们让我们的组件相互通信:

1sudo apt-get install mysql-server php5-mysql

** 注意** :在这种情况下,您不需要在命令之前运行sudo apt-get update 这是因为我们最近在上面的命令中运行它来安装Apache。

在安装过程中,您的服务器将要求您为MySQL用户选择并确认密码. 这是MySQL中的管理帐户,具有增加的权限。 考虑它与服务器本身的根帐户相似(您现在正在配置的是MySQL特定的帐户)。

当安装完成时,我们需要运行一些额外的命令来安全地设置我们的MySQL环境。

首先,我们需要告诉MySQL创建其数据库目录结构,其中将存储其信息。

1sudo mysql_install_db

之后,我们想运行一个简单的安全脚本,它会删除一些危险的默认文件,并稍微阻止访问我们的数据库系统。

1sudo mysql_secure_installation

您将被要求输入您为 MySQL 根帐户设置的密码。接下来,它会询问您是否想要更改该密码。如果您对当前的密码满意,请在提示中键入n

对于其他问题,您应该通过每个提示按ENTER键来接受默认值,这样就可以删除一些样本用户和数据库,禁用远程根登录,并加载这些新规则,以便MySQL立即尊重我们所做的更改。

此时,您的数据库系统已设置,我们可以继续前进。

步骤三:安装PHP

PHP是我们设置的组件,它将处理代码以显示动态内容,它可以运行脚本,连接到我们的MySQL数据库以获取信息,并将处理的内容传递给我们的Web服务器以显示。

我们可以再次利用apt系统来安装我们的组件,我们还将包括一些辅助包:

1sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt

这应该安装PHP没有任何问题,我们会在一瞬间测试它。

目前,如果用户从服务器上请求一个目录,Apache首先会搜索一个名为index.html的文件。

要做到这一点,请输入此命令以在具有 root 权限的文本编辑器中打开 dir.conf 文件:

1sudo nano /etc/apache2/mods-enabled/dir.conf

它将看起来像这样:

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

我们想将上面提到的PHP索引文件移动到DirectoryIndex规格之后的第一个位置,如下:

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

当你完成时,通过按CTRL-X来保存和关闭文件,你需要通过键入Y来确认保存,然后按ENTER来确认保存文件的位置。

此后,我们需要重新启动 Apache Web 服务器,以便我们的更改被识别。

1sudo service apache2 restart

安装 PHP 模块

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

要查看 PHP 模块和库的可用选项,您可以在系统中键入以下内容:

1apt-cache search php5-

结果是您可以安装的所有可选组件. 它将为您提供每个组件的简短描述:

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

要获取有关每个模块所做的事情的更多信息,您可以搜索互联网,或者您可以通过键入来查看包中的长篇描述:

apt-cache show package_name

将有大量的输出,一个名为Description-en的字段将对模块提供的功能提供更长的解释。

例如,要找出「php5-cli」模块的功能,我们可以输入以下内容:

1apt-cache show php5-cli

除了大量的其他信息,你会发现一些看起来像这样的东西:

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

如果经过研究后,您决定要安装一个软件包,您可以通过使用apt-get install命令这样做,就像我们在其他软件中所做的那样。

如果我们决定‘php5-cli’是我们需要的东西,我们可以输入:

1sudo apt-get install php5-cli

如果您想安装多个模块,您可以通过按照apt-get install命令列出每个模块,分隔一个空间,如下:

sudo apt-get install package1 package2 ...

此时,您的 LAMP 堆栈已安装和配置,我们仍然应该测试我们的 PHP。

步骤 4: 在您的 Web 服务器上测试 PHP 处理

为了测试我们的系统是否正确配置为PHP,我们可以创建一个非常基本的PHP脚本。

我们将这个脚本命名为info.php。为了让Apache找到文件并正确地服务它,它必须被保存到一个非常特定的目录中,称为Web root

在Ubuntu 14.04 中,此目录位于 /var/www/html/,我们可以通过键入:

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

我们希望将以下文本,即有效的PHP代码,放入文件中:

1<?php
2phpinfo();
3?>

完成后,保存并关闭文件。

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

您想访问的地址将是:

http://your_server_IP_address/info.php

您访问的页面应该看起来像这样的东西:

Ubuntu 14.04 default PHP info

此页面基本上为您提供从PHP的角度了解您的服务器的信息,这对于调试和确保您的设置得到正确应用是有用的。

如果这是成功的,那么你的PHP正按预期运作。

您可能希望在测试后删除此文件,因为它实际上可以向未经授权的用户提供有关您的服务器的信息。

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

您可以随时重建此页面,如果您需要稍后再次访问该信息。

结论

现在你安装了 LAMP 堆栈,你有许多选择,下一步要做什么. 基本上,你已经安装了一个平台,允许你在你的服务器上安装大多数类型的网站和网络软件。

一些流行的选择是:

** 注:我们将更新上面的链接到我们的 14.04 文档,因为它是写的。

By Justin Ellingwood
Published At
Categories with 技术
comments powered by Disqus