Câu hỏi Làm thế nào để cấu hình phpMyAdmin để truy cập vào nhiều máy chủ?


Cách cấu hình phpMyAdmin của Ubuntu để tôi có thể sử dụng nó để quản trị nhiều máy chủ MySQL là gì? Các tham số cơ sở dữ liệu được đặt trong /etc/dbconfig-common/phpmyadmin.conf, nhưng chỉ có không gian trong đó cho các thông số kết nối cho một máy chủ duy nhất. Tôi có thể hack nó vào /etc/phpmyadmin/config-db.php và /etc/phpmyadmin/config.inc.php, nhưng tôi cho rằng phải có một cách thanh lịch hơn.


12
2018-01-04 09:40


gốc


Bạn đã bao giờ tìm thấy một sollution để làm điều này? Bạn có hack vào một trong các tệp bạn đã đề cập hay không? - Nanne


Các câu trả lời:


Câu hỏi khá cũ nhưng vẫn liên quan đến tìm kiếm.

phpMyAdmin sử dụng PHP đơn giản để cấu hình các tập tin, và $cfg['Servers'] mảng để có được các máy chủ được cấu hình.

Nên đúng là thêm tệp cấu hình mới vào /etc/phpmyadmin/conf.d cho mọi máy chủ bạn muốn thêm. Chỉ cần kết thúc tên tệp trong .php để đưa chúng vào, nhưng bạn nên sử dụng your_new_server.inc.php cho thống nhất.

Nội dung tối thiểu cho tệp cấu hình đã cho sẽ là:

$cfg['Servers'][2]['host']     = 'THE_HOST';
$cfg['Servers'][2]['user']     = 'THE_USER';
$cfg['Servers'][2]['password'] = 'THE_PASSWORD';

Như đã nêu ở trên, bạn có thể kiểm tra /usr/share/doc/phpmyadmin/examples/config.manyhosts.inc.php để biết thêm thông số.

Quan trọng: Bạn phải tăng chỉ mục (2) của mảng cho mỗi tệp mới và tránh sử dụng 1 nếu bạn muốn tiếp tục kết nối với máy chủ cục bộ.

Nếu anh chàng (s) mà gói phpMyAdmin đã nghĩ về nó, họ có thể đã thêm gia tăng $i biến trong foreach bao gồm các tệp từ conf.d thư mục, vì vậy bạn chỉ có thể sử dụng nó làm chỉ mục và không phải lo lắng về việc phải tăng nó theo cách thủ công, nhưng đáng buồn là không phải vậy. Bạn có thể tự mình làm điều đó.


6
2018-03-22 08:31



Tôi đã thử đặt nội dung tối thiểu được liệt kê trong /etc/phpmyadmin/conf.d/slaveA.conf.php và đơn giản là nhìn thấy nội dung ở đầu trang PHPMyAdmin. Khi tôi catted cùng một nội dung vào dưới cùng của config.inc.php nó làm việc. Một cái gì đó về điều đó bao gồm có vẻ là rối tung lên. Nếu không, điều này có vẻ là cách dự kiến ​​để tạo cấu hình tùy chỉnh mà sẽ không bị giết trong các bản cập nhật. - flickerfly
@flickerfly, trả lời trễ nhưng mã trong các tập tin cấu hình phải bắt đầu bằng <?php, giống như bất kỳ tập lệnh PHP nào khác. - Marc


Tôi nghĩ đây là cách chính xác nhất để làm điều đó:

Trước tiên hãy thiết lập mật khẩu:

sudo htpasswd -c /etc/phpmyadmin/htpasswd.setup admin

Sau đó tắt bảo mật:

sudo pma-configure

Sau đó đi đến http: // your yourserver / phpmyadmin / setup (ở đây các trình duyệt yêu cầu auth, người dùng là admin và mật khẩu là những gì bạn viết trong lệnh đầu tiên), với thuật sĩ đó bạn cấu hình các máy chủ của bạn, một khi được thực hiện, đặt bảo mật một lần nữa:

sudo pma-secure

4
2017-12-16 16:00



Tệp cấu hình được tạo bởi phương thức này được lưu trữ trong /var/lib/phpmyadmin/config.inc.php. - Michael Lawton
Tập tin cấu hình này được tạo ra bởi phương pháp này sau đó được bao gồm trong tập tin cấu hình chính tại /etc/phpmyadmin/config.inc.php. Các phpMyAdmin thiết lập kịch bản là lỗi trên Ubuntu và không tải cấu hình hiện có (buộc bạn phải bắt đầu từ đầu mỗi khi bạn cấu hình nó). Ngoài ra cấu hình nó tạo ra bao gồm những thứ như bí mật blowfish mà sau đó được ghi đè bởi tập tin cấu hình chính. Bạn sẽ thấy rằng máy chủ đầu tiên (1) bị ghi đè bởi tệp cấu hình chính, sử dụng các giá trị máy chủ từ config-db.php. - Michael Lawton


Tôi đã giả định như sau:

  • /etc/phpmyadmin/ sẽ là nơi hợp lý nhất để thêm cấu hình
  • /etc/phpmyadmin/config-db.php là vị trí cho cấu hình mặc định (cục bộ?). Điều này là bởi vì nó là mặc định, chỉ một db
  • /etc/phpmyadmin/config.inc.php đọc cơ sở dữ liệu mặc định để nó có một. Ít nhất cái này được sử dụng, vì vậy bạn có một cơ sở dữ liệu. Nếu có gì đó thay đổi trong cấu hình của bạn, config-db.php được thay đổi, do đó các thay đổi 'cục bộ' đối với tệp của bạn không được sửa đổi

Do đó kết luận của tôi là thêm một máy chủ phụ bên dưới phần này:

/* Configure according to dbconfig-common if enabled */
if (!empty($dbname)) {
    //reading from config-db.php
}

//$i++ was allready done in if above
//Adding extra servers
 $cfg['Servers'][$i]['host'] = 'serverhost.host.tld';
 $cfg['Servers'][$i]['extension'] = 'mysqli';
//...etc

Điều này có vẻ như là nơi tốt nhất.


2
2018-03-31 09:58





Theo phpMyAdmin tài liệu bạn có thể xác định nhiều máy chủ trong $cfg['Servers'] mảng được xác định trong config.inc.php tập tin.


1
2018-01-04 09:47



Trong một phpMyAdmin cài đặt chung, có. Nhưng Ubuntu có các tệp cấu hình riêng để tạo một phần của tệp config.inc.php và tôi muốn biết cách cấu hình nó của Ubuntu, mà không cần phải ghi đè cấu hình Ubuntu. - Mike Scott
Tôi hiểu rồi. Các ý kiến ​​trong tập tin nói You can regenerate it using: dpkg-reconfigure -plow phpmyadmin. Tôi cho rằng bạn đã thử điều đó? (sẽ không làm điều đó trên hệ thống sản xuất bây giờ) Khác hơn là ... các tập tin thay đổi bằng tay nên được nhắc nhở về cập nhật trước khi được ghi đè. - Carsten Thiel
Có, tôi có thể tạo lại tệp config-db.php, nhưng tệp cấu hình mà từ đó nó cung cấp các tham số kết nối cơ sở dữ liệu (/etc/dbconfig-common/phpmyadmin.conf) chỉ có chỗ để cấu hình một máy chủ cơ sở dữ liệu. Tôi muốn biết cách cấu hình nhiều hơn một máy chủ cơ sở dữ liệu. - Mike Scott
+ Mike Scott, tôi không thể nhận được $ cfg ['Servers'] để làm việc trong một tập tin conf.d /, nhưng khi tôi đặt nó trong config.inc.php nó hoạt động tốt. Tôi nghĩ rằng có một số lỗi mà tuyên bố bao gồm messes với nó. - flickerfly


Tệp cấu hình chính được lưu trữ trong /etc/phpmyadmin/config.inc.php. Tệp này bao gồm

  • Bí mật Blowfish từ /var/lib/phpmyadmin/blowfish_secret.inc.php
  • Đã tạo cấu hình từ tập lệnh thiết lập phpMyAdmin (phương thức của diegueus9) /var/lib/phpmyadmin/config.inc.php
  • Giá trị DB từ /etc/phpmyadmin/config-db.php được tạo từ /etc/dbconfig-common/phpmyadmin.conf bởi /usr/sbin/dbconfig-generate-include. /etc/dbconfig-common/phpmyadmin.conf có thể được sửa đổi bằng cách sử dụng dpkg-reconfigure -plow phpmyadmin
  • Tệp cấu hình bổ sung từ /etc/phpmyadmin/conf.d/*.php

Một số đoạn mã cấu hình mẫu đang ở /usr/share/doc/phpmyadmin/examples kể cả config.manyhosts.inc.php. Tập tin này có thể được thêm vào /etc/phpmyadmin/conf.d. Nó hoạt động bằng cách đặt lại ibiến trở lại 1 trước khi tạo bất kỳ máy chủ nào để nó ghi đè máy chủ lưu trữ trong /etc/phpmyadmin/config.inc.php.

Nếu bạn muốn thực hiện một cấu hình nâng cao hơn, có thể bạn sẽ muốn thay đổi /etc/phpmyadmin/config.inc.php và có thể thêm các tiện ích cấu hình khác bằng /etc/phpmyadmin/conf.d.

Để thêm hỗ trợ cho các cấu hình bổ sung cho các tệp cấu hình cũ hơn, bạn có thể tạo thư mục /etc/phpmyadmin/conf.d và sau đó thêm mã PHP bên dưới vào cuối /etc/phpmyadmin/config.inc.php:

/* Support additional configurations */
foreach (glob('/etc/phpmyadmin/conf.d/*.php') as $filename) {
        include($filename);
}

1
2018-05-11 16:43





Hướng dẫn này giải thích cách bạn có thể quản lý nhiều máy chủ MySQL từ một cài đặt phpMyAdmin. Vì lý do bảo mật, giao tiếp giữa phpMyAdmin và bất kỳ máy chủ MySQL từ xa nào đang sử dụng mã hóa SSL


0
2017-09-21 05:40



Điều đó không cho tôi biết làm thế nào để làm điều đó bằng cách sử dụng Ubuntu cách cấu hình nó, do đó, nó không trả lời câu hỏi cả. - Mike Scott