Servidor activo · HTTPS obligatorio

Hub de proyectos UNSO

Punto de entrada del servidor: aplicaciones desplegadas en subdominios, módulos del docroot y las tablas de referencia de HTML, PHP y SQL.

—aplicaciones en línea
—módulos del docroot
—pasos en el pipeline
100%tráfico cifrado (SSL)

Aplicaciones · subdominios

Cada aplicación vive en su subdominio. Los sitios gestionados por HestiaCP están marcados.

Ceibo

Camino Educativo Inclusivo Basado en Oportunidades. Proyecto en desarrollo, servido y administrado desde el panel HestiaCP.

ceibo.unso2.duckdns.org Entrar →

Panel HestiaCP

Administración de sitios web, usuarios web, dominios y límites de almacenamiento. Apache hace de puerta de entrada y proxía al panel interno.

hestiacp.unso2.duckdns.org Entrar →

DokuWiki

Wiki interna de proyectos y documentación operativa, con control de acceso por páginas.

wiki.unso2.duckdns.org Entrar →

LimeSurvey

Encuestas y formularios: creación, publicación y análisis de respuestas.

limesurvey.unso2.duckdns.org Entrar →

Nextcloud

Archivos compartidos, carpetas por proyecto y WebDAV para sincronización.

nextcloud.unso2.duckdns.org Entrar →

Helpdesk (osTicket)

Tickets de soporte: apertura, seguimiento y respuesta por operador.

help.unso2.duckdns.org Entrar →

Jitsi Meet

Videoconferencias internas sin cuentas externas.

jitsi-meet.unso2.duckdns.org Entrar →

Prometheus + Grafana

Métricas del servidor y paneles de monitoreo; Grafana se sirve bajo /grafana/.

prometheus.unso2.duckdns.org Entrar →

LibreSpeed

Tests de latencia y ancho de banda de la red.

librespeed.unso2.duckdns.org Entrar →

Constructor HTML (IDS/CDS)

Generador de documentos HTML para IDS y CDS.

html.unso2.duckdns.org Entrar →

QR

Generador de códigos QR para materiales de los proyectos.

qr.unso2.duckdns.org Entrar →

Excalidraw

Pizarra colaborativa para diagramas y bocetos de los proyectos.

excalidraw.unso2.duckdns.org Entrar →

Módulos del docroot

Carpetas servidas directamente por Apache en la raíz del sitio.

phpMyAdmin

Administrador de la base de datos MariaDB: tablas, consultas SQL y usuarios desde el navegador.

/php Entrar →

Zona de pruebas

Área aislada para experimentos, prototipos y comprobaciones sin tocar el sitio principal.

/test Entrar →

Guía de comandos Linux

Referencia de comandos con práctica y quiz propio.

/linux Entrar →

Changuitos

Sección de juegos del panel (arcade en canvas).

/changuitos Entrar →

Moodle

Aula virtual. Hoy responde 500: está fuera de servicio y pendiente de revisión.

/moodle Revisar →

Raíz del sitio

El directorio base donde viven todos los módulos del docroot.

/ Entrar →
Los sitios administrados por HestiaCP (Ceibo) se sirven por nginx interno proxied por Apache; el resto son vhosts de Apache con proxy a los contenedores Docker en 127.0.0.1.

Referencia rápida · HTML

Las etiquetas clave que sostienen la estructura de cualquier página.

EtiquetaEjemplo¿Para qué sirve?
<h1><h1>Título</h1>Encabezado principal de la página: uno por documento, define jerarquía y SEO.
<a><a href="/php/">Ir a PHP</a>Crea enlaces entre páginas o hacia recursos externos (el atributo href).
<table> / <tr> / <th> / <td><tr><th>Col</th><td>Dato</td></tr>Estructuran tablas: fila, celda de encabezado y celda de dato.
<form> / <input><form action="login.php" method="post"><input name="user"></form>Capturan datos del usuario y los envían al servidor (normalmente a un script PHP).
<div> / <section><section class="hero"></section>Bloques de agrupación: div genérico, section con significado semántico.
💡 Consejo: usa siempre la estructura mínima completa (<!DOCTYPE html>, <html lang="es">, <meta charset="UTF-8">) o el navegador entrará en modo quirúrgico y puede romper tu CSS.

Referencia rápida · PHP

Sintaxis esencial para los scripts que viven en /php/.

ElementoSintaxis / ejemplo
Delimitadores<?php ... ?> — todo PHP va entre estos marcadores dentro de un archivo .php.
Variables$var = "hola"; — siempre precedidas por $, sin declarar tipo explícito.
Salida (echo)echo "Hola, " . $nombre . "!"; — imprime texto directamente al HTML generado.
Control de flujoif ($a > 10) { ... } for ($i=0; $i<5; $i++) { ... } while ($x) { ... }
Datos del formulario$user = $_POST["campo"]; — recibe valores enviados con method="post".
Base de datos (PDO / mysqli)$pdo = new PDO("mysql:host=localhost;dbname=mi_bd", "user", "pass"); — usa consultas preparadas: $st = $pdo->prepare("SELECT * FROM t WHERE id=?");
⚠️ Advertencia: NUNCA insertes datos de $_POST directamente en una consulta SQL sin usar consultas preparadas (prepared statements). Es la causa nº 1 de inyecciones SQL.

Referencia rápida · SQL

Los comandos que manipulan la base de datos detrás del sitio.

ComandoEjemplo
SELECTSELECT id, nombre FROM usuarios WHERE activo = 1;
INSERTINSERT INTO usuarios (nombre, email) VALUES ('Ana', 'ana@ejemplo.com');
UPDATEUPDATE usuarios SET activo = 0 WHERE id = 7;
DELETEDELETE FROM sesiones WHERE expira < NOW();
CREATE / DROP TABLECREATE tabla notas (id INT PRIMARY KEY, texto VARCHAR(255)); DROP TABLE notas;
⚠️ Advertencia: antes de ejecutar UPDATE o DELETE sin WHERE, detente — afectarán a TODAS las filas de la tabla. Haz primero un SELECT con el mismo filtro para verificar.

Pipeline · cómo viaja una petición

El recorrido completo de un clic hasta la respuesta en pantalla.

1

Usuario

Navega a una URL (ej. /php/login.php) o envía un formulario desde el navegador.

2

Servidor PHP

Apache entrega la petición al intérprete PHP, que ejecuta la lógica y lee los datos del request.

3

Base de datos SQL

PHP consulta o modifica MySQL/MariaDB mediante PDO/mysqli con consultas preparadas.

4

Respuesta HTML

El resultado se renderiza como HTML y viaja de vuelta cifrado por HTTPS hasta el navegador.