sábado, 23 de mayo de 2015

Laravel, apache2 discriminar segun dominio

Para que se vea mas bonido el proyecto que desarrollamos decidimos diseccionar al mismo proyecto de laravel y dentro de laravel mostrar datos solo al dominio q se solicito.
        

Digamos 
             web.com  --> Para toda peticion
        zero.web.com  --> Algo asi como 0.fb  
 
En el servidor no ocaciono problemas pero para hacer las pruebas en localhost :( , ya no funcionaba correctamente Sol. idem para el servidor :D
Fichero: /etc/apache2/sites-enabled/web.conf
        
<VirtualHost *:80>
        ServerName web.dev
        ServerAlias web.dev
        DocumentRoot /var/www/html/web/

        <Directory /var/www/html/web/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>


Fichero: /etc/apache2/sites-enabled/zero.web.conf
   
<VirtualHost *:80>
        ServerName zero.web.dev
        ServerAlias *.web.dev

        DocumentRoot /var/www/html/web

        <Directory /var/www/html/web/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

   
Habilitar las configuraciones
a2ensite web.conf
a2ensite zero.web.conf
Para diferenciar las rutas en laravel 4 :(
Route::group(array('domain'=>'zero.web.{com}'),function(){
    ....
});
Route::group(array('domain'=>'web.{com}'),function(){
    ....
});

Eso es todo podran hacer la prueba en
 service apache2 restart 
 web.dev
 zero.web.dev
NOTA: Donde esta el "public" pues hice un enlace simbolico
 service apache2 restart 

ln -s laravel/public /var/www/html/web

Si hay errores solo para localhost
nano /etc/hosts
 
127.0.0.1       localhost
127.0.1.1       Scarlet
127.0.0.1       web.dev
127.0.0.1       zero.web.dev
/etc/init.d/networking  restart