Henry
Instalación de Docker en Debian 13.x
Docker es una plataforma creada con el fin de desarrollar, implementar y ejecutar aplicaciones dentro de contenedores. Lo cual permite a los desarrolladores realizar el empaquetado de nuestras aplicaciones junto a sus correspondientes dependencias dentro de una sola unidades estandarizadas conocidas bajo el término de contenedores de software.
El uso de esta tecnología permite construir sistemas bajo el principio de micro-servicios que permiten trabajar de manera transparente compartiendo recursos entre los servicios y cada uno en su propio contenedor.
Cómo instalarlo.
Como siempre se recomienda primero actualizar el sistema operativo, para ello realizamos los comando siguientes:
# sudo apt update # sudo apt install ca-certificates curl
Luego instalamos las llaves PGP para asegurar la autenticidad del sitio de descargas, esto lo hacemos en nuestro sistema operativo:
# install -m 0755 -d /etc/apt/keyrings # curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc # chmod a+r /etc/apt/keyrings/docker.asc
Luego debemos agregar el repositorio para APT que permitirá instalar Docker; para eso creamos el siguiente archivo docker.sources en la ruta de directorio /etc/apt/sources.list.d/ como siempre lo hacemos desde la CLI con la instrucción:
# tee /etc/apt/sources.list.d/docker.sources <<EOF Types: deb URIs: https://download.docker.com/linux/debian Suites: $(. /etc/os-release && echo "$VERSION_CODENAME") Components: stable Architectures: $(dpkg --print-architecture) Signed-By: /etc/apt/keyrings/docker.asc EOF
Ahora actualizamos el sistema una ves mas para que tome efecto las claves PGP y los repositorios que hemos y creado y a su ves instalamos Docker con:
# apt update # apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Verificamos la Instalación
Para verificar actualizamos una ves mas el sistema y ejecutamos el comando de verificacoin:
# apt update
# apt list --all-versions docker-ce
Estado del servicio Docker
Docker se ejecuta como un servicio dentro del Sistema Operativo; por lo tanto podemos además verificar si el mismo se esta ejecutando o no, e inclusive suspender su ejecución:
# systemctl status docker # systemctl stop docker # systemctl start docker
Listo, Docker esta openado!
Instalar PostgreSQL 18 en Debian 13.x
Que es Postgres ?
PostgreSQL es un Sistema de Gestión de Bases de Datos (SGDB) relacional orientado a objetos además libre, publicado bajo la licencia PostgreSQL.
Para instalar la versión 18.4 – siendo la más actualizada la momento de realizar este tutorial – es fundamental colocar el archivo que referencia al repositorio; en este caso usaremos el nuevo método que permite organizar de mejor manera el acceso a los repositorios.
Instalación de repositorio
Para ello primero debemos traer las firmas que validan la autenticidad del repositorio con los siguientes comando:
# apt install curl ca-certificates
# sudo install -d /usr/share/postgresql-common/pgdg
# curl -o /usr/share/postgresql-common/pgdg/apt.postgresql.org.asc –fail https://www.postgresql.org/media/keys/ACCC4CF8.asc
Con esto ya tenemos las firmas correctas; ahora debemos crear el fichero (archivo) que contiene el repositorio:
Ejecutamos:
# nano /etc/apt/sources.list.d/pgdg.sources
Se crea una archivo vacío y dentro colocamos lo siguiente:
Types: deb deb-src
URIs: https://apt.postgresql.org/pub/repos/apt
Suites: trixie-pgdg
Architectures: amd64
Components: main
Signed-By: /usr/share/postgresql-common/pgdg/apt.postgresql.org.asc
Guardamos con Ctrl+o y salimos con Ctrl+x
Ahora si podemos ejecutar la actualización del sistema y por ende de este nuevo repositorio.
# sudo apt update
Una ves actualizado ya podemos instalar el postgresql versión 18.x, con la siguiente línea de comandos:
# apt install postgresql-18
Esperamos que el proceso finalice.
Comprobar la instalación
Una vez realizado los pasos anteriores verificamos que el servicio de SGDB postgresql, se encuentre operando usamos para ello el comando:
# systemctl status postgresql
Donde veremos que efectivamente se encuentra Activo.
Si deseamos verificar la versión usamos el comando:
# psql -V
Ahora estaríamos listos para crear nuestra bases de datos.
Configurar un servidor DNS en Debian 11, 12, 13
DNS es el acrónimo de Domain Name System o Sistema de Nombres de Dominio, que es el método utilizado por Internet para traducir, de forma fácil de recordar, los nombres de dominios como por ejemplo ueb.edu.ec en lugar de su IP 181.224.197.134 de manera que sean entendibles por las personas y más fácil que si se trata de recordar secuencias numéricas, como es el caso de las direcciones IP.
Es el método utilizado por Internet para traducir, de forma fácil de recordar, los nombres de dominios, todo equipo o dispositivo conectado a Internet necesita de una dirección IP y que esta sea única de forma que pueda ser accesible desde cualquier punto de la red; generalmente estas IPs se denominan públicas.
Instalar bind
# apt install bind9 bind9-dnsutils
Luego debemos trasladarnos al directorio en el cual se instaló bind
# cd /etc/bind/
Y realizamos una copia del archivo named.conf.local por seguridad
# cp named.conf.local named.conf.local.bak
Ahora editaremos el archivo de configuración:
# nano /etc/bind/named.conf.local
Dentro del archivo colocaremos lo siguientes (este es un caso de ejemplo ud debe colocar el dominio que disponga); considerando que aquí agregamos las zonas que correspondan, pueden haber tantas como se requieran.
zone "tecnisoft.net" {
type master;
file "/etc/bind/db.tecnisoft.net";
};
Debe respetar la sintaxis tanto las comillas, llaves y punto y comas.
Para chequear si hemos hecho todo correcto usamos el comando:
# named-checkconf
Si todo estuvo bien hasta aquí no debe arrojar ningún mensaje, caso contrario se indicará que error ocurrió.
Ahora debemos crear los archivos de zona, con nano dentro del mismo directorio /etc/bind/ editamos el siguiente archivo de zona
# nano db.tecnisoft.net
y dentro colocamos la siguientes líneas, respetando la sintaxis, recuerde que cada zona va a requerir un archivo de configuración similar:
$TTL 86400 @ IN SOA ns1.tecnisoft.net. admin.tecnisoft.net. ( 2020121201 ; Serial 3600 ; Refresh 1800 ; Retry 604800 ; Expire 86400 ) ; Negative Cache TTL ; @ IN NS ns1.tecnisoft.com. @ IN A 192.168.1.100 www IN A 192.168.1.100
Ahora bien nos queda finalmente editar el fichero named.conf.options en el mismo directorio.
# nano named.conf.options
Y dentro colocamos:
acl "trusted" {
127.0.0.0/8;
192.168.1.0/24; # Reemplaza con tu red local
localhost;
};
options {
directory "/var/cache/bind";
# Reenviadores: Consultas externas
forwarders {
8.8.8.8;
8.8.4.4;
};
# Seguridad: Consultas permitidas
allow-query { trusted; };
recursion yes;
# Escuchar en interfaces
listen-on { any; };
listen-on-v6 { any; };
dnssec-validation auto;
};
La instrucción forwarders va a permitir que para poder navegan en internet bind debe resolver las búsquedas hacia la internet; por ello colocamos el DNS de google u otro que mas nos convenga; en mi caso he usado el de Cloudflare.
Una ves hecha la configuración debemos reiniciar el servidor bind con el comando:
# systemctl restart bind9
Luego comprobamos las zonas en este caso:
# named-checkzone tecnisoft.com /etc/bind/db.tecnisoft.net
Si todo sale bien aparecerá lo siguiente:
zone tecnisoft.com/IN: loaded serial 2020121201
OK
Bien ya casi terminamos, ahora hay que decirle a nuestra máquina que resuelva las peticiones desde nuestra DNS; para ello debemos modificar lo siguiente:
# nano /etc/resolv.conf
Y dentro colocamos la IP de la máquina que tiene nuestro DNS, usando el comando nslookup indagamos si se resuelve el dominio.
# nslookup tecnisoft.net
LEMP en Debian 13, con MariaDB, PHP 8.x y phpMyAdmin 4.6.x
Un servidor LEMP consiste en instalar sobre un distro Linux; que en nuestro caso será Debian 13, NGINX como servidor web, MySQL como motor de bases de datos y PHP como lenguaje que permita la conexión entre la base de datos y las paginas web.Instalación de NGINX
# apt install nginx
# systemctl status nginx

# systemctl restart nginx
Instalación de PHP
# apt install php-fpm

Configuración de NGINX con PHP
# /etc/nginx/sites-available/default

# systemctl reload nginx
http:192.168.1.132/info.php

Instalación de MariaDB
# apt install mariadb-client mariadb-server php-mysql

Lo que habrá instalado el servidor y cliente de mariaDB y también la librería de conexión entre php y mysql; ambos lenguajes, el primero de script o gateway para las paginas web y el segundo la conexión con lenguaje mysql.
Es probable que durante la instalación nos solicite la contraseña del root para MySQL; de igual forma esperamos que el proceso termine; luego activamos e iniciamos los servicios de MariaDB:
# systemctl enable mariadb # systemctl start mariadb
y comprobamos con
# systemctl status mariadb
Listo ya podemos usar nuestro servidor LEMP !
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.2/adminer-5.4.2.php
Por lo tanto el comando para su descarga seria:
# wget https://github.com/vrana/adminer/releases/download/v5.4.2/adminer-5.4.2.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.2/adminer-5.4.2.php /var/www/html/
Quizá tengas que instalar la liberia de conexion entre php y mysql, para eso ejecuta:
# apt install php-mysql
y listo no demora nada ya que es un solo archivo .PHP
NOTA: Por otra parte si no logras conectarte a las bases de datos o mirar las mismas esto se debe a que no tienes permisos en el gestor de bases de datos; por lo tanto hay que crear este usuario con su clave respectiva; para ello ingresamos al mysql – es mi caso –
# mysql -u root -p
una ves dentro de mariadb, creamos el usuario respectivo asi:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'usuario'@'localhost' IDENTIFIED BY 'clave';
y luego para que los cambios se registren:
MariaDB [(none)]> FLUSH PRIVILEGES;
Ejecución
Para ejecutar la aplicación entonces bastaría con colocar la URL: http://localhost/adminer-5.4.2.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

NOTA: Para poner en idioma español la interface mira al fina la sección idiomas.





El usuario y clave por defecto para ingresar al dashboard del servidor de monitoreo es:
Usuario: Admin Password: zabbix

Poner en español los menús e interfaces

La forma más practica es ejecutando en Debian el programa dpkg-reconfigure
# dpkg-reconfigure locales
Ahí es muy importante escoger el idioma es_ES.UTF-8, suele confundir puesto que para Ecuador seria ec_ES.UTF-8; pero no funcionará ya que la interface de zabbix no tiene definido dicho registro.

Luego simplemente ejecuta:
# locale-gen
Luego reiniciar el servidor Apache, así:
# service apache2 restart
Otra forma un poco más larga puede ser modificar el archivo de idioma de nuestro Linux (Debian), editando el siguiente archivo (recuerda seleccionar el idioma es_ES.UTF-8):
# nano /etc/locale.gen

Luego debemos ejecutar el comando que descarga el conjunto de idiomas
# apt-get install -y locales && echo 'en_US.UTF-8 UTF-8' >> /etc/locale.gen && locale-gen
Y luego ejecutamos el siguiente comando que se generó al redireccionar a locale-gen:
# locale-gen
Esto lo que hará es instalar las tablas de lenguaje con formato UTF8 de español latino en todo el sistema, finalmente reiniciamos el servidor Apache y todo queda actualizado.
# service apache2 restart
Si tienes NGinx debes reiniciarlo con:
# systemctl restart nginx
Instalar el Agente SNMP
Un agente es un programa que se encarga de enviar la información al servidor zabbix; recoge todos los datos del equipo y los envía mediante el protocolo SNMP hacia el servidor.
Existen agentes propios de la aplicación, como es el caso de zabbix (zabbix-agent) y los genéricos o estándares como snmp y snmpd.
Para nuestro caso instalaremos el SNMP standard en Debian; el caso es muy similar para otros sistemas operativos.
# apt install snmpd snmp -y
Hecho esto debemos configurarlo mediante el comando:
# nano /etc/snmp/snmpd.conf
En este archivo, puede configurar la cadena de comunidad, que actúa como contraseña para controlar el acceso a la información de su red. Por razones de seguridad, es fundamental cambiar la cadena de comunidad predeterminada a una más segura.
Buscamos la siguiente línea y colocamos los datos:
rocommunity public
y nos aseguramos que no esté comentada (sin un # al principio). Si no existe la línea, añádela.
Luego descomentamos la línea agentaddress o añádela y colocamos la dirección correcta desde donde zabbix escucha, por ejemplo,
agentaddress UDP:161 o agentaddress 192.168.1.100:161
# systemctl restart snmpd
Instalar el Agente Zabbix
Para el caso del agente de zabbix visita la página web de la aplicación y en el menú de selección busca el agente de acuerdo al sistema operativo en el que deseas instalarlo y sigue los pasos que indica el wizard

Y seguimos las líneas de comandos que se indican el el wizard…
Configuración del Agente Zabbix
Para que el agente envíe los datos al servidor debemos configurarlo de la siguiente forma:
editamos el archivo de configuración con la siguiente linea de comandos:
# nano /etc/zabbix/zabbix_agentd.conf
Dentro del archivos localizamos las siguientes líneas y las modificamos como corresponda:
Server= (dirección IP o nombre DNS del servidor Zabbix)
ServerActive= (misma que Server si el agente inicia la comunicación es decir agente activo)
Hostname= (un nombre único para identificar este host en el servidor Zabbix)
Guardamos los cambios y reiniciamos el agente de la siguiente forma:
# systemctl restart zabbix-agent
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 staticaddress 192.168.1.100netmask 255.255.255.0gateway 192.168.1.1dns-nameservers 8.8.8.8 8.8.4.4
Luego reiniciamos las tarjetas de red con el comando:
# systemctl restart networking
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 es el siguiente directorio:
# /etc/apt/
A partir de aquí, 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, entonces creamos el archivo:
# nano /etc/apt/sources.list.d/debian.sources
y dentro colocamos lo siguiente:
# Modernizado desde /etc/apt/sources.list
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
# Actualizaciones de Seguridad
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
# Actualizaciones del Repositorio
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
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: stable-backports
Components: main contrib non-free non-free-firmware
Enabled: yes
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
Siempre es recomendable realizar 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. |
NOTA
En el caso de querer mantener los formatos tradicionales o «antiguos» de los repositorios para debian 13 solo hay que editar el archivo sources-list de la siguiente manera:
# nano/etc/apt/sources.list
Debes comentar la linea que tiene la actualización desde el propio DVD ya que eso no mantendrá al dia las actualizaciones; entonces colocamos dentro lo siguiente:
deb http://deb.debian.org/debian/ trixie main contrib non-free non-free-firmware
deb-src http://deb.debian.org/debian/ trixie main contrib non-free non-free-firmware
deb http://security.debian.org/debian-security/ trixie-security main contrib non-free non-free-firmware
deb-src http://security.debian.org/debian-security/ trixie-security main contrib non-free non-free-firmware
deb http://deb.debian.org/debian/ trixie-updates main contrib non-free non-free-firmware
deb-src http://deb.debian.org/debian/ trixie-updates main contrib non-free non-free-firmware
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.com127.0.0.1 www.ejemplo.com127.0.0.1 otroejemplo.com127.0.0.1 www.otroejemplo.com

