Installare un progetto Symfony su Aruba

Ultimamente mi e’ capitato di sviluppare un paio di siti utilizzando Symfony come framework di sviluppo e Aruba come hosting provider.

Come risaputo, a fronte di un costo davvero concorrenziale, Aruba non è certo la soluzione ideale per chi sviluppa, con i suoi pochi margini di configurazione (devo dire comunque molto ampliati, rispetto a qualche anno fa).

Installare un progetto Symfony su Aruba non è semplice, ma comunque possibile. Ecco quindi come feci l’impresa. Molti spunti sono presi dalla guida per installare Symfony su OVH, un hosting provider francese.

Test della configurazione

Scaricate lo script per testare la configurazione del server, uploadatelo su Aruba e puntatelo con browser

Nel mio caso, ritorna

********************************
*                              *
*  symfony requirements check  *
*                              *
********************************
php.ini used by PHP: /etc/apache/phpini/php5/php.ini
** Mandatory requirements **
OK        PHP version is at least 5.2.4
OK        php.ini has zend.ze1_compatibility_mode set to off
** Optional checks **
OK        PDO is installed
OK        PDO has some drivers installed: sqlite2, sqlite, mysql
OK        PHP-XML module is installed
OK        XSL module is installed
OK        The token_get_all() function is available
OK        The mb_strlen() function is available
OK        The iconv() function is available
OK        The utf8_decode() is available
[[WARNING]] A PHP accelerator is installed: FAILED
*** Install a PHP accelerator like APC (highly recommended) ***
[[WARNING]] php.ini has short_open_tag set to off: FAILED
*** Set it to off in php.ini ***
[[WARNING]] php.ini has magic_quotes_gpc set to off: FAILED
*** Set it to off in php.ini ***
[[WARNING]] php.ini has register_globals set to off: FAILED
*** Set it to off in php.ini ***
OK        php.ini has session.auto_start set to off

Tutto più o meno OK, ma dobbiamo gestire i magic_quotes e register_global (vanno settati ad off)

Potete entrare nel pannello di configurazione di Aruba e selezionare un php.ini adeguato, oppure più semplicemente aggiungere un file project/config/php.yml per fixare il problema, scrivendo

check:
  magic_quotes_gpc:            on
  register_globals:            on

Struttura delle directory

L’aspetto sicuramente più noioso è quello che la struttura delle directory di Symfony non è adatta a quella della document root di Aruba.

Se in Symfony abbiamo, ad esempio

mySite
  /project
  /web
    /css
    /index.php

su Aruba dobbiamo avere

www.mysite.it
  /project
  /css
  index.php

Quindi: spostiamo la directory project in web.

Modificate poi il file index.php in modo che punti correttamente a web/project/config

Modificate config/ProjectConfiguration, aggiungendo

$this->setWebDir($this->getRootDir().'/..');

Congeliamo il progetto

Adesso è necessario incorporare le librerie di Symfony all’interno del nostro progetto.

Rimuovere quindi la directory web/sf e lanciate

symfony freeze <data_dir>

(nel mio caso, <data_dir> è /usr/share/php/symfony, su Linux)

Lanciate

symfony cc

per eliminare la cache, e uploadate il progetto sul server.

Ultimi accorgimenti

Per ultimo, date i permessi 777 alle directory project/cache, project/log e upload su Aruba. E ricordate che ogni volta che copiate nuovi file sul server, bisogna cancellare il contenuto della directory project/cache.

In caso riceviate Internal Server Error 500, provate a rimuovere option follow symlink da .htaccess.

E attenzione ad utilizzare la protezione password da admin: cancella il file .htaccess.

Tags: , ,

Future of Web Apps – Impressioni al ritorno da Dublino

Tornato ieri sera da Dublino, è tempo di tirare le somme su quanto visto al Future of Web Apps venerdì scorso.

La conferenza è stata sicuramente interessante, come sempre i relatori si sono impegnati a rendere i loro interventi accantivanti e capace di mantenere svegli gli ascoltatori, con tanto di momenti di pure risate. I contenuti sono stati, dal mio punto di vista, leggermente più astratti di quanto mi sarei immaginato, con poche sezione tecniche e invece molti discorsi su business e tendenze; ma ci può stare, considerando anche il nome dell’evento.

Sicuramente, non sono mancati gli spunti per aprire dibattiti e discussioni, con i miei due amici/colleghi/compagni di viaggio prima, e con gli altri partecipanti all’evento dopo, durante il party di social networking che ha seguito la conferenza. E questa è una cosa ottima, che non mancherò di riproporre qui!

Comunque, ecco gli highlights dell’evento:

  • quei due matti degli sviluppatori di Contrast che parlano di convenzioni e web apps non convenzionali, insomma tutto e il contrario di tutto, ma che trasmettono soprattutto passione per il proprio lavoro.
  • le Web Horror Stories, gli errori più clamorosi commessi nella storia della applicazioni web. Della serie: se sbaglia Google, me lo posso permettere anche io!
  • l’intervento di David Heinemeier Hansson, naturalmente tenuto per ultimo. Lo si apprezza o lo si odia, ma comunque parla e fa parlare di se.

Tags: , , , , , ,

Risorse web per developers

Trovata tramite Ajaxian, ecco una bella pagina piena di link a risorse per gli sviluppatori web.
Utile anche per capire che tipo di strumenti utilizzano i nostri omologhi!

Come vi ho detto in un articolo di qualche giorno fa, io ormai non posso più fare a meno di un buon debugger PHP.
E voi? Quali sono i vostri strumenti essenziali?

Tags: , , ,