grav

Instalación de Grav

Primeros pasos

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:

  1. 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.
  2. 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.

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:

  1. 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
  2. Instala las dependencias del proveedor a través de composer:

    cd ~/webroot/grav
    composer install --no-dev -o
  3. Instala los plugins y temas dependientes utilizando la aplicación Grav CLI bin/grav:

    cd ~/webroot/grav
    bin/grav install

    Esto 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.

button: Cloudron install

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.

TXT
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.

Grav Installed

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:

Grav with Problems

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.