如何在Ubuntu 20.04上安装Apache, MySQL和PHP

时间:2019-05-29 14:47:54  来源:igfitidea点击:

LAMP技术栈是Linux、Apache、MySQL和PHP的组合,是基于PHP的应用程序的流行的web托管环境。
这里Linux是操作系统,Apache是Apache Foundation开发的流行web服务器,MySQL是用于存储数据的关系数据库管理系统,PHP是广泛使用的编程语言。

本文将在Ubuntu 20.04 LTS (Focal Fossa)系统上安装Apache 2.4、MySQL 8.0和PHP 7.4。
让我们开始安装Ubuntu机器的LAMP技术栈。

准备工作

登录到Ubuntu系统。

ssh Hyman@theitroad

升级当前的软件包到最新版本。

sudo apt update
sudo apt upgrade

步骤1 -安装PHP

在Ubuntu 20.04 LTS的默认存储库下可以使用PHP 7.4包。
要在系统上安装PHP,请先更新apt索引,然后在系统上安装它。

sudo apt update
sudo apt install -y php7.4

还要安装应用程序所需的其他PHP模块。

sudo apt install php7.4-curl php7.4-gd php7.4-json php7.4-mbstring php7.4-xml

步骤2—安装Apache2

接下来,需要在系统上安装Apache2包。
Apache包在默认的apt存储库下可用。
我们还需要安装 libapache2-mod-php模块来使用Apache2。
输入以下命令来安装它:

sudo apt install apache2 libapache2-mod-php7.4

步骤3 -安装MySQL服务器

默认的Ubuntu 20.04 apt存储库包含MySQL服务器8.0。
最后,安装MySQL数据库的MySQL -server包。
另外,安装PHP - MySQL包以使用PHP使用MySQL支持。
使用以下命令安装它。

sudo apt install mysql-server php7.4-mysql

安装程序将提示输入root密码,这个密码将用于MySQL root用户。
安装MySQL后,执行以下命令对MySQL服务器进行初始设置。
你会看到这个脚本会提示比以前的MySQL版本更多的设置,比如密码验证策略等等。

sudo mysql_secure_installation

Securing the MySQL server deployment.

Connecting to MySQL using a blank password.

VALIDATE PASSWORD COMPONENT 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 component? 

Press y|Y for Yes, any other key for No: y

There are three levels of password validation policy:

LOW    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: 2
Please set the password for root here.

New password:

Re-enter new password:

Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Success.

Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Success.

By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.

Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
 - Dropping test database...
Success.

 - Removing privileges on test database...
Success.

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.

All done!

步骤4 -安装phpMyAdmin(可选)

phpMyAdmin提供了一个用户友好的web界面来管理MySQL数据库服务器。
你可以通过执行以下命令在Ubuntu 20.04上安装phpMyAdmin:

sudo apt install phpmyadmin

安装过程将提示选择要配置的web服务器。
选择“Apache”作为web服务器运行phpMyAdmin。
接下来,它将提示为phpMyAdmin创建数据库,并提示管理用户访问细节。
完成phpMyAdmin安装的所有步骤。

步骤5 -管理服务

我们已经在Ubuntu 20.04 LTS系统上完成了LAMP技术栈的安装。
下面的命令将启动/停止或重新启动使用systemd运行的Apache和MySQL服务。
要重启Apache和MySQL服务,输入:

sudo systemctl restart apache2
sudo systemctl restart mysql

要启动Apache和MySQL服务,输入:

sudo systemctl start apache2
sudo systemctl start mysql

要停止Apache和MySQL服务,输入:

sudo systemctl stop apache2
sudo systemctl stop mysql

第6步-调整防火墙规则

我们可以直接提供一个服务名称,如“http”或“https”来允许。
firewalld使用/etc/services文件确定服务的对应端口。

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https

重新加载规则,使配置生效

sudo firewall-cmd --reload

步骤7 -测试设置

完成所有设置后。
让我们在站点根目录下创建一个 info.php
包含以下内容。

sudo echo "<?php phpinfo(); ?>" > /var/www/html/info.php

现在在web浏览器中访问该文件。

http://服务器ip/info.php

它包含了服务器上PHP的所有细节。

还可以访问phpMyAdmin

http://服务器ip/phpMyadmin

总结

我们已经成功地在Ubuntu 20.04 LTS系统上配置了web服务器。