mirror of
https://github.com/LCTT/TranslateProject.git
synced 2025-01-25 23:11:02 +08:00
Merge pull request #20812 from wxy/20190205-Install-Apache,-MySQL,-PHP-(LAMP)-Stack-On-Ubuntu-18.04-LTS
PRF&PUB:20190205 install apache, my sql, php (lamp) stack on ubuntu 18.04 lts
This commit is contained in:
commit
c617b85f0b
@ -1,35 +1,30 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: (stevenzdg988)
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (Install Apache, MySQL, PHP (LAMP) Stack On Ubuntu 18.04 LTS)
|
||||
[#]: reviewer: (wxy)
|
||||
[#]: publisher: (wxy)
|
||||
[#]: url: (https://linux.cn/article-13041-1.html)
|
||||
[#]: 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 安装 Apache,MySQL,PHP(LAMP)套件
|
||||
在 Ubuntu 中安装 Apache、MySQL、PHP(LAMP)套件
|
||||
======
|
||||
|
||||
![](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 服务器中安装 Apache,MySQL,PHP(LAMP套件)。
|
||||
**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、PHP(LAMP 套件)。
|
||||
|
||||
### 在Ubuntu 18.04 LTS 上安装 Apache,MySQL,PHP(LAMP)套件
|
||||
|
||||
就本教程而言,我们将使用以下 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` 通信,而只允许 `http(80)` 通信,请运行:
|
||||
如果你不想允许 HTTP 通信,而只允许 HTTP(80) 通信,请运行:
|
||||
|
||||
```
|
||||
$ 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/) 荣誉推出
|
||||
|
Loading…
Reference in New Issue
Block a user