Domanda

In generale, il mio sviluppo ha coperto solo aziende di piccole e medie dimensioni e siti di e commerce.

Il mio prossimo progetto comprenderà dire 30 siti - tuttavia, avranno circa il 95% in comune con l'altro. Io voglio che abbiano 1 'cervello' che significa che posso stendere le modifiche, gli aggiornamenti del quadro ecc solo una volta.

Mi chiedo se la famiglia Stack Overflow di siti fare questo (superuser, StackOverflow, serverfault ecc).

Le mie lingue / piattaforme di scelta sono PHP 5.3, MySQL 5 e il quadro Kohana.

Il cervello deve avere

  • 1 sistema di amministrazione in grado di gestire ogni sito
  • tutti i modelli presenti nel cervello - ma hanno segnaposti, ad esempio, titolo, logo, ecc
  • Un modo così posso stendere qualsiasi aggiornamento per i modelli globali filtrerà automaticamente a tutti gli altri siti.

Mi rendo conto che questo avrebbe messo un sacco di stress sul cervello, quindi avrei dovuto utilizzare lato server cache molto.

come avrei ogni accesso dominio del cervello, quindi, ad esempio:

http://www.mysite2.com/products/something

http://www.mothership.com/mysite2/products/something

E quello sarebbe il modo migliore per farlo? Hai qualche consiglio? Sono sulla strada giusta?

Non esitate a farmi tutte le più specifiche.

È stato utile?

Soluzione

Il modo più semplice per farlo è con un hosting virtuale. In pratica si esegue tutti i siti su una macchina. Quella macchina ha una configurazione di Apache che serve tutti i siti.

Se i siti sono più simili di diversa poi basta puntare tutti i siti a quello directory. I file PHP in grado di rilevare quale sito che stanno servendo. È possibile fornire un intestazione e piè di pagina per ogni sito per gestire l'aspetto grafico. È inoltre possibile limitare determinate pagine in questo modo.

Se i siti sono più diverso da quello simile quindi puntare ciascuna in una directory diversa e hanno pagine rilevanti per quei siti in ogni directory.

Per la funzionalità comune si potrebbe usare qualcosa come mod_rewrite per mappare gli URL sui diversi siti per lo stesso script o si potrebbe avere script PHP in ogni sede che include / richiedono funzionalità comuni.

Fondamentalmente ci sono un sacco di opzioni. Il vostro obiettivo dovrebbe essere rendere il sito facile da mantenere e mantenere la duplicazione del codice ad un minimo assoluto.

Come richiesto, ha suggerito la lettura:

Altri suggerimenti

È possibile raggiungere questo obiettivo in Apache utilizzando il <VirtualHost> Directive. Per fare questo sotto Apache 2.x, modificare httpd.conf e rimuovere il commento di questa linea (di solito si trova verso la fine del file): Include conf/extra/httpd-vhosts.conf. Quindi individuare il file httpd-vhosts.conf e l'ingresso del VirtualHosts in questo formato:

<VirtualHost 10.1.2.3>
DocumentRoot /home/site1
ServerName site1.com
</VirtualHost>

<VirtualHost 10.1.2.3>
DocumentRoot /home/site2
ServerName site2.com
</VirtualHost>

<VirtualHost 10.1.2.3>
DocumentRoot /home/site2
ServerName site3.com
</VirtualHost>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top