Pewnie myślisz, że instalacja i konfiguracja frameworka CakePHP to trudny i skomplikowany proces. Jeśli tak to muszę Cię zmartwić. Jak za chwilę się przekonasz, gdy już ma się odpowiednie narzędzia to zajmuje naprawdę chwilę. Więc dlaczego o tym piszę? Bo jest to mój pierwszy wpis i od czegoś trzeba zacząć :].


ZANIM ZACZNIESZ


Wyczerpujący, dokładny i ogólny opis znajdziesz na stronie CakePHP. Ja chciałbym pokazać jak to wyglądało na moim przykładzie, bo z doświadczenia wiem, że takie opisy są lepsze.

Jedyne czego będziemy potrzebowali to jakiś serwer http z php i bazą danych np. MySQL. W środowisku Windows używam i polecam pakiet WampServer, który dostarcza nam to wszystko. I właśnie na nim oparty jest mój wpis.


INSTALACJA


Zaczynamy oczywiście od ściągnięcia frameworka z oficjalnej strony CakePHP (gdy opublikowałem ten wpis najnowszą stabilną wersją była 1.3.5). Wypakowujemy ściągnięte archiwum do głównego katalogu naszego serwera. U mnie był to katalog:

C:\wamp\www\

Tam jeszcze możemy zmienić nazwę katalogu na bardziej przyjazną dla człowieka (np. „cakephp”), bo za chwilę będziemy ją używać.


KONFIGURACJA


Jeśli tylko mamy na naszym serwerze załadowany moduł rewrite, możemy przejść do właściwej konfiguracji. Uruchamiamy przeglądarkę i w pasku adresu wpisujemy (jeśli nazwa folderu z frameworkiem to „cakephp”):

http://localhost/cakephp

W tym momencie powinniśmy widzieć coś w tym stylu:

Jeśli nie to znaczy, że nasz serwer jest źle skonfigurowany i najprawdopodobniej chodzi właśnie o mod_rewrite.

Teraz musimy wykonać pewne czynności, aby wszystkie informacje były na zielonym tle. A więc zaczynając od góry:

a) Security.salt

Otwieramy w naszym ulubionym edytorze tekstowym plik konfiguracyjny:

C:\wamp\www\cakephp\app\config\core.php

Znajdujemy w nim linijkę podobną do tej:

Configure::write('Security.salt', 'DYhG93b0qyJfIxfs2guVoUubWwvniR2G0FgaC9mi');

I tu musimy zamienić podany losowy ciąg znaków na inny, najlepiej również losowy. Jest to wskazane w celu zwiększenia bezpieczeństwa na naszej stronie.

b) Security.cipherSeed

W tym samym pliku, znajdujemy teraz linijkę:

Configure::write('Security.cipherSeed', '76859309657453542496749683645');

Tak jak w poprzednim punkcie tu też musimy zmienić losowy ciąg, ale w tym przypadku wykorzystujemy tylko cyfry.

c) Katalog tmp

Widzimy, że katalog:

C:\wamp\www\cakephp\app\tmp

posiada uprawnienia do zapisu, więc tu nic nie zmieniamy. Gdyby było inaczej musielibyśmy mu nadać odpowiednie uprawnienia, także dla jego podkatalogów.

d) CacheEngine

Metody cachowania również nie musimy zmieniać, chyba, że wiemy co robimy. Ta opcja przyda się gdy będziemy używać na naszej stronie cachowania.

e) Database

Jeśli chcemy, żeby nasza strona miała połączenie z bazą danych to dzięki temu testowi dowiemy się czy to połączenie zostało poprawnie skonfigurowane. Najpierw przygotowujemy bazę np. w MySQLu, za pomocą phpmyadmina. Teraz wchodzimy do katalogu:

C:\wamp\www\cakephp\app\config\

I zmieniamy nazwę pliku „database.php.default” na „database.php”. To właśnie w tym pliku do zmiennej $default wpisujemy wszystkie dane potrzebne do połączenia:


var $default = array(
'driver' => 'mysql', //łączymy się z bazą MySQL
'persistent' => false, //to zostawiamy na false
'host' => 'localhost', //nasz serwer jest na localhost, więc też zostawiamy
'login' => 'tu_wpisz_login', //wpisujemy login użytkownika z bazy
'password' => 'tu_wpisz_hasło', //wpisujemy hasło użytkownika z bazy
'database' => 'tu_wpisz_nazwę_bazy', //nazwa utworzonej bazy
'encoding' => 'utf8', //kodowanie podczas połączenia z bazą
'prefix' => ''
);

I teraz jeżeli wejdziemy jeszcze raz na naszą stronkę powinniśmy zobaczyć, że wszystkie informacje zostały zaznaczone kolorem zielonym, co oznacza, że wszystkie testy zakończyły się pomyślnie.


NA KONIEC


Po wykonaniu powyższych czynności, możemy już zacząć pisać naszą pierwszą stronę www. A gdy już skończymy i będziemy chcieli przenieść ją na inny serwer, aby np. udostępnić w internecie, nie musimy wykonywać całej konfiguracji ponownie. Najwyżej czeka nas zmiana ustawień do połączenia z bazą danych, no chyba, że będziemy korzystać z tej samej bazy albo nowa baza będzie miała te same ustawienia co nasza.

Mam nadzieję, że po przeczytaniu mojego wpisu nikt nie napotkał problemów. W razie czego piszcie w komentarzach, postaram się pomóc.

PS. Przepraszam wszystkich, co nie mogli się doczekać pierwszego wpisu. :]