Ghid de instalare phpMyAdmin

Atenție! phpMyAdmin nu oferă propriile sale metode de securitate MySQL server. Acordarea privilegiilor la baza de date MySQL - prerogativa administratorului de sistem. „Privilegii“ Pagina PhpMyAdmin pot fi folosite doar pentru acest lucru.







instalare rapidă


1. Despachetați pachetul de distribuție la directorul rădăcină al serverului dvs. web (asigurați-vă că subdirectorul prea neambalat): tar -xzvf phpMyAdmin_x.x.x.tar.gz. Dacă nu aveți acces direct la rădăcina spațiului web, extrage fișierele într-un director de pe mașina locală, și, după a treia etapă, copiați directorul de pe serverul Web, de exemplu prin ftp.

2. Asigurați-vă că toate script-urile au proprietarul corespunzător (dacă PHP rulează în modul de siguranță, există mai multe script-uri care aparțin proprietari diferiți, pentru a provoca o problemă în lucrare). A se vedea FAQ 4.2 și 1.26 frecvente.

Fișierul creat ar trebui să fie plasat în phpMyAdmin directorul principal (cel care conține index.php). phpMyAdmin încarcă primele biblioteci / config.default.php, iar apoi se substituie valorile prescrise de variabilele din ea, care se află în config.inc.php. Dacă valoarea implicită (variabilele care sunt definite în biblioteci / config.default.php) este suficient de mare, atunci nu este nevoie să-l includă în config.inc.php. Pentru a rula phpMyAdmin veți avea nevoie de cel puțin câteva linii directoare, configurație simplă poate arăta astfel:

# 060 ;? PHP
$ Cfg [ 'blowfish_secret'] = 'ba17c1ec07d65003'; // folosesc aici o valoare de alegere
$ I = 0;
$ I ++;
$ Cfg [ 'Servers'] [$ i] [ 'auth_type'] = 'cookie';
?# 062;


Sau, dacă nu doriți să-l introduceți de fiecare dată când un utilizator / parolă (această configurație nu este recomandată din motive de siguranță), fișierul de configurare ar putea arata astfel:

# 060 ;? PHP
$ I = 0;
$ I ++;
$ Cfg [ 'Servers'] [$ i] [ 'user'] = 'root';
$ Cfg [ 'Servers'] [$ i] [ 'parola'] = 'cbb74bc'; // utilizați aici parola
?# 062;

  • În loc să modificați manual config.inc.php fișier, puteți utiliza script-ul de instalare. În primul rând, trebuie să creați manual „config“ dosar în directorul principal phpMyAdmin. Aceasta este - o măsură de securitate. Puteți utiliza următoarele comenzi atunci când rulează sub sistemul de operare Linux / Unix:

    cd phpMyAdmin
    mkdir config # crea un director pentru a stoca
    chmod o + RW de configurare # da tuturor utilizatorilor permisiunea de a scrie să-l


    Pentru a edita un fișier de configurare existent, puteți utiliza următoarele comenzi:

    cp config.inc.php config / # copie de funcționare de configurare pentru editare
    chmod o + w config / config.inc.php # oferă tuturor utilizatorilor permisiunea de a scrie să-l


    Pe alte platforme, creați pur și simplu un director și asigurați-vă că serverul web are permisiuni pentru a citi și scrie în ea. Întrebări frecvente 1.26 poate ajuta în acest caz.

    Apoi, deschide browser-ul script-uri / setup.php. Amintiți-vă că modificările nu vor fi salvate pe disc, atâta timp cât butonul „Save“ este apăsat în blocul „Configurare“. Dacă totul este bine, script-ul salvează noul config.inc.php în directorul config /, dar în cazul în care serverul web nu are permisiunile necesare, puteți vedea mesajul de eroare „Nu se poate încărca sau salva configurația“. În acest caz, asigurați-vă că directorul config / configurat și are drepturile necesare, sau utilizați link-ul „Descărcați“ pentru a salva fișierul de configurare de pe discul local și apoi să încărcați (de exemplu, prin FTP) la un server.

    Odată ce fișierul a fost salvat, trebuie să-l mutați din directorul config / în directorul rădăcină al phpMyAdmin și din motive de siguranță să-și piardă drepturile asupra:

    mv config / config.inc.php. # Mută ​​fișierul în directorul curent
    chmod o-rw config.inc.php # suprascrie dreptul de a citi și a scrie acces pentru toți ceilalți utilizatori

    4. Dacă intenționați să utilizați „config“ autentificare (auth_type), este necesar pentru a proteja directorul ați instalat phpMyAdmin de accesul neautorizat, deoarece acest mod permite oricărui utilizator să acceseze phpMyAdmin fără utilizator / parolă. Recomandate metode alternative de autentificare, de exemplu, HTTP-AUTH (prin .htaccess fișier), sau una din celelalte două metode de autentificare: cookie sau http. A se vedea. Capitolul Întrebări frecvente „setare multi-user“ pentru mai multe informații, în special să acorde o atenție la întrebările frecvente 4.4.

    5. Deschideți directorul principal phpMyAdmin în browser. Ar trebui să vedeți un ecran de bun venit phpMyAdmin și bazele de date ale dvs., un ecran de intrare de conectare, în cazul HTTP- sau autentificare cookie-mode.

    6. Trebuie să refuze accesul la ./libraries subdirectorul înseamnă serverul web. Dacă utilizați serverul web Apache pentru a proteja directorul Puteți utiliza fișierul .htaccess. Când se utilizează alte servere web trebuie să refuze accesul la ./libraries directoare proprii. O astfel de configurație - o măsură preventivă în cazul detectării de vulnerabilități: o posibilă modalitate de dezvăluire (expunere cale) și cross-site scripting (Cross-Site Scripting, XSS).







    infrastructura legate de tabele (tabelele legate de infrastructură)

    Du-te la script-urile directorul /. aici veți găsi fișierul create_tables.sql. (Dacă utilizați un server Windows, să acorde o atenție specială FAQ 1.24).

    Dacă ați instalat MySQL server de versiunea 4.1.2 sau mai târziu, utilizați în loc de fișier create_tables_mysql_4_1_2 de mai sus + .sql. pentru o instalație nouă.

    Dacă aveți deja o infrastructură gata și faceți upgrade MySQL la versiunea 4.1.2 sau mai târziu, utilizați upgrade_tables_mysql_4_1_2 + .sql.

    Puteți folosi phpMyAdmin pentru a crea baza de date și tabele, pentru acest lucru trebuie să aveți privilegii de administrator pentru a crea baze de date și tabele, în legătură cu care script-ul ar putea avea nevoie un pic de tweaking (specificați numele bazei de date).

    După importarea create_tables.sql. Trebuie să determine numele tabelelor din fișierul config.inc.php. folosind liniile directoare descrise în secțiunea „Configurare“. În plus, trebuie să aveți dreptul la tabelul de date controluser (a se vedea mai jos. „Utilizarea modurilor de autentificare“).

    Actualizarea versiunea veche


    Doar copiați ./config.inc.php fișier de configurare de la versiunea anterioară la directorul în care ați dezarhivat phpMyAdmin. Fișierele de configurare de la versiunile foarte vechi (2.3.0 sau mai vechi) pot necesita unele ajustări, deoarece Unele opțiuni au fost modificate sau șterse.

    Nu se recomandă utilizarea (copie) fisierul libraries / config.default.php în loc de config.inc.php. deoarece fișier config.default.php este specific pentru fiecare versiune.

    Dacă ați actualizat versiunea MySQL server mai vechi de 4.1.2 la versiunea 4.1.2 sau mai târziu, și folosind tabele legate de infrastructură, atunci trebuie să executați SQL-script-ul, care este situat în script-uri / upgrade_tables_mysql_4_1_2 + .sql.

    Utilizarea modurilor de autentificare


    • HTTP- moduri de autentificare și cookie- recomandat pentru mediu multi-utilizator, în cazul în care vă puteți permite utilizatorilor accesul la bazele lor de date și le interzic să meargă dincolo de împrejurimile lor.

    Trebuie avut în vedere faptul că Internet Explorer are unele probleme cu cookie-uri, până la versiunea 6. PHP 4.1.1 are, de asemenea, unele probleme în acest domeniu!

    Chiar și în mediul de un singur utilizator, puteți utiliza autentificarea HTTP- modul sau cookie- să fie omise în fișierul de configurare, un cuplu de „utilizator / parolă“.
  • HTTP și autentificare cookie moduri sunt mai sigure, deoarece nu este nevoie de a stoca informații într-un fișier de configurare MySQL phpMyAdmin (cu excepția controluser).

    Cu toate acestea, amintiți-vă că în modul HTTP-autentificare, parola este trimisă necriptat în text simplu, cu excepția cazului când se utilizează protocolul HTTPS.

    Modul cookie-autentificare, parola este stocată criptat folosind algoritmul Blowfish în cookie-uri temporare.
  • Notă: începând cu phpMyAdmin 2.6.1, această secțiune este relevantă numai dacă versiunea MySQL este mai mare decât 4.1.2, sau serverul se execută cu opțiunea --skip-show-baze de date.
  • Atunci când se utilizează „HTTP“ și regimurile „cookie“ phpMyAdmin, este recomandat să aibă un utilizator (controluser), care ar trebui să aibă drepturi doar la un select (SELECT) în următoarele tabele: mysql.user (toate coloanele cu excepția „Parola“), mysql.db ( toate coloanele), mysql.host (toate coloanele) și mysql.tables_priv (toate coloanele cu excepția "Grantor" și "Timestamp").

    GRANT DE UTILIZARE PE mysql * LA 'PMA' @ 'localhost' IDENTIFICAT cu 'pmapass' .;
    GRANT SELECT (
    Gazdă, de utilizare, Select_priv, Insert_priv, Update_priv, Delete_priv,
    Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv,
    File_priv, Grant_priv, References_priv, Index_priv, Alter_priv,
    Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv,
    Execute_priv, Repl_slave_priv, Repl_client_priv
    ) ON mysql.user TO 'PMA' @ 'localhost';
    GRANT SELECT ON mysql.db LA 'PMA' @ 'localhost';
    GRANT SELECT ON mysql.host LA 'PMA' @ 'localhost';
    GRANT SELECT (Host, Db, de utilizare, TABLE_NAME, Table_priv, Column_priv)
    PE mysql.tables_priv LA 'PMA' @ 'localhost';

    Trebuie să instalați setările pentru controluser în fișierul config.inc.php în următoarele secțiuni: $ cfg [ 'Servere'] [$ i] [ 'controluser'] și $ cfg [ 'Servers'] [$ i] [ 'controlpass'].

    In exemplul de mai jos, în scopuri educaționale se folosesc următoarele valori: „controluser“ - „PMA“, „pmapass“ - „controlpass“. Dar, în practică, să utilizați alte valori în fișierele tale!

    Desigur, localhost, dacă este necesar, ar trebui să fie înlocuit cu numele real al serverului Web.

    Dacă utilizați o versiune mai veche de MySQL (4.0.2 de mai jos), înlocuiți prima solicitare GRANT SELECT urmează:

    GRANT SELECT (Host, User, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, Index_priv, Alter_priv) PE mysql.user LA 'PMA' @ 'localhost';

    și, dacă doriți să utilizați posibilitatea de marcaje și link-uri:

    GRANT SELECT, INSERT, UPDATE, DELETE ON .* LA 'PMA' @ 'localhost';

    (Desigur, se înțelege că tabelele legate de infrastructură trebuie să fie stabilite).

    Desigur, interogarea de mai sus funcționează numai în cazul în care versiunea de lucru MySQL suporta comanda GRANT (acceptată începând cu versiunea 3.22.11).
    • După aceea, fiecare dintre adevăratul utilizator este dotat cu privilegii adecvate pentru baze de date individuale. Ca regulă generală, privilegii globale nu sunt oferite utilizatorilor ocazionali, cu excepția cazului, dacă nu face fără ele și vei fi clar cu privire la consecințele atribuirea datelor privilegii (de exemplu, aveți nevoie pentru a crea un superuser).

    De exemplu, pentru a adăuga un „real_user“ utilizator toate privilegiile din baza de date `user_base`:

    GRANT ALL ON PRIVILEGII user_base * LA 'real_user' @ localhost IDENTIFICAT cu 'real_password' .;

    Cu toate acestea, atunci când se utilizează acest mod nu este nevoie de a crea s "controluser": utilizarea $ cfg [ 'Servers'] [$ i] [ 'only_db'] poate fi suficient
  • În Întrebări frecvente „instalarea multi-utilizator, există un paragraf care explică modul de a proteja fișierul de configurare phpMyAdmin.
  • Pentru securitate suplimentară, în acest mod, puteți utiliza directivele-gazdă de identificare și de configurare: $ cfg [ 'Servers'] [$ i] [ 'AllowDeny'] [ 'ordine'] și $ cfg [ 'Servere'] [$ i] [] [ 'reguli' 'AllowDeny'].
  • Când se utilizează config-autentificarea utilizatorului atunci când încearcă să ruleze phpMyAdmin nu i se solicită să introduceți un nume de utilizator și o parolă, așa cum este cazul atunci când se utilizează cookie- și http-autentificare. Acest lucru se face în mod intenționat, dar, în același timp, permite oricărui utilizator să aibă acces la phpMyAdmin. În acest sens, ar fi oportună utilizarea unor metode de restricționare a accesului, de exemplu, utilizarea de fișier .htaccess cu Directiva HTTP-AUTH sau refuza cererile HTTP de intrare folosind un firewall sau un router va fi suficient (aceste două metode nu sunt acoperite în acest manual, dar cu ajutorul motoarelor de căutare puteţi găsi informații detaliate cu privire la acest subiect).