本教程将向您展示如何在Ubuntu 20.04/20.10 上安装LAMP堆栈。软件堆栈是捆绑在一起的一组软件工具。LAMP代表Linux,Apache,MariaDB / MySQL和PHP,所有这些都是开源的,可以免费使用。它是为动态网站和Web应用程序提供支持的最常见的软件堆栈。Linux是操作系统。Apache是Web服务器;MariaDB / MySQL是数据库服务器,PHP是负责生成动态网页的服务器端脚本语言。 …
如何在Ubuntu 20.04/20.10上为Apache安装和保护phpMyAdmin, How To Install & Secure phpMyAdmin for Apache on Ubuntu 20.04
在本指南中,我们将安装和保护phpMyAdmin并使其在Ubuntu Server 20.04上与Apache一起使用。
先决条件
您应该使用具有sudo特权的非root用户,如Ubuntu 20.04 Initial Server Setup中所述。
在继续本指南之前,您还应该已经安装了适用于Ubuntu 20.04的LAMP堆栈并可以提供网页。
1.安装phpMyAdmin
首先,更新软件包列表并在Ubuntu 20.04上安装phpMyAdmin。
下面我们有两个命令,以分隔 &&
。第一个命令将更新软件包列表,以确保您获得phpMyAdmin的最新版本和依赖关系。我还包括PHP扩展php-mbstring
,出于性能方面的考虑,强烈建议这样做。
sudo apt update && sudo apt install phpmyadmin php-mbstring
当要求继续时,按 y
和 ENTER
。
1.1。选择apache2
如果提示您选择Web服务器,请按 SPACE
,[*]
在apache2旁边 放一个星号 ,然后按 TAB
以突出显示“ 确定” ,然后按 ENTER
。
1.2。配置数据库
选择 Yes,然后按 ENTER
安装和配置数据库。
1.3。申请密码
phpMyAdmin内部使用MySQL应用程序密码与MySQL进行通信,因此不建议您使用它登录phpMyAdmin。您可以将其保留为空白,并会自动生成一个密码。
按ENTER
继续。
2.测试phpMyAdmin
现在,您应该能够通过访问服务器的域名或公共IP地址(后跟)来访问phpMyAdmin Web界面 /phpmyadmin
。例如 http://example.com/phpmyadmin
或 http://192.168.1.10/phpmyadmin
如果您还没有域名或不知道您的IP,可以通过以下方法查找:
ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'
MySQL root帐户和phpMyAdmin
在MySQL 5.7及更高版本中,您将无法使用MySQL根帐户登录phpMyAdmin,并且将收到错误消息“用户’root’@’localhost’的访问被拒绝”。相反,您应该仅为phpMyAdmin创建一个新的超级用户帐户。如果要强制MySQL允许通过phpMyAdmin进行root登录,请参见:无法使用root登录phpMyAdmin
3.创建MySQL超级用户
在终端中,使用您的MySQLroot
密码登录到MySQL 。
首次安装MySQL时,您可能已经创建了root密码,或者密码可能为空。如果您忘记了MySQL根密码,请参阅:重置MySQL根密码
sudo mysql -u root -p
登录后,使用您选择的用户名添加一个新的MySQL超级用户。在此示例中,我们称之为 pmauser
。单击此处生成一个强密码,并password_here
在下面替换它。
CREATE USER 'pmauser'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password_here';
现在,将超级用户特权授予我们的新用户pmauser
。
GRANT ALL PRIVILEGES ON *.* TO 'pmauser'@'localhost';
退出MySQL。
exit
您现在应该可以使用此新用户帐户访问phpMyAdmin。
强烈建议您在以下步骤中为phpMyAdmin设置一些其他安全性。
4.晦涩的phpMyAdmin URL
Bot会连续扫描Web服务器以查找默认的phpMyAdmin登录页面,因此建议您将URL更改为其他名称。
在此示例中,我们将其从更改 example.com/phpmyadmin
为 example.com/pmahidden
。
使用nano
文本编辑器打开Apache的phpMyAdmin配置文件。
sudo nano /etc/apache2/conf-available/phpmyadmin.conf
Alias
从更改/phpmyadmin
为 /pmahidden
–您可以将其更改为所需的任何值。
/etc/apache2/conf-available/phpmyadmin.conf
# phpMyAdmin default Apache configuration Alias /pmahidden /usr/share/phpmyadmin
保存并退出(按CTRL
+ X
,Y
然后按ENTER
)
现在,您必须重新加载Apache服务才能使更改生效。
sudo service apache2 reload
您现在应该可以在以下位置访问phpMyAdmin example.com/pmahidden
5.用.htpasswd保护
我们可以使用进一步保护phpMyAdmin登录页面.htpasswd
。这就增加了针对机器人和攻击者的另一道防线。
5.1。允许.htaccess覆盖
要进行设置.htpasswd
,我们必须首先将phpMyadmin Apache配置文件更改为允许.htaccess
Overrides。
在nano
文本编辑器中打开配置文件。
sudo nano /etc/apache2/conf-available/phpmyadmin.conf
AllowOverride All
在下面 添加 DirectoryIndex index.php
/etc/apache2/conf-available/phpmyadmin.conf
<Directory /usr/share/phpmyadmin> Options SymLinksIfOwnerMatch DirectoryIndex index.php AllowOverride All
保存并退出(按CTRL
+ X
,Y
然后按ENTER
)
现在重新加载Apache服务。
sudo service apache2 reload
5.2。设置.htpasswd
我们将.htaccess
使用nano
文本编辑器在phpMyAdmin安装目录中创建一个新文件。
sudo nano /usr/share/phpmyadmin/.htaccess
粘贴在下面。(如果在Windows上使用PuTTY,请使用鼠标右键粘贴)
/usr/share/phpmyadmin/.htaccess
AuthType Basic AuthName "Restricted Access" AuthUserFile /etc/phpmyadmin/.htpasswd Require valid-user
保存并退出(按CTRL
+ X
,Y
然后按ENTER
)
现在,我们可以.htpasswd
使用该htpasswd
工具生成文件了 。
在此示例中,我们将创建一个名为pmauser
(php是我的管理员用户)的新用户,尽管您可以将其更改为所需的任何名称。
sudo htpasswd -c /etc/phpmyadmin/.htpasswd pmauser
本文:如何在Ubuntu 20.04上为Apache安装和保护phpMyAdmin, How To Install & Secure phpMyAdmin for Apache on Ubuntu 20.04