@stevenzdg988
This commit is contained in:
Xingyu Wang 2021-01-22 13:04:08 +08:00
parent 02675bd3bb
commit cf967f05c0

View File

@ -1,35 +1,30 @@
[#]: collector: (lujun9972)
[#]: translator: (stevenzdg988)
[#]: reviewer: ( )
[#]: reviewer: (wxy)
[#]: publisher: ( )
[#]: url: ( )
[#]: subject: (Install Apache, MySQL, PHP (LAMP) Stack On Ubuntu 18.04 LTS)
[#]: subject: (Install Apache, MySQL, PHP \(LAMP\) Stack On Ubuntu 18.04 LTS)
[#]: via: (https://www.ostechnix.com/install-apache-mysql-php-lamp-stack-on-ubuntu-18-04-lts/)
[#]: author: (SK https://www.ostechnix.com/author/sk/)
Ubuntu 18.04 LTS 安装 ApacheMySQLPHPLAMP套件
在 Ubuntu 中安装 Apache、MySQL、PHPLAMP套件
======
![](https://www.ostechnix.com/wp-content/uploads/2019/02/lamp-720x340.jpg)
**LAMP** 套件是一种流行的开源 Web 开发平台,可用于运行和部署动态网站和基于 Web 的应用程序。 通常LAMP 套件由 Apache Web 服务器MariaDB/MySQL 数据库,PHP/Python/Perl 程序设计(脚本)语言组成。 LAMP 是 **L**inux**M**ariaDB/**M**YSQL**P**HP/**P**ython/**P**erl 的缩写。 本教程描述了如何在 Ubuntu 18.04 LTS 服务器中安装 ApacheMySQLPHPLAMP套件)。
**LAMP** 套件是一种流行的开源 Web 开发平台,可用于运行和部署动态网站和基于 Web 的应用程序。通常LAMP 套件由 Apache Web 服务器、MariaDB/MySQL 数据库、PHP/Python/Perl 程序设计(脚本)语言组成。 LAMP 是 **L**inux**M**ariaDB/**M**YSQL**P**HP/**P**ython/**P**erl 的缩写。 本教程描述了如何在 Ubuntu 18.04 LTS 服务器中安装 Apache、MySQL、PHPLAMP 套件)。
### 在Ubuntu 18.04 LTS 上安装 ApacheMySQLPHPLAMP套件
就本教程而言,我们将使用以下 Ubuntu 测试项。
就本教程而言,我们将使用以下 Ubuntu 测试。
* **操作系统**Ubuntu 18.04.1 LTS Server Edition
* **IP 地址** 192.168.225.22/24
#### 1. 安装 Apache Web 服务器
### 1. 安装 Apache Web 服务器
首先,利用下面命令更新 Ubuntu 服务器:
```
$ sudo apt update
$ sudo apt upgrade
```
@ -67,9 +62,9 @@ Feb 05 10:48:03 ubuntuserver systemd[1]: Started The Apache HTTP Server.
祝贺你! Apache 服务已经启动并运行了!!
##### 1.1 调整防火墙允许 Apache Web 服务器
#### 1.1 调整防火墙允许 Apache Web 服务器
默认情况下,如果您已在 Ubuntu 18.04 LTS 中启用 UFW 防火墙,则无法从远程系统访问 Apache Web 服务器。 必须按照以下步骤开启 `http``https` 端口。
默认情况下,如果你已在 Ubuntu 中启用 UFW 防火墙,则无法从远程系统访问 Apache Web 服务器。 必须按照以下步骤开启 `http``https` 端口。
首先,使用以下命令列出 Ubuntu 系统上可用的应用程序配置文件:
@ -87,9 +82,9 @@ Apache Secure
OpenSSH
```
如你所见Apache 和 OpenSSH 应用程序已安装 UFW 配置文件。你可以使用 “**ufw app info “Profile Name”**” 命令列出有关每个配置文件及其包含的规则的信息。
如你所见Apache 和 OpenSSH 应用程序已安装 UFW 配置文件。你可以使用 `ufw app info "Profile Name"` 命令列出有关每个配置文件及其包含的规则的信息。
让我们研究一下 **“Apache Full”** 配置文件。 为此,请运行:
让我们研究一下 “Apache Full” 配置文件。 为此,请运行:
```
$ sudo ufw app info "Apache Full"
@ -117,21 +112,21 @@ Rules updated
Rules updated (v6)
```
如果您不想允许 `https` 通信,而只允许 `http80` 通信,请运行:
如果你不想允许 HTTP 通信,而只允许 HTTP80 通信,请运行:
```
$ sudo ufw app info "Apache"
```
##### 1.2 测试 Apache Web 服务器
#### 1.2 测试 Apache Web 服务器
现在,打开 Web 浏览器并导航到 **<http://localhost/>****<http://IP-Address/>** 来访问 Apache 测试页。
现在,打开 Web 浏览器并导航到 <http://localhost/> 或 <http://IP-Address/> 来访问 Apache 测试页。
![](https://www.ostechnix.com/wp-content/uploads/2016/06/apache-2.png)
如果看到上面类似的显示内容,那就成功了。 Apache 服务器正在工作!
#### 2. 安装 MySQL
### 2. 安装 MySQL
在 Ubuntu 安装 MySQL 请运行:
@ -145,7 +140,7 @@ $ sudo apt install mysql-server
$ sudo systemctl status mysql
```
**输出结果:**
输出结果:
```
● mysql.service - MySQL Community Server
@ -162,17 +157,17 @@ Feb 05 11:07:50 ubuntuserver systemd[1]: Started MySQL Community Server.
MySQL 正在运行!
##### 2.1 配置数据库管理用户root密码
#### 2.1 配置数据库管理用户root密码
默认情况下MySQL **root** 用户密码为空。您需要通过运行以下脚本使你的 MySQL 服务器安全:
默认情况下MySQL root 用户密码为空。你需要通过运行以下脚本使你的 MySQL 服务器安全:
```
$ sudo mysql_secure_installation
```
系统将询问你是否要安装 **VALIDATE PASSWORD plugin密码验证插件**。该插件允许用户为数据库配置强密码凭据。如果启用,它将自动检查密码的强度并强制用户设置足够安全的密码。 **禁用此插件是安全的**。但是,必须为数据库使用唯一的强密码凭据。如果不想启用此插件,只需按任意键即可跳过密码验证部分,然后继续其余步骤。
系统将询问你是否要安装 “VALIDATE PASSWORD plugin密码验证插件。该插件允许用户为数据库配置强密码凭据。如果启用,它将自动检查密码的强度并强制用户设置足够安全的密码。**禁用此插件是安全的**。但是,必须为数据库使用唯一的强密码凭据。如果不想启用此插件,只需按任意键即可跳过密码验证部分,然后继续其余步骤。
如果回答是 **是**,则会要求您选择密码验证级别。
如果回答是 `y`,则会要求你选择密码验证级别。
```
Securing the MySQL server deployment.
@ -187,7 +182,7 @@ secure enough. Would you like to setup VALIDATE PASSWORD plugin?
Press y|Y for Yes, any other key for No y
```
可用的密码验证有 **low** , **medium** and **strong**。只需输入适当的数字0表示低1表示中2表示强密码并按 ENTER 键。
可用的密码验证有 “low”、 “medium” 和 “strong”。只需输入适当的数字0 表示低1 表示中2 表示强密码)并按回车键。
```
There are three levels of password validation policy:
@ -199,7 +194,7 @@ STRONG Length >= 8, numeric, mixed case, special characters and dictionary file
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG:
```
现在,输入 MySQL root 用户的密码。请注意,必须根据上一步中选择的密码策略,为 Mysql root 用户使用密码。如果你未启用该插件,则只需使用你选择的任意强度且唯一的密码即可。
现在,输入 MySQL root 用户的密码。请注意,必须根据上一步中选择的密码策略,为 MySQL root 用户使用密码。如果你未启用该插件,则只需使用你选择的任意强度且唯一的密码即可。
```
Please set the password for root here.
@ -212,9 +207,9 @@ Estimated strength of the password: 50
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y
```
两次输入密码后,您将看到密码强度(在此示例情况下为**50**)。如果您确定可以,请按 Y 继续提供的密码。如果对密码长度不满意,请按其他任意键并设置一个强密码。我现在的密码可以,所以我选择了**y**
两次输入密码后,你将看到密码强度(在此示例情况下为 50。如果你确定可以请按 `y` 继续提供的密码。如果对密码长度不满意,请按其他任意键并设置一个强密码。我现在的密码可以,所以我选择了`y`
对于其余的问题,只需键入**y**并按 Enter。这将删除匿名用户禁止 root 用户远程登录并删除 `test`(测试)数据库。
对于其余的问题,只需键入 `y` 并按回车键。这将删除匿名用户、禁止 root 用户远程登录并删除 `test`(测试)数据库。
```
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
@ -250,9 +245,9 @@ All done!
以上就是为 MySQL root 用户设置密码。
##### 2.2 更改 MySQL 超级用户的身份验证方法
#### 2.2 更改 MySQL 超级用户的身份验证方法
默认情况下Ubuntu 系统的 MySQL root 用户为 MySQL 5.7 版本使用插件 **auth_socket** 和更新版本设置身份验证。 尽管它增强了安全性,但是当您使用任何外部程序(例如 phpMyAdmin访问数据库服务器时也会变得更困难。 要解决此问题,您需要将身份验证方法从 **auth_socket** 更改为 **mysql_native_password**。 为此,请使用以下命令登录到您的 MySQL 提示符下:
默认情况下Ubuntu 系统的 MySQL root 用户为 MySQL 5.7 版本及更新的版本使用插件 `auth_socket` 设置身份验证。尽管它增强了安全性,但是当你使用任何外部程序(例如 phpMyAdmin访问数据库服务器时也会变得更困难。要解决此问题,你需要将身份验证方法从 `auth_socket` 更改为 `mysql_native_password`。为此,请使用以下命令登录到你的 MySQL 提示符下:
```
$ sudo mysql
@ -264,7 +259,7 @@ $ sudo mysql
SELECT user,authentication_string,plugin,host FROM mysql.user;
```
**输出结果:**
输出结果:
```
+------------------|-------------------------------------------|-----------------------|-----------+
@ -282,7 +277,7 @@ SELECT user,authentication_string,plugin,host FROM mysql.user;
如你所见Mysql root 用户使用 `auth_socket` 插件进行身份验证。
要将此身份验证更改为 **mysql_native_password** 方法,请在 Mysql 提示符下运行以下命令。 别忘了用你选择的强大唯一密码替换 **“password”**。 如果已启用 VALIDATION 插件,请确保已根据当前策略要求使用了强密码。
要将此身份验证更改为 `mysql_native_password` 方法,请在 MySQL 提示符下运行以下命令。 别忘了用你选择的强大唯一的密码替换 `password`。 如果已启用 VALIDATION 插件,请确保已根据当前策略要求使用了强密码。
```
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
@ -304,15 +299,15 @@ SELECT user,authentication_string,plugin,host FROM mysql.user;
![][3]
Myql root 用户就可以使用密码进行身份验证来访问 `mysql shell`
MySQL root 用户就可以使用密码进行身份验证来访问 `mysql shell`
从 Mysql 提示符下退出:
从 MySQL 提示符下退出:
```
exit
```
#### 3\. 安装 PHP
### 3. 安装 PHP
安装 PHP 请运行:
@ -320,9 +315,9 @@ exit
$ sudo apt install php libapache2-mod-php php-mysql
```
安装 PHP 后,在 Apache 文档根目录中创建 **info.php** 文件。通常,在大多数基于 Debian 的 Linux 发行版中Apache 文档根目录为 **/var/www/html/** 或 **/var/www/**。Ubuntu 18.04 LTS 系统下,文档根目录是 **/var/www/html/**
安装 PHP 后,在 Apache 文档根目录中创建 `info.php` 文件。通常,在大多数基于 Debian 的 Linux 发行版中Apache 文档根目录为 `/var/www/html/``/var/www/`。Ubuntu 18.04 LTS 系统下,文档根目录是 `/var/www/html/`
在 Apache 根目录中创建 **info.php** 文件:
在 Apache 根目录中创建 `info.php` 文件:
```
$ sudo vi /var/www/html/info.php
@ -336,27 +331,27 @@ phpinfo();
?>
```
然后按下 ESC 键并且输入 **:wq** 保存并退出此文件。重新启动 Apache 服务使更改生效。
然后按下 `ESC` 键并且输入 `:wq` 保存并退出此文件。重新启动 Apache 服务使更改生效。
```
$ sudo systemctl restart apache2
```
##### 3.1 测试 PHP
#### 3.1 测试 PHP
打开 Web 浏览器,然后导航到 URL **<http://IP地址/info.php>**
打开 Web 浏览器,然后导航到 URL <http://IP地址/info.php>。
你就将看到 `php` 测试页面。
你就将看到 PHP 测试页面。
![](https://www.ostechnix.com/wp-content/uploads/2019/02/php-test-page.png)
通常,当用户向 Web 服务器发出请求时Apache 首先会在文档根目录中查找名为 **index.html** 的文件。如果您想将 Apache 更改为 `php` 文件提供服务而不是其他文件,请将 **dir.conf** 配置文件中的 **index.php** 移至第一个位置,如下所示:
通常,当用户向 Web 服务器发出请求时Apache 首先会在文档根目录中查找名为 `index.html` 的文件。如果你想将 Apache 更改为 `php` 文件提供服务而不是其他文件,请将 `dir.conf` 配置文件中的 `index.php` 移至第一个位置,如下所示:
```
$ sudo vi /etc/apache2/mods-enabled/dir.conf
```
上面的配置文件 **dir.conf** 内容如下:
上面的配置文件`dir.conf` 内容如下:
```
<IfModule mod_dir.c>
@ -366,7 +361,7 @@ DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
```
**“index.php”** 移动到最前面。更改后,**dir.conf** 文件内容看起来如下所示。
`index.php` 移动到最前面。更改后,`dir.conf` 文件内容看起来如下所示。
```
<IfModule mod_dir.c>
@ -376,13 +371,13 @@ DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
```
然后按下 ESC 键并且输入 **:wq** 保存并关闭此文件。重新启动 Apache 服务使更改生效。
然后按下 `ESC` 键并且输入 `:wq` 保存并关闭此文件。重新启动 Apache 服务使更改生效。
```
$ sudo systemctl restart apache2
```
##### 3.2 安装 PHP 模块
#### 3.2 安装 PHP 模块
为了增加 PHP 的功能,可以安装一些其他的 PHP 模块。
@ -392,19 +387,19 @@ $ sudo systemctl restart apache2
$ sudo apt-cache search php- | less
```
**输出结果:**
输出结果:
![][4]
使用方向键浏览结果。要退出,请输入**q** 并按下 ENTER 键。
使用方向键浏览结果。要退出,请输入 `q` 并按下回车键。
要查找任意 `php` 模块的详细信息,例如 **php-gd**,请运行:
要查找任意 `php` 模块的详细信息,例如 `php-gd`,请运行:
```
$ sudo apt-cache show php-gd
```
安装 `php` 模块请运行:
安装 PHP 模块请运行:
```
$ sudo apt install php-gd
@ -418,11 +413,9 @@ $ sudo apt-get install php*
安装任何 `php` 模块后,请不要忘记重新启动 Apache 服务。要检查模块是否已加载,请在浏览器中打开 `info.php` 文件并检查是否存在。
接下来,您可能需要安装数据库管理工具,以通过 Web 浏览器轻松管理数据库。如果是这样,请按照以下链接中的说明安装 `phpMyAdmin`
祝贺你!我们已经在 Ubuntu 18.04 LTS 服务器中成功配置了 LAMP 套件。
接下来,你可能需要安装数据库管理工具,以通过 Web 浏览器轻松管理数据库。如果是这样,请按照以下链接中的说明安装 `phpMyAdmin`
祝贺你!我们已经在 Ubuntu 服务器中成功配置了 LAMP 套件。
--------------------------------------------------------------------------------
@ -431,7 +424,7 @@ via: https://www.ostechnix.com/install-apache-mysql-php-lamp-stack-on-ubuntu-18-
作者:[SK][a]
选题:[lujun9972][b]
译者:[stevenzdg988](https://github.com/stevenzdg988)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出