在Debian 10(Buster)上用Apache安装phpMyAdmin
在今天的教程中,我们将讨论如何在Debian 10(Buster)Linux上安装phpMyAdmin。 phpMyAdmin是一个用PHP编写的免费开放源Web应用程序,用于管理MySQL和MariaDB数据库服务器。由于其易用性,因此开发人员和DBA大多使用它与数据库服务器进行交互。
phpMyAdmin提供了一个高级SQL编辑器,可轻松构建和测试复杂的SQL查询。它还允许我们管理数据库,用户,数据导入和导出,存储过程和触发器,执行和编辑查询,全局搜索数据库等等。
本教程说明了在Debian 10(Buster)上使用Apache安装phpMyAdmin的步骤。让我们开始吧。
安装PHP
PHP是运行phpMyAdmin的主要软件要求。使用下面的教程进行安装。
在Debian 10上安装PHP
为简单起见,可以执行以下命令来安装PHP和所需的扩展。
sudo apt -y update sudo apt -y install wget php php-cgi php-mysqli php-pear php-mbstring php-gettext libapache2-mod-php php-common php-phpseclib php-mysql
安装MariaDB数据库服务器
如果我们没有要管理的现有数据库服务器,则可以使用我们的教程在Debian 10上安装MariaDB数据库服务器。
如何在Debian 10 Buster上安装MariaDB
安装Apache Web服务器
对于此安装设置,我们选择Apache作为与phpMyAdmin一起使用的Web服务器。我们可以自由选择喜欢的任何Web服务器,例如Nginx。
通过运行以下命令在Debian 10上安装Apache Web Server
sudo apt-get -y install wget apache2
在Debian 10上安装phpMyAdmin
我们可以从下载页面检查phpMyAdmin的发布。感谢William Desportes提供有关如何获取最新版本的phpMyAdmin的提示。
使用wget命令下载最新版本的phpMyAdmin。
DATA="$(wget https://www.phpmyadmin.net/home_page/version.txt -q -O-)" URL="$(echo $DATA | cut -d ' ' -f 3)" VERSION="$(echo $DATA | cut -d ' ' -f 1)" wget https://files.phpmyadmin.net/phpMyAdmin/${VERSION}/phpMyAdmin-${VERSION}-all-languages.tar.gz
对于仅英语语言的软件包,请使用:
wget https://files.phpmyadmin.net/phpMyAdmin/${VERSION}/phpMyAdmin-${VERSION}-english.tar.gz
解压缩下载的存档:
tar xvf phpMyAdmin-${VERSION}-all-languages.tar.gz
将结果文件夹移至"/usr/share/phpmyadmin"文件夹。
sudo mv phpMyAdmin-*//usr/share/phpmyadmin
为phpMyAdmin临时文件创建目录。
sudo mkdir -p /var/lib/phpmyadmin/tmp sudo chown -R www-data:www-data /var/lib/phpmyadmin
为phpMyAdmin配置文件(例如htpass文件)创建目录。
sudo mkdir /etc/phpmyadmin/
创建phpMyAdmin配置文件。
sudo cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php
编辑文件`/usr/share/phpmyadmin/config.inc.php并设置秘密密码:
$cfg['blowfish_secret'] = 'H2OxcGXxflSd8JwrwVlh6KW6s2rER63i';
配置临时目录:
$cfg['TempDir'] = '/var/lib/phpmyadmin/tmp';
配置Apache Web服务器
创建phpMyAdmin Apache配置文件:
sudo vim /etc/apache2/conf-enabled/phpmyadmin.conf
并将以下内容粘贴到文件中:
Alias /phpmyadmin /usr/share/phpmyadmin <Directory /usr/share/phpmyadmin> Options SymLinksIfOwnerMatch DirectoryIndex index.php <IfModule mod_php5.c> <IfModule mod_mime.c> AddType application/x-httpd-php .php </IfModule> <FilesMatch ".+\.php$"> SetHandler application/x-httpd-php </FilesMatch> php_value include_path . php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/ php_admin_value mbstring.func_overload 0 </IfModule> <IfModule mod_php.c> <IfModule mod_mime.c> AddType application/x-httpd-php .php </IfModule> <FilesMatch ".+\.php$"> SetHandler application/x-httpd-php </FilesMatch> php_value include_path . php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/ php_admin_value mbstring.func_overload 0 </IfModule> </Directory> # Authorize for setup <Directory /usr/share/phpmyadmin/setup> <IfModule mod_authz_core.c> <IfModule mod_authn_file.c> AuthType Basic AuthName "phpMyAdmin Setup" AuthUserFile /etc/phpmyadmin/htpasswd.setup </IfModule> Require valid-user </IfModule> </Directory> # Disallow web access to directories that don't need it <Directory /usr/share/phpmyadmin/templates> Require all denied </Directory> <Directory /usr/share/phpmyadmin/libraries> Require all denied </Directory> <Directory /usr/share/phpmyadmin/setup/lib> Require all denied </Directory>
我们可以通过添加以下行来限制来自特定IP的访问:
Require ip 127.0.0.1 192.168.18.0/24
重新启动apache Web服务器。
sudo systemctl restart apache2
访问phpMyAdmin Web界面
访问http://[ServerIP | Hostname]/phpmyadmin
上的phpMyAdmin Web界面。使用数据库凭据用户名和密码登录。
成功登录后,将显示phpMyAdmin仪表板。