Instalar Laravel 5.x en hosting compartido

Laravel 5.x en servidor compartido

Podemos trabajar en un servidor compartido si estamos hablando de un pequeño proyecto, si es un sistema como Rimorsoft es preocupante, ya que la mayoría de servidores compartidos no se pueden personalizar.


Definiciones

Hosting: Es en realidad web hosting y traduce a alojamiento web, es un servicio que provee a los usuarios de Internet un sistema para poder almacenar información como una página y que esta sea accesible vía web desde un navegador como chrome. El problema para usuarios avanzados es que te dan una estructura establecida y en la mayoría de los casos no podemos personalizarlos porque es un equipo que compartimos con otras personas.

VPS: Significa servidor virtual privado, en inglés sería virtual private server. Es una manera de dividir un servidor físico en varios servidores (maquina virtual). Cada VPS está bajo su propio sistema operativo, cada servidor puede ser reiniciado de forma independiente, puedes instalar lo que desees y hacer lo que gustes sin afectar a nadie mas, y lo mejor, sin que nadie te afecte a ti.

En cualquier caso recomiendo usar VPS, si tienes un hosting y no hay otra alternativa ->

Instalar Laravel 5.x en un hosting compartido

El problema principal es que cuando programamos usando Laravel accedemos al proyecto usando una ruta como esta http://localhost/rimorsoft.com/public o podríamos trabajar con virtual host y accedemos al proyecto usando por ejemplo http://r.dev sin embargo, igual debemos tenemos que configurar la ruta anterior.

Si estamos usando un Hosting verás que en la mayoría de los casos existe una carpeta llamada public_html, probablemente estén pensados para páginas estáticas o wordpress, y no para Frameworks profesionales... En este sentido tenemos que configurar a Laravel para que entienda esta nueva estructura.

No todo el tiempo tenemos un VPS. Por falta de conocimientos del cliente nos obligan a trabajar con un servidor compartido. He escuchado la frase "quien más actualizado que godaddy"... :(

Problema

Comencemos con el problema: Vamos al servidor y vemos que nuestro "public" ahora se llama "public_html" (puede llamarse de otra manera, public_html es el mas conocido).

Solución

  • En nuestro sistema (Laravel) vamos a renombrar "public" a "public_html" o el nombre que tenga configurado tu hosting, recuerda que debemos adaptarnos... Al hacer este cambio verás en el navegador un super mensaje como este "¡Objeto no localizado!". Es normal, Laravel está buscando a "public" y no lo consigue...
  • Ahora, hay que hacer la respectiva configuración en Laravel. Vamos al archivo app/Providers/AppServiceProvider, y allí localizamos el método register.
<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        //
    }

    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {        
	// Esto es lo que debemos agregar
        $this->app->bind('path.public', function() {
            return base_path().'/public_html';
        });
    }
}
  • Por último, debemos cargar todo el proyecto en el hosting, y debes hacerlo en la raíz, es muy común ver que todo lo incluyen o suben dentro de la nueva carpeta "public_html", y allí solo debemos colocar solo los archivos públicos, el resto como app, bootstrap, resource, etc deben ir fuera de esta carpeta, es decir en la raiz.

Puedes ver un antes y un después usando el código dd(public_path('blog')); en el archivo de rutas web.php. Si lo haces antes de la configuración verás en el navegador la ruta normal "C:\xampp\htdocs\rimorsoft.com/public\blog", y al culminar la configuración podrás ver que la ruta cambia "C:\xampp\htdocs\rimorsoft.com/public_html\blog", puntualmente "public" por "public_html".

Así terminamos, me puedes comentar cuando y porqué usas un hosting y no un VPS

Adquiere en preventa y aprovecha un gran descuento TDD en Laravel

Comparte en

Creado por: Venezuela Italo Morales

Profesor de #Laravel y #PHP en Rimorsoft Online

Más información


envio de mail desde el propio mail de usuario autentificado

hola, como puedo enviar los mails desde laravel, pero obteniendo el mail del usuario autentificado y que se envie con el correo electronico de este? Es decir, que si el mail de user autentificado es nada@nada.es, el mail salga desde laravel enviado a traves de esa direccion de correo electronico..gracias...

Como instalar el ckeditor en vuejs?

https://github.com/dangvanthanh/vue-ckeditor2...

Como insertar una imagen en un reporte con Laravel Excel maatwebsite

Necesito ayuda con un reporte que estoy haciendo: para empezar requiero de que mi reporte en excel tenga el logo de la empresa en la parte superior de el reporte, luego tambien nesecito que algunos graficos que genero se muestren en imagen dentro del reporte. ya he tengo reportes con multiples hojas y diversos estilos. lo unico que me faltaria seria poner una o varias imagene...

agregar una columna originada de una variable a un select para hacer un insert

/en php -mysql/ /esto funciona con php , pero no logro hacerlo en laravel query builder/