如何在Debian8上安装Linux、Apache、MySQL、PHP(LAMP)堆栈
介绍
“LAMP”软件堆栈,由 Linux 操作系统、Apache Web 服务器、MySQL 数据库和 P[X143X ]HP 脚本语言,是 Web 或应用程序开发的重要基础。 安装在一起,该软件堆栈使您的服务器能够托管动态网站和 Web 应用程序。
在本教程中,我们将在 Debian 8 服务器上安装 LAMP 堆栈。
先决条件
- 在我们开始之前,您需要使用非 root
sudo
启用的用户帐户设置 Debian 8 服务器。 您可以按照我们的 Debian 8 初始服务器设置指南进行操作。 - 您还应该创建一个基本的防火墙,您可以按照 Ubuntu 和 Debian UFW 设置教程 来完成。
第 1 步 — 更新系统
在安装任何软件之前,确保您的系统是最新的很重要。 要更新您的包裹列表,请键入:
sudo apt-get update
这会告诉您的操作系统将当前安装在您服务器上的软件包与存储基本软件包的 Debian 在线存储库中最近可能已更新的任何新版本进行比较。
<$>[注] 笔记: 如果您正在运行开发或任务关键型高使用率服务器,请谨慎安装更新,而不要仔细检查每个软件包以确定您的系统是否确实需要它。 在我们的示例中,所有软件包都已安装,仅用于本教程的目的。 <$>
一旦您确定这些更新的软件组件与您的需求相关,请继续更新您的服务器。 您可以通过键入以下命令来执行此操作:
sudo apt-get dist-upgrade
这可能需要一段时间,具体取决于您安装的操作系统的当前版本、软件包和网络状况。 在新服务器上,这将需要几秒钟。
现在,您的服务器已完全修补、更新并准备好安装 LAMP。 由于您的服务器已经在运行 Linux 操作系统 Debian,您可以继续安装 Apache Web 服务器来管理您的网络连接。
第 2 步 — 安装 Apache 并更新防火墙
LAMP 安装的下一步是安装 Apache Web 服务器。 这是一个有据可查且广泛使用的 Web 服务器,可让您的服务器显示 Web 内容。 要安装 Apache,请键入以下内容:
sudo apt-get install apache2 apache2-doc
这将安装基本的 Apache Web 服务器包以及随附的文档。 这可能需要几秒钟,因为 Apache 及其所需的软件包已安装。 完成后,apt-get
将退出,安装完成。
接下来,假设您已按照 UFW 设置教程安装和启用防火墙,请确保您的防火墙允许 HTTP 和 HTTPS 流量。
在 Debian 8 上安装时,UFW 会加载应用程序配置文件,您可以使用这些配置文件来调整防火墙设置。 通过运行查看应用程序配置文件的完整列表:
sudo ufw app list
WWW
配置文件用于管理 Web 服务器使用的端口:
OutputAvailable applications: . . . WWW WWW Cache WWW Full WWW Secure . . .
如果您检查 WWW Full
配置文件,它显示它启用了到端口 80
和 443
的流量:
sudo ufw app info "WWW Full"
OutputProfile: WWW Full Title: Web Server (HTTP,HTTPS) Description: Web Server (HTTP,HTTPS) Ports: 80,443/tcp
允许此配置文件的传入 HTTP 和 HTTPS 流量:
sudo ufw allow in “WWW Full”
现在我们已经允许 Web 流量通过我们的防火墙,让我们进行测试以确保 Web 服务器将使用示例网页响应请求。 首先,您将需要服务器的 IP 地址。 您可以通过运行以下命令查看当前 SSH 会话中的 IP 地址:
sudo ifconfig eth0
在您的屏幕上,您将看到几行输出,包括您的服务器的 IP 地址。 您需要在 inet addr:
之后显示的四部分编号:
Outputinet addr:111.111.111.111
记下列出的 IP 地址,然后将其输入您喜欢的网络浏览器,如下所示:
完成后,您将看到默认的 Apache 2 网页,类似于:
现在您已经在您的服务器上成功安装了 Apache,您可以将您的网站内容上传到 /var/www/html
目录。 如果您想设置多个网站,请参阅这篇关于设置 Apache 虚拟主机 的文章。
有关其他说明和 Apache 相关的安全信息,请查看 Debian 的 Apache 信息。
随着您的 Web 服务器启动并运行,您就可以为您的网站创建一个存储数据的地方,这可以使用 MySQL 来完成。
第 3 步 — 安装和保护 MySQL
LAMP 服务器的下一个组件是 MySQL。 这种关系数据库软件是其他软件包(如 WordPress、Joomla、Drupal 等)必不可少的后端组件。
要为其安装 MySQL 和 PHP 支持,请键入以下内容:
sudo apt-get install mysql-server php5-mysql
这将安装 MySQL 和其他所需的软件包。 请注意,安装例程会要求您输入 root MySQL 用户的新密码:
这是一个单独的帐户,专门用于 MySQL 中的管理功能。 用户名是 root,密码是您在此处设置的任何内容。 请务必使用各种字母和数字组合设置好的密码。
在此之后,MySQL 安装完成。
为了保证新数据库服务器的安全,您需要运行一个额外的脚本。 键入以下内容以开始:
sudo mysql_secure_installation
此时,脚本会问你几个问题。 出现提示时,输入 root MySQL 帐户的密码。 然后系统会问你:
InteractiveChange the root password? [Y/n] n
由于我们已经在安装时设置了根 MySQL 密码,因此您现在可以拒绝。 然后脚本会询问:
InteractiveRemove anonymous users? [Y/n] y
回答“是”以删除匿名用户选项以确保安全。
接下来,脚本将要求您允许或禁止 root 帐户的远程登录。 为了安全起见,除非您的环境需要,否则不允许 root 远程登录。
最后,脚本会要求您删除测试数据库,然后重新加载权限表。 对这两个都回答是。 这将删除测试数据库并处理安全更改。
如果一切正确,一旦完成,脚本将返回:
OutputAll done! If you have completed all of the above steps, your MySQL installation should now be secure.
让我们再次检查我们的新 MySQL 服务器是否正在运行。 键入此命令:
mysql -u root -p
输入安装软件包时为 MySQL 设置的 root 密码。 请记住,这是 而不是 用于服务器管理的 root 帐户。 进入后,键入以下内容以获取服务器状态、版本信息等:
status
这是确保您已安装 MySQL 并准备好进行进一步配置的好方法。 完成检查输出后,键入以下内容退出应用程序:
exit
确认 MySQL 处于活动状态后,下一步是安装 PHP,以便您可以在服务器上运行脚本和处理代码。
第 4 步 — 安装 PHP
对于我们的最后一个组件,我们将设置和安装 PHP,它代表 PHP:超文本预处理器。 这种流行的服务器端脚本语言广泛用于动态 Web 内容,使其成为许多 Web 和应用程序开发人员的必备工具。
要安装 PHP,请键入以下内容:
sudo apt-get install php5-common libapache2-mod-php5 php5-cli
在您同意安装后,PHP 将安装在您的服务器上。 您将看到除了 PHP 之外还安装了许多软件包。 不用担心; 您的系统正在将 PHP 软件与您现有的 Apache2 安装和其他程序集成。
在您的服务器上重新启动 Apache 以确保 PHP 安装的所有更改都生效。 为此,请键入以下内容:
sudo service apache2 restart
现在,让我们花点时间来测试一下您刚刚安装的 PHP 软件。 进入您的公共网络目录:
cd /var/www/html
在那里,使用您最喜欢的控制台文本编辑器创建一个名为 info.php
的文件。 这是执行此操作的一种方法:
sudo nano info.php
此命令将使用命令行编辑器 nano
打开一个具有此名称的新空白文件。 在此文件中,键入以下内容以使用 PHP 配置的输出信息填充网页:
/var/www/html/info.php
<?php phpinfo(); ?>
点击 CTRL-X
退出文件,然后点击 Y
保存您所做的更改,然后点击 ENTER
确认文件名。 要访问配置信息,请打开您的 Web 浏览器并键入以下 URL,将突出显示的部分替换为您的服务器的 IP 地址:
如果您已正确完成所有操作,您将看到默认的 PHP 信息页面,如下所示:
看完这个测试 PHP 页面后,为了安全起见,将其删除。 为此,请运行以下命令:
sudo rm -i /var/www/html/info.php
然后系统将询问您是否要删除您创建的测试文件。 回答是以删除文件。 完成后,您将完成基本的 PHP 安装。
结论
您现在已经在您的服务器上安装了基本的 LAMP 堆栈,为您提供了一个创建各种网站和 Web 应用程序的平台。 从这里开始,您可以通过多种方式自定义和扩展服务器的功能。 要了解有关保护 Linux 服务器的更多信息,请查看 An Introduction to Securing Your Linux VPS 。 如果您想将服务器设置为托管多个网站,请按照 Apache 虚拟主机教程 。