Home > Artykuły, Webmastering > Własny serwer WWW, instalacja MySQL i phpMyAdmin

Własny serwer WWW, instalacja MySQL i phpMyAdmin

Poprzednim razem zajmowaliśmy się instalacją serwera Apache i PHP, tym razem idziemy o krok dalej. Tematem tego wpisu będzie postawienie bazy danych MySQL oraz zainstalowanie skryptu do łatwego zarządzania nią. Mowa tutaj oczywiście o popularnym phpMyAdmin.

Jeżeli nie zapoznałeś się z treścią poprzedniego wpisu, dotyczącego uruchamiania własnego serwera WWW, dobrze jeśli uczynisz to teraz, gdyż informacje tam zawarte oraz poczynione kroki będą tutaj dalej wykorzystywane.

Tak jak poprzednio, można by roztaczać dyskusję nad sensownością samodzielnej konfiguracji wszystkich elementów w opozycji do skorzystania z gotowej paczki. Nie mniej, jeśli dotarłeś aż tutaj, oznacza to iż wybrałeś właściwą drogę.

MySQL

MySQL jest to system zarządzania relacyjnymi bazami danych. Od strony praktycznej, jest to aplikacja która zapewnia dostęp do baz danych przez nią oferowanych, w języku SQL. Nie jest to oczywiście jedyny system bazodanowy, nie mniej bardzo rozpowszechniony zwłaszcza w zastosowaniach webowych.

Zaczynamy jak zwykle od pobrania samego oprogramowania ze strony producenta. Przechodzimy do sekcji Downloads, z lewego menu wybieramy MySQL Community Server. Klikamy przycisk Download, wybieramy platformę Windows i kolejno paczkę oznaczoną Windows MSI Installer. W moim przypadku, pobrałem wersję 5.1.42 przeznaczoną na procesory 32-bitowe (x86).

Instalacja

Bez dłuższego wstępu przechodzimy do instalacji, postępując zgodnie z poniższymi instrukcjami.


Wybieramy typ instalacji Typical


Rozpoczynamy docelowy proces instalacji


Po zakończeniu przystępuje do konfiguracji

Konfiguracja

Po wciśnięciu przycisku Finish zostaniemy przeniesieni do kreatora konfiguracji serwera MySQL.


Wybieramy konfigurację szczegółową oraz charakter w jakim ma być uruchomiona
usługa serwera na naszym komputerze

W kolejnym kroku wybieramy rodzaj obsługiwanych baz danych. Wybieramy obie zaznaczając górne pole wyboru. Dzięki temu mamy pewność że nasz serwer obsługiwać będzie oba typy składowania danych: MyISAM oraz InnoDB. W następnym oknie definiujemy miejsce składowania plików bazy danych. Nie jest to tak istotne w naszym przypadku, chyba że będziemy trzymać w bazie grube gigabajty danych.


Ustalamy typ obsługiwanych baz danych oraz ich lokalizację


Wybieramy maksymalną dopuszczalną liczbę klientów bazy
oraz ustawiamy parametry sieciowe


Konfigurujemy kodowanie znaków (UTF-8) oraz instalujemy serwer jako usługę w systemie


Ustawiamy hasło głównego administratora (root’a), kończymy konfigurację

Po zakończonej pomyślnie konfiguracji oraz uruchomieniu usługi systemowej, nasz serwer bazodanowy już działa.

phpMyAdmin

phpMyAdmin jest zaawansowanym narzędziem napisanym w PHP, pozwalającym nam na administrację bazą MySQL. Nie wdając się w dłuższe rozważania nad ideą samego skryptu, przechodzimy na stronę projektu i pobieramy stosowną paczkę. W chwili pisania tego wpisu jest to wersja 3.2.5.

Instalacja

Sprowadza się ona do wypakowania zawartości archiwum do stosownego folderu. Nie zapominamy o tym, aby umieścić skrypt phpMyAdmin w folderze dokumentów serwera Apache. Zgodnie z tym co było omawiane w poprzedniej części wpisu, będzie to G:\Server\www\phpmyadmin, lub analogicznie w zależności od tego jaki wybrałeś folder.

Konfiguracja

Przystępujemy do konfiguracji skryptu. Musimy w tym celu utworzyć nowy plik tekstowy który zapisujemy pod nazwą config.inc.php i umieszczamy w katalogu głównym phpMyAdmin’a. Wpisujemy do niego następującą treść:

<?php

$cfg['blowfish_secret'] = '[WPISZ TUTAJ LOSOWY CIAG ZNAKOW]';

$i = 0;

$i++;
$cfg['Servers'][$i]['verbose'] = 'localhost';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['hide_db'] = '(information_schema|mysql)';

?>

W pierwszej linii, należy samodzielnie wpisać dowolny ciąg znaków w parametr $cfg['blowfish_secret']. Służy on do szyfrowania zawartości plików cookies, stanowiących metodą autoryzacji.

Parametr $cfg['Servers'][$i]['extension'] określa z jakiego rozszerzenia (driver’a), będziemy korzystać przy dostępie do bazy. Jeśli z jakichś powodów nie dysponujesz mysqli, ustaw tą wartość na mysql. Rozszerzenie to, zarówno jedno jak i drugie, włączaliśmy podczas konfiguracji parsera PHP.

Ostatnią opcją wymagającą omówienia, jest $cfg['Servers'][$i]['hide_db']. Określana ona, które tabele z bazy danych nie mają być pokazywane. Wybrane są dwie z informacjami o stanie pracy samej bazy danych.

Po zakończonym procesie konfiguracji, przechodzimy do przeglądarki internetowej, wprowadzając adres http://localhost/phpmyadmin. Logujemy się używając nazwy użytkownika root oraz hasła wybranego podczas instalacji bazy danych.


phpMyAdmin w akcji

Podsumowanie

I tym sposobem dotarliśmy do końca drugiego artykułu z serii Własny serwer WWW. Mam nadzieję że oba wpisy pozwoliły Wam na łatwe i bezproblemowe uruchomienie lokalnego pakietu do uruchamiania i testowania dynamicznych stron www.

  1. Franek
    22 lutego 2010 at 19:51 | #1

    Zainstalowałem wszystko i niestety nie mogę znaleźć błędu. Próba wejścia w http://localhost/phpmyadmin kończy się komunikatem: nie udało się załadować modułu mysqli,
    proszę sprawdzić konfigurację PHP. Jeśli zmienię extention na mysql, to komunikat jest taki sam, tylko, że nie udąło się załadować modułu mysql. Gdzie szukać błędu?

  2. 22 lutego 2010 at 20:07 | #2

    W rozszerzeniach PHP, w tym wypadku nie masz za pewne odznaczonych komentarzy w php.ini dotyczących owych dwóch rozszerzeń – po prostu nie zostały dlatego załadowane, stąd błąd.

    Zapraszam tutaj: http://www.bbproject.net/2009/12/wlasny-serwer-www-instalacja-apache-i-php
    Sekcja PHP / Konfiguracja – tam jest mowa o rozszerzeniach i jak je włączyć :)

  3. Franek
    22 lutego 2010 at 20:19 | #3

    sprawdziłem to teraz jeszcze raz – chodzi o średnik na początku linii – jeśli rozszerzenie ma być włączone, to usuwam średnik – ta aktywna linia jest wtedy wyświetlana na czarno? Jesli tak, to muszę mieć błąd gdzieś indziej. ;(

  4. 22 lutego 2010 at 21:17 | #4

    Jeszcze trzeba zrestartować serwer aby zmiany te zostały zastosowane. Proponuje podejrzeć przykładowe pliki konfiguracyjne dołączone do tamtego wpisu, właśnie jeśli chodzi o php.ini i rozszerzenia – upewnisz się czy na pewno jest tak jak być powinno :) .

  5. Franek
    23 lutego 2010 at 08:21 | #5

    Teraz to już muszę wrócić do samego serwera – przedtem wszytko, za wyjątkiem myadmin działało, a teraz nawet serwer nie chce wystartować ;)
    Musiałem coś pokopać szukając błędu. No coż, trening czyni mistrza. Na ten moment dziękuję za pomoc.

  6. Franek
    23 lutego 2010 at 19:40 | #6

    Jest częściowy sukces. Apache znów działa, pliki sprawdzone, wszystko jet prawidłowo. Ale nadal nie mogę się zalogować do Myadmin. Teraz nie mamy już komunikatu o błędzie – zniknął, gdy zmieniłem nazwę pliku php.ini na php. Przez moment pojawiło się nawet okno logowania, ale po długim mieleniu wyświetla się tylko czysta storna. Teraz nie ma już znaczenia, czy plik ma rozszerzenie ini, czy nie, jest bardzo długa próba otwarcia, ale efekt to czysta biała strona :(
    Myślę, że problem może leżeć w ulokowaniu plików phpmyadmin. W instrukcji jest „wypakować do stosownego folderu” – który folder jest stosowny? I dalej jest tak: skrypt phpMyAdmin – który plik jest skryptem? Czy to jest ten: config.inc.php?

  7. 23 lutego 2010 at 20:02 | #7

    Stosownego tzn. do takiego do jakiego chcesz :) Tzn. grunt by było to w lokalizacji która widzi apache. Ja mam w „phpmyadmin”.

    php.ini na pewno musi mieć rozszerzenie.

    phpMyAdmin „uruchamiasz” plikiem index.php, czyli wystarczy że w pasku adresu podasz nazwę folderu z myadminem, np: http://localhost/phpmyadmin, w domyśle spowoduje to wywołanie adresu http://localhost/phpmyadmin/index.php – domyślam się że to dobrze robiłeś skoro dotarłeś do etapu błędu o braku rozszerzenie mysql/i.

    config.inc.php to plik konfiguracji phpMyAdmin w którym konfigurujesz dane bazy danych – jest to tutaj opisane przecież :) .

  8. Franek
    23 lutego 2010 at 20:20 | #8

    wygląda na to, że teraz muszę jeszcze tylko odgadnąć jakiego użytkownika i jakie hasło potrzebuję ;) , reszta działa

  9. 23 lutego 2010 at 20:25 | #9

    Dokładnie tego samego jakiego użyłeś na tym etapie instalacji MySQL:
    http://www.bbproject.net/wp-content/uploads/2010/01/mysql_config_09.png

  10. Franek
    23 lutego 2010 at 20:41 | #10

    ;)
    Hasło chyba pamiętam, ale użytkownika nie bardzo.
    Niemniej wielkie dzięki za pomoc.

  11. 23 lutego 2010 at 20:54 | #11

    Nazwa domyślnego użytkownika bazy MySQL to: root.

  12. Franek
    25 lutego 2010 at 21:45 | #12

    Tak, znalazłem to, a teraz jeszcze widzę, że jest też w tekście powyżej.
    Nadal niestety jest u mnie jakiś błąd. Teraz próba logowania kończy się tak, że mam białą stronę. Samo logowanie trwa dość długo, jakby gdzieś błądził. Hasło jest prawidłowe. Nie mam pojęcia gdzie szukać przyczyny.

  13. 26 lutego 2010 at 09:10 | #13

    A może tak, czy serwer w ogóle wyświetla prosty skrypt PHP w stylu:

    echo 'hello world';

    ?

    MySQL rozumiem że jest uruchomiony i sobie chodzi w tle?

  14. Franek
    26 lutego 2010 at 13:16 | #14

    hello world wyświetla,

    a MySQL, myślę, że chodzi. Uruchamiam go jak zwykły program, wpisuję hasło i wyświetla się taki czarny ekran z napisami – tak ma być? wpisałem mu \r i wyświetliło się, że nie ma bazy danych, ale wygląda, jakby działało.

  15. 26 lutego 2010 at 13:19 | #15

    To co uruchamiasz to jest konsola MySQL. Sama baza chodzi w tle jako usługa.

    Co do phpMyAdmin’a, skoro hello world działa to teraz już sam nie wiem…

    Wklej jak możesz swoją konfigurację PMA, plik config.inc.php.

  16. Franek
    26 lutego 2010 at 13:38 | #16

    wkleiłem to, ale nie widzę, żeby przeszło – jest jakiś specjalny sposób, żeby to przesłać?

    I jeszcze jedno pytanie, skoro może jest tak, że trzeba utworzyć jakąś bazę danych i dopiero wtedy będzie się wyświetlać admin? Nie mam bazy, to i czysta strona się wyświetla – to chyba jednak pudło :) , musiałoby się wyświetlać cokolwiek, np. możwliość utworzenia nowej bazy.

  17. Franek
    26 lutego 2010 at 13:45 | #17

    w adresi, gdzie się wpisuje http:// itd, po zalogowaniu jest … token= i ciąg cyfr i liter – wygląda, jakby był zalogowany tylko zero obrazu

  18. 26 lutego 2010 at 13:54 | #18

    Bazy tworzysz dopiero w phpMyAdmin, także ich brak nie może być przyczyną.

    Sprawdź w innej przeglądarce, w ogóle jakiej używasz?

    Czy na ekranie logowania PMA pojawiają się jakieś ostrzeżenia?

  19. Franek
    26 lutego 2010 at 13:59 | #19

    Próbowałem w Firefox, IE8 i Chrome – w każdej jest to samo.
    Nie ma komunikatów, strona logowania jest bez zastrzeżeń, jest logo phpMyAdmin, Witamy w phpMyAdmi, pasek z domyślnie ustawionym językiem polskim i obszar do logowania.

  20. Franek
    26 lutego 2010 at 14:02 | #20

    teraz spróbowałem się zalogować bez żadnych danych, to pojawił się komunikat – trochę niezupełnie prawdziwy, bo o przekroczeniu czasu bezczynności, ale jednak jakaś „normalna reakcja”.

  21. 26 lutego 2010 at 17:27 | #21

    Ciekawy zbieg okoliczności, właśnie jestem po reinstalacji systemu (Windows 7), i mam dokładnie ten sam problem :P Zaraz postaram się zdiagnozować problem.

  22. 26 lutego 2010 at 18:58 | #22

    OK, problem rozwiązany. Jak się okazuje przyczyna w ogóle nie tkwi w php, apachu ani mysql. Nie wiem jakiego systemu używasz, ale strzelam że jest to Vista bądź 7. Domyślnie, adres 127.0.0.1 jest to host lokalny, twój komputer. Odwołać się możemy do niego również poprzez localhost. I tutaj najzabawniejsze, że o ile możliwe jest łączenie przez alias localhost do mysql przy pomocy konsoli lub programu MySQL administrator, to rozszerzenie w PHP ma z tym problem.

    Aby go wyeliminować, trzeba dodać alias localhost do pliku „C:\Windows\System32\drivers\etc\hosts” – który nie występuje tam domyślnie w przeciwieństwie do Windows XP. Loopback jest jakoś inaczej realizowany zdaje się w Vista/7 i w 99% przypadkach działa poprawnie :P .

    Czyli, otwierasz notatnik z prawami administratora, wybierasz do edycji plik „C:\Windows\System32\drivers\etc\hosts” i dopisujesz na końcu linię:

    127.0.0.1	localhost

    Adres IP od słowa localhost oddzielony jest tabulatorem. Zapisujesz.

    Po tym zabiegu phpMyAdmin powienien hulać aż miło.

    Jeśli dalej coś nie tak, to wejdź w usługi systemu Windows i odnajdź tam tę o nazwie „MySQL”. Sprawdź czy jest uruchomiona, jeśli nie to daj znać to powiem Ci co dalej bo przy okazji inny problem napotkałem ;) . Ale ogółem sądzę że sam trick z hosts załatwi sprawę.

  23. Franek
    26 lutego 2010 at 20:35 | #23

    Mój system to Vista.
    Znalazłem ten plik i mam tam wpis:
    127.0.0.1 localhost – i on stanowi przedostatnią linię,
    a w ostatniej mam coś takiego:
    ::1 localhost

    jak dopisuję na końcu raz jeszcze 127.0.0.1 localhost, to nie ma żadnej zmiany.
    Spróbuję usunąć ten drugi wpis i zobaczymy co się stanie

    usługa MySQL jest uruchomiona.

  24. Franek
    26 lutego 2010 at 20:37 | #24

    Działa. Pomogło usunięcie tego:
    ::1 localhost
    Ciekawe, co teraz przestanie działać ;)

  25. Franek
    26 lutego 2010 at 20:41 | #25

    Wielkie dzięki!!!

Strony komentarza
1 2 135
  1. Brak jeszcze trackbacków