La instalación de Grav es un proceso trivial. De hecho, no existe una instalación real. Tienes varias opciones para instalar Grav. La primera –y más sencilla– es descargar el archivo zip y extraerlo. La segunda es instalar con Composer. La tercera es clonar el proyecto fuente directamente desde GitHub y luego ejecutar un comando de script incluido para instalar las dependencias necesarias. Hay más formas que implican la ejecución de scripts empaquetados.
Comprobar la versión de PHP
Grav es increíblemente fácil de configurar y poner en marcha. Grav 2.0 requiere PHP 8.3.11 o superior. Comprueba cuál tienes yendo a la terminal y escribiendo php -v:
php -v
PHP 8.3.11 (cli) (built: Aug 29 2024 00:00:00) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.3.11, Copyright (c) Zend Technologies
with Zend OPcache v8.3.11, Copyright (c), by Zend Technologies
Grav también necesita un puñado de extensiones de PHP, y zip en particular es utilizada tanto por Composer como por GPM. Consulta la página de requisitos para ver la lista completa antes de continuar.
Opción 1: Instalar desde paquete ZIP
La forma más sencilla de instalar Grav es descargar el paquete ZIP y extraerlo:
- Descarga el paquete Grav o Grav + Admin más reciente. Grav + Admin es el núcleo con los plugins API y Admin Next ya incluidos, por lo que te proporciona un panel de administración funcional sin nada más que instalar.
- Extrae el archivo ZIP en el root de tu servidor web, por ejemplo,
~/webroot/grav.
Skeletons
Hay disponibles paquetes Skeleton, que incluyen el sistema central de Grav, páginas de ejemplo, plugins y configuraciones. Son una excelente manera de comenzar; todo lo que tienes que hacer es descargar el paquete Skeleton que prefieras y seguir los pasos anteriores.
También puedes descargar cualquier instalación preempaquetada de una versión etiquetada desde getgrav.org. Usa el formato https://getgrav.org/download/TYPE/PACKAGE/VERSION.
- getgrav.org/download/core/grav/2.0.22 descarga Grav Core v2.0.22
- getgrav.org/download/core/grav-admin/2.0.22 descarga Grav Core v2.0.22 con los plugins API y Admin Next incluidos
- getgrav.org/download/core/grav-update/2.0.22 descarga el paquete de actualización para Grav Core
- getgrav.org/download/plugins/admin2/latest descarga el último plugin Admin Next
- getgrav.org/download/themes/quark/latest descarga el último tema Quark
Aviso
Si descargaste el archivo ZIP y luego planeas moverlo a tu root web, por favor mueve la CARPETA ENTERA porque contiene varios archivos ocultos (como .htaccess) que no se seleccionarán de forma predeterminada. La omisión de estos archivos ocultos puede causar problemas al ejecutar Grav.
Opción 2: Instalar con composer
El método alternativo es instalar Grav con composer. Fija siempre la versión mayor, para que Composer falle de forma clara si tu entorno PHP no puede satisfacer Grav 2.0:
composer create-project getgrav/grav ~/webroot/grav "^2.0"
Aviso
Si omites el "^2.0" y a tu PHP le falta una extensión que Grav necesita, normalmente zip, Composer no se detiene. Imprime una línea fácil de pasar por alto diciendo que no puede usar la última versión, y luego retrocede hasta encontrar una versión que tu entorno sí pueda satisfacer, que puede ser un Grav de hace muchos años. El fallo que finalmente ves será una queja de aspecto no relacionado sobre una dependencia antigua que necesita PHP 5.5. Fijar la restricción convierte eso en un error grave que nombra la extensión. Instálala (sudo apt install php8.3-zip, brew install php, o descomenta extension=zip.so en tu php.ini) y ejecuta el comando de nuevo.
Si quieres probar la versión más reciente de Grav, agrega 2.x-dev como parámetro adicional:
composer create-project getgrav/grav ~/webroot/grav 2.x-dev
Composer instala solo el núcleo de Grav. Consulta Instalar el panel de administración más abajo para añadir la interfaz de administración.
Opción 3: Instalar desde GitHub
Otro método es clonar Grav desde el repositorio de GitHub y luego ejecutar un simple script de instalación de dependencias:
-
Clona el repositorio de Grav desde GitHub a una carpeta en el root de tu servidor web, por ejemplo,
~/webroot/grav. Inicia un terminal o consola y navega hasta la carpeta root web:cd ~/webroot git clone -b master https://github.com/getgrav/grav.git -
Instala las dependencias del proveedor a través de composer:
cd ~/webroot/grav composer install --no-dev -o -
Instala los plugins y temas dependientes utilizando la aplicación Grav CLI
bin/grav:cd ~/webroot/grav bin/grav installEsto clonará automáticamente las dependencias requeridas desde GitHub directamente en esta instalación de Grav.
Instalar el panel de administración
Si instalaste el paquete ZIP Grav + Admin, el panel de administración ya está ahí y puedes saltarte esta sección.
De lo contrario, instala Admin Next con un solo comando GPM desde la raíz de tu instalación de Grav:
cd ~/webroot/grav
bin/gpm install admin2
Admin Next depende del plugin API, que a su vez depende de Login, Form, Email y Shortcode Core. GPM resuelve toda esa cadena por ti y te pregunta una vez para instalar las dependencias, así que bin/gpm install admin2 es todo lo que necesitas escribir.
Aviso
No ejecutes bin/gpm install admin. Ese es el plugin de administración clásico de Grav 1.x y no funciona en Grav 2.0. El administrador de Grav 2.0 es el paquete admin2.
Una vez que termine, abre tu sitio en un navegador y ve a /admin. Admin Next sirve en la misma ruta /admin que usaba el administrador clásico, y en un sitio sin cuentas de usuario todavía te guiará a través de la creación del primer administrador.
https://my-site.example/admin
Opciones adicionales
Instalar con Docker
Docker es una forma extremadamente eficiente de arrancar plataformas y servicios tanto en servidores como en entornos locales. Si estás configurando varios entornos que necesitan ser iguales, o trabajando en colaboración, ofrece una manera sencilla de asegurar la consistencia entre instalaciones. Si estás desarrollando varios sitios Grav, puedes agilizar su configuración usando Docker.
Hay imágenes Docker estables disponibles que usan los servidores web Apache (la imagen oficial), Nginx y Caddy. Si buscas, encontrarás más que puedes probar. Con cualquier imagen, asegúrate de crear volúmenes para persistir las carpetas user, backups y logs de Grav. (Backups y logs son opcionales si no necesitas conservar esos datos).
Instalar en Cloudron
Cloudron es una solución completa para ejecutar aplicaciones en tu servidor y mantenerlas actualizadas y seguras. En tu Cloudron puedes instalar Grav con unos pocos clics. Si alojas múltiples sitios, puedes instalarlos completamente aislados unos de otros en el mismo servidor.
El código fuente del paquete se puede encontrar aquí.
Instalar a través de Linode Marketplace
Si usas servidores Linode, hay un método fácil y documentado usando Linode Marketplace. Esto configurará un nuevo sitio Grav en un nuevo servidor virtual Linode dedicado. El servidor virtual incurrirá en un cargo periódico.
Servidores web
Apache/IIS/Nginx
Usar Grav con un servidor web como Apache, IIS o Nginx es tan simple como extraer Grav en una carpeta bajo el root. Todo lo que requiere para funcionar es PHP 8.3.11 o superior, así que debes asegurarte de que tu instancia de servidor cumpla ese requisito. Puedes encontrar más información sobre los requisitos de Grav en el capítulo de requisitos de esta guía.
Si tu root web es, por ejemplo, ~/public_html, entonces podrías extraerlo en esta carpeta y acceder a él mediante http://localhost. Si lo extrajiste en ~/public_html/grav, accederías a él mediante http://localhost/grav.
Nota
Todo servidor web debe ser configurado. Grav incluye .htaccess por defecto, para Apache, y viene con algunos archivos de configuración de servidor predeterminados, para nginx, caddy server, iis y lighttpd. Úsalos según sea necesario.
Ejecutar Grav con el servidor web PHP integrado
Puedes ejecutar Grav usando un simple comando desde la Terminal / Símbolo del sistema usando el servidor PHP integrado disponible siempre que tengas PHP instalado.
Todo lo que necesitas hacer es navegar a la raíz de tu instalación de Grav usando la Terminal o el Símbolo del sistema e introducir bin/grav server.
Precaución
Aunque técnicamente todo lo que necesitas es PHP instalado, si instalas la aplicación Symfony CLI el servidor proporcionará un certificado SSL para que puedas usar https:// y aprovechar PHP-FPM para un mejor rendimiento.
Introducir este comando te presentará una salida similar a la siguiente:
➜ bin/grav server
Grav Web Server
===============
Tailing Web Server log file (/Users/joeblow/.symfony/log/96e710135f52930318e745e901e4010d0907cec3.log)
Tailing PHP-FPM log file (/Users/joeblow/.symfony/log/96e710135f52930318e745e901e4010d0907cec3/53fb8ec204547646acb3461995e4da5a54cc7575.log)
Tailing PHP-FPM log file (/Users/joeblow/.symfony/log/96e710135f52930318e745e901e4010d0907cec3/53fb8ec204547646acb3461995e4da5a54cc7575.log)
[OK] Web server listening
The Web server is using PHP FPM 8.0.8
https://127.0.0.1:8000
[Web Server ] Jul 30 14:54:53 |DEBUG | PHP Reloading PHP versions
[Web Server ] Jul 30 14:54:54 |DEBUG | PHP Using PHP version 8.0.8 (from default version in $PATH)
[PHP-FPM ] Jul 6 14:40:17 |NOTICE | FPM fpm is running, pid 64992
[PHP-FPM ] Jul 6 14:40:17 |NOTICE | FPM ready to handle connections
[PHP-FPM ] Jul 6 14:40:17 |NOTICE | FPM fpm is running, pid 64992
[PHP-FPM ] Jul 6 14:40:17 |NOTICE | FPM ready to handle connections
[Web Server ] Jul 30 14:54:54 |INFO | PHP listening path="/usr/local/Cellar/php/8.0.8_2/sbin/php-fpm" php="8.0.8" port=65140
[PHP-FPM ] Jul 30 14:54:54 |NOTICE | FPM fpm is running, pid 73709
[PHP-FPM ] Jul 6 14:40:17 |NOTICE | FPM ready to handle connections
[PHP-FPM ] Jul 6 14:40:17 |NOTICE | FPM fpm is running, pid 73709
[PHP-FPM ] Jul 6 14:40:17 |NOTICE | FPM ready to handle connections
Tu terminal también te dará actualizaciones en tiempo real de cualquier actividad en este servidor de estilo ad hoc. Puedes copiar la URL proporcionada en la línea [OK] Web server listening y pegarla en tu navegador preferido para acceder a tu sitio, incluido el administrador.
https://127.0.0.1:8000
Consejo
Esta es una herramienta útil para desarrollo rápido, y no debe usarse en lugar de un servidor web dedicado como Apache o Nginx.
Instalación exitosa
La primera vez que se carga, Grav precompila algunos archivos. Si ahora refrescas tu navegador, obtendrás una versión en caché más rápida.

Precaución
En los ejemplos anteriores, $ representa el símbolo del sistema. Esto puede verse diferente en varias plataformas.
Por defecto, Grav viene con algunas páginas de ejemplo para darte algo con lo que empezar. Tu sitio ya es completamente funcional y puedes configurarlo, añadir contenido, extenderlo o personalizarlo tanto como quieras.
Problemas de instalación y configuración
Si se descubre algún problema durante la carga inicial de la página (o después de un evento de vaciado de caché) puedes ver una página de error:

Consulta la sección de Solución de problemas para obtener ayuda sobre problemas específicos.
Aviso
Si tienes problemas con los permisos de archivos, consulta la documentación de solución de problemas de permisos. Además, puedes consultar la documentación de guías de alojamiento que tiene instrucciones específicas para varios entornos de alojamiento.
Actualizaciones de Grav
Para mantener tu sitio actualizado, lee Actualizar Grav y plugins.