Instalación
v1.0.0+GeckoFlag es un software autoalojado que instalas en tu propio servidor; un instalador dedicado te guía durante el proceso para que cualquier persona pueda configurarlo fácilmente.
Antes de empezar
- Confirma que tu servidor cumple con los requisitos del sistema. No se requiere Composer: el paquete distribuido ya incluye sus dependencias (la carpeta vendor), por lo que también funciona en entornos donde no puedes ejecutar Composer.
- Ten listos los datos de conexión a tu base de datos: una base de datos nueva o una existente que esté vacía. No recomendamos compartir la base de datos con otra aplicación.
- HTTPS no es estrictamente obligatorio, pero como GeckoFlag maneja credenciales de acceso y datos personales, recomendamos ampliamente ejecutarlo con HTTPS.
- Después de subir los archivos, completa la instalación de inmediato. Hasta que termine la instalación, cualquier persona que conozca la URL puede abrir el instalador.
- Si usas Nginx, realiza antes la configuración de la sección «Si usas Nginx» que aparece más abajo.
Pasos de instalación
- 1Sube los archivos de GeckoFlag a tu servidor mediante FTP/SFTP o el panel de control de tu hosting y extráelos.

- 2Abre el instalador en tu navegador. Revisa el entorno de tu servidor (versión de PHP, extensiones requeridas y permisos de carpetas) y muestra una lista de verificación.

- 3Ingresa los datos de conexión a tu base de datos (host, puerto, nombre de la base de datos, nombre de usuario y contraseña) y continúa.

- 4Haz clic en Ejecutar para inicializar la base de datos; esto crea las tablas que GeckoFlag necesita.

- 5Crea tu cuenta de administrador con un nombre, un correo electrónico y una contraseña.

- 6Ingresa tu clave de licencia para verificarla.

- 7Una vez verificada tu licencia, todo está listo: inicia sesión con tu nueva cuenta de administrador y empieza a configurar tus proyectos.

Notas sobre el hosting
Se ha confirmado que GeckoFlag funciona en muchos proveedores de hosting compartido comunes. Según la configuración de PHP, como upload_max_filesize, las funciones de carga de archivos pueden verse limitadas en algunos proveedores.
Si usas Nginx
En Apache, el archivo .htaccess incluido con GeckoFlag bloquea automáticamente el acceso directo a los archivos de configuración, los registros y otros archivos. Nginx no usa .htaccess, así que agrega lo siguiente a la configuración de tu servidor. Si no lo agregas, los archivos de configuración y los archivos subidos podrían quedar visibles desde el exterior.
En los servicios de hosting que combinan Nginx y Apache (una configuración en la que Apache procesa las solicitudes que recibe Nginx), .htaccess funciona, por lo que esta configuración no es necesaria. Para saber si puedes usar .htaccess, consulta el manual de tu proveedor de hosting.
- Configura como carpeta pública (raíz de documentos) no la carpeta de GeckoFlag, sino la carpeta
webrootque se encuentra dentro de ella. - Cambia
server_name(el dominio),root(la ubicación de GeckoFlag) yfastcgi_pass(el destino de conexión de PHP-FPM) según tu entorno. - Agrega la configuración de HTTPS (
listen 443 ssly los certificados) siguiendo el método de configuración de tu entorno.
server {
listen 80;
server_name pm.example.com;
# La carpeta pública (raíz de documentos) es la carpeta webroot de GeckoFlag
root /var/www/geckoflag/webroot;
index index.php;
# No mostrar la lista del contenido de las carpetas
autoindex off;
# Para poder subir los ZIP de actualización y de copia de seguridad
# (el valor predeterminado de Nginx es 1MB). Configura también
# upload_max_filesize y post_max_size de PHP con un valor igual o mayor
client_max_body_size 100m;
# No servir archivos ocultos (.htaccess, .git, etc.)
location ~ /\.(?!well-known/) {
deny all;
}
# Desde las carpetas de imágenes subidas, servir solo imágenes
location ~ ^/img/(avatars|project_thumbnails|branding)/ {
location ~* \.(jpe?g|jfif|png|gif|webp|ico)$ {
add_header X-Content-Type-Options "nosniff" always;
try_files $uri =404;
}
# Las imágenes SVG son solo para mostrar (no se ejecutan scripts)
location ~* \.svg$ {
add_header X-Content-Type-Options "nosniff" always;
add_header Content-Security-Policy "default-src 'none'; img-src data:; style-src 'unsafe-inline'; sandbox" always;
try_files $uri =404;
}
return 403;
}
# No servir directamente la carpeta files
location ^~ /files/ {
return 404;
}
location / {
try_files $uri $uri/ /index.php?$args;
}
# Solo se ejecuta index.php como PHP
location = /index.php {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root/index.php;
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
}
location ~ \.php$ {
return 404;
}
}
Después de cambiar la configuración, verifica la sintaxis con nginx -t y vuelve a cargar Nginx.
Si usas una CDN o un proxy inverso (Cloudflare, etc.)
GeckoFlag usa la dirección IP de origen que recibe el servidor para limitar los intentos fallidos de inicio de sesión y para la restricción de acceso (dirección IP). Si las solicitudes pasan por una CDN o un proxy inverso, todos los usuarios parecen acceder desde la dirección IP del proxy, lo que provoca lo siguiente:
- Si alguien falla varias veces al iniciar sesión, es posible que los demás usuarios tampoco puedan iniciar sesión durante un tiempo.
- La Restricción de acceso (dirección IP) no funciona correctamente.
En este tipo de configuración, ajusta el servidor web para que reciba la dirección IP de origen real (mod_remoteip en Apache, el módulo real_ip en Nginx o, en el caso de Cloudflare, el registro de la lista de direcciones IP que publica la empresa, etc.). Para saber cómo configurarlo, consulta el manual de tu proveedor de hosting o de tu CDN.