Ubuntu16.04安装phpMyAdmin,Apache2,MariaDB and PHP7.0

本文最后更新于:2022年5月29日 上午

本文记录了如何在Ubuntu 16.04系统上安装具有Apache2,MariaDB和PHP7.0支持的phpMyAdmin。

Step 1: 安装 MariaDB

运行下面的命令安装MariaDb数据库服务器

1
2
sudo apt update
sudo apt install mariadb-server mariadb-client

安装完成MariaDb服务器后,运行以下的命令来设置root密码,删除测试的数据库和禁止root远程登录

1
sudo mysql_secure_installation

运行上面的命令,会出现一些提示,按照下面的指南执行:

  • Enter current password for root (enter for none): Just press the Enter
  • Set root password? [Y/n]: Y
  • New password: Enter password
  • Re-enter new password: Repeat password
  • Remove anonymous users? [Y/n]: Y
  • Disallow root login remotely? [Y/n]: Y
  • Remove test database and access to it? [Y/n]: Y
  • Reload privilege tables now? [Y/n]: Y

重新启动MariaDb服务

1
sudo systemctl restart mysql.service

Step 2: 安装 Apache2

运行下面的命令安装Apache2 HTTP Web 服务器

1
sudo apt install apache2

Step 3: 安装 PHP 7.0

运行下面的命令进行安装

1
sudo apt-get install php libapache2-mod-php

PhpMyAdmin需要在系统上安装和加载某些PHP模块。 运行以下命令来安装它们:

1
sudo apt-get install php-cli php-common php-mbstring php-gd php-intl php-xml php-mysql php-zip php-curl php-xmlrpc

Step 5: 安装 phpMyAdmin

运行下面的命令进行安装phpMyAdmin

1
sudo apt-get install phpmyadmin php-gettext

安装过程中出现下面的提示,使用键盘空格键选择apache2,然后Tab键选择ok,回车。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
+------------------------+ Configuring phpmyadmin +-------------------------+
| Please choose the web server that should be automatically configured to |
| run phpMyAdmin. |
| |
| Web server to reconfigure automatically: |
| |
| [x] apache2 |
| [ ] lighttpd |
| |
| |
| <ok> |
| |
+---------------------------------------------------------------------------+

然后出现提示:使用dbconfig-common为phpmyadmin配置数据库?,选择:No.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
+------------------------+ Configuring phpmyadmin +-------------------------+
| |
| The phpmyadmin package must have a database installed and configured |
| before it can be used. This can be optionally handled with |
| dbconfig-common. |
| |
| If you are an advanced database administrator and know that you want to |
| perform this configuration manually, or if your database has already |
| been installed and configured, you should refuse this option. Details |
| on what needs to be done should most likely be provided in |
| /usr/share/doc/phpmyadmin. |
| |
| Otherwise, you should probably choose this option. |
| |
| Configure database for phpmyadmin with dbconfig-common? |
| |
| <Yes> <No> |
| |
+---------------------------------------------------------------------------+

Step 6: 配置 Apache2 HTTP Server

首先,运行以下命令在Apache2上启用PHP模块:

1
2
sudo phpenmod mcrypt
sudo phpenmod mbstring

下一步,运行下面的命令打开phpmyadmin配置文件。

1
sudo gedit /etc/apache2/conf-enabled/phpmyadmin.conf

然后,添加内容:AllowOverride All,保存关闭文件。如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# phpMyAdmin default Apache configuration
Alias /phpmyadmin /usr/share/phpmyadmin

<Directory /usr/share/phpmyadmin>
Options FollowSymLinks
DirectoryIndex index.php
AllowOverride All

<IfModule mod_php.c>
AddType application/x-httpd-php .php
</IfModule>

<FilesMatch ".+\.php$">
SetHandler application/x-httpd-php
...............
...............

重新启动Apache2:

1
sudo systemctl restart apache2.service

Step 7: 登录phpmyadmin

最后,打开浏览器,输入网址转到phpmyadmin登录页面。

ex. http://localhost/phpmyadmin/

Bnl4fO.png

使用先前创建的MySQL(MariaDB) root账户登录,登录后的界面类似下图:
Bnlz9S.png

登录出错

如果出现错误 #1698 – Access denied for user ‘root’@’localhost’,如下图所示。
Bn13Ax.png

解决方法

打开终端,运行以下命令登录到MariaDB:

1
sudo mysql -u root

提示没有密码?不出意外直接登录进入了数据库。
然后,在数据库命令行运行以下命令以禁用root用户的插件身份验证

1
2
3
4
use mysql;
update user set plugin='' where User='root';
flush privileges;
exit

重启数据库服务:

1
sudo systemctl restart mariadb.service

创建新的root密码:

1
sudo mysql_secure_installation

运行上面的命令,会出现一些提示,按照下面的指南执行:

  • Enter current password for root (enter for none): Just press Enter
  • Set root password? [Y/n]: Y
  • New password: Enter password
  • Re-enter new password: Repeat password
  • Remove anonymous users? [Y/n]: Y
  • Disallow root login remotely? [Y/n]: Y
  • Remove test database and access to it? [Y/n]: Y
  • Reload privilege tables now? [Y/n]: Y

现在应该可以使用密码身份验证登录了,其他应用程序可以使用root密码省份验证。
验证是否修改成功,终端运行一下命令:

1
sudo mysql -u root -p

输入设置的密码,回车,不出意外可以进入数据库,如下图界面,说明成功修改密码。

Bn80tP.png

参考链接:

【1】Install phpMyAdmin on Ubuntu 16.04 LTS with Apache2, MariaDB and PHP 7.1 Support

【2】MariaDB Installed Without Password Prompts for Root on Ubuntu 17.10 / 18.04

【3】How to Set Up and Secure PhpMyAdmin with Apache on Ubuntu 16.04


Ubuntu16.04安装phpMyAdmin,Apache2,MariaDB and PHP7.0
https://kevinloongc.github.io/posts/b78c73d0.html
作者
Kevin Loongc
发布于
2020年10月26日
许可协议