Voy a suponer que saben como instalar un proyecto básico de Laravel. Este tutorial no es para cubrir esa parte. Sino una situacion que seguramente le pasa a muchos desarrolladores. Y es esta:

-Tenemos un proyecto realizado en laravel, seguramente en github o bitbucket

-Deseamos hacer publico ese proyecto usando nuestro panel Vesta

-Ya hemos realizado al instalacion de Vesta, creado el nuevo dominio y brindado acceso via SSH.

-Pero obviamente no podemos simplemente hacer un git pull del proyecto dentro de la carpeta public_html porque no queremos que todo el proyecto sea accesible sino simplemente la carpeta public.

[ ](https://paraisolinux.com/wp- content/uploads/2017/01/laravel-mas-vesta.png)

Si se te presento esa situación, esto es lo que debes hacer:

Paso 1- Acceder via SSH

ssh admin@[la ip]

Paso 2- Acceder a la carpeta del dominio

cd web/[tu dominio]/public_html

Paso 3- Eliminar los archivos existentes que no nos interesen. Ej:

rm index.html robots.txt

Paso 4- Clonar el repositorio de interes

git clone git@url_de_tu_proyecto.git .

Notar el punto del final. Eso es para que todo se clone en el directorio actual.

Paso 5- Volver a la carpeta home escribiendo

cd

Y abrir el siguiente archivo

sudo nano conf/web/apache2.conf

En ese archivo nos encontraremos con la configuracion del virtualhost de apache.

Buscamos la linea que dice

DocumentRoot /home/admin/web/[tu dominio]/public_html

Y la cambiamos por

DocumentRoot /home/admin/web/[tu dominio]/public_html/public

Tambien donde dice

por

Paso 6- Opcional

Revisar la version de node escribiendo

nodejs –version

Si es una version menor a la 6 entonces lo mejor sera desinstalarla e instalar una version nueva. Algo asi:

sudo apt-get purge nodejs npm curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash - sudo apt-get install -y nodejs

Paso 7- Por supuesto necesitan volver al directorio public_html y hacer las cosas que ya saben sobre laravel. Dar permisos a la carpeta storage, hacer npm install, copiar el archivo .env y cualquier otra cosa que requiera su proyecto.

Paso 8- Reiniciar el servidor. Pueden hacerlo desde la consola o desde el panel Vesta en la sección Server.

Eso seria todo. Por supuesto esto es solo una forma de hacerlo, existen varias otras, mas fáciles o difíciles, mas seguras o inseguras. Una de ellas seria olvidar GIT y usar FTP, y aqui tienen [otra forma de parte de Bobby Allen](http://blog.bobbyallen.me/2015/03/25/how-to-host-a- laravel-4-and-5-application-on-a-vestacp-account/).

Consejo: para probar que el tutorial salio bien recomiendo cambiar momentáneamente los nombres de los archivos public/.htaccess y public/index.php y crear un archivo index.html que diga algo como ‘En mantemiento’.