Creando un servidor en Laravel Forge
Veamos cómo crear un servidor en Laravel Forge paso a paso. Desde la configuración de un proveedor de servidores, hasta el despliegue de una aplicación web.
Configurando un proveedor de servidores
En la pestaña de servidores o Servers, hacemos clic en crear servidor o Create Server. Nos abre un modal con cinco proveedores de servidor. DigitalOcean, Linode, AWS, Vultr y Hetzner Cloud.
En una cuenta nueva, los proveedores estarán deshabilitados. Para comenzar el proceso de alta, hacemos clic en algún proveedor. En este caso daré de alta Vultr.
En el formulario de nuevo proveedor (New Provider), tendremos seleccionado Vultr como proveedor y debemos añadir nuestras credenciales. Colocamos "Personal" como el nombre de perfil (Profile Name).
Creando un servidor
Con nuestro proveedor activo, podemos de nuevo ir a la pestaña Servers para crear un servidor.
Al seleccionar Vultr como proveedor, nos muestra un formulario para el tipo y especificaciones del servidor que queremos crear.
Con Forge podemos configurar siete tipos de servidor.
- App Server
- Web Server
- Worker Server
- Database Server
- Cache Server
- MeiliSearch Server
- Load Balancer
En este caso elegiré "App Server". Incluye "php", "nginx", "database", "redis" y "memcached". Prácticamente, todo lo que necesitamos para una aplicación web.
Elegimos un nombre para el servidor. Forge automáticamente nos genera uno, pero podemos cambiarlo. La región donde queremos que sea aprovisionado el servidor. El tamaño del servidor. En Vultr ofrece 15 opciones. Elegimos la versión de PHP que queremos instalar. Desde PHP 5.6 y hasta PHP 8.1.
Ya que estamos instalando un App Server, debemos elegir el servidor de base de datos a instalar. MySQL, MariaDB o Postgres.
Al instalar el servidor de base de datos, Forge nos creará una primera base de datos. Por defecto se llamará "forge" pero podemos cambiarlo.
Finalmente, hacemos clic en crear servidor o Create Server.
El sitio default
Después de completada la creación de servidor, Forge nos dirigirá a la sección de Sitios (Sites). En la parte inferior existe una bloque de Sitios Activos (Active Sites). Habrá por defecto un sitio llamado "default".
Forge instalará este sitio por defecto en cualquier creación de servidor. Es el sitio que Forge utilizará cuando accedemos a nuestro servidor utilizando la dirección de IP.
Configurando un repositorio Git
Haciendo clic en el sitio "default", nos llevará a la configuración de sitio. Podemos elegir una App para el sitio. Puede ser un Repositorio Git, Wordpress o phpMyAdmin. En este caso haré clic en Repositorio Git (Git Repository).
Como aún no hemos configurado un proveedor Git como Github, la única opción que nos muestra es usar un proveedor personalizado. Vamos a la configuración de cuenta para conectar nuestra cuenta de Github.
Volviendo a nuestro sitio "default", podemos elegir Github y en este ejemplo instalará Laravel laravel/laravel
.
Elegiré instalar la branch
9.x.
Corresponde a la última versión de Laravel.
Y seleccionaré instalar las dependencias Composer.
Haciendo clic en Instalar Repositorio (Install Repository) para instalarlo.
Ahora nuestro primer sitio ha sido desplegado. Si visitamos el servidor por la dirección de IP, podemos ver que Forge a reemplazado nuestra aplicación temporal por una aplicación Laravel.
Cuando Forge realiza despliegues, lo que hace es utilizar un Script de Despliegue (Deploy Script) que indica qué comandos ejecutar durante los despliegues.
Ambiente del Sitio
En la página de configuración de Ambiente "Environment", Forge nos muestra el contenido del archivo .env
de nuestra aplicación web.
Podemos modificarlo sin tener que acceder a nuestro servidor vía SSH o SFTP y realizar manualmente los ajustes. Esto es bastante práctico.
Por ejemplo, podemos cambiar el nombre de nuestra aplicación a "LaraForge" y guardamos los cambios. Desde la configuración de App, ejecutamos un despliegue nuevo de nuestra aplicación web para utilizar el nuevo nombre.