2012-11-06 15 views
7

Background:Come duplicare un sito Web basato su PHP?

Sono nuovo di PHP, ma mi è stato chiesto di apportare alcune modifiche al codice per supportare un'applicazione ospitata sul nostro Intranet. Le effettive modifiche al codice non sembrano troppo brutte. Tuttavia, attualmente non esiste un ambiente di sviluppo, quindi mi sono impegnato a creare un server duplicato per sviluppare e testare le mie modifiche.

A questo punto, e non essendo esperto in PHP, sembra che potrei dover decodificare tutte le impostazioni di configurazione Apache HTTPD e PHP/opzioni/pacchetti sulla macchina di produzione a meno che non riesca a copiare strategicamente la produzione esistente ambiente alla macchina di sviluppo.

Le mie domande:

  1. E 'possibile farlo? ad esempio FTP per determinate directory nell'installazione Apache/PHP oltre a replicare l'ambiente originale? Se sì, quali directory? Una complicazione potrebbe essere che l'ambiente originale è SUSE Linux e la macchina di sviluppo è CentOS. Oltre a questo, ho installato le versioni corrispondenti di HTTPD e PHP sulla macchina di sviluppo.
  2. Se questo non è saggio/possibile, come dovrei fare per duplicare l'ambiente? Quali aree devo controllare?

Grazie in anticipo!

+2

Questa potrebbe essere una soluzione migliore per http://www.serverfault.com –

+1

a seconda della natura dell'applicazione, potrebbe non essere necessario un duplicato esatto dell'ambiente. molti siti \ applicazioni sono sviluppati su Windows e poi caricati su Linux e tutto va bene - ma è impossibile dire se questo sarebbe il caso qui. Potresti riuscire a mettere una copia in un'altra directory sul server, quindi la maggior parte delle cose sarebbe la stessa. –

+0

L'uso di 'Macchina virtuale' o' Vmware' sulla seconda macchina potrebbe essere una scelta a seconda della situazione. – Xaqron

risposta

2

Un'alternativa alle soluzioni già menzionate sarebbe quella di configurare un host virtuale sulla macchina di produzione, ad esempio test.yourdomain.com e copiare il database in un database di test.

Quindi è possibile testare il sito sul server live in un ambiente di test e sarà necessario solo modificare le impostazioni di connessione db nella versione di prova.

1

Sarebbe molto più facile e molto meno angosciare semplicemente il clone clone sul server, potrebbe essere necessario parlare con i ragazzi che si occupano dei server per farlo. Il motivo per cui lo dico è che potrebbero esserci vari moduli/librerie e tutta una serie di altre cose che si trovano sul server, ci vorrà molto tempo per capire esattamente di cosa hai bisogno se dovessi ottenere l'app per eseguire esattamente lo stesso sulla macchina CentOS. In secondo luogo, è consigliabile se entrambi gli ambienti sono identici, in questo modo si conosce che i test sono affidabili.

+1

Non so se questo è un problema per @Steve T, ma la clonazione di un server SuSE comporterebbe costi aggiuntivi di licenza. Questo può essere parte del motivo per cui il server di produzione è SuSE e la scatola di sviluppo CentOS. –

2

Clona l'intera cosa in una VM, estrai il codice e inseriscilo in un repository di codice sorgente (ad esempio git).

Dopo lo sviluppo sul computer, distribuire sulla macchina virtuale (a meno che non si riesca a ottenere un altro computer o si abbia tempo e pazienza per eseguire il reverse engineering della configurazione della macchina clonata).

È possibile avviare la distribuzione semplicemente estraendo il codice dalla VM, ma se si ritiene che il progetto potrebbe durare più a lungo considerare la creazione di un ambiente di integrazione continua e anche di inserire i file di configurazione VM in un repository git co è possibile ricrearlo in produzione (o aggancia la tua produzione in CI).

2

come devo fare per duplicare l'ambiente? Quali aree devo controllare?

Si dovrebbe guardare in:

  • /etc/httpd/
  • /etc/php5/ (potrebbe essere un nome diverso)

In particolare, iniziare dai file php.ini, httpd.conf e apache2.conf, contenuta in quelle cartelle.