php - servidor - subir proyecto laravel 5.6 a hosting
Implemente Laravel 5 utilizando solo FTP en un alojamiento compartido (4)
Necesito desplegar un proyecto laravel 5 en un host cliente.
El plan de mi cliente es un alojamiento básico: Linux + MySql sin cpanel o similar (es decir, sin panel de administración).
Solo tengo acceso a través de ftp y solo a una carpeta llamada www.mycustomerweb.com. Significa que no puedo crear un directorio en el mismo nivel de la carpeta www.mycustomerweb.com. Solo dentro de ella (creo que se llama hosting compartido).
Hace un año, implementé un proyecto hecho con Laravel 4 de esta manera:
- se deshizo de la carpeta pública moviendo su contenido a la carpeta raíz y actualizando index.php y bootstrap.php
- Terminé todo el proyecto en localhost (con Xampp)
- subí todos los archivos a www.myclientweb.com a través de ftp.
Mis preguntas son:
¿Hice todo bien con el proyecto laravel 4? ¿Puedo haber caído en problemas de seguridad (es decir, es seguro el sitio)?
¿Cómo implemento un proyecto laravel 5 en el mismo sitio? En Laravel 5 no puedo deshacerme de la carpeta pública como lo hice con Laravel 4.
En este momento, he configurado una nueva instalación de Laravel 5 en localhost y luego subí todos los archivos a la carpeta www.myclientweb.com a través de ftp:
- Puedo ver la próxima página de laravel en http://www.myclientweb.com/public .
- No puedo ver nada en http://www.myclientweb.com/
- Y también PUEDO VER CONTENIDO .env EN http://www.myclientweb.com/.env ???????
Seguramente este no es el camino correcto ...
He tenido una larga búsqueda a través de la web y Stackoverflow sin suerte.
Realmente apreciamos cualquier ayuda.
Gracias por leer.
- Creo una nueva carpeta llamada "protegida"
- Mueva todos excepto la carpeta "pública" a la carpeta "protegida"
- Mover todo dentro de la carpeta "pública" a la raíz
- Editar index.php en la carpeta raíz (desde la carpeta pública),
la edición require __DIR__.''/../bootstrap/autoload.php'';
en require __DIR__.''/protected/bootstrap/autoload.php'';
también edite $app = require_once __DIR__.''/../bootstrap/app.php'';
en $app = require_once __DIR__.''/protected/bootstrap/app.php'';
No hay diferencia entre L4 y L5, así que haz lo mismo que hiciste con L4.
Si está intentando ejecutar Laravel 5.1 en un espacio de alojamiento compartido o está intentando colocar su laravel 5 / 5.1 en un subdirectorio de su alojamiento compartido para poder acceder a él de esta manera:
http://mywebsite.com/mylaravel/
Así que esta respuesta es para ti, en primer lugar asegúrate de cumplir
Requisitos de Laravel 5.1:
- PHP 5.5
- PHP extension Mcrypt
- PHP extension Mbstring
- PHP extension OpenSSL
Aquí hay dos tutoriales para usted:
ACTUALIZAR
Este es un proceso riesgoso. Al usar esto, le das a los usuarios maliciosos permisos para encontrar errores. http://project-url/storage/logs/laravel.log gusta, http://project-url/storage/logs/laravel.log todavía está abierto.
Respuesta anterior:
Aquellos que apenas revisan los comentarios, @Andrew F. ya ha dado la respuesta.
pero se perdió algunos otros archivos como el compositor y el paquete.
La respuesta formateada es:
- Mueve todos los archivos en público a la carpeta principal.
- Actualizar rutas en index.php.
- agregue la siguiente línea a .htaccess:
RewriteRule ^(server/.php|gulpfile/.js|/.env|composer.*|package.*) - [F,L,NC]