
Henry
Adminer
Adminer es una herramienta de gestión de bases de datos en línea, gratuita y de código abierto, escrita en PHP. Es una alternativa más ligera y sencilla a otras herramientas como phpMyAdmin, ya que se implementa fácilmente subiendo un único archivo PHP a un servidor. Adminer permite a los usuarios gestionar una amplia variedad de bases de datos, como MySQL, PostgreSQL, SQLite, MS SQL, Oracle y MongoDB, a través de una interfaz web.
Es una herramienta muy útil (si no te gusta la linea de comandos de Linux o CLI) para poder gestionar nuestras bases de datos sin complicaciones, muy fácil y sencillo de usar.
Para poder conseguir la herramienta puedes visitar la siguiente dirección web: https://www.adminer.org/en/.
Características clave
- Ligero: Al ser un solo archivo PHP, es muy fácil de implementar en un servidor, simplemente subiendo el archivo y accediendo a él desde un navegador.
- Múltiples bases de datos: Admite varios sistemas de gestión de bases de datos (SGBD) además de MySQL y MariaDB, incluyendo PostgreSQL, SQLite, MS SQL, Oracle, MongoDB y Elasticsearch.
- Interfaz sencilla: Ofrece una interfaz de usuario limpia e intuitiva para realizar tareas comunes como:
- Ver y editar la estructura de las tablas.
- Insertar, actualizar y eliminar registros.
- Ejecutar comandos SQL personalizados.
- Importar y exportar datos en formato SQL o CSV.
- Alternativa a phpMyAdmin: A menudo se prefiere a phpMyAdmin por su facilidad de instalación, mejor rendimiento y mayor seguridad
Instalación
Para instalar el Adminer bastaría con localizar el URL de descarga de la aplicación que en este caso al momento de crear este mini tutorial se encuentra en:
https://github.com/vrana/adminer/releases/download/v5.4.1/adminer-5.4.1.php
Por lo tanto el comando para su descarga seria:
# wget https://github.com/vrana/adminer/releases/download/v5.4.1/adminer-5.4.1.php
o en su defecto para no estar moviendo el archivo PHP a la carpeta de desarrollo de nuestra aplicación podemos indicar directamente que lo descargue donde corresponda, para la mayoría de nuestros ejemplo seria en: /var/www/html/
Entonces colocamos la línea de comando completa:
# wget https://github.com/vrana/adminer/releases/download/v5.4.1/adminer-5.4.1.php /var/www/html/
y listo no demora nada ya que es un solo archivo .PHP
Ejecución
Para ejecutar la aplicación entonces bastaría con colocar la URL: http://localhost/adminer-5.4.1.php
y listo!!
y veríamos lo siguiente:
Instalar Zabbix
Zabbix es un software de código abierto para el monitoreo distribuido de sistemas y redes, que recopila datos sobre la salud y el rendimiento de servidores, máquinas virtuales, aplicaciones, bases de datos, redes y más. Utiliza un sistema flexible de alertas por correo electrónico, SMS o Telegram, junto con informes visuales para el análisis de datos y la planificación de la capacidad. La plataforma se gestiona a través de una interfaz web y permite el monitoreo en tiempo real, la detección de anomalías y la visualización del estado de la infraestructura de TI.
Para empezar debemos saber que en el link compartido bajo estas líneas se encuentra el asistente para elegir la versión y la plataforma de nuestra elección.
Link del asistente para instalar zabbix
La instalación en nuestro caso será sobre el sistema operativo Debian 13, para poder bajar la aplicación debemos cerciorarnos tener instalada la aplicación en línea de comando wget, ya que la usaremos para descargar zabbix.
Para descargar zabbix ejecutamos las siguientes líneas de comandos una a una a través de CLI
# wget https://repo.zabbix.com/zabbix/7.4/release/debian/pool/main/z/zabbix-release/zabbix-release_latest_7.4+debian13_all.deb # dpkg -i zabbix-release_latest_7.4+debian13_all.deb # apt update
Hecho esto instalamos el Server, el frontal (frontend) y el agente de Zabbix, con la siguiente linea de comando:
# apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent
Ahora bien debemos crear la instancia de la base de datos donde se guardaran los registros y datos monitoreados, asegurándonos que MariaDB o MySQL este activo y funcionando.
si por algún motivo no esta instalado MariaDB ejecutamos :
# apt install mariadb-server mariadb-client
Ahora ingresamos al gestor de base de datos para crear la base de datos de zabbix
# mysql -u root -p (root debe ser reemplazado por el nombre de usuario root o de acceso a la gestor de base de datos)
y ejecutamos las líneas siguientes:
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin; mysql> create user zabbix@localhost identified by 'password'; mysql> grant all privileges on zabbix.* to zabbix@localhost; mysql> set global log_bin_trust_function_creators = 1; mysql> quit;
En el host del servidor Zabbix, importe el esquema y los datos iniciales. Se le solicitará que ingrese su contraseña recién creada.
# zcat /usr/share/zabbix/sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
Deshabilite la opción log_bin_trust_function_creators después de importar el esquema de la base de datos.
# mysql -u root -p mysql> set global log_bin_trust_function_creators = 0; mysql> quit;
Configurar la base de datos para el servidor Zabbix
Para ello editamos el archivo con nano /etc/zabbix/zabbix_server.conf y colocamos en la linea la clave que habiamos creado previamente para la base de datos :
DBPassword=password
Iniciar los procesos del servidor y del agente Zabbix
Ahora ya podemos iniciar los procesos del servidor y del agente Zabbix y haga que se inicien al arrancar el sistema.
# systemctl restart zabbix-server zabbix-agent apache2
# systemctl enable zabbix-server zabbix-agent apache2
NOTA: Recuerda que cada equipo a ser monitoreado debe tener instalado el agente de monitoreo; que es el encargado de enviar los datos al servidor mediante el protocolo ICMP ; por ejemplo en el caso de maquinad linux/debian se puede instalar dicho agente de la siguiente manetra:
# apt install zabbix-agent
y para verificar si esta operativo ejecutamos la siguiente instrucción mediante CLI
# systemctl status zabbix-agent
donde veremos lo siguiente:
Continuar la instalación del servidor
Y ahora ya podemos abrir el servicio colocando la URL:
http://host/zabbix
El usuario y clave por defecto para ingresar al dashboard del servidor de monitoreo es:
Usuario: Admin Password: zabbix
Configurar tarjeta de red en Debian (manualmente)
Cuando se instala Debían, las tarjetas de red alámbrica e inalámbrica se configuran automáticamente; sin embargo la configuración de asignación de IP por defecto suele ser asignada mediante protocolo DHCP; es posible que sea necesario instalar dicha IP de manera manual y que la misma permanezca fija, para ello debemos hacer lo siguiente:
Como todo en Linux las configuraciones se las realiza en archivos de texto, los cuales deben ser editados y modificados de acuerdo a nuestras necesidades, en lo particular el archivo se encuentra en el siguiente directorio: /etc/network y ahí encontraremos el archivo interfaces el cual te recomiendo hagas un respaldo por si algo falla en la configuración; hagamos entonces el respaldo:
# cp /etc/network/interfaces /etc/network/interfaces.bak
Configuración de las IP estática
Una vez abierto el archivo debemos fijarnos que los datos que se encuentran dentro del archivo es el que corresponde a la auto configuración y la adquisición de la IP mediante DHCP; podemos eliminar estas línea o comentarlas con el # colocado delante de cada línea.
Luego colocamos las direcciones IP según nuestra necesidad y de acuerdo al segmento de red que usaremos; para nuestro caso son IP de uso local.
Ahora si con mas confianza editaremos el archivo con el siguiente comando:
# nano /etc/network/interfaces
auto eth0iface eth0 inet static address 192.168.1.100 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 8.8.8.8 8.8.4.4
NOTA: debes identificar claramente el nombre asignado al dispositivo o tarjeta de red; para este ejemplo es eth0 sin embargo de acuerdo a la marca o fabricante inclusive a la versión del SO, esta designación puede cambiar. Si deseas saber como conseguir esta identificación usa el siguiente comando.
# ip -c a
Instalar Cacti en Debian 13.x
Como siempre empezamos actualizando nuestro sistema operativo con el comando
# sudo apt update && sudo apt upgrade -y
Luego instalamos el servidor web Apache
# apt install apache2 -y
Luego procedemos a ionstalar el motor de bases de datos mariadb
# apt install mariadb-server mariadb-client -y mysql_secure_installation
Posteriormente instalamos el lenguaje PHP para poder comunicarnos
con la base de datos
# apt install php php-mysql libapache2-mod-php php-xml php-ldap php-mbstring php-gd php-gmp php-json php-cli php-snmp -y
Ahora procedemos a crear la base de datos para cacti con lo siguientes comandos:
# mysql -u root -p
CREATE DATABASE cacti; GRANT ALL PRIVILEGES ON cacti.* TO 'cactiuser'@'localhost' IDENTIFIED BY 'tu_contraseña_segura'; FLUSH PRIVILEGES; EXIT;
Ahora es el momento de instalar CACTI, procedemos de la siguiente manera
# apt install cacti -y
Finalmente configuramos el servidor virtual en Apache con los comandos siguientes:
# a2enmod rewrite
# sudo systemctl restart apache2
Finalmente para acceder a la pagina de nuestro Monitor de red Cacti, debemos ingresa a la IP donde instalamos todo http://tu-direccion-ip/cacti.
Nuevo repositorio para Debian 13 (trixie) – Deb822
El formato DEB822 es una nueva forma de definir los repositorios APT en Debian y sus derivados (Ubuntu ó Mint), se reemplaza el clásico formato de una sola línea (
sources.list
) por un formato más estructurado y legible basado en bloques de configuración.
Para poder utilizar este nuevo formato se debe tener claro que el directorio donde se guardan los «sources» u orígenes de actualización que quedaran en el siguiente directorio:
/etc/apt/sources.list.d
se debe crear en este directorio el archivo debian.sources el cual contendrá de manera mas organizada las entradas de los servidores donde están los archivos de actualización e instalación.
# nano /etc/apt/sources.list.d/debian.sources
y dentro colocamos lo siguiente:
Types: deb deb-src URIs: http://deb.debian.org/debian/ Suites: trixie Components: main contrib non-free non-free-firmware Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
Types: deb deb-src URIs: http://deb.debian.org/debian/ Suites: trixie-updates Components: main contrib non-free non-free-firmware Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
Types: deb deb-src URIs: http://security.debian.org/debian-security/ Suites: trixie-security Components: main contrib non-free non-free-firmware Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
También debemos hacer lo propio en el archivo debian-backports.sources :
# nano /etc/apt/sources.list.d/debian-backports.sources
y dentro colocamos lo siguiente
Types: deb deb-src URIs: http://deb.debian.org/debian/ Suites: trixie-backports Components: main contrib non-free non-free-firmware Signed-By:
Una ves que tengamos los archivos creados y con los datos dentro de los mismos, como siempre realizaremos un update y upgrade de la siguiente manera:
# apt update # apt upgrade
Si lo que deseas es pasar desde una versión de Debian anterior a la distribución 12 con el siguiente comando que no es propio de apt podrías migrar los sources.list de manera automática a debian.sources con el siguiente comando tal cual:
# sudo apt modernize-sources
Donde:
Los campos de un bloque DEB822 para poder configurarlo correctamente.
Campo | Descripción | Valores | Requerido |
Enabled | Le dice a APT que el repo está habilitado o no. | «yes» o «no» | No, default: «yes» |
Types | Define el tipo de paquetes que brinda el repo, si se trata de binarios pre-compilados, o fuentes. | «deb» o «deb-src» | Si |
URIs | Dirección donde se encuentra la base de archivos del repo. Pueden ser varias separadas por espacio. | La URI del repositorio. | Si |
Suites | Puede tener el codename de la distro («trixie», «bullseye», etc), o la ruta completa al repo, terminada con «/» y omitir «Components». | Cadenas de caracteres (Strings) | Si |
Components | Secciones de la versión presente en la Suite. | Cadenas de caracteres (Strings) | Si Suites especifica un codename, sí. Si Suites especifica una ruta, debe omitirse Components. |
Cómo crear Host Virtuales con Apache en Debian 12
Para configurar hosts virtuales con Apache en Debian, primero debes crear un directorio para cada sitio web, luego crear un archivo de configuración de host virtual para cada uno, habilitarlos, y finalmente reiniciar Apache.Asegúrate de que el firewall permita el acceso a los puertos correctos
Primero crear directorios para los sitios web donde estarán alojadas las paginas web:
Crea una estructura de directorios para cada sitio web, por ejemplo
# mkdir -p /var/www/ejemplo.com/public_html # mkdir -p /var/www/otroejemplo.com/public_html
Demos asegurarnos de que el usuario Apache (generalmente www-data) tenga permisos sobre estos directorios.
Usando estas instrucciones:
# chown -R www-data:www-data /var/www/ejemplo.com# chmod -R 755 /var/www/ejemplo.com
Hecho esto ahora debemos Crear archivos de configuración de host virtual:
para eso vaya al directorio /etc/apache2/sites-available/
# cd /etc/apache2/sites-available/
Creamos un nuevo archivo de configuración para el sitio (se debe hacer esto por cada sitio creado), por ejemplo:
# nano ejemplo.com.conf
Agregamos la siguiente configuración básica en cada archivo (reemplazando con la información que corresponda en cada sitio)
<VirtualHost *:80>ServerAdmin webmaster@ejemplo.com ServerName ejemplo.com ServerAlias www.ejemplo.com DocumentRoot /var/www/ejemplo.com/public_html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> Donde:
ServerAdmin: Dirección de correo electrónico del administrador del sitio.
ServerName: Nombre de dominio principal.
ServerAlias: Nombres de dominio alternativos.
DocumentRoot: Directorio donde se encuentran los archivos del sitio.
Listo ahora debemos habilitar los hosts virtuales: usando el comando a2ensite para habilitar los archivos de configuración así:
# a2ensite ejemplo.com.conf
NOTA:
Si usas un archivo de configuración predeterminado (000-default.conf), puedes deshabilitarlo con:
# a2dissite 000-default.conf
Para que todo quede funcional debemos reiniciar el servidor Apache para aplicar los cambios:
# systemctl restart apache2
Finalmente Si estás probando los hosts virtuales en tu propia máquina, edita el archivo /etc/hosts con:
# nano /etc/hosts
Quedaría algo así, dependiendo del numero de sitios creados
127.0.0.1 ejemplo.com
127.0.0.1 www.ejemplo.com 127.0.0.1 otroejemplo.com 127.0.0.1 www.otroejemplo.comVariables de entorno PATH temporales en Debian
Que son la variables de entorno?
Son variables creadas para determinar el comportamiento de ciertos procesos en un sistema, dichas variables sirven para que las aplicaciones sepan donde se encuentran localizadas ciertas partes del sistema operativo; existen varios tipo de variables de entorno.
En este caso hablaremos de las variables colocadas en PATH, también denominada variable de rutas o caminos.
Los ejercicios planteados aquí solo agregarán o modificaran esta variable de manera temporal; es decir que cuando se reinicie el sistema las mismas se restaurarán a su forma original
Para averiguar cuales son las rutas por defecto en el sistema debemos hacerlo desde la terminal o consola; y logearnos como súper usuario; una vez dentro de la terminar, colocamos la siguiente instrucción en el prompt.
# echo $PATH
Lo cual mostrara algo similar a esto:
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
Esto significa que se han definido caminos o paths para que los archivos, o programas puedan ser localizados desde cualquier parte del sistema, por ejemplo para /usr/local/bin indicará que dentro de esa carpeta se encuentran los archivos ejecutables o binarios accesibles para los usuarios locales del sistema operativo; y así sucesivamente.
Ahora bien si deseamos agregar otras rutas a la variable de entorno PATH, usaremos el comando export, de la siguiente manera:
export PATH=$PATH:/ruta
A manera de ejemplo tendríamos
# export PATH=$PATH:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
Si desea verificar los cambios en el PATH solo deberíamos ejecutar nuevamente el comentado:
# echo $PATH
Algunos tips importantes
Si dese eliminar TODA la ruta de la variable PATH lo podemos hacer escribiendo el siguiente comando
# export PATH=
Si verificamos, vemos que no hay ninguna ruta activa
Y listo..!
Servidor para Stream de video y TV
Un servidor de stream, es un servicio con acceso publico o privado para realizar transmisiones de video en tiempo real o no, el stream utiliza los protocolos de internet TCP pero sobre todo el UDP lo que permite a nuestros clientes o subscriptores acceder a dicho servicio y mirar en fomrato de video utilizando un navegador o un programa dedicado para el efecto como VLC y disfrutar de las transmisiones.
En la actualidad los medios tradicionales como radio y Tv están migrando a la red en virtud de que los anchos de banda actuales del internet nos permiten compartir grandes volúmenes de datos vía ethernet e internet, facilitando el acceso a los contenidos desde cualquier lugar; siempre y cuando contemos con ese tipo de coberturas digitales (IP, WiFi, etehrnet).
Para este proyecto instalaremos un sistema denominado MISTSERVER (https://mistserver.org/) el cual es un kit de herramientas multimedia de streaming de última generación para OTT (transmisión por Internet), diseñado para ser ideal para desarrolladores e integradores de sistemas; en virtud de que es un proyecto de código abierto y de acceso libre. El manual de la versión 3.0 puede ser accesado desde este link https://mistserver.org/guides/MistServer_Manual_3.0.pdf.
Primeros pasos
Es importante tener instalado previamente y de manera correcta nuestro sistema operativo, que para nuestra caso como siempre usaremos Debian 12, por otro lado es necesario instalar la herramienta curl que por defecto no suele estar instalado en el sistema operativo, con el siguiente comando:
# apt install curl
Instalar
Hecho esto podemos descargar e instalar la aplicación de manera automática en nuestro equipo que hará de servidor, con la instrucción siguiente:
# curl -o - https://releases.mistserver.org/is/mistserver_64V3.3.tar.gz 2>/dev/null | sh
Desinstalar
Si por cualquier razón necesitamos eliminar o desinstalar la aplicación el comando es el siguiente:
# sudo curl -o - https://releases.mistserver.org/uninstallscript.sh 2>/dev/null | sh
Si desea mayores referencias de como instalar y descargar la aplicación le sugiero el siguiente enlace
https://mistserver.org/download
Configuración
Como toda aplicación en linux por lo general se crean archivos de configuración, los cuales deben ser modificados de ser necesario de acuerdo a nuestra propia configuración, especialmente en cuanto tiene que ver a direcciones IP y modos de transmisión.
El archivo de configuración esta almacenado en el archivo, dentro del directorio /etc
/etc/mistserver.conf
Y todos los servicios se instalaran en la siguiente ruta, donde editaremos el archivo que nos permitirá configurar el servicio:
# nano /etc/systemd/system/mistserver.service
El contenido del archivo se vera así:
[Unit] Description=MistServer After=network.target [Service] Type=simple ExecStart=/usr/bin/MistController -c /etc/mistserver.conf Restart=always RestartSec=2 TasksMax=infinity TimeoutStopSec=8 ExecStopPost=/bin/bash -c "rm -f /dev/shm/*Mst*" [Install] WantedBy=multi-user.target
Hecho y verificado esto, es importante considerar que todo lo que hemos realizado en este archivo sera luego gestionado por el systemd; el cual es es un administrador del sistema y de servicios para Linux.
Para ejecutar, ver estado y detener el servicio:
Con el fin de iniciar o ejecutar el servicio se lo realiza con el siguiente comando:
# service mistserver start
Para ver el estado , es decir si esta activo o no con el siguiente comando
# service mistserver status
Y para detenerlo usaremos la siguiente linea:
# service mistserver stop
Configuración y administración vía web
Para poder empezar a utilizar el servidor es fundamental entender que la gestión se lo realiza vía su propia aplicación web; la cual esta disponible a través del puerto por defecto 4242, por lo tanto colocamos la IP de nuestro servidor, dos punto y el numero del puerto:
https://<Dir IP>:4242
Donde veremos la siguiente pantalla
La primera ves nos pedirá ingresar un usuario y una clave para gestionar el servicio, hecho esto podemos ingresar
Ahora ya podernos ingresar y empezar las configuraciones que correspondan, en una publicación posterior explicare como hacer dichas configuración y como empezar hacer streaming utilizando por supuesto OBS Studio.
Listo hemos terminado con la instalación y configuración de nuestro servidor MistServer para Streaming de video.
Instalar y configurar escritorio remoto en Debian
Para entender lo que es un escritorio remoto, usaremos una aplicación denominada VNC; la cual nos permitirá acceder de forma remota al escritorio de una estación con el sistema operativo Debian.
Definamos que es VNC
VNC son las siglas del inglés de Virtual Network Computing. VNC es un programa de software libre basado en una estructura cliente-servidor que permite observar las acciones del computador servidor remotamente a través de un computador cliente; lo que permite gestionarlo y administrarlo de forma remota o a distancia.
Su utilidad es enorme cuando el usuario desconoce la posibilidad de realizar operaciones a un nivel mas bajo; como por ejemplo la consola o terminal, ya que existen otros mecanismos de conexión denominado SSH, el cual lo analizaremos en otro tutorial.
Requerimientos
En primer lugar es importante entender que el acceso se lo hará a través de la red de datos; entre dos computadores el uno actuara como servidor (equipo al que queremos controlar a distancia) y el otro sera el cliente (equipo que controlará al equipo servidor), desde este equipo entonce podremos manipular todas las funciones a través del propio escritorio del equipo remoto.
Dicho esto entonces es fundamental que indaguemos cuales son las IPs tanto del remoto como del cliente; siendo esta ultima no relevante; sin embargo ambos equipos deben estar en la misma red, como aclaración debo mencionar que si es posible conectarse remotamente a un equipo diferente y distante de nuestra red.
Instalación de VNC – Server
Al ser la parte más importante de proceso de conexión remota nos centraremos en este paso; para lo cual es importante verificar si tenemos instalado el servicio x11Vvnc, para ello solo digitamos en una terminal con permisos de root el siguiente comando:
# x11vnc --version
y como respuesta obtendremos una linea con algo similar a esto:
x11vnc: 0.9.16 lastmod: 2019-01-05
Por lo general este servicio o demonio ya viene instalado como parte de los servicios de nuestro Debian, por lo tanto es probable que no se lo necesite, sin embargo dejare aquí los pasos a seguir para instalarlo:
# apt install x11vnc
Hecho esto si es importante que creemos un archivo de configuración del VNC, tal como se indica en la siguiente instrucción:
# nano /lib/systemd/system/x11vnc.service
Dentro de este archivo que debe estar vacio, colocamos las siguientes líneas tal cual se indica:
[Unit] Description=x11vnc service After=display-manager.service network.target syslog.target [Service] Type=simple ExecStart=/usr/bin/x11vnc -forever -display :0 -auth guess -passwd aqui_contraseña ExecStop=/usr/bin/killall x11vnc Restart=on-failure [Install] WantedBy=multi-user.target
Aquí es importante colocar una contraseña con la cual posteriormente nos logearemos al servidor, cambiando las palabras aquí_contraseña por la contraseña que máximo debe tener 8 caracteres, hecho eso grabar y salir.
Ahora debemos habilitar el servicio de x11vnc que acabamos de crear con el archivo anterior con los comandos siguientes:
# systemctl daemon-reload # systemctl enable x11vnc.service
El primer comando recarga todos los demonios, incluyendo el que acabamos de generar con el archivo creado y el segundo activa el servicio.
Luego arrancamos el servicio con el comando:
# systemctl start x11vnc.service
Y para verificar si esta ejecutándose usamos las siguientes sentencias:
# systemctl status x11vnc.service
Y es justo aquí donde observaremos el siguiente resultado:
Hay que fijarnos que en la linea donde esta la flecha coloca debian:0 se refiere al dominio o nombre de la máquina con los dos puntos y el 0, eso quiere decir que es en es a esa máquina o su equivalente de la IP relacionada, así como al escritorio numerado con el cero, a la que debemos conectarnos.
En la siguiente linea esta el puerto por defecto al cual nos conectaremos por lo general es el 5900, siendo estos datos los más importantes para colocarlos en nuestro cliente.
Hecho esto nuestro servidor VNC esta listo para conectarnos remotamente.
Conexión remota desde Windows con ultraVNC
Para poder conectarse a un servidor VNC se requiere un cliente que soporte estos protocolos, yo usare ultraVNC, el cual puede ser descargado de la siguiente dirección web:
Cuando lo descargue e instale notará que se puede instalar el cliente y el servidor para nuestro caso solo instalaremos el cliente, esto lo haremos en windows ya que esta aplicación por lo pronto solo existe para windows.
Una ves instalado, lo ejecutamos y en el casillero de entrada colocaremos las dirección IP de nuestro equipo remoto y el puerto, aunque no es necesario este ultimo paso ya que si solo instalamos un escritorio (es decir el 0) no hace falta.
Colocamos la clave que previamente pusimos en el archivo de configuración, y Log On y listo entraremos a la PC remota.
Así hemos terminado.
Streaming de Video – IP/Tv
Retomando los tutoriales hoy vamos ha tratar sobre el streaming de video o también denominado TV sobre IP, con ciertas particularidades que en este caso tiene que ver con la transmisión de video en vivo; por lo tanto en este apartado no veremos el Video bajo demanda; es decir aquel que el usuario puede elegir según sus preferencias; para este caso lo que queremos demostrar es que podemos transmitir video y audio justo en el momento que ocurre el evento.
En temas similares ya hemos definido que es el streaming, pero para comprender mejor los definiremos como en envío de una cadena de datos (paquetes) que se envían a un servidor , al cual pueden conectarse varios usuarios y consumir el contenido ya sea en formato solo de audio o en esta caso de audio y video.
Para poder transmitir video es importante contar con ciertos dispositivos que conectados a la computadora que enviara la cadena de paquetes (streaming); estos dispositivos fundamentalmente serán cámaras de video con salidas ya sean por USB o HDMI compatibles; de tal forma que la «captura» del video sera procesada por la máquina que hará el streaming; existen algunos dispositivos de entrada (captura-doras) que conectadas a la PC o Laptop harán este trabajo.
Suponiendo que contamos con todos estos elementos físicos, detallaremos las aplicaciones tanto a nivel de cliente y servidor que utilizaremos para este taller o tutorial.
Servidor de Streaming
El objetivo de un servidor de este tipo es el de recoger los paquetes de video y almacenarlos en pequeños archivos, los cuales pueden ser accesados desde otros computador que conozca la dirección IP o Dominio; el servidor e encarga de encolar estos paquetes y unirlos para «servir» al cliente que se conecta al servicio, de tal forma que el video aparecerá de manera fluida y visible ya sea directamente en una página web o utilizando un programa clientes como por ejemplo VLC.
Protocolos
Con el objetivo de estandarizar la forma de como se envían los datos (decodificación) hacia el servidor se han desarrollado una serie de protocolos de streaming de video; siendo unos más eficientes que otros cut¡yo uso mas bien dependerá de para que queremos hacer streaming (conferencias, video llamadas, canal de TV, etc)
Veamos rápidamente una serie de protocolos:
- AAC sobre HTTP
- CMAF (fMP4) sobre HTTP (DASH, HLS7, HSS)
- DTSC
- WebM/MKV sobre HTTP
- Free Lossless Audio Codec
- Flash progressive sobre HTTP (FLV)
- H264/H265 sobre HTTP
- Flash segmented sobre HTTP (HDS)
- Apple segmented sobre HTTP (HLS)
- HTTP
- TS sobre HTTP
- JSON sobre HTTP
- MP3 sobre HTTP
- MP4 sobre HTTP
- OGG sobre HTTP
- RTMP
- RTSP
- RTP streams using SDP
- SubRip (SRT/WebVTT) sobre HTTP
- TS sobre RIST
- TS sobre SRT
- WAV sobre HTTP
Este listado naturalmente requiere de un estudio más profundo en cada caso; sin embargo para este caso en el que haremos el laboratorio usaremos el protocolo RTMP (Real-Time Messaging Protocol) usado para transmitir mensajes de audio y video.
Suponiendo que cuenta con las condiciones y el conocimiento necesario sobre Redes IP empezamos con la primera parte , que consiste en instalar el servicio;cabe señalar que lo haremos sobre una máquina con Debian 12.5 (linux); por lo tanto también suponemos que la máquina esta lista para la tarea.
Qué es un servidor de medios?
Los servidores multimedia son sistemas centralizado de entrega de mediáticos. Como tal, un servidor multimedia es capaz de adaptar automáticamente sus medios para una entrega óptima y con una agradable experiencia del usuario.
El servidor MistServer
Es el software de servicio (server) que utilizaremos siendo éste modular en todos los significados de la palabra, no utilizando recursos cuando las características no están en uso y carga dinámica y descarga de funcionalidades y flujos en vuelo. Además de ofrecer un rendimiento inmejorable en cualquier situación, cuenta con opciones de integración potentes pero sencillas de usar para la automatización y el uso avanzado. Todos estos y más hacen de Mistserver la tecnología a usar como una solución potente, eficiente y escalable como una plataforma de medios.
Instalación de MistServer
El servidor esta disponible en su propio sitio web https://mistserver.org ; desde donde podemos descragarla e instalarla; sin embargo el método que describiré aquí ha sido probado, se lo hace de forma muy sencilla y rápida, además ha sido probada bajo la plataforma del sistema operativo Linux con Debian 12.
Para empezar debemos instar el comando curl, puesto que no viene por defecto en debian, para eso haremos lo siguiente:
# apt install curl
Instalado el comando basta con ejecutar la siguiente línea en la terminal
# curl -o - https://releases.mistserver.org/is/mistserver_64V3.3.tar.gz 2>/dev/null | sh
Esto instalará el server MistServer y todos sus binarios en su version de 64 bits.
Si desea desinstalarlo puede usar el siguiente comando:
# sudo curl -o - https://releases.mistserver.org/uninstallscript.sh 2>/dev/null | sh
Lo que eliminara por completo el servicio de nuestra sistema operativo.
Más referencias para las descargas en este link: https://mistserver.org/download
Debo recortarles que la configuración del servidor se encontrará en esta ruta y archivo
/etc/mistserver.conf
Así mismo todos las configuraciones del servicio para que arranque como tal dentro del sistema operativo se encuentras en este script de configuración (como todo en Linuxlos archivos de configuración son archivos de texto que pueden ser editados manualmente).
/etc/systemd/system/mistserver.service
He aqui el contendio del archivo por defecto; por ahora recomiendo no modificarlo y dejarlo tal como esta.
[Unit]
Description=MistServer
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/MistController -c /etc/mistserver.conf
Restart=always
RestartSec=2
TasksMax=infinity
TimeoutStopSec=8
ExecStopPost=/bin/bash -c «rm -f /dev/shm/*Mst*»
[Install]
WantedBy=multi-user.target
Para asegurarnos de que el servicio se encuentra levantado usaremos los comando ya conocidos; considerando que ahora MistServer es un servicio del sistema operativo como tal, entonces, escribimos en la terminal:
# service mistserver status
Cuyo mesaje sera que esta funcionando y activo
Ademas podra usar cmandos para reinciar el servicio u detenerlos asi:
# service mistserver start # service mistserver stop
Hasta aqui ya hemos instalado el servidor y lo tenemos operativo.
Configuracion del servicio MistServer
Para acceder a la página de configuración, debemos tomar en cuenta que IP tiene nuestra máquina en la que instalamos el MisServer, el comando que puede ayudar con ello es:
# ip -c a
Uponiendo que la IP de nuestro servidor es: 192.168.1.156, abrimos el navegador y colocamos la siguiente URL: http://192.168.1.156:4242
El numero que se encuentra después de los los dos puntos es el puerto por defecto del servicio y nos mostrará la siguiente pantalla:
Donde debemos colocar la siguiente información:
Nombre del Usuario (1), clave o password del mismo (2) y en el siguiente caja volveremos a colocar la misma clave (3), recuerde que esta colocando estos datos por primera vez y creando el usuario con su clave de administrador, finalmente grabamos (4).
y Nos llevara a la siguiente pantalla donde se nos indica que la cuenta ha sido creada y ademas en verde apareceremos CONECTADOS
Luego simplemente activaremos los protocolos haciendo click en el botos como se muestra en la imagen.
Ahora debemos crear el canal de stream, para ellos, damos click en Stream (1) y luego en el boton Crear Nuevo stream (2) como se muestra la imagen.
Lo que nos llevara a la siguiente pantalla, donde colocaremos los datos siguientes, fíjese bien las flechas que se indican así como los datos ingresados.
Primero le damos un nombre al Stream (1), Ud elige el nombre, luego colocamos la palabra push:// tal como se ve en la imagen, esto le indica al servidores que las imágenes serán enviadas o colocadas (push) de manera externa al propio servidor.
Hecho esto nos fijamos que a un cotado hay un botos «Copy», sirve para copia el texto al porta papeles (3), lo copiamos, asi como también la «clave» que coloca el server (4), estos datos son de suma importancia para configurar la aplicación que subirá el video al server; por lo tanto tomar nota de esto.
Nos vamos hasta abajo y ahí Gravamos (Save) la configuración hecha. Listo! el servidor esta configurado y preparado para recibir la cadena de datos (video y audio) desde una computadora que sera el emisor del video; para ello debemos configurar la siguiente aplicación en la maquina de transmisión.
OBS Estudio configuración.
OBS significa Open Broadcaster Software, es una aplicación construida con licencia de uso libre, ademas es multiplataforma , es decir funciona en Linux, Windows. Entonces OBS será nuestra herramienta para subir el video en tiempo real al servidor que hemos configurado previamente.
Una vez instalado el OBS en nuestra máquina, al abrir la aplicación damos click en el botón de Ajustes como se muestra en la imagen.
Esto abrirá la siguiente pantalla
Seleccionamos en el costado izquierdo la opción de Emision (1), Luego Servicios (2) aquí debemos seleccionar «Personalizado» ya que vamos a personalizar la forma de envío del Streaming, en Servidor (3) colocamos los datos que habiamos guardado previamente y que nos entrego el MistServer cuando creamos el Streming nótese que aqui se define ya el protocolo, la IP del servidor y el nombre de la sala de streming; luego colocamos la clave (4) que de la misma forma MistServer no colocó en su pantalla de configuración de streaming; luego simplemente grabamos dando click en Aceptar (5).
Y listo!, vamos a la pantalla principal de OBS y activamos el botón de Iniciar Transmisión.
Para comprobar que todo funciona bastará con seleccionar Stream y ahí el botón Embed (embebido)
Podemos hacer click en Preview lo que mostrara una recuadro con la cadena de strem en fomra de video; o a su vez para saber que funcionará como un servidor y con cualquier navegador copiamos (2) la URL que se muestra, que para nuestro caso es :
http://192.168.1.156:8080/envivo.html
Y el resultado sera como el siguiente.
Y listo!!!!!
Nuestro Servidor de Streming de Video esta funcionando al 100%