如何在 Ubuntu 上安装 LAMP 服务器

如何在 Ubuntu 上安装 LAMP 服务器

我刚刚作为初学者在计算机上安装了 Ubuntu,发现软件中心没有可用的 LAMP 服务器。我不知道如何在我的 Ubuntu 上安装 LAMP 服务器,因为没有特定的网站可以做到这一点。

请问,我可以在哪些来源安装 LAMP 服务器到我的计算机中,以及我将遵循哪些流程来使其工作。

谢谢。

答案1

LAMP 指的是 Linux+Apache+MySQL+PHP,因此安装这些将为您提供一个 LAMP 服务器,您可以轻松安装它,tasksel只需打开终端(ctrl++ )并执行以下操作即可altt

sudo apt-get install tasksel

完成后tasksel使用 sudo 权限调用

sudo tasksel

这将显示一个类似于以下屏幕截图的窗口:

在此处输入图片描述

将选择器移至 LAMP 条目并按 空格 标记它,然后按tab突出显示该<ok>字段并按return。这将启动安装过程。


正如 Rinzwind 指出的那样,tasksel不一定需要进行 lamp-server 安装,您也可以通过简单地输入以下内容来完成:

sudo apt-get install lamp-server^

这里^至关重要。

答案2

我建议您单独安装 LAMP 的所有组件。但这需要一些时间和耐心。如果您正在寻找“一键安装“,有很多这样的软件包可用。下面介绍如何安装Bitnami LAMPstack

  • 下载受到推崇的从这里安装程序:https://bitnami.com/stack/lamp/installer
  • 提供执行权限给*.run您下载的文件

    chmod +x bitnami-lampstack-xxx-xxx-xxx.run

  • 运行它。(只需双击它或从终端运行./binnami-xxx.run:)

  • 安装过程是不言自明的。

在此处输入图片描述

在此处输入图片描述

在此处输入图片描述

推荐方式:单独安装所有组件

来源 :digitalocean 教程

步骤 1:安装 Apache 并允许进入防火墙

sudo apt-get update
sudo apt-get install apache2

接下来,假设您已按照初始服务器设置说明启用 UFW 防火墙,请确保防火墙允许 HTTP 和 HTTPS 流量。您可以确保 UFW 具有 Apache 的应用程序配置文件,如下所示:

sudo ufw app list

Output:
Available applications:
  Apache
  Apache Full
  Apache Secure
  OpenSSH

如果你查看 Apache 完整配置文件,它应该显示它启用了到端口 80 和 443 的流量:

sudo ufw app info "Apache Full"

Output
Profile: Apache Full
Title: Web Server (HTTP,HTTPS)
Description: Apache v2 is the next generation of the omnipresent Apache web
server.

Ports:
  80,443/tcp

允许此配置文件的传入流量:

sudo ufw allow in "Apache Full"

您可以立即进行抽查,通过在 Web 浏览器中访问服务器的公共 IP 地址来验证一切是否按计划进行(如果您还没有此信息,请参阅下一个标题下的注释以了解您的公共 IP 地址):

http://your_server_IP_address (或者直接localhost在 URL 栏中输入)

您将看到默认的 Ubuntu 16.04 Apache 网页,该网页用于信息和测试目的。它看起来应该像这样:

在此处输入图片描述

如果您看到此页面,则说明您的 Web 服务器已正确安装,并且可以通过防火墙进行访问。如何查找服务器的公共 IP 地址

第 2 步:安装 MySQL

运行命令:

sudo apt-get install mysql-server

在安装过程中,您的服务器将要求您选择并确认 MySQL 的密码““用户。这是 MySQL 中具有更高权限的管理帐户。可以将其视为类似于服务器本身的 root 帐户(但是,您现在配置的帐户是 MySQL 特定帐户)。确保这是一个强大的、唯一的密码,并且不要留空

安装完成后,我们要运行一个简单的安全脚本,该脚本将删除一些危险的默认值并稍微锁定对数据库系统的访问。通过运行以下命令启动交互式脚本:

sudo mysql_secure_installation

系统会要求您输入为 MySQL 根帐户设置的密码。接下来,系统会询问您是否要配置 VALIDATE PASSWORD PLUGIN。

警告:启用此功能需要一定的判断。如果启用,不符合指定条件的密码将被 MySQL 拒绝并显示错误。如果您将弱密码与自动配置 MySQL 用户凭据的软件(例如 Ubuntu 的 phpMyAdmin 软件包)结合使用,则会导致问题。禁用验证是安全的,但您应始终使用强而独特的密码作为数据库凭据。

回答 y 表示是,或回答其他任何内容表示继续而不启用。

VALIDATE PASSWORD PLUGIN can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD plugin?

按 y|Y 表示“是”,按任何其他键表示“否”:

系统会要求您选择密码验证级别。请记住,如果您输入 2(最强级别),则在尝试设置任何不包含数字、大小写字母和特殊字符或基于常用词典单词的密码时,您将收到错误。

密码验证策略有三个级别:

大号

OW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 1

如果您启用了密码验证,系统会显示现有 root 密码的密码强度,并询问您是否要更改该密码。如果您对当前密码满意,请在提示符下输入 n 表示“否”:

Using existing password for root.

Estimated strength of the password: 100
Change the password for root ? ((Press y|Y for Yes, any other key for No) : n

对于其余的问题,您应该在每个提示符下按 Y 并按下 Enter 键。这将删除一些匿名用户和测试数据库,禁用远程 root 登录,并加载这些新规则,以便 MySQL 立即遵守我们所做的更改。

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

步骤3:安装PHP

运行命令:

sudo apt-get install php libapache2-mod-php php-mcrypt php-mysql

这样就可以顺利安装 PHP。我们稍后会测试一下。

在大多数情况下,当请求目录时,我们想要修改 Apache 提供文件的方式。目前,如果用户从服务器请求目录,Apache 将首先查找名为 index.html 的文件。我们想要告诉我们的 Web 服务器优先使用 PHP 文件,因此我们将让 Apache 首先查找 index.php 文件。

为此,请键入此命令以使用 root 权限在文本编辑器中打开 dir.conf 文件:

sudo 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 服务器,以便识别我们的更改。您可以输入以下命令执行此操作:

sudo systemctl restart apache2

我们还可以使用 systemctl 检查 apache2 服务的状态:

sudo systemctl status apache2

Sample Output
● apache2.service - LSB: Apache2 web server
   Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled)
  Drop-In: /lib/systemd/system/apache2.service.d
           └─apache2-systemd.conf
   Active: active (running) since Wed 2016-04-13 14:28:43 EDT; 45s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 13581 ExecStop=/etc/init.d/apache2 stop (code=exited, status=0/SUCCESS)
  Process: 13605 ExecStart=/etc/init.d/apache2 start (code=exited, status=0/SUCCESS)
    Tasks: 6 (limit: 512)
   CGroup: /system.slice/apache2.service
           ├─13623 /usr/sbin/apache2 -k start
           ├─13626 /usr/sbin/apache2 -k start
           ├─13627 /usr/sbin/apache2 -k start
           ├─13628 /usr/sbin/apache2 -k start
           ├─13629 /usr/sbin/apache2 -k start
           └─13630 /usr/sbin/apache2 -k start

Apr 13 14:28:42 ubuntu-16-lamp systemd[1]: Stopped LSB: Apache2 web server.
Apr 13 14:28:42 ubuntu-16-lamp systemd[1]: Starting LSB: Apache2 web server...
Apr 13 14:28:42 ubuntu-16-lamp apache2[13605]:  * Starting Apache httpd web server apache2
Apr 13 14:28:42 ubuntu-16-lamp apache2[13605]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerNam
Apr 13 14:28:43 ubuntu-16-lamp apache2[13605]:  *
Apr 13 14:28:43 ubuntu-16-lamp systemd[1]: Started LSB: Apache2 web server.

安装 PHP 模块

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

要查看 PHP 模块和库的可用选项,您可以将 apt-cache search 的结果导入到 less 中,less 是一个分页器,可让您滚动浏览其他命令的输出:

apt-cache search php- | less

使用箭头键上下滚动,使用 q 退出。

结果都是可以安装的可选组件。它会为每个组件提供简短的描述:

libnet-libidn-perl - Perl bindings for GNU Libidn
php-all-dev - package depending on all supported PHP development packages
php-cgi - server-side, HTML-embedded scripting language (CGI binary) (default)
php-cli - command-line interpreter for the PHP scripting language (default)
php-common - Common files for PHP packages
php-curl - CURL module for PHP [default]
php-dev - Files for PHP module development (default)
php-gd - GD module for PHP [default]
php-gmp - GMP module for PHP [default]
:

要获取有关每个模块功能的更多信息,您可以搜索互联网,也可以通过键入以下内容查看包的详细描述:

apt-cache show package_name

将会有大量输出,其中一个名为 Description-en 的字段将对模块提供的功能进行更详细的解释。

例如,要了解 php-cli 模块的作用,我们可以输入以下命令:

apt-cache show php-cli

除了大量其他信息外,您还会发现如下内容:

Output
Description-en: command-line interpreter for the PHP scripting language (default)
 This package provides the /usr/bin/php command interpreter, useful for
 testing PHP scripts from a shell or performing general shell scripting tasks.
 .
 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.
 .
 This package is a dependency package, which depends on Debian's default
 PHP version (currently 7.0).

如果经过研究后,您决定要安装一个软件包,那么您可以使用 apt-get install 命令来执行此操作,就像我们对其他软件所做的那样。

如果我们确定 php-cli 是我们需要的,我们可以输入:

sudo apt-get install php-cli

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

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

我们将此脚本命名为 info.php。为了让 Apache 找到该文件并正确提供它,必须将其保存到一个非常具体的目录中,该目录称为“web 根目录”。

在 Ubuntu 14.04 中,此目录位于/var/www/html/。我们可以通过键入以下内容在该位置创建文件:

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

这将打开一个空白文件。我们要将以下文本(有效的 PHP 代码)放入文件中:

<?php
phpinfo();
?>

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

现在我们可以测试我们的 Web 服务器是否能够正确显示 PHP 脚本生成的内容。要尝试这一点,我们只需在 Web 浏览器中访问此页面即可。您将再次需要服务器的公共 IP 地址。

您要访问的地址是:

http://your_server_IP_address/info.php(或 localhost/info.php)

您访问的页面看起来应如下所示:

在此处输入图片描述

此页面主要从 PHP 的角度提供有关服务器的信息。它对于调试和确保您的设置正确应用非常有用。

如果成功,则说明您的 PHP 正常运行。

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

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

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

更详细的解释如下: https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu-16-04

相关内容