FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Captado este asunto de la configuración de Apache, parece que, en efecto, HummPHP debería poder lidiar con distintos sitios... así que ya estoy en ello.
|
#2
|
||||
|
||||
Hola,
Menos de una hora... eso me ha costado implementar en HummPHP la posibilidad de manejar diferentes sitios (dominios) con una misma base de código. Lo que parecía que iba a complicar las cosas, los espacios de nombres en PHP, han resultado por el contrario de gran ayuda. De hecho Humm cumple ahora mismo con cierto estándar que implica usar los mismos espacios de nombres que el árbol de directorios en que se encuentran. Todavía me queda "refactorizar" un poco y darle alguna que otra vuelta, pero, en efecto, HummPHP cuenta ahora con un directorio "Sites" en lugar de "Site". Dentro de este directorio se puede encontrar otro de nombre "Main". Este será el directorio por defecto y contendrá todo lo necesario para un sitio: vistas, clases, plugins, archivos de lenguaje, etc. Este directorio podrá replicarse, por decirlo así, tantas veces como se quiera, en diferentes subdirectorios de "Sites". El truco estará en el nombre de dichos directorios, que, habrán de corresponderse con el "nombre del servidor" ($_SERVER['name']) "capitalizado" (por seguir la convención), es decir, supongamos que tenemos dos dominios: www.juanito.com y www.pepito.com. Instalamos Humm en www.juanito.com, por ejemplo, de manera que este dominio "cargará" el sitio principal o predeterminado en HummPHP (situado en el directorio "Main"). A continuación tendremos que buscarnos la vida para configurar el servidor (en Apache, al menos "en local" no es complicado) de manera que todas las peticiones al dominio www.pepito.com apunten al mismo directorio en que se encuentra copiado HummPHP en www.juanito.com El "truco" estará entonces en crear un nuevo directorio en "Sites" de nombre "Juanito", en este caso, replicando los directorios del sitio principal. En principio no habría más que hacer, puesto que las clases (de vistas, por ejemplo) y los plugins son opcionales, pero, en caso de hacer uso de esta característica, dichas clases y plugins deberán estar en el espacio de nombres "Humm\Sites\Pepito\Classes", para las clases, y "Humm\Sites\Pepito\Plugins" para los plugins. Y eso es todo... lo que en realidad se comparte entre los dos sitios es el directorio "System" de HummPHP, lo que equivale a decir todo el sistema, puesto que lógicamente cada sitio tendrá su propio contenido... pues por algo son sitios diferentes. Por otro lado los sitios podrían compartir ya los plugins del sistema, pero, veré si se me ocurre algún otro lugar donde situar los plugins compartidos por difentes sitios: al fin y al cabo creo que sólo se trata de añadir una ruta más al "gestor de plugins". Por lo demás los sitios pueden compartir clases PHP sencillamente gracias al espacio de nombres de PHP y a cómo "carga" las clases el sistema, equiparando el espacio de nombres con el árbol de directorios. De este modo podríamos tener dentro del directorio "Sites" un directorio de nombre "Shared" o "Classes", que, usando el espacio de nombres apropiado, sólo nos tendríamos que preocupar de usar cuando nos hicieran falta, ocupándose el sistema de encontrarlas y cargarlas. En fin... creo que he tardado más en soltar este rollo que en conseguir (al menos de momento) el objetivo. Creo que yo seré el primero en usar esta característica "multisitio" de HummPHP, pues, si puedo configurar el servidor, cuando rehaga mis sitios, todos ellos van a compartir la misma copia de Humm, cosa que me ahorrará tiempo y trabajo si por ejemplo decido actualizar el sistema, etc. ¡Y no digo más! |
#3
|
||||
|
||||
Hola de nuevo,
Pues nada... más novedades. A través de "CPanel" (el "hosting" que uso lo proporciona) resulta de lo más sencillo hacer que varios dominios apunten a un mismo directorio. Se trata de dominios añadidos o "addons" y no hay que andarse configurando "virtual host" ni nada por el estilo: simplemente se indica el directorio al que tiene que apuntar un dominio. Y a funcionar. |
#4
|
||||
|
||||
Hola,
Quiero explicar aquí cómo se puede configurar el servidor Apache (al menos la distribución que se incluye en Xampp) para crear "virtual host", puesto que es algo que no había usado hasta ahora y veo que tiene utilidad, no sólo para comprobar sistemas "multisitio" como HumPHP, pero, también a la hora de trabajar en nuestro ordenador y en su servidor local. Hasta ahora yo usaba URLs del tipo "http://127.0.0.1/HumPhp", "http://127.0.0.1/OtraCosa" , etc. Pero, veréis lo sencillo que es configurar Apache y Windows para que podamos utilizar URLs como "www.hummphp.dev" y "www.otracosa.dev", por ejemplo. 1º Paramos Apache si está en marcha 2º Abrimos el archivo "xampp\apache\conf\extra\httpd-vhosts.conf" y añadimos: Código:
<VirtualHost *:80> DocumentRoot "/xampp/htdocs/HummPhpSite" ServerName hummphp.dev </VirtualHost> <VirtualHost *:80> DocumentRoot "/xampp/htdocs/HummPhpSite" ServerName www.hummphp.dev </VirtualHost> Código:
127.0.0.1 hummphp.dev 127.0.0.1 www.hummphp.dev |
#5
|
||||
|
||||
Cita:
// Saludos |
#6
|
||||
|
||||
Hola,
Así es Román, probablemente. Yo iba más bien por lo sencillo que resulta hacerlo gracias a "CPanel". |
#7
|
||||
|
||||
Hola a todos,
Bueno, pues, finalmente, hace un par de semanas que Humm PHP 2.0 vió la luz, como suele decirse. Y hoy es el día en que todos mis sitios web usan esta nueva versión de Humm PHP, cosa que, en principio, va ahorrarme mucho trabajo, puesto que todos los sitios web comparten la misma base de código. En fin, en mi firma (más abajo) tenéis un enlace para quien quiera echar un vistazo. Desde dicho enlace (a mi página web personal) podréis llegar al resto de sitios web en cuestión, como al del propio Humm PHP, desde donde podréis descargarlo si os place. ¡Saludos a todos! |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Componente Hashes, para quien pueda interesar | dec | OOP | 11 | 09-07-2007 01:36:04 |
Utilidad para comparar dos bases de datos. | avmm2004 | Varios | 1 | 16-11-2006 20:47:22 |
Utilidad para contar lineas de código | Alexander | Varios | 10 | 18-10-2006 00:14:55 |
Utilidad para manejo de lista TODO | ANG4L | Varios | 3 | 02-08-2006 09:36:39 |
|