Poradnik podzieliłem na rozdziały. Punkt 1., 2. oraz 3. polecam przeczytać nawet administratorom, którzy twierdzą, że ich baza danych została skonfigurowana poprawnie ;).
- Jaką bazę wybrać?
- Dane techniczne bazy OpenTibia
- Jaki serwer WWW wybrać?
- Windows
- Linux
- Import bazy z pliku *.sql
- Windows
- Linux
- Jaką bazę wybrać?
Jak dobrze wiecie (lub nie), SVN OpenTibii umożliwia nam korzystanie z następujących silników bazodanowych:
- PostgreSQL
- MySQL
- SQLite
- ODBC
Pokrótce postaram się omówić te typy baz:
- PostgreSQL (zwane także PGSQL albo PG) - baza danych, której kod jest w 100% open source. Powstał jako alternatywa dla częściowo zamkniętego (Enterprise Edition, który posiada kilka mało przydatnych dla OpenTibii funkcji oraz wsparcie techniczne) MySQL. Szybka, posiadająca obsługę triggerów - bardzo dobra baza danych do stawiania OpenTibii. Problemem jednak jest to, że rzadko kiedy obsługiwana przez dystrybucje OpenTibii, takie jak DeadTouch, czy TheForgottenServer - bo o ile skompilowanie OTSa z obsługą PG na Linuksie sprowadza się tylko do wybrania odpowiedniej opcji podczas konfiguracji źródeł i zainstalowaniu biblioteki i plików nagłówkowych, o tyle na Windows kompilacja takiego OTSa sprawia problemy. Pomimo spełnienia wszystkich technicznych wymagań, nie polecam tej bazy jako bazy do stawiania OTSa. Powód - mało kto ma tą bazę, pomoc techniczna będzie więc bardzo trudna do znalezienia.
- MySQL - baza danych najczęściej wykorzystywana przez administratorów OpenTibia. Tym bardziej dziwi więc fakt, że używana źle i bez jakiejkolwiek wiedzy potrzebnej do 'pielęgnacji'. Polecam tą bazę danych - powszechna, szybka i posiadająca duże wsparcie techniczne.
- SQLite - SQLite to dość specyficzna baza danych - polega na jednym pliku, do którego każdy ma dostęp - brak kontroli użytkowników, haseł itd. Jest to również najbardziej 'idiot friendly' baza - polecam, jeżeli wiesz co robisz na komputerze i umiesz zabezpieczyć swoje pliki przed nieautoryzowanym dostępem.
- ODBC - w zasadzie nigdy nie widziałem, aby ta baza była używana - egzotyczny silnik, zdecydowanie nie polecam.
- Dane techniczne bazy OpenTibia
Baza OpenTibii korzysta z tzw. triggerów (wyzwalaczy) - jest to konieczny element bazy danych - NIE POWINNO SIĘ NIGDY, PRZENIGDY IMPORTOWAĆ BAZY DANYCH BEZ NICH!. Często wyzwalacze porównywalne są do 'kleju', który skleja różne partie bazy danych OpenTibia - podpisuje się pod tym. Dobrze stworzona baza działa świetnie, nie psuje się i jest kompatybilna z POT (PHP OpenTibia Toolkit), który jest zalecanym frameworkiem do pracy nad AAC dla różnych OTSów. Baza danych OpenTibii korzysta z metody porównywania znaków latin_swedish_ci1 (o ile dobrze pamiętam) - tego również nie powinniśmy zmieniać, jeżeli chcemy uchronić się przed uszkodzeniem danych wklepywanych ZDALNIE do naszej bazy przez OTS. No i rzecz najważniejsza i najczęściej partolona - OpenTibia korzysta z mechanizmu składowania InnoDB, a nie MyISAM - XAMPP, WebServ jak i wiele innych 'składaków' ma ten mechanizm domyślnie wyłączony i nie nadaje się do trzymania bazy danych OpenTibii. Jak zauważyłem, bardzo trudne jest znalezienie składaka dla Windows, który pozwalałby na posiadanie tych wszystkich funkcji na raz - przejdźmy więc do instalacji dobrego pakietu oprogramowania dla Windows. - Jaki serwer WWW wybrać?
- Windows
Jak już wcześniej mówiłem, bardzo trudno jest znaleźć składaka dla OpenTibii, który spełniałby od razu wszelkie warunki stawiane przez OTSa - o WebServie nie wspomnę, bo to pomyłka programistyczna, XAMPP ma domyślnie wyłączony mechanizm InnoDB i PDO, co jest nie do przyjęcia, Krasnal podobnie - najlepszym wyjściem byłoby oczywiście postawienie osobno Apache i MySQL - jednak gdybyś potrafił to zrobić, na pewno nie czytałbyś tego poradnika. Na szczęście na dobry trop sprowadził mnie Kofel, którego serdecznie pozdrawiam. Tym dobrym tropem jest WampServer - http://www.wampserver.com/en/index.php. Ma on wszystkie możliwe opcje, a jego instalacja jest banalna. Pamiętaj, aby po poprawnej instalacji zmienić hasła do bazy danych - możesz to zrobić w phpMyAdmin, dostępnym pod adresem http://localhost/phpmyadmin. W celu łatwiejszej pracy w dalszej części poradnika, zainstalujcie wampa w folderze c:/wamp. - Linux
Tutaj polecam skroić sobie serwer według potrzeb - wystarczy zwykły lighttpd (nie potrzebujemy ogromnej kobyły, jaką jest Apache) oraz MySQL oraz PHP pracujące w trybie CGI. Aby zmusić PHP do działania z lighttpd, przeczytaj to.
- Windows
- Import bazy z pliku *.sql
To też wymaga pewnej wiedzy - wielu niedouczonych administratorów miast importować dobrze bazę MySQL / SQLite, posługują się phpMyAdminem, który w tej roli zupełnie sobie nie radzi. Dlatego też skorzystamy z klienta MySQL dołączonego wraz z naszą dystrybucją MySQLa. On jest w stanie zaimportować to poprawnie, a co najważniejsze - szybko i z triggerami.
- Windows
Otwieramy Windowsowy wiersz poleceń - najszybciej zrobimy to, używając skrótu klawiaturowego Windows + R (Uruchom) i wpisując "cmd".
Pojawi nam się czarne okno wiersza poleceń:
Wpisujemy następujące komendy:
Kod:cd ../../../wamp/bin/mysql/mysql5.0.51b/bin mysqladmin -u root -p create opentibia mysql -u root -p opentibia < TUTAJ ŚCIEŻKA DO PLIKU SQL, na przykład - C:/OTS.sql
- Linux
Na linuksie jest jeszcze prościej, z tego względu, że programy te znajdują się w PATH:
Kod:mysqladmin -u root -p create opentibia mysql -u root -p opentibia < TUTAJ ŚCIEŻKA DO PLIKU SQL, na przykład - /home/killavus/OTS.sql
To wszystko. Możecie cieszyć się bazą danych dla OpenTibii! - Windows
Zakończenie
Sądzę, że tym poradnikiem przybliżyłem tworzenie bazy danych dla OTSa początkującym administratorom. Mam nadzieję, że częściej będę widział dobrze stworzone bazy danych.
Pozdrawiam
Killavus
Zakładki