Laravel + Voyager en Cpanel 2021

0

En muchas ocasiones necesitamos hacer un despliegue de un proyecto de laravel en un servidor compartido (Cpanel), ya sea para hacer un testing del mercado con una aplicación pequeña o un proyecto universitario entre otras.

Lo importante acá es que muchas veces no estan sencilla la configuración y la subida del proyecto, es por ello que hemos decido crear este post, para ayudarte a solucionar los problemas más comunes al tratar de hacer el deploy de tu proyecto de Laravel en Cpanel.

Es importante tener en cuenta que estos pasos complementan el error de la carga y visualización de iamgenes de tu proyecto y más cuando trabajas con Voyager el cual es un gestor de contenido para Laravel, fácil y muy completo para proyectos de bajo o mediano alcance.

 

Estos son los pasos:

1. Aceder al directorio public_html del Cpanel.

2. Cambia el nombre de la carpeta storage por storage2

3. Abre el archivo index.php

4. Dentro del archivo debes cambiar las rutas de acceso al storage real. ejemplo:

require __DIR__.'/../vendor/autoload.php'; for require __DIR__.'/../YOURFOLDERNAME/vendor/autoload.php';

5. Lo mismo en:

$app = require_once __DIR__.'/../bootstrap/app.php'; for $app = require_once __DIR__.'/../YOURFOLDERNAME/bootstrap/app.php';

6. ahora debes crear un archivo llamado link.php

7. dentro de este archivoagrega la reuta para crear el enlace simbolico.

<?php 
symlink('/home/**server_directory**/**YOURFOLDERNAME**/storage/app/public','/home/**server_directory**/public_html/storage');

8. ve a tu proyecto en el entorno de producción y solicita la ruta donde esta alojado el archivo, ejemplo: Https://nombredetudominio.com/link.php

9. Limpia la cache de tu servidor y prueba el funcionamiento

Now in english

Try this: For Laravel 5.8 or next versions

Step 1: Access the public directory of your project public_html

Step 2: Change the name to the folder called Storage by Storage2

Step 3: Open the index.php file

Step 4: Change require __DIR__.'/../vendor/autoload.php'; for require __DIR__.'/../YOURFOLDERNAME/vendor/autoload.php';

Step 5: Change $app = require_once __DIR__.'/../bootstrap/app.php'; for $app = require_once __DIR__.'/../YOURFOLDERNAME/bootstrap/app.php';

Step 6: Now you need to create a new file on public_html called link.php

Step 7: Add the following code to the file link.php

<?php 
symlink('/home/**server_directory**/**YOURFOLDERNAME**/storage/app/public','/home/**server_directory**/public_html/storage');

Step 8: Visit yourwebsite.com/link.php

You will see a blank page

Step 9: Go back to the administrative panel of Voyager and click on the "Fix it" button

Step 10: Delete link.php file from your server.

This worked for me, I hope it works for you too. Regards!  

OTROS POSTS