在Ubuntu 20.04/18.04/Debian 9上用Apache安装phpMyAdmin
在今天的教程中,我们将讨论如何在Ubuntu 18.04/Debian 9上使用Apache安装phpMyAdmin。在Ubuntu 20.04/18.04和Debian 9存储库中可用的phpMyAdmin软件包有些陈旧。如果我们需要在Ubuntu 20.04/18.04/Debian 9上安装最新的phpMyAdmin,则必须从官方的phpMyAdmin发布页面下载该软件包。
什么是phpMyAdmin?
phpMyAdmin是一个用PHP编写的免费开放源代码工具,用于从Web界面管理MySQL和MariaDB数据库服务器。大多数开发人员更喜欢使用phpMyAdmin与数据库服务器进行交互,因为它易于使用,再加上高级SQL编辑器,可以轻松构建和测试复杂的SQL查询。
在Ubuntu/Debian上安装PHP
运行phpMyAdmin的第一个软件要求是PHP。由于phpMyAdmin是用PHP编写的,因此我们需要在主机系统上安装它。 PHP版本可以是存储库中可用的版本,也可以是更新版本。
如果选择使用OS存储库中可用的PHP版本,请通过在终端中运行以下命令来安装它。
sudo apt update sudo apt-get install -y php php-tcpdf php-cgi php-pear php-mbstring libapache2-mod-php php-common php-phpseclib php-mysql
安装MariaDB数据库服务器
下一步是安装MariaDB数据库服务器。
sudo apt install mariadb-server
保护数据库服务器:
sudo mysql_secure_installation
我们需要一个非root用户才能访问phpMyAdmin仪表板。如果我们没有,则可以创建一个测试。
登录到mysql shell:
$sudo mysql -u root
创建测试数据库和用户。
CREATE DATABASE mydemo; GRANT ALL ON mydemo.* TO theitroad@localhost IDENTIFIED BY 'MyStrongDBPassw0rd'; FLUSH PRIVILEGES; QUIT
使用创建的用户测试登录。
$mysql -u mydemo -pMyStrongDBPassw0rd Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 59 Server version: 10.3.22-MariaDB-1ubuntu1 Ubuntu 20.04 Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]>
安装Apache Web服务器
对于此安装设置,我们选择Apache作为与phpMyAdmin一起使用的Web服务器。我们可以自由选择自己喜欢的Web服务器。
通过运行以下命令在Ubuntu/Debian上安装Apache:
sudo apt-get -y install apache2
在Ubuntu 20.04/18.04/Debian 9上下载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并设置秘密密码:
$sudo vim /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
- 其中192.168.18.0/24是我们信任的子网。
重新启动apache Web服务器。
sudo systemctl restart apache2
访问phpMyAdmin Web界面
打开URLhttp://[ServerIP | Hostname]/phpmyadmin
,使用数据库凭据用户名和密码登录phpMyAdmin仪表板。
成功登录后,将显示phpMyAdmin仪表板。