介绍
LAMP
软件堆栈,由 L inux操作系统, ** A** pache Web 服务器, ** M** ySQL 数据库和 ** P** HP 脚本语言组成,是 Web 或应用程序开发的一个很好的基础。
在本教程中,我们将在 Debian 8 服务器上安装 LAMP 堆栈。
前提条件
- 在我们开始之前,您需要设置一个 Debian 8 服务器,使用非 root
sudo
功能的用户帐户. 您可以通过遵循我们的 Debian 8 初始服务器安装指南来完成此操作。 - 您还应该创建一个基本的防火墙,您可以通过遵循 Ubuntu 和 Debian UFW 安装教程来完成此操作。
步骤一:更新系统
在安装任何软件之前,重要的是确保您的系统是最新的. 要更新您的包列表,键入:
1sudo apt-get update
这告诉您的操作系统将当前安装在您的服务器上的软件包与可能最近在Debian在线存储库中更新的任何新版本进行比较,其中存储的基本软件包。
<$>[注] 注: 如果您正在运行开发或任务关键的高用途服务器,请小心安装更新,而不仔细浏览每个包,以确定它是否真的需要您的系统。
一旦您确定这些更新的软件组件与您的需求相关,请继续更新您的服务器,您可以通过键入以下命令来完成此操作:
1sudo apt-get dist-upgrade
这可能需要一段时间,取决于您安装的操作系统的当前版本、软件包和网络条件。
现在您的服务器已完全修补,更新,并准备好安装 LAMP. 由于您的服务器已经运行 Linux 操作系统 Debian,您可以继续安装 Apache 网络服务器来管理您的网络连接。
步骤2:安装Apache并更新防火墙
我们安装 LAMP 的下一步是安装 Apache 网页服务器. 这是一个经过文件和广泛使用的网页服务器,将允许您的服务器显示网页内容。
1sudo apt-get install apache2 apache2-doc
這會安裝基本的 Apache 網頁伺服器套件以及隨附的文檔,因為安裝 Apache 和所需的套件可能需要幾秒鐘。
接下来,假设您已通过安装和启用防火墙来遵循 UFW 设置教程,请确保防火墙允许 HTTP 和 HTTPS 流量。
在 Debian 8 上安装时,UFW 附带了应用程序配置文件,您可以使用它们来调整防火墙设置。
1sudo ufw app list
WWW
配置文件用于管理 Web 服务器使用的端口:
1[secondary_label Output]
2Available applications:
3. . .
4 WWW
5 WWW Cache
6 WWW Full
7 WWW Secure
8. . .
如果您检查WWW Full
配置文件,则显示它允许对端口80
和443
的流量:
1sudo ufw app info "WWW Full"
1[secondary_label Output]
2Profile: WWW Full
3Title: Web Server (HTTP,HTTPS)
4Description: Web Server (HTTP,HTTPS)
5
6Ports:
7 80,443/tcp
允许此配置文件的 HTTP 和 HTTPS 流量:
1sudo ufw allow in “WWW Full”
现在我们已经允许网络流量通过我们的防火墙,让我们测试,以确保网络服务器会通过样本网页响应请求。 首先,您需要您的服务器的IP地址。
1sudo ifconfig eth0
在你的屏幕上,你会看到几个输出行,包括你的服务器的IP地址。
1[secondary_label Output]
2inet addr:111.111.111.111
记住列出的IP地址,然后输入你最喜欢的网页浏览器,如下:
http://111.111.111.111
一旦完成,您将看到默认的Apache 2网页,类似于此:
现在你已经成功地在你的服务器上安装了Apache,你可以将你的网站内容上传到‘/var/www/html’目录. 如果你想设置多个网站,请参阅本文设置 Apache虚拟主机。
如需更多指示和有关 Apache 的安全信息,请参阅 Debian 的 Apache 信息。
随着您的 Web 服务器的运行,您已经准备好为您的网站创建一个存储数据的地方,您可以使用 MySQL。
步骤三:安装和保护MySQL
LAMP服务器的下一个组件是MySQL,这个关系数据库软件是其他软件包,如WordPress,Joomla,Drupal等的必不可少的后端组件。
要安装 MySQL 和 PHP 支持,请输入以下内容:
1sudo apt-get install mysql-server php5-mysql
请注意,安装程序将要求您为 root MySQL 用户输入新的密码:
这是一个单独的帐户,专门用于MySQL的管理功能。用户名是 root ,密码是您在这里设置的任何东西。
此时,MySQL安装完成了。
要保持新数据库服务器的安全性,您需要运行一个额外的脚本。
1sudo mysql_secure_installation
在此时,脚本会问你几个问题. 当被提示时,输入 root MySQL 帐户的密码。
1[secondary_label Interactive]
2Change the root password? [Y/n] n
由于我们已经在我们的安装时设置了 root MySQL 密码,您可以在这个时候说不。
1[secondary_label Interactive]
2Remove anonymous users? [Y/n] y
答案是,以删除匿名用户安全选项。
接下来,脚本将要求您允许或禁用对 root 帐户的远程登录. 为了安全,除非您的环境要求,否则禁用对 root 的远程登录。
最后,脚本将要求您删除测试数据库,然后重新加载权限表。
如果一切都正确,一旦完成,脚本将返回:
1[secondary_label Output]
2All done! If you have completed all of the above steps, your MySQL installation should now be secure.
让我们检查一下我们的新 MySQL 服务器是否正在运行。
1mysql -u root -p
请记住,这不是您服务器管理所使用的 root 帐户。一旦登录,请输入以下内容以获取服务器状态、版本信息等:
1status
这是一个很好的方法来确保您已经安装了MySQL并准备好进行进一步的配置。当您完成检查输出时,请通过键入以下方式退出应用程序:
1exit
在确认MySQL是活跃的之后,下一步是安装PHP,以便您可以在服务器上运行脚本和处理代码。
第4步:安装PHP
对于我们的最后一个组件,我们将设置和安装PHP,即PHP:Hypertext Preprocessor。这个流行的服务器侧脚本语言被广泛用于动态Web内容,使其成为许多Web和应用程序开发人员的必需品。
要安装PHP,请输入以下内容:
1sudo apt-get install php5-common libapache2-mod-php5 php5-cli
您同意安装后,PHP将安装在您的服务器上,您将看到许多包安装在PHP之外,不要担心,您的系统正在与现有的Apache2安装和其他程序集成PHP软件。
在您的服务器上重新启动 Apache,以确保 PHP 安装的所有更改都生效。
1sudo service apache2 restart
现在,让我们花一会儿来测试你刚刚安装的PHP软件。
1cd /var/www/html
一旦在那里,使用你最喜欢的控制台文本编辑器创建一个名为info.php
的文件。
1sudo nano info.php
这个命令将使用命令行编辑器nano
打开一个新的空格文件,这个名称。
1[label /var/www/html/info.php]
2<?php phpinfo(); ?>
点击CTRL-X
来退出文件,然后Y
来保存您所做的更改,然后ENTER
来确认文件名。 若要访问配置信息,请打开您的 Web 浏览器并输入以下 URL,以您的服务器的 IP 地址替换突出的部分:
http://111.111.111.111/info.php
如果你做了正确的事情,你会看到默认的PHP信息页面,如下所示:
当你看完这个PHP测试页面时,为了安全,删除它。
1sudo rm -i /var/www/html/info.php
然后系统会问你是否想要删除你创建的测试文件. 回答是的删除该文件. 一旦完成,你将完成基本的PHP安装。
结论
您现在已经在您的服务器上安装了基本的 LAMP 堆栈,为您提供了一个平台来创建广泛的网站和Web 应用程序。从这里开始,您可以通过多种方式定制和扩展服务器的功能。 要了解更多有关保护您的 Linux 服务器的信息,请参阅 An Introduction to Securing Your Linux VPS. 如果您想设置您的服务器来托管多个网站,请遵循 Apache 虚拟主机教程。