phpMyAdmin 是一个以 php 为基础,以 Web-Base 方式架构在网站主机上的 MySQL 数据库管理工具,让管理者可用 Web 接口管理 MySQL 数据库。本文详细介绍如何在 Ubuntu 18.04 上手动安装 phpMyAdmin 。以下操作是在 root 账号下进行的,非 root 账号需提升到 root 权限。

下载主程序

首先去官网查看 phpMyAdmin 的最新版本,本文以下载 phpMyAdmin-5.0.2-all-languages 版本为例:

cd /var/www && \
wget -c "https://files.phpmyadmin.net/phpMyAdmin/5.0.2/phpMyAdmin-5.0.2-all-languages.zip" && \
unzip phpMyAdmin-5.0.2-all-languages.zip && \
mv phpMyAdmin-5.0.2-all-languages phpmyadmin && \
rm phpMyAdmin-5.0.2-all-languages.zip

创建虚拟机

vim /etc/nginx/sites-available/sql.timelate.com

本文以域名 sql.timelate.com 为例给出虚拟主机的配置文件,在创建虚拟主机之前已申请了 timelate.com 域名的泛域名证书。点此查看 Ubuntu 18.04 如何使用 Certbot 自动申请并续签 Let's Encrypt 泛域名证书。复制以下内容粘贴并保存:

server {
    listen 80;
    server_name sql.timelate.com;
    return 301 https://sql.timelate.com$request_uri;
}

server {
    listen 443 ssl;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_certificate /etc/letsencrypt/live/timelate.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/timelate.com/privkey.pem;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
    ssl_session_timeout 5m;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;

    server_name  sql.timelate.com;
    root   /var/www/phpmyadmin;
    index  index.php;  

    access_log  /var/log/nginx/sql.timelate.com_access.log main;
    error_log     /var/log/nginx/sql.timelate.com_error.log;

    location ~ [^/]\.php(/|$) {
    fastcgi_split_path_info ^(.+?\.php)(/.*)$;
    if (!-f $document_root$fastcgi_script_name) {
        return 404;
    }

    fastcgi_param HTTP_PROXY "";

    #fastcgi_pass 127.0.0.1:9000;
    fastcgi_pass unix:/run/php/php7.1-fpm.sock;
    fastcgi_index index.php;

    include fastcgi_params;

    #为 php-fpm 设置用户真实ip
    set $realip $remote_addr;
    if ($http_x_forwarded_for ~ "^(\d+\.\d+\.\d+\.\d+)") {
    set $realip $1;
    }
    fastcgi_param  REMOTE_ADDR    $realip;

    fastcgi_param  SCRIPT_FILENAME   $document_root$fastcgi_script_name;
    fastcgi_param  PATH_INFO         $fastcgi_path_info;
    } 
    
    client_max_body_size 50m;
}

接入 nginx :

ln -s /etc/nginx/sites-available/sql.timelate.com /etc/nginx/sites-enabled/sql.timelate.com & \
chown -R www-data:www-data /var/www/phpmyadmin && \
systemctl reload nginx

做好域名解析,访问 sql.timelate.com 便可看到 phpMyAdmin 的登录界面:
login-phpmyadmin.PNG

配置 phpMyAdmin

登录后界面下方可能会有一些警告信息,如下图所示:
phpmyadmin.PNG

phpMyAdmin 高级功能尚未完全设置,部分功能未激活

该问题的解决方法很简单,点击问题中的“查找原因”,在打开的页面中点击“创建”即可。
phpmyadmin1.PNG

配置文件现在需要一个短语密码

vim /var/www/phpmyadmin/libraries/config.default.php

找到 $cfg['blowfish_secret'] = '' ,改成 $cfg['blowfish_secret'] = '任意字符'

vim /var/www/phpmyadmin/config.sample.inc.php

找到 $cfg['blowfish_secret'] = '' ,改成 $cfg['blowfish_secret'] = '任意字符'
注意,任意字符为字母或数字,不能字母数字混用。字符串设置的长一些,否则会出现 配置文件中的密文(blowfish_secret)太短的警告。

变量 $cfg['TempDir'] (./tmp/)无法访问。phpMyAdmin 无法缓存模板文件,所以会运行缓慢。

出现这个的原因是 phpMyAdmin 的安装目录下 tmp 目录不存在或存在但是权限不对。解决的方法就是创建相应的目录并给予正确的读写权限:

mkdir /var/www/phpmyadmin/tmp && chown www-data:www-data /var/www/phpmyadmin/tmp

刷新一下网站,看看警告信息是不是没有了。通过以上方便便可在 Ubuntu 18.04 上手动安装 phpMyAdmin ,本文结束。

文章目录