02.27
Instalację Zend Framework (ZF) dobrze by zacząć od zrozumienia modelu MVC oraz pobrania Zenda :)
O modelu MVC przeczytasz tutaj.
ZF pobieramy z oficjalnej strony. Na potrzeby tego tutoriala pobierzmy wersję „Full”. Poniższy tutorial będzie opierał się na wersji 1.11.3.
Konfiguracja domeny
Teraz przejdźmy do konfiguracji środowiska tak, aby nasza aplikacja uruchamiała się po wpisaniu domeny „zftutorial.dev”.
Dla użytkowników Linuksa:
Opis oprę o dystrybucję Ubuntu 10.04 LTS.
Do pliku /etc/hosts dodajemy naszą domenę.
A więc:
Następnie tworzymy plik /etc/apache2/sites-available/zftutorial.dev i o zawartości:
ServerName zftutorial.dev
DocumentRoot /var/www/zftutorial.dev/public
<Directory /var/www/zftutorial.dev/public>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
Na koniec dodajemy konfigurację naszej domeny do apache:
Dla użytkowników Windowsa:
Do pliku C:\Windows\System32\drivers\etc\hosts dodajemy wiesz:
Poniższy przykład podany zostanie dla aplikacji WAMP.
W katalogu głównym apache (np. C:\wamp\bin\apache\Apache2.2.17) edytujemy plik conf\extra\httpd-vhosts.conf i na końcu dodajemy:
ServerName zftutorial.dev
DocumentRoot C:\wamp\www\zftutorial.dev\public
<Directory C:\wamp\www\zftutorial.dev\public>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
mod_rewrite
Jeśli nie mam włączonego modułu „rewrite”, którego ZF wymaga do działania to trzeba będzie go włączyć. Mod rewrite jest nam potrzebny, żeby uzyskać „przyjazne linki” oraz do podstawowego routera ZF (domena/moduł/kontroller/akcja).
Linux:
Windows:
Klikając w trayu ikonkę WAMPa możemy wybrać moduły apache które chcemy włączyć. Jeśli nie jest włączony klikamy oczywiście w moduł „mod_rewrite”.
Konfiguracja ZF Tools
Dla użytkowników Linuksa:
Dla użytkowników Windowsa:
Zakładanie projektu ZF
Dla użytkowników Linuksa:
Uruchamiamy terminal i przechodzimy do katalogu /var/www. Następnie tworzymy nowy projekt poleceniem:
Dla użytkowników Windowsa:
Uruchamiamy konsolę i przechodzimy do katalogu C:\wamp\www. Następnie tworzymy nowy projekt poleceniem:
W dalszej części przykłady podane będą dla systemu Linux. Dla platformy Windows zmieni się jedynie ścieżka do katalogu naszej aplikacji. Dla systemu Linux /var/www/zftutorial.dev. Dla systemu Windows C:\wamp\www\zftutorial.dev.
Kopiujemy biblioteki ZF
Kopiujemy biblioteki ZF(/ścieżka/do/ZendFramework/library) do /var/www/zftutorial.dev/library i restartujemy serwer apache.
Test
W pasek adresu przeglądarki wpisujemy „zftutorial.dev”. Jeśli pojawi nam się powitalna strona ZF to znaczy, że zrobiliśmy wszystko poprawnie. Jeśli nie to napiszcie proszę w komentarzach jakie problemy napotkaliście. Postaram się pomóc.
Dodam tylko, że na początku nie masz ustawionego „rewrite_module” i dostaniesz 500-tke ;)
Win:
Zaznaczamy moduł i restart
Linux:
d /etc/apache2/mods-enabled/
sudo ln -s /etc/apache2/mods-available/rewrite.load ./rewrite.load
sudo /etc/init.d/apache2 reload
Nie wpadłem na to, że ktoś może nie mieć włączonego mod_rewite :)
Ale jest polecenie które samo tworzy dowiązania symboliczne.
sudo a2enmod rewrite
Zaraz zaktualizuję post o tę uwagę.
nie dzial mi to a tak wgl to gdzie mam to wpisac
alias zf.sh=/ścieżka/do/ZendFramework/bin/zf.sh
@lolsys
W konsoli / terminalu / linii poleceń.
„C:\wamp\www\zftutorial.dev\public”
Nie rozumiem. Ja pobrałem Zend Framework full ze strony, do której podałeś linka i tam nie ma żadnego folderu „public”.
Dziękuję za artykuł.
Co innego Zend Framework a co innego Twój projekt. Katalog „public” to twój publiczny katalog aplikacji. Ot cała filozofia :)
Dzięki, rozumiem.
Jak dodaję:
„
ServerName zftutorial.dev
DocumentRoot C:\wamp\www\zftutorial.dev\public
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
„
To mi Wamp przestaje działać. Jak klikam „restart all services” albo uruchamiam Wamp server, to jest tylko żółta ikona, a jak wpisuje w pasku adresu zftutorial.dev, to przekierowuje mnie do innej strony. Oczywiście zmieniłem „zftutorial.dev” na coś innego. Masz pomysł, co może być nie tak?
Ok, problem rozwiązany. W ścieżce do folderu public miałem po prostu spacje, więc musiałem umieścić tą ścieżkę w cudzysłowach, aby działało. Dzięki.