介绍
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网页,这是为了信息和测试目的。
如果您看到此页面,那么您的 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
您访问的页面应该看起来像这样的东西:
此页面基本上为您提供从PHP的角度了解您的服务器的信息,这对于调试和确保您的设置得到正确应用是有用的。
如果这是成功的,那么你的PHP正按预期运作。
您可能希望在测试后删除此文件,因为它实际上可以向未经授权的用户提供有关您的服务器的信息。
1sudo rm /var/www/html/info.php
您可以随时重建此页面,如果您需要稍后再次访问该信息。
结论
现在你安装了 LAMP 堆栈,你有许多选择,下一步要做什么. 基本上,你已经安装了一个平台,允许你在你的服务器上安装大多数类型的网站和网络软件。
一些流行的选择是:
- 安装Wordpress在互联网上最流行的内容管理系统
- 设置PHPMyAdmin以帮助您从Web浏览器管理您的MySQL数据库。
- 了解更多关于MySQL以管理您的数据库。
- 学习如何创建SSL证书以确保流量到您的Web服务器。
** 注:我们将更新上面的链接到我们的 14.04 文档,因为它是写的。