![]() |
|
Getting Started with symfonyConfigurazione del Web Server |
|
You are currently reading "Getting Started with symfony" which is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported License license.

|
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License. |
Nel capitolo precedente, è stata creata una cartella che ospita il progetto. Se essa è stata creata all'interno della cartella radice del server web, è già possibile accedere al progetto stesso tramite un browser web.
Ovviamente, non essendoci una configurazione specifica, quanto fatto finora è molto facile
e veloce da impostare, ma se si provasse per esempio ad accedere al file config/databases.yml
tramite il browser web si comprenderebbero le conseguenze negative di tale attitudine.
Se un utente venisse a conoscenza che il sito web in questione è sviluppato
con symfony, avrebbe facilmente accesso a file che contengono informazioni sensibili.
Mai utilizzare questa tipologia di configurazione su un server di produzione, si invita alla lettura della sezione successiva per comprendere come configurare correttamente il proprio web server.
In ambito web è buona prassi posizionare all'interno della cartella radice del
server web solo i file che necessitano l'accesso da parte del browser web, come
ad esempio fogli di stile, JavaScript e immagini.
Come opzione predefinita, si raccomanda di posizionare queste tipologie di file all'interno
della cartella web/.
All'interno di questa cartella sono presenti alcune sottocartelle delle varie
risorse web (css/ e images/) e i due file front controller.
Questi ultimi sono gli unici file PHP che devono essere posizionati all'interno
della cartella web. Tutti gli altri file PHP devono essere nascosti, non raggiungibili
dal browser web, che è una buona soluzione per la sicurezza dell'applicativo.
È giunto il momento di cambiare la configurazione di Apache, in modo da rendere accessibile esternamente il nuovo progetto.
Individuare e aprire il file di configurazione httpd.conf e aggiungere le seguenti
righe alla fine dello stesso:
# Assicurarsi che questa riga sia presente una sola volta nella configurazione
NameVirtualHost 127.0.0.1:8080
# Configurazione specifica del progetto
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>
L'alias
/sfpermette l'accesso alle immagini e file JavaScript necessari alla visualizzazione delle pagine predefinite di symfony e alla web debug toolbar.Su Windows, bisogna rimpiazzare la riga che definisce l'
AliasconAlias /sf "c:\dev\sfproject\lib\vendor\symfony\data\web\sf"e
/home/sfproject/webdovrebbe essere rimpiazzato con:c:\dev\sfproject\web
La configurazione appena descritta mette in ascolto Apache sulla porta 8080,
quindi il sito web sarà raggiungibile al seguente URL:
http://localhost:8080/
È possibile sostituire 8080 con qualsiasi altro numero, ma è preferibile utilizzare
numeri superiori a 1024, in quanto non richiedono privilegi di amministratore.
Configurazione di un dominio dedicato
Nel caso in cui si fosse amministratori del server stesso, è meglio creare e configurare degli host virtuali, piuttosto che aggiungere una nuova porta ogniqualvolta si voglia iniziare un progetto. Invece di scegliere una porta e aggiungere la direttiva
Listen, scegliere un dominio e aggiungere la direttivaServerName:# Configurazione del progetto <VirtualHost 127.0.0.1:80> ServerName sfproject.localhost <!-- stessa configurazione di prima --> </VirtualHost>Il dominio
sfproject.localhostutilizzato nella configurazione di Apache deve essere dichiarato localmente. Su un sistema Linux, modificare il file/etc/hosts. In un sistema Windows, invece, il file si trova nella cartellaC:\WINDOWS\system32\drivers\etc\.Aggiungere la riga seguente:
127.0.0.1 sfproject.localhost
Riavviare Apache e controllare che sia possibile l'accesso alla nuova applicazione,
aprendo un browser web e digitando http://localhost:8080/index.php/ oppure
http://sfproject.localhost/index.php/, a seconda dalla configurazione scelta
nella precedente sezione.

Se il modulo
mod_rewritedi Apache è installato e attivo, è possibile rimuovereindex.php/dall'URL. Questo è possibile grazie alle regole di riscrittura presenti nel fileweb/.htaccess.
È possibile accedere all'applicativo nell'ambiente di sviluppo (vedere la sezione successiva per maggiori informazioni sui diversi ambienti). Digitare il seguente URL:
http://sfproject.localhost/frontend_dev.php/
Dovrebbe essere visibile nell'angolo in alto a destra la web debug toolbar, con
delle piccole icone, se tutto è stato configurato correttamente,
grazie all' sf/ alias.

La creazione e configurazione del progetto è leggermente differente se si volesse utilizzare symfony in combinazione col server IIS in ambiente Windows. Le istruzioni di configurazioni sono disponibili nella relativa guida.
If you find a typo or an error, please register and open a ticket.
If you need support or have a technical question, please post to the official user mailing-list.