centos7 源码安装PHPmyadmin

时间:2024-03-01 12:59:45

安装phpMyAdmin

 

phpMyAdmin是一个使用PHP语言编写的免费软件,旨在通过Web界面管理MySQL数据库。phpMyAdmin支持MySQL和MariaDB上的各种操作。用户可以通过Web界面执行数据库的常用操作(数据库管理,表,字段,索引,用户,权限,视图,函数等),以及直接执行任何SQL语句。

 

1. 创建phpMyAdmin Web目录

1
[root@hming-server218-web ~ ]# mkdir /app/data/phpMyAdmin -p

2. 将phpMyAdmin软件包解压到/app/data/phpMyAdmin 目录下

    下载地址:https://www.phpmyadmin.net/downloads/

    cd /home/web/www

    wget  https://files.phpmyadmin.net/phpMyAdmin/4.7.8/phpMyAdmin-4.7.8-all-languages.tar.gz

 

3. 修改nginx配置,创建一个server虚拟机配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
http {
    ......
    # phpMyAdmin
    server {
        listen       8080;
        server_name  _;
        charset UTF8;
        index index.html index.htm index.php index.jsp;
        root  /home/web/www;
        access_log  /var/log/nginx/phpMyAdmin.log  main;
  
        location /phpmyadmin/ {
            index index.html index.htm index.php;
        }
  
        location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /home/web/www$fastcgi_script_name;
            include        fastcgi_params;
        }
    }
}

 

4. 创建数据库root用户权限,允许php服务器使用root用户管理数据服务器

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
[root@hming-server217-mdb ~ ]# mysql -uroot -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 13
Server version: 10.1.20-MariaDB Source distribution
  
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)]> select user,host,password from mysql.user;
+------+-----------+-------------------------------------------+
| user | host      | password                                  |
+------+-----------+-------------------------------------------+
| root | localhost | *84BB5DF4823DA319BBF86C99624479A198E6EEE9 |
| root | 127.0.0.1 | *84BB5DF4823DA319BBF86C99624479A198E6EEE9 |
| root | ::1       | *84BB5DF4823DA319BBF86C99624479A198E6EEE9 |
+------+-----------+-------------------------------------------+
3 rows in set (0.00 sec)
  
MariaDB [(none)]> grant all privileges on *.* to \'root\'@\'10.0.6.218\' identified by \'phpMyAdmin_123\';
Query OK, 0 rows affected (0.00 sec)
  
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

 

5. 配置防火墙规则

1
2
3
4
5
# iptables -I INPUT -p tcp --dport 3306 -s 10.0.6.0/24 -j ACCEPT
 
或者
 

firewall-cmd --permanent --zone=public --add-port=8080/tcp

firewall-cmd --permanent --zone=public --add-port=3306/tcp

 

6. 修改phpMyAdmin配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#cp/app/data/phpMyAdmin/libraries/config.default.php /app/data/phpMyAdmin/libraries/config.default.php.save
# vim /app/data/phpMyAdmin/libraries/config.default.php
 
/**
 * The \'cookie\' auth_type uses AES algorithm to encrypt the password. If
 * at least one server configuration uses \'cookie\' auth_type, enter here a
 * pass phrase that will be used by AES. The maximum length seems to be 46
 * characters.
 *
 * @global string $cfg[\'blowfish_secret\']
 */
$cfg[\'blowfish_secret\'] = \'123456\';
  
  
/**
 * MySQL hostname or IP address
 *
 * @global string $cfg[\'Servers\'][$i][\'host\']
 */
$cfg[\'Servers\'][$i][\'host\'] = \'10.0.6.217\';
  
/**
 * MySQL port - leave blank for default port
 *
 * @global string $cfg[\'Servers\'][$i][\'port\']
 */
$cfg[\'Servers\'][$i][\'port\'] = \'3306\';
  
/**
 * Path to the socket - leave blank for default socket
 *
 * @global string $cfg[\'Servers\'][$i][\'socket\']
 */
$cfg[\'Servers\'][$i][\'socket\'] = \'\';
  
  
/**
 * Authentication method (valid choices: config, http, signon or cookie)
 *
 * @global string $cfg[\'Servers\'][$i][\'auth_type\']
 */
$cfg[\'Servers\'][$i][\'auth_type\'] = \'cookie\';
  
/**
 * HTTP Basic Auth Realm name to display (only used with \'HTTP\' auth_type)
 *
 * @global string $cfg[\'Servers\'][$i][\'auth_http_realm\']
 */
$cfg[\'Servers\'][$i][\'auth_http_realm\'] = \'\';
  
/**
 * MySQL user
 *
 * @global string $cfg[\'Servers\'][$i][\'user\']
 */
$cfg[\'Servers\'][$i][\'user\'] = \'root\';
  
/**
 * MySQL password (only needed with \'config\' auth_type)
 *
 * @global string $cfg[\'Servers\'][$i][\'password\']
 */
$cfg[\'Servers\'][$i][\'password\'] = \'phpMyAdmin_123\';

 

 参数解释参考:https://wenku.baidu.com/view/0b327800bed5b9f3f90f1c2d.html?rec_flag=&mark_pay_doc=2&mark_rec_page=1&mark_rec_position=4&clear_uda_param=1

7. 登录phpMyAdmin Web管理界面,打开http://10.0.6.218:8000/phpMyAdmin/

wKioL1k1LtOjYflAAABRSY9XMcY416.png

 

输入数据库用户和密码

wKiom1k1LvuwWYS4AAC226Qplhw248.png

 

输入密码后报错参考:http://blog.csdn.net/qq_15574035/article/details/76576990 

测试创建数据库

wKioL1k1LyaAiOBjAACQXd-EbIA418.pngwKioL1k1LzbjDUlwAABzorjVTrg315.png

 

配置phpMyAdmin增加Nginx登录身份验证功能

 

1. 修改Nginx配置文件,在/phpMyAdmin/处增加允许访问规则和auth_basic身份验证配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
    # phpMyAdmin
    server {
        listen       8000;
        server_name  10.0.6.218;
        charset UTF8;
        index index.html index.htm index.php index.jsp;
        root  /app/data;
        access_log  /var/log/nginx/phpMyAdmin.log  main;
  
        location /phpMyAdmin/ {
            allow 10.0.6.0/24;
            deny all;
            auth_basic            "Auth";
            auth_basic_user_file  /usr/local/nginx/.htpassword;
            index index.html index.htm index.php;
        }
  
        location ~ \.php$ {
            fastcgi_pass   unix:/var/lib/php/php-fcgi.sock;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /app/data$fastcgi_script_name;
            include        fastcgi_params;
        }
    }

 

2. 使用htpasswd创建用户(HM)和密码

1
2
3
4
5
6
7
[root@hming-server218-web ~ ]# yum install httpd
[root@hming-server218-web ~ ]# htpasswd -c /usr/local/nginx/.htpassword HM
New password: 
Re-type new password: 
Adding password for user HM
[root@hming-server218-web ~ ]# ls -l /usr/local/nginx/.htpassword 
-rw-r--r-- 1 root root 41 Jun  6 18:04 /usr/local/nginx/.htpassword

 

3. 重新访问phpMyAdmin,再次登录需要进行身份验证,以后的每一次登录都将需要进行此验证

wKioL1k2BGmjE0sMAAAq_Uojruo486.png

输入用户和密码

wKiom1k2BHnwJc_QAABPzYXxRgU128.png