Brzydkie rozwiązanie
W poprzednim rozdziale, utworzyłeś katalog w którym trzymasz projekt. Jeśli utworzyłeś go gdzieś w katalogu domowym na twoim serwerze WWW, możesz już otworzyć projekt za pomocą przeglądarki internetowej.
Oczywiście, nie wymagało to żadnej konfiguracji i jest to bardzo szybkie do zrobienia,
ale spróbuj np. otworzyć plik config/databases.yml w przeglądarce, aby zrozumieć
jak groźne konsekwencje ma takie leniwe działanie. Jeżeli któryś z Twoich użytkowników
pracował kiedyś z symfony, będzie miał dostęp do wielu newralgicznych plików.
Nigdy, ale to nigdy nie konfiguruj tak serwera produkcyjnego i przeczytaj następny dział, aby poznać jak poprawnie skonfigurować swój serwer WWW.
Bezpieczne rozwiązanie
Dobrą praktyką jest umieszczenie w katalogu domowy tylko tych plików, które są
potrzebne do otworzenia strony www, takie jak style, JavaSkrypty, czy obrazki.
Domyślnie, zachęcamy do trzymania tych plików w katalogu web/, znajdującego się
w katalogu symfony.
Jeśli spojrzysz do tego katalogu, znajdziesz tam kilka podkatalogów do korzystania
na stronie (css/ i images/) oraz dwa pliki kontrolerów dostępu zewnętrznego (frontend).
Kontrolerami są pliki PHP, które jako jedyne powinny się znajdować w głównym katalogu.
Wszystkie pozostałe pliki PHP powinny być niedostępne z przeglądarki, co stanowi dobre
rozwiązanie od strony bezpieczeństwa.
Konfiguracja serwera WWW
Nadszedł czas do zmiany konfiguracji Apacha, aby nasz nowy projekt był dostępny dla użytkowników w Internecie.
Wyszukaj, następnie otwórze plik konfiguracyjny httpd.conf i dodaj na jego końcu
następującą konfigurację:
# Be sure to only have this line once in your configuration
NameVirtualHost 127.0.0.1:8080
# This is the configuration for your project
Listen 127.0.0.1:8080
<VirtualHost 127.0.0.1:8080>
DocumentRoot "/home/sfproject/web"
DirectoryIndex index.php
<Directory "/home/sfproject/web">
AllowOverride All
Allow from All
</Directory>
Alias /sf /home/sfproject/lib/vendor/symfony/data/web/sf
<Directory "/home/sfproject/lib/vendor/symfony/data/web/sf">
AllowOverride All
Allow from All
</Directory>
</VirtualHost>
NOTE Alias
/sfdaje ci dostęp do grafik i javascriptów, które są potrzebne do poprawnego pokazywania domyślnych stron w symfony oraz paska debugowania.W Windowsie, potrzebujesz zamienić linię
Aliasna coś takiego:Alias /sf "c:\dev\sfproject\lib\vendor\symfony\data\web\sf"Oraz
/home/sfproject/webpowinno być zmienione na:c:\dev\sfproject\web
Ta konfiguracja pozwoli Apachowi słuchać na porcie 8080 na Twojej maszynie,
dlatego strina będzie dostępna pod adresem URL:
http://localhost:8080/
Możesz zmienić port 8080 na inny numer, ale pamiętaj że numery większe niż 1024
nie wymagają uprawnień administratora.
SIDEBAR Konfiguracja własnej domeny
Jeżeli jesteś administratorem własnego serwera, dobrze jest tworzyć hosty virtualne, zamiast dodawać nowy port za każdym razem jak rozpoczynasz nowy projekt. Zamiast wybierać port i dodawać wartość
Listen, wybierz nazwę domeny i dopisz wartośćServerName:# This is the configuration for your project <VirtualHost 127.0.0.1:80> ServerName sfproject.localhost </VirtualHost>Nazwa domeny
sfproject.localhostwykorzystywana w konfiguracji Apacha została zadeklarowana lokalnie. Jeżeli korzystasz z Linuksa, możesz ustawić host w pliku/etc/hosts. Jeżeli masz Windowsa XP, plik ten znajduje się w w kataloguC:\WINDOWS\system32\drivers\etc\.Dopisz następującą linię:
127.0.0.1 sfproject.localhost
Test nowej konfiguracji
Zrestartuj Apacha i sprawdź, czy teraz masz dostęp do Twojej nowej aplikacji,
poprzez otwarcie przeglądarki i wpisanie http://localhost:8080/index.php/, lub
http://sfproject.localhost/index.php/ w zależności od ustawionej konfiguracji
Apacha, jaką wybrałeś w poprzednim podrozdziale.

TIP Jeżeli posiadasz zainstalowany moduł
mod_rewrite, możesz usunąć częśćindex.php/z adresu URL. Jest to możliwe dzięki zastosowaniu reguł przekierowujących, znajdujących się w plikuweb/.htaccess.
Możesz również spróbować otworzyć aplikację w środowisku programistycznym (zobacz następny rozdział na temat środowisk ) wpisując adres URL:
http://sfproject.localhost/frontend_dev.php/
Toolbar debugowania powinien się pojawić w prawym górnym rogu, razem z małymi
ikonami, które świadczą o tym, że alias sf został skonfigurowany poprawnie.

Note Konfiguracja jest trochę inna, jeżeli próbujesz ustawić symfony na serwerze IIS w środowisku Windows. Zobacz jak możesz skonfigurować to w powiązanym poradniku.
TrackBacki /
PingBacki