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


Error en modificacion de datos

Hola, Estoy teniendo un error con laravel (5.7) y no le puedo encontrar la vuelta.

Mi problema:

Tengo una lista de usuarios la cual tiene 3 botones (ver, activar y eliminar) mi problema viene con el boton activar el cual activa o desactiva un usuario segun su estado ( si esta activado lo desactiva y si esta desactivado lo activa), pero cuando presiono el boton me tira ...

Como crear un array y almacenarlo en una Base de Datos

Necesito ayuda con un problema, estoy haciendo un tipo de sistema de facturación y los servicios que se van a facturar los quiero guardar en un array, luego éste array almacenarlo en una sola columna de la base de datos. No tengo mucho conocimientos de Arrays. Pero ya había trabajado en una tienda virtual y la parte del carrito la hacía así, con un array.

El punto es qu...

owen-it / laravel-auditing

saludos a la comunidad necesitaría de su ayuda con esta librería   ooowen-it / laravel-auditing para un proyecto en laravel de echo encontré material pero no me es fácil entenderlo (auditoria de usuarios este es link https://pusher.com/tutorials/realtime-audit-trail-laravel me ayudaría mucho un videotutorial gracias!...

No puedo instalar el paquete de shinobi

soy nuevo en esto , estoy viendo su curso de roles y permisos en su canal de youtube, necesito instalar el paquete de shinobi pero no se puede, me sale lo siguiente:

Problem 1 - Installation request for caffeinated/shinobi ^3.3 -> satisfiable by caffeinated/shinobi[v3.3]. - Conclusion: remove laravel/framework v5.8.4 - Conclusion: don't install laravel/fr...