Po przeczytaniu poprzednich części publikacji wiesz już jak zainstalować Apache oraz doinstalować do niego PHP. Duet ten nie jest jednak wystarczający dla spełnienia podstawowych potrzeb tworzenia współczesnych aplikacji dla internetu. Potrzebujesz jeszcze bazy danych. Przeczytaj ten artykuł, aby dowiedzieć się jak ją zainstalować.
Podobnie jak poprzednim razem, instrukcja konfiguracji dotyczy systemu operacyjnego Linux, a dokładniej jego powszechnie używanej przez wielu administratorów dystrybucji Debian. Konfiguracja dla innych dystrybucji będzie generalnie podobna, choć w szczegółach mogą występować różnice w używanych poleceniach i organizacji systemu.
Aby tandem „apache-php-mysql” zaczął funkcjonować, musisz podzielić prace na trzy główne etapy oraz jeden etap uzupełniający:
- Instalacja serwera MySQL
- Dodanie bazy danych oraz użytkownika
- Zainstalowanie modułu MySQL do PHP
- Zainstalowanie systemu phpMyAdmin (dodatkowo)
Trzy pierwsze kroki zaowocują tym, że uzyskasz możliwość używania w swoich skryptach PHP bazy danych MySQL. Natomiast wykonanie kroku czwartego pozwoli wygodnie administrować bazą za pomocą webowego interfejsu phpMyAdmin.
Instalacja serwera MySQL
Aby zainstalować serwer MySQL, zaloguj się na konto root i wydaj polecenia:
aptitude update
aptitude install mysql-server-5.0
Służy ono do instalacji bazy danych w jej najnowszej wersji, oznaczonej jako 5.0. Narzędzie aptitude prawdopodobnie zapyta cię o doinstalowanie szeregu dodatkowych zależności, co będziesz musiał zatwierdzić. W trakcie procesu instalacji zostaniesz również poproszony o podanie hasła dla konta głównego administratora bazy danych (root).
Po zakończeniu pracy aptitude, w systemie powinno znajdować się już zainstalowane oprogramowanie MySQL. Prawdopodobnie serwer został uruchomiony podczas procesu instalacyjnego, możesz jednak dla pewności spróbować uruchomić go „ręcznie” i obserwować ewentualne błędy.
/etc/init.d/mysql stop
/etc/init.d/mysql start
Serwer został uruchomiony z domyślną, najbardziej podstawową konfiguracją. Do podstawowych zastosowań jest ona wystarczająca, jednak przy bardziej skomplikowanych projektach konieczne może okazać się precyzyjne doszlifowanie parametrów serwera. Zrobisz to poprzez plik konfiguracyjny:
/etc/mysql/my.cnf
Szereg dostępnych możliwości konfiguracyjnych znajdziesz w dokumentacji MySQL (http://dev.mysql.com/doc/). Warto zwrócić uwagę, że szczególnie niedoceniane przez wielu administratorów, a często bardzo praktyczne są opcje związane z cache’owaniem. Jeśli posiadasz większą aplikację webową (lub dużo mniejszych) i dysponujesz sporą ilością pamięci RAM, dobrze będzie skonfigurować bazę danych w taki sposób, aby nawet kilka GB pamięci operacyjnej było przeznaczone na pamięć podręczną, przeznaczoną wyłącznie dla serwera MySQL. Jest to jednak konfiguracja, która dalece wykracza poza zakres niniejszego artykułu, zatem po szczegóły odsyłamy do dokumentacji MySQL.
Dodanie bazy danych i użytkownika
Masz już serwer MySQL, ale jest on „pusty”. Należy stworzyć nową bazę danych oraz dodać konto użytkownika, który będzie mieć dostęp do tej bazy. Zaczniemy od konta użytkownika.
Z pomocą narzędzia „mysql” zaloguj się do bazy danych:
mysql -u root -p
Zostaniesz zapytany o hasło. Wpisz te, które podałeś w procesie administracyjnym. Po pomyślnym zweryfikowaniu hasła znajdziesz się w konsoli bazy danych. Możesz tutaj wysyłać zapytania SQL bezpośrednio do bazy oraz wykonywać inne pomocnicze operacje (dostępne po wpisaniu komendy „help”).
Aby dodać nowego użytkownika, wykonaj:
CREATE USER 'uzytkownik' IDENTIFIED BY 'haslo';
Będąc dalej w konsoli wydaj polecenie:
CREATE DATABASE baza;
Oczywiście frazy „użytkownik”, „hasło” oraz „baza” zamieniasz na odpowiadające ci wartości.
Na koniec musisz jeszcze nadać użytkownikowi uprawnienia dostępu do bazy:
GRANT SELECT,INSERT,UPDATE,DELETE ON *.* TO 'uzytkownik';
Taki poziom uprawnień pozwoli nowo stworzonemu użytkownikowi wykonywać wszystkie podstawowe operacje na bazie danych, a jednocześnie zabezpiecza przed zrobieniem „zbyt wiele”. Żadne większe uprawnienia administracyjne nie zostały przyznane.
Od teraz możesz logować się do konsoli z uprawnieniami nowego użytkownika:
mysql -u uzytkownik -p
Zainstalowanie modułu MySQL do PHP
Jest to bardzo prosty krok. Zakładając, że posiadasz już zainstalowany serwer apache2, zgodnie z instrukcjami z poprzedniej części naszego poradnika, wykonaj polecenie:
aptitude install php5-mysql php5-mcrypt
Konieczne będzie jeszcze zrestartowanie serwera WWW:
/etc/init.d/apache2 restart
Możesz już sprawdzić czy moduł MySQL oraz połączenie z twoją bazą danych działa poprawnie. W tym celu stwórz prosty skrypt PHP z następującą zawartością:
Skrypt powinien zostać umieszczony w katalogu, który skonfigurowałeś jako domowy dla swojej domeny w obrębie serwera WWW (zgodnie z wytycznymi z pierwszej części artykułu).
Jeśli po wywołaniu skryptu, w twojej przeglądarce ukazała się fraza „Wszystko OK” to znaczy, że instalacja serwera baz danych przebiegła pomyślnie.
Instalacja phpMyAdmin
Ze strony http://www.phpmyadmin.net/ pobierz na swój serwer najnowszą wersję oprogramowania phpMyAdmin. Najlepiej, aby była to wersja „all languages”, która pozwoli na uruchomienie interfejsu w języku polskim. Zawartość paczki, po rozpakowaniu, wgraj do nowego podkatalogu (np. „myadmin”), dostępnego w obrębie twojego serwera WWW. Będzie mógł również stworzyć nową subdomenę, powtarzając czynności w zakresie konfiguracji serwera z pierwszej części artykułu.
Jeśli twoja domena to „test.pl”, a jej katalogiem domowym jest „/var/www/” to wgraj zawartość pobranego archiwum do katalogu {stala}/var/www/myadmin/{/stala}, aby w efekcie uzyskać dostęp poprzez adres {stala}http://www.test.pl/myadmin/{/stala}.
Po wgraniu plików wykonaj polecenia (zakładamy zastosowanie ścieżek i adresów jak w poprzednim akapicie):
cd /var/www/myadmin/
mkdir config
chmod o+rw config
cp config.sample.inc.php config/config.inc.php
chmod o+rw config/config.inc.php
Następnie uruchom w przeglądarce instalator: {stala}http://www.test.pl/myadmin/setup/{/stala}. Znajdziesz tam szereg opcji konfiguracyjnych. Najważniejsze będzie dodanie nowego serwera (jego adres to „localhost”). Po zakończeniu prac z graficznym instalatorem nie zapomnij ograniczyć uprawnienia do pliku konfiguracyjnego i katalogu:
chmod o-w config
chmod o-w config/config.inc.php
To wszystko, twój serwer baz danych wraz z phpMyAdmin powinien już działać!