phpMyAdmin je nejpopulárnější nástroj pro práci s MySQL databází. V tomto
seriálu si představíme jeho funkce a zavítáme i do oblastí, které nejsou moc
často využívány.
25.10.2004 08:00 | Michal Čihař | přečteno 38399×
Popisována je verze 2.6.0, která nedávno vyšla a která kromě podpory pro nové vlastnosti MySQL 4.1 přichází i s měnitelností vzhledu a dalšími vylepšeními oproti předchozím verzím a určitě stojí za to upgradovat. Veškeré ukázky aplikace jsou získány při používáná MySQL 4.1, v případě starších verzí nejsou některé volby dostupné.
Předpokládám, že již máte funkční webserver s podporou php (minimálně verze 4.0.1) a databázi MySQL (minimálně 3.23.32), jejich nastavení zde nebudu rozebírat.
Začneme samozřejmě stáhnutím ze stránek projektu a jeho rozbalením nebo instalací balíčku ve vaší distribuci. V případě balíčku z distribuce již pravděpodobně bude phpMyAdmin částečně nastaven. Dále již přistoupíme k modifikaci konfiguračního souboru.
Konfigurační soubor obsahuje několik částí: na začátku je několik základních nastavení, po nich následuje konfigurace serverů a pak mnoho dalších konfiguračních voleb, umožňujících nastavit téměř veškeré chování. Nejdříve upravíme seznam serverů, abysme mohli phpMyAdmina začít používat a pak se budeme věnovat podrobnějším nastavením. Vždy budou uvedeny jen relevantní části konfiguračního souboru, které jsou potřeba pro funkčnost probíraného tématu, v případě nastavovaní serveru je potřeba údaje zadávat do správné části (pro začátek vše k prvnímu serveru), protože phpMyAdmin umožňuje připojit se k více serverům.
Jako první věc musíme rozhoudnout, jak se budeme k phpMyAdminu přihlašovat, jestli ho budeme využívat sami nebo i další uživatelé a jestli bude přístupný z více míst.
Pokud se jedná o instalaci na pracovní stanici, můžeme zvolit zadání jména a hesla do konfiguračního souboru:
$cfg['Servers'][$i]['auth_type'] = 'config'; $cfg['Servers'][$i]['user'] = 'uzivatel'; $cfg['Servers'][$i]['password'] = 'heslo';
A omezením přistupu pouze z lokálního počítače. Toto je asi nejlepší nastavit přímo ve webserveru, ale vystačíme si i s phpMyAdminem:
$cfg['Servers'][$i]['AllowDeny']['order'] = 'explicit'; $cfg['Servers'][$i]['AllowDeny']['rules'] = array('allow uzivatel from 127.0.0.1');
V případě přístupu více uživatelů využijeme autentizaci MySQL a zvolíme odpovídající metodu v phpMyAdminu. Lze si vybrat mezi autentizací pomocí cookies nebo s využitím HTTP autentizace. Ta má několik nevýhod, například kvůli návrhu HTTP neumožňuje odhlášení. Autentizace pomocí cookies navíc umožňuje (po příslušném nastavení) i přihlášení k libovolnému MySQL serveru. Proto budou ukázky používat autentizaci pomocí cookies. Konfigurace pro obě metody se liší jen minimálně. Pro HTTP musíme nastavit jen typ autentizace:
$cfg['Servers'][$i]['auth_type'] = 'http';
Pro cookies samozřejmě také typ:
$cfg['Servers'][$i]['auth_type'] = 'http';
A ještě heslo které bude použito pro šifrování cookies:
$cfg['blowfish_secret'] = 'tajne_heslo';
Toto heslo nebudeme muset nikde zadávat, je proto možné použít naprosto náhodný řetězec (pokud použijete balíček z distribuce, pravděpodobně toto heslo bylo vygenerováno už při instalaci, například Debian a SUSE toto heslo vygenerují).
Nyní by mělo být možné se do phpMyAdmina přihlásit:
Po zadání jména a hesla uživatele v MySQL se přihlásíme na úvodní obrazovku:
Základní nastavení je tedy velmi snadné, drobnou vadou na kráse je varování dole na stránce. To nás upozorňuje nenastavený parametr v konfiguračním souboru. Protože jeho autodetekce ale funguje ve většině případů dobře, stačí vypnout toto varování:
$cfg['PmaAbsoluteUri_DisableWarning'] = TRUE;
$cfg['PmaAbsoluteUri'] = 'http://example.net/phpMyAdmin/';
Protože náš hlavní jazyk je čeština, můžeme také nastavit, aby phpMyAdmin nabízel jako výchozí češtinu:
$cfg['DefaultLang'] = 'cs-iso-8859-2';
Nyní máme hotovu základní instalaci, která byla velmi snadná. V další části se budu věnovat základnímu používání phpMyAdmina, ale v některém z dalších dílů se ke konfiguraci vrátíme, abychom využili více funkcí, které phpMyAdmin nabízí.