Trasferire sito da localhost a produzione

Salve sono nuovo con yii, volevo sapere se qualcuno ha una guida su cosa fare per trasferire il sito da localhost ad un server reale, in particolare bisogna trasferire solo la cartella contenente il sito dalla webroot al server o anche la cartella contenente il framework yii in tal caso come proteggerne l’accesso, quale la configurazione più sicura di yii.php e index.php come configurare htaccess ecc… Bisogna cambiare i path x aumentare la sicurezza come?

Mah… se guardi con attenzione il file index.php del tuo sito web:


<?php


$yii = dirname(__FILE__) . '/../yii/framework/yii.php';

$config = dirname(__FILE__) . '/protected/config/main.php';


//defined('YII_DEBUG') or define('YII_DEBUG', true);

defined('YII_TRACE_LEVEL') or define('YII_TRACE_LEVEL', 3);


require_once($yii);


Yii::createWebApplication($config)->run();



… non puoi non notare che la cartella protected si trova allo stesso livello della index.php. Al contrario, il framework si trova nella cartella precedente. A questo punto hai due scelte:

O pubblichi il sito includendo il framewor dentro al tuo sito web spostando


$yii = dirname(__FILE__) . '/../yii/framework/yii.php';

in


$yii = dirname(__FILE__) . '/yii/framework/yii.php';

ovvero mettendo il framework allo stello livello di index.php e protected.

Oppure, se ne hai accesso, metti il framework nella cartella precedente.

Dove lavoro io ho diversi siti web. Tutti accedono ad un solo framork. Ti dico questo perchè se vuoi risparmiare spazio sul server, puoi lasciare un solo framework, e fare si che tutti i siti sfruttino quello. Oppure puoi includere il framewor Yii per intero in ogni sito. Vedi tu cosa puà essere più conveniente.

Ricorda che se vuoi aggiornare il framework ed hai N siti, devi aggiornarne N se hai scelto la via di includere il framework DENTRO al sito web. Quello che ti consiglio, quindi, è di avere UNA SOLA COPIA del framework per tutti i siti in produzione.

Anche io uso il un solo framework per i siti.

Lo metti dove vuoi, e poi fai dei link simbolici in modo che ogni sito si trova il framework dove se lo aspetta, cosi’ non devi cambiare il codice della index.

Stai attento che di solito sui server linux il file sistem e’ case sensitive, per cui se hai sviluppato su una macchina case insenstivie, potresti avere delle sorprese.

Se hai degli error tipo cannot load class, significa che hai fatto casino col nome del file, devi sistemare tutto in modo da rispettare le maiuscole.

Ok grazie, utilizzo come server aruba, immagino che voi utilizzate una singola installazione del framework perchè avete un server condiviso o dedicato, nel mio caso acquistando per ogni dominio uno spazio web, penso di dover includere per forza il framework all’interno… suggerimenti per la sicurezza??

Metti il framework nella cartella precedente, non so aruba, ma spesso gli host ti danno una cartella root con dentro una www, che e’ la cartella pubblica.

Metti il framework in root e in www il resto. Nel caso che avessi solo la cartella pubblica, metti il frameowork in protected.

Se usi aruba, dovrai solo fare un pochino più di attenzione con i permessi. Tieni presente che gii dovrà generare dei files quindi dovrai necessariamente avere il permesso in scrittura in protected.

Puoi anche usare gii in locale e tenere la copia su aruba senza gii, molto piu’ traquillo.

quoto zaccaria.

tanto obbiettivamente una volta entrato in produzione non hai alcuna ragione al mondo di avere gii attivo.

per quanto i permessi di scrittura possono servirti per altri mille motivi in base a cosa fa la tua applicazione