我们将安装 phpMyAdmin 在 Ubuntu18.04 上配合 Apache 一起工作.
在安装 phpMyAdmin 之前需要已经安装了LAMP栈并提供了web页面.
如果没有安装可以参照 Ubuntu 18.04上安装Apache,MySQL,PHP 来先安装.
1. 安装 phpMyAdmin
让我们从更新包列表开始,并在Ubuntu 18.04上安装phpMyAdmin。下面我们有两个用&&分隔的命令。第一个命令将更新包列表,以确保您获得phpMyAdmin的最新版本和依赖项。第二个命令将下载并安装phpMyAdmin。当要求继续时,按 y 并 回车。
代码语言:javascript复制$ sudo apt update && sudo apt install phpmyadmin
根据您的设置,phpMyAdmin包配置中以下屏幕的顺序可能有所不同。
如果提示您选择web服务器,请按SPACE键在apache2旁边放一个星号[*],然后按TAB键突出显示OK并按ENTER键.如下图:
回车后如下:
选择 Yes 并按 ENTER 来安装和配置数据库。
MySQL应用程序密码只在phpMyAdmin内部使用,用于与MySQL通信。您可以保留此空白,密码将自动生成。按回车键继续。
2. 测试 phpMyAdmin
现在,您应该能够通过访问服务器的域名或公共IP地址和 /phpMyAdmin来访问phpMyAdmin web界面。例如:http://example.com/phpmyadmin或http://192.168.1.10 phpmyadmin 如果你还没有一个域名或不知道你的IP,你可以通过下面命令找到:
代码语言:javascript复制$ sudo service apache2 status
第一次安装MySQL时,您需要设置根用户和密码。但是,根用户可能禁用远程登录。 如果您得到一个错误“用户’ root ‘ @ ‘ localhost’的访问被拒绝”,您应该继续执行步骤3,为phpMyAdmin创建一个超级用户。
3. 创建 MySQL 用户
如果您不能以上面的 root 用户身份登录,您现在可以为phpMyAdmin创建一个超级用户帐户。 在终端,以 root 用户身份登录MySQL。您可能在第一次安装MySQL时创建了一个根密码, 或者密码是空白的,在这种情况下,您可以在提示输入密码时按 ENTER。
代码语言:javascript复制$ sudo mysql -p -u root
现在用您选择的用户名添加一个新的MySQL用户。在本例中,我们将其称为 pmauser (php my admin user)。 确保将 password_here 替换为您自己的密码(自己造一个密码)。 % 符号告诉MySQL允许该用户从远程的任何地方登录。如果你想提高安全性,你可以用一个IP地址来代替它。
代码语言:javascript复制CREATE USER 'pmauser'@'%' IDENTIFIED BY 'password_here';
我这里设置的密码是 123456 这个是弱密码(很容易就被猜到), 不建议大家使用这个密码.
现在,我们将向新用户pmauser授予超级用户权限。
代码语言:javascript复制GRANT ALL PRIVILEGES ON *.* TO 'pmauser'@'%' WITH GRANT OPTION;
现在退出MySQL。
exit
现在,您应该能够使用这个新用户帐户访问phpMyAdmin。 如果您想为phpMyAdmin设置一些额外的安全性,请继续下一步。
4. 模糊 phpMyAdmin URL
机器人和攻击者不断扫描web服务器,寻找默认的phpMyAdmin登录页面,因此建议您将URL更改为其他内容。 在本例中,我们将把它从 example.com/phpmyadmin 更改为 example.com/pmahidden 。 使用 vi 文本编辑器打开Apache的phpMyAdmin配置文件。(如果不习惯 vi, 推荐可视化文本编辑器 gedit )
代码语言:javascript复制$ sudo ifconfig | grep -Eo 'inet (addr:)?([0-9]*.){3}[0-9]*' | grep -Eo '([0-9]*.){3}[0-9]*' | grep -v '127.0.0.1'
将 Alias (别名)从 /phpmyadmin 更改为 /pmahidden – 您也可以将其更改为您想要的任何内容。
保存并退出 vi. 现在必须重新加载Apache服务,以使更改生效。
代码语言:javascript复制$ sudo vi /etc/apache2/conf-available/phpmyadmin.conf
您现在应该能够通过 example.com/pmahidden 访问 phpMyAdmin
5. 用 .htpasswd 进行保护
我们可以使用 .htpasswd 进一步保护 phpMyAdmin 登录页面。这又增加了一条抵御机器人和黑客的防线。
5.1 允许. htaccess 覆盖
要设置.htpasswd,我们必须首先更改phpMyadmin Apache配置文件,以允许.htaccess覆盖。 使用 vi 打开配置文件 phpmyadmin.conf
代码语言:javascript复制$ sudo vi /etc/apache2/conf-available/phpmyadmin.conf
在 DirectoryIndex index.php 下面添加 AllowOverride All 如下图:
保存并且退出 vi 现在重新加载Apache服务。
代码语言:javascript复制$ sudo service apache2 reload
5.2 设置 .htpasswd
我们将使用 gedit 文本编辑器在 phpMyAdmin 安装目录中创建一个新的 .htaccess 文件。
代码语言:javascript复制$ sudo gedit /usr/share/phpmyadmin/.htaccess
粘贴以下内容到 .htaccess 文件.
代码语言:javascript复制AuthType Basic
AuthName "Restricted Access"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user
点击 Save 按钮保存, 并点击关闭按钮退出. 现在,我们可以使用 htpasswd 工具生成 .htpasswd 文件。
在本例中,我们创建了一个名为pmauser (php my admin user)的新用户,尽管您可以将其更改为您想要的任何内容。
代码语言:javascript复制$ sudo htpasswd -c /etc/phpmyadmin/.htpasswd pmauser
您将被要求输入一个新的密码两次(生成一个密码)。 完成之后, 现在您可以在浏览器中访问 phpMyAdmin, 现在应该会提示您输入登录细节。
参考:Installing phpMyAdmin for Apache on Ubuntu 18.04