Pregunta

En general, mi desarrollo sólo se ha cubierto empresas pequeñas y medianas y los sitios de comercio electrónico.

Mi próximo proyecto abarcará decir 30 sitios - sin embargo, tendrán que alrededor del 95% en común entre sí. Yo quiero que tengan 1 'cerebro' que significa que puedo rodar a cabo cambios, cambios a la estructura, etc sólo una vez.

Me pregunto si la familia de desbordamiento de pila de los sitios de hacer esto (superusuario, stackoverflow, serverfault etc).

Mis idiomas / plataformas de elección son PHP 5.3, MySQL 5 y el Marco de Kohana.

El cerebro debe tener

  • 1 sistema de administración que puede manejar todos los sitios
  • existir todas las plantillas en el cerebro - sin embargo, tienen marcadores de posición, por ejemplo, el título, logotipo, etc.
  • Una forma para que pueda desplegar cualquier actualización de las plantillas globales filtrará automáticamente a todos los demás sitios.

Me doy cuenta de esto pondría una gran cantidad de estrés en el cerebro, por lo que tendría que utilizar el almacenamiento en caché del lado del servidor mucho.

¿Cómo tengo cada dominio de acceso al cerebro, así por ejemplo:

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

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

Y eso sería la mejor manera de hacerlo? ¿Tiene algún consejo? ¿Estoy en el camino correcto?

No dude en hacer cualquier más detalles.

¿Fue útil?

Solución

La forma más fácil de hacerlo es con el alojamiento virtual. Básicamente se ejecuta todos los sitios en una sola máquina. La única máquina tiene una configuración de Apache que sirve a todos los sitios.

Si los sitios son más similares que diferentes entonces simplemente apunte todos los sitios al directorio de uno. Los archivos PHP pueden detectar en qué sitio están sirviendo. Puede proporcionar un encabezado y pie de página para cada sitio para manejar la apariencia. También puede restringir ciertas páginas de esta manera.

Si los sitios son más diferentes que similares a continuación, seleccione cada uno a un directorio diferente y tienen páginas correspondientes a esos sitios en cada directorio.

Para obtener una funcionalidad común que podría utilizar algo como mod_rewrite para asignar direcciones URL en los diferentes sitios al mismo guión o podría tener scripts PHP en cada lugar que incluyen / requerir una funcionalidad común.

Básicamente hay un montón de opciones. Su objetivo debe ser que el sitio sea fácil de mantener y conservar la duplicación de código a un mínimo absoluto.

Conforme a lo solicitado, se sugiere leer:

Otros consejos

Esto se puede conseguir en Apache mediante el <VirtualHost> Directive. Para hacer esto bajo Apache 2.x, editar httpd.conf y descomentar esta línea (generalmente se encuentran cerca del final del archivo): Include conf/extra/httpd-vhosts.conf. A continuación, busque el archivo de httpd-vhosts.conf y la entrada del VirtualHosts en este 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>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top