Docs / rApanel / Instalar rApanel

Instalar rApanel

La instalación normal es un comando y unos minutos de espera: el instalador prepara el sistema entero y deja el panel funcionando. Lo que sí conviene tener resuelto de antemano es el terreno — el servidor, el dominio y el acceso a la base de datos de rAthena. Esta guía recorre todo en el orden en que hay que hacerlo.

Si ya tienes el panel instalado y solo buscas qué significa una variable concreta, ve directo a la guía de configuración.

1 · Requisitos #

Dónde instalarlo

El sistema operativo sí está fijado: Ubuntu Server 24.04 LTS, en su instalación mínima. Es para el que está hecho el instalador automático, y es donde se prueba cada versión.

En otra distribución, en otra versión de Ubuntu o con un escritorio encima, el instalador no sirve: hay que montar las piezas a mano. Si puedes elegir, elige Ubuntu Server 24.04 minimal — te ahorras la parte más tediosa.

Lo que sí es libre es la máquina donde lo pongas, y no hace falta contratar nada para empezar:

  • Un PC o una máquina virtual — perfecto para probar, aprender y montar tu servidor con calma. VirtualBox, VMware o WSL2 sirven de sobra, y no cuesta nada. Instala Ubuntu Server 24.04 dentro y sigue esta misma guía.
  • Un VPS — cuando el servidor deja de ser una prueba y quieres que esté siempre disponible, con IP pública, dominio y certificado. Es el paso natural al abrir al público.

El instalador y esta guía funcionan igual en los dos casos. La única diferencia real es que en tu casa no tienes IP pública ni dominio, así que el certificado HTTPS del paso 5 tendrás que dejarlo para cuando publiques.

Conexión a internet

La máquina donde instales necesita salida a internet, y no solo para bajar paquetes del sistema: el instalador valida tu licencia y descarga el código desde nuestros servidores. Sin conexión no pasa del primer paso.

Vale la pena tenerlo presente si montas una máquina virtual: por defecto algunas se configuran en modo aislado o solo-anfitrión, sin salida a la red. Comprueba que la tuya navega —un ping o un curl a cualquier sitio— antes de lanzar el instalador.

Después de instalar el panel también comprueba la licencia cada cierto tiempo, así que conviene que la máquina siga teniendo salida a internet durante su uso normal.

Recursos

rApanel es una aplicación web ligera: lo que consume recursos de verdad es rAthena. Si vas a alojar los dos en la misma máquina, dimensiona pensando en el emulador.

  • Solo el panel — 1 núcleo, 2 GB de RAM y 20 GB de disco van sobrados.
  • Panel y rAthena juntos — 2 núcleos, 4 GB de RAM y 40 GB de disco es un punto de partida cómodo para un servidor pequeño o mediano.
  • Disco — SSD o NVMe. Con disco mecánico el panel se arrastra.

El software

No necesitas instalar nada de esto por tu cuenta: el instalador lo resuelve. La lista está aquí por si montas el entorno manualmente o quieres comprobar que tu servidor actual cumple.

  • PHP 8.4 — es la que instala el instalador y sobre la que se prueba cada versión. El gestor de dependencias no acepta menos de 8.3.
  • Node.js 22
  • Composer 2.x
  • MariaDB 10.11+ o MySQL 8.0+
  • rAthena — cualquier compilación reciente

Estas son las versiones con las que rApanel se desarrolla y se prueba. En versiones anteriores puede arrancar, pero nadie lo comprueba: si algo se rompe ahí, no vas a encontrar quien lo haya visto antes.

Acceso a la base de datos de rAthena

Este es el requisito que más instalaciones frustra, así que conviene dejarlo claro: el panel necesita llegar por red a la base de datos de tu servidor de rAthena. Sin eso las migraciones fallan y el panel no arranca.

  • Todo en la misma máquina — no hay nada que configurar.
  • En máquinas distintas — el motor de base de datos tiene que aceptar conexiones desde la IP del panel, y el usuario debe tener permisos desde ese origen.

El panel no usa una base de datos aparte: crea sus propias tablas, con el prefijo ra_, dentro de la misma base de rAthena. No toca ni renombra las que ya existen.

El acceso a los puertos de login, char y map es opcional. Solo se usa para el indicador de "servidor en línea" y el conteo de jugadores en la portada. Si no los abres, el panel funciona igual.

2 · Preparar el servidor #

Apunta el dominio

Antes de instalar, crea el registro A de tu dominio apuntando a la IP pública del servidor, y otro para www. Hazlo con tiempo: la propagación puede tardar, y lo vas a necesitar cuando emitas el certificado.

Abre los puertos

  • 80 y 443 — el panel y la validación del certificado.
  • 22 — tu acceso por SSH. Limítalo a tu IP si tu proveedor lo permite.
  • Los puertos de rAthena solo si el emulador vive en esta misma máquina.

Todo lo demás, cerrado. Un VPS recién creado suele venir con el cortafuegos abierto de par en par. Si estás montando esto en tu casa para probar, este apartado y el siguiente no te aplican todavía.

Actualiza el sistema

sudo apt update && sudo apt upgrade -y

3 · Instalar #

Con el terreno listo, la instalación es un comando:

curl -fsSL https://rapanel.playgame.cl/install.sh -o install.sh && sudo bash install.sh

Lo primero que pregunta es el idioma del instalador — los mismos siete del panel, con el de tu sistema ya preseleccionado; con Enter lo aceptas. Si prefieres saltarte esa pregunta, indícalo en el propio comando:

sudo bash install.sh --lang=en

Después pide la clave de licencia y el dominio, y valida la licencia antes de tocar nada: si algo falla ahí, no habrás perdido el tiempo configurando. El dominio se comprueba en el momento — sin http://, sin www y sin barras —, porque ese dato queda grabado en la licencia y corregirlo después obliga a reinstalar. Luego eliges el servidor web — Nginx recomendado, Apache disponible — y empieza un cuestionario de nueve pasos.

Ten a mano estos datos antes de empezar:

  • 1 · Directorio de instalación — el nombre de la carpeta dentro de /var/www/ donde vivirá el panel. Con Enter usa rapanel. Anótalo: las rutas de esta guía y de la de configuración lo dan por hecho, y si eliges otro tendrás que sustituirlo.
  • 2 · Nombre del servidor — el nombre completo de tu servidor de Ragnarok, tal como quieres que se vea.
  • 3 · Nombre corto — el que aparece en la pestaña del navegador. Con Enter reutiliza el anterior.
  • 4 · Modo de juego — renewal o pre-renewal.
  • 5 · Idioma del panel — español, inglés, portugués, portugués de Brasil, francés, alemán o ruso. Viene preseleccionado el que elegiste para el instalador, así que casi siempre basta con Enter.
  • 6 · Base de datos — host, puerto, nombre, usuario y contraseña de la base de rAthena. Es el paso importante: si estos datos no son correctos, la instalación no puede continuar.
  • 7 · Base de datos de logs — pregunta si es la misma de antes. Casi siempre sí; si respondes que no, te pedirá sus cinco datos.
  • 8 · Base de datos web — igual que la anterior.
  • 9 · IP de rAthena — la que se usa para mostrar si el servidor está en línea. Con Enter usa 127.0.0.1, que es lo correcto si el emulador está en esta misma máquina.

Los puertos de rAthena no se preguntan: quedan con los valores estándar (6900, 6121 y 5121). Si tu servidor usa otros, se ajustan después en el archivo de configuración — ver la guía de configuración.

Respondido el cuestionario trabaja solo: descarga el código, instala y configura PHP, el servidor web, Node.js, Redis, Supervisor y Composer, prepara la base de datos y deja el panel sirviendo por HTTP en el puerto 80. También deja habilitado el botón de actualizar del panel.

Al terminar, el sitio responde por HTTP, sin cifrar. No lo dejes así: el paso 5 añade HTTPS y es gratis.

4 · Primer administrador #

El instalador no crea ninguna cuenta de administrador. El procedimiento es registrarte en el panel como un usuario normal y después promover esa cuenta desde la base de datos:

-- reemplaza el correo por el que usaste al registrarte
UPDATE ra_users SET role = 'Admin' WHERE email = 'tu@correo.com';

El rol distingue mayúsculas: tiene que ser Admin, no admin. Es el tropiezo más común de este paso — la consulta se ejecuta sin error y el panel sigue sin darte acceso de administración.

Cierra sesión y vuelve a entrar para que el cambio tenga efecto. A partir de ahí verás el menú de administración.

5 · HTTPS #

Servir el panel por HTTPS es muy recomendable en cualquier caso, y es obligatorio si vas a usar la Consola en Vivo del administrador: su conexión en tiempo real no funciona desde una página cifrada si el propio panel no lo está. Los certificados de Let's Encrypt son gratuitos y se renuevan solos.

Antes de empezar, comprueba que se cumple lo siguiente:

  • El registro A del dominio (y el de www) apunta ya a este servidor.
  • Los puertos 80 y 443 están abiertos — Certbot valida por HTTP.
  • El panel responde por HTTP.

Instalar Certbot y emitir el certificado

sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d tu_dominio.com -d www.tu_dominio.com

Usa el mismo dominio que indicaste durante la instalación. Cuando pregunte si quieres redirigir el tráfico HTTP a HTTPS, elige Redirect: Certbot edita la configuración del sitio y añade tanto el bloque cifrado como la redirección.

Avisar al panel

El certificado por sí solo no basta: el panel tiene que saber que ahora vive en HTTPS, o seguirá generando enlaces sin cifrar. Edita el archivo .env de tu instalación:

APP_URL=https://tu_dominio.com

Y aplica el cambio:

php artisan config:clear && php artisan cache:clear

Este es también el momento de activar SESSION_SECURE_COOKIE=true, que hasta ahora tenía que estar apagado. Ese ajuste y el resto del endurecimiento están en la guía de seguridad.

Comprobar la renovación

Certbot deja programada la renovación automática. Vale la pena confirmarlo ahora y no descubrir dentro de tres meses que no funcionaba:

sudo systemctl status certbot.timer
sudo certbot renew --dry-run

6 · Verificar #

El panel trae un Health Check que revisa tu instalación real y señala lo que falta. Entra como administrador y ve a Admin → Health Check.

HTTPS El panel se sirve por una conexión cifrada. Correcto

Cada aviso en amarillo enlaza a la sección exacta de la guía que lo resuelve, así que es el mejor sitio para saber si algo quedó a medias. Repásalo entero después de instalar y otra vez después de poner el HTTPS.

7 · Mantener al día #

Hay dos formas, y hacen exactamente lo mismo — el panel no actualiza por su cuenta: cuando pulsas el botón, lo único que hace es lanzar el mismo update.sh que ejecutarías tú por consola. Cambia la comodidad, no el resultado.

Desde el panel — la recomendada

Sistema → Health Check → Actualizar ahora. El panel te avisa cuando hay una versión nueva, así que no tienes que estar pendiente, y muestra el progreso en vivo mientras se aplica.

Es la vía cómoda y también la más segura de las dos: no necesitas entrar por SSH ni ejecutar nada como root, no hay comando que puedas escribir mal, y el proceso corre por detrás en el sistema — si cierras el navegador o se te corta la conexión, la actualización sigue su curso igual.

Durante la actualización el panel entra en mantenimiento y reinicia sus procesos, así que la propia página deja de responder un rato. Es normal y forma parte del proceso: espera a que vuelva.

Por consola

# sustituye 'rapanel' por el nombre que le diste a la carpeta al instalar
sudo bash /var/www/rapanel/update.sh

La alternativa para cuando el panel no está disponible — porque quedó caído, en mantenimiento o con una versión antigua del servicio de actualización instalada — o cuando quieres ver la salida completa según ocurre. Requiere acceso al servidor y permisos de root.

El proceso es idéntico por los dos caminos:

  • Descarga la última versión publicada y verifica la descarga antes de tocar nada.
  • Guarda una copia del código anterior en /var/backups/.
  • Pone el panel en mantenimiento, aplica las migraciones pendientes y recompila.
  • Reinicia los procesos y devuelve el sitio en línea.
  • Si algo falla antes de migrar, revierte solo.

Tus imágenes, parches, el archivo .env y la base de datos no se tocan en ninguna actualización.

8 · Si algo sale mal #

El instalador no termina

Casi siempre es el acceso a la base de datos de rAthena. Comprueba que el motor acepta conexiones desde este servidor y que el usuario tiene permisos desde esa IP, no solo desde localhost.

El panel carga pero sin estilos

Suele ser APP_URL mal puesta: si el panel está en HTTPS y la variable dice http://, el navegador bloquea los recursos por contenido mixto. Corrígela y limpia la caché de configuración.

No puedo iniciar sesión después de activar el SSL

Si pusiste SESSION_SECURE_COOKIE=true pero el sitio todavía responde por HTTP, el navegador descarta la cookie de sesión y el formulario parece no hacer nada. Termina primero el certificado, y activa esa variable después.

Al pulsar un botón sale «CSRF token mismatch» o «Página expirada»

No has hecho nada mal y no hay nada roto: la página que tienes abierta lleva un identificador de seguridad que ya caducó. Ocurre al dejar el panel abierto un buen rato y, sobre todo, al reiniciar el equipo, porque el navegador restaura las pestañas desde su caché con el contenido antiguo.

Recarga forzando la caché —Ctrl+Shift+R, o Cmd+Shift+R en Mac— y repite la acción. Si insiste, cierra sesión y vuelve a entrar.

Las importaciones grandes fallan

Es un tope de subida, no un fallo del panel. La guía de límites recorre los tres que pueden ser el culpable.

Con el panel instalado y en HTTPS, los dos siguientes pasos naturales son repasar el endurecimiento de seguridad y ajustar las variables de configuración a tu servidor.