🏗️ Primeros pasos con Laravel

Matias Baldanza
Matias Baldanza
  • Actualización

Laravel se ha consolidado como uno de los frameworks más populares para el desarrollo web en PHP, gracias a su gran cantidad de características listas para usar, como autenticación, soporte para múltiples bases de datos, colas, migraciones, entre otras. Su extensibilidad y su amplio ecosistema de paquetes permiten ampliar fácilmente su funcionalidad.

Para el desarrollo front-end, Laravel ofrece una sintaxis elegante y poderosa a través de Blade, su motor de plantillas. Además, se integra con Livewire para crear aplicaciones dinámicas sin la necesidad de escribir JavaScript. También es compatible con frameworks modernos como Vue, React o Svelte, gracias a su librería Inertia, que facilita la creación de aplicaciones de una sola página (SPAs).

Sus potentes características de back-end simplifican tareas como la gestión de bases de datos, autenticación y autorización, enrutamiento y el desarrollo de APIs RESTful.

Además, incluye una extensa colección de helpers que facilitan el desarrollo, como funciones para trabajar con estructuras de datos, cadenas, rutas, y más, haciendo que tareas cotidianas sean más rápidas y simples de implementar. 

Laravel también cuenta con una amplia variedad de plugins y paquetes que cubren necesidades comunes en el desarrollo web, como la integración con pasarelas de pago, autenticación mediante OAuth o redes sociales, gestión de tokens de API, manejo de colas de trabajo y búsquedas de texto completo, entre otros.

Despliegue de una aplicacion desarrollada con Laravel

Si utilizas la imagen Click & Go de Laravel en nuestro Marketplace, se incluye un proyecto de prueba (instalación mínima de Laravel) en /var/www/html/app, con un dominio de prueba configurado en NGINX en /etc/nginx/sites-available/app.conf. Puedes eliminarlo al instalar tu proyecto.

Si clonas tu proyecto en esa misma carpeta /var/www/html/app, cuando gestiones un dominio para tu aplicación Laravel desde Mi Cuenta, se apuntará directamente sin necesidad de configuraciones manuales.

NOTA: Estos pasos manuales pueden automatizarse utilizando scripts de bash, Docker Compose, Laravel Sail o GitHub Actions.

1. Crea un nuevo proyecto de Laravel o clona un repositorio existente. 

Ejemplo (eliminando la aplicación de prueba existente y clonando desde un repositorio público de GitHub).

sudo rm -rf /var/www/html/app/
sudo git clone https://github.com/tu-usuario/tu-repositorio.git /var/www/html/app

2. Instala las dependencias necesarias

En el directorio donde está la aplicación, instala las dependencias utilizando Composer.

cd /var/www/html/app/
composer install

Composer no debe ejecutarse ni instalar dependencias desde el usuario root. Como medida básica de seguridad, siempre recomendamos crear un usuario para estas tareas, agregándolo al grupo sudo para la ejecución de tareas que requieran privilegios elevados.

3. Configura las variables de entorno necesarias

Crea, copia o genera un archivo .env y agrega las variables de entorno necesarias configurar la conexión a la base de datos y demás parámetros necesarios.

sudo cp .env.example .env
sudo nano .env

4. Genera la clave única de cifrado para tu aplicación

Laravel requiere generar una clave única de cifrado para aseguridad varios aspectos de la aplicación, principalmente relacionados con el cifrado de datos y la integridad de sesiones. Cada despliegue de tu aplicación debería tener una clave de cifrado distinta. Las claves de cifrado pueden actualizarse, pero esto invalidará todas las cookies y sesiones existentes, obligando a los usuarios a iniciar sesión nuevamente.

php artisan key:generate

5. Ejecuta las migraciones, si están configuradas

Si tu proyecto utiliza una base de datos y tiene configuradas migraciones, ejecútalas con el siguiente comando para crear las tablas necesarias en la base de datos.

php artisan migrate

6. Asigna permisos a los directorios de tu aplicación

Debes asegurarte que el servidor web (NGINX o Apache, por ejemplo) puedan acceder y modificar los archivos necesarios de tu aplicación, en particular los directorios storage y bootstrap/cache.

sudo chown -R www-data:www-data /var/www/html/app
sudo chmod -R 775 /var/www/html/app/storage
sudo chmod -R 775 /var/www/html/app/bootstrap/cache

7. Configura tu dominio y proxy

Inicialmente, asegúrate que el dominio que quieres utilizar esté correctamente configurado en tu proveedor de DNS para que apunte a la dirección IP pública de tu servidor.

  1. En el panel de tu proveedor de DNS, crea un registro A que apunte el nombre de dominio a la dirección IP de tu Cloud Server.
  2. Verifica que el DNS esté correctamente configurado utilizando herramientas como nslookup, dig o DNS Checker.

Crea o configura el archivo de configuración para tu dominio. Si utilizas NGINX y nuestra imagen Click & Go de Laravel, tienes disponible un script para configurar tu dominio, que generará la configuración de NGINX en /etc/nginx/sites-available/app.confy configurará el certificado SSL. Lo encontrarás en la sección Software y Accesos de la configuración de tu Cloud Server, en micuenta.donweb.com.

Si utilizas la configuración incluida por defecto, el enlace simbólico para habilitar el dominio ya está creado. De lo contrario, crea un enlace simbólico a la configuración, con el comando

sudo ln -s /etc/nginx/sites-available/app.conf /etc/nginx/sites-enabled/

Puedes verificar la configuración correcta de NGINX con el comando

sudo nginx -t

Finalmente, vuelve a recargar NGINX para aplicar los cambios, con el comando

sudo systemctl restart nginx

 

 

¿Fue útil este artículo?

Usuarios a los que les pareció útil: 2 de 2

¿Tiene más preguntas? Enviar una solicitud

Comentarios

0 comentarios

Inicie sesión para dejar un comentario.