Acceso remoto en Linux: Guía de xRDP y SSH
Sacado de AQUÍ
Si estáis empezando en el mundo de la sincronización de vuestros archivos entre NAS Synology y Google Drive, os habréis topado seguramente con un programa llamado ‘rclone‘. También os habréis dado cuenta que existen decenas de guías en las que cada uno explica el proceso medianamente bien de una manera distinta al resto. En la siguiente guía os lo explico todo paso a paso de una forma clara y directa, para que no tengáis perdida en todo el proceso.
Continúa leyendoCómo instalar phpMyAdmin en Ubuntu: Guía completa
phpMyAdmin es una de las herramientas más populares para gestionar bases de datos MySQL y MariaDB a través de una interfaz web. Si tienes un servidor LAMP o LEMP, phpMyAdmin te permite crear, modificar y eliminar bases de datos, tablas y registros sin necesidad de escribir comandos SQL. En esta guía te explico cómo instalarlo y configurarlo de forma segura en Ubuntu.
¿Qué es phpMyAdmin?
phpMyAdmin es una aplicación web de código abierto escrita en PHP que proporciona una interfaz gráfica para administrar servidores MySQL, MariaDB y Drizzle. Es la herramienta estándar en la mayoría de los hosting compartidos y es esencial para desarrolladores que trabajan con bases de datos.
Requisitos previos
- Un servidor con Ubuntu 20.04, 22.04 o 24.04
- Apache instalado y funcionando
- MySQL o MariaDB instalado
- PHP instalado con los módulos necesarios
- Acceso root o sudo
Paso 1: Instalar phpMyAdmin
sudo apt update
sudo apt install phpmyadmin -y
Durante la instalación, el asistente te preguntará:
- ¿Qué servidor web configurar? Selecciona apache2 con la barra espaciadora y pulsa Enter
- ¿Configurar base de datos con dbconfig-common? Selecciona Sí
- Contraseña de aplicación MySQL: Introduce una contraseña segura
Paso 2: Configurar Apache
Si el asistente no configura Apache automáticamente, hazlo manualmente:
sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin
O crea un VirtualHost dedicado:
sudo nano /etc/apache2/sites-available/phpmyadmin.conf
Añade:
<VirtualHost *:80>
ServerName phpmyadmin.tudominio.com
DocumentRoot /usr/share/phpmyadmin
ErrorLog ${APACHE_LOG_DIR}/phpmyadmin_error.log
CustomLog ${APACHE_LOG_DIR}/phpmyadmin_access.log combined
</VirtualHost>
Activa el sitio:
sudo a2ensite phpmyadmin.conf
sudo systemctl reload apache2
Paso 3: Configurar acceso
Por defecto, phpMyAdmin solo permite acceso desde localhost. Para permitir acceso desde otras IPs:
sudo nano /etc/apache2/conf-available/phpmyadmin.conf
Busca las líneas Require ip 127.0.0.1 y Require ip ::1 y añade tu IP:
Require ip 127.0.0.1
Require ip ::1
Require ip 192.168.1.0/24
Paso 4: Crear un usuario MySQL dedicado
Por seguridad, no uses el usuario root de MySQL con phpMyAdmin. Crea un usuario específico:
sudo mysql -u root -p
Dentro de MySQL:
CREATE USER 'phpmyadmin'@'localhost' IDENTIFIED BY 'contraseña_segura';
GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Seguridad de phpMyAdmin
phpMyAdmin es un objetivo común de ataques. Sigue estas recomendaciones:
- Usa HTTPS con un certificado SSL de Let's Encrypt
- Cambia la URL por defecto de
/phpmyadmina algo personalizado - Configura autentecación adicional con .htaccess
- Restringe el acceso por IP en la configuración de Apache
- Actualiza regularmente a la última versión
- Deshabilita el login root desde phpMyAdmin
Conclusión
phpMyAdmin es una herramienta indispensable para gestionar bases de datos MySQL/MariaDB. Con esta guía tienes un phpMyAdmin instalado, configurado y seguro en tu servidor Ubuntu. Recuerda siempre seguir las buenas prácticas de seguridad y mantener todo actualizado.
Instalar LAMP Stack en Ubuntu: Apache, MySQL y PHP
La pila LAMP es una de las configuraciones de servidor web más populares del mundo. Sus siglas representan Linux, Apache, MySQL y PHP. Es la base que impulsa millones de sitios web, desde blogs personales hasta aplicaciones empresariales. En esta guía completa te explico cómo instalar y configurar cada componente paso a paso en Ubuntu.
¿Qué es exactamente LAMP?
LAMP es un acrónimo que describe una pila de software de código abierto para servidores web:
- Linux — El sistema operativo (Ubuntu, Debian, CentOS, etc.)
- Apache — El servidor web que sirve las páginas HTTP
- MySQL/MariaDB — El sistema de gestión de bases de datos
- PHP — El lenguaje de programación del lado del servidor
Juntos, estos cuatro componentes crean un entorno completo para ejecutar aplicaciones web dinámicas como WordPress, Joomla, Drupal, Laravel y muchas más.
Requisitos previos
- Un servidor o máquina virtual con Ubuntu 20.04, 22.04 o 24.04
- Acceso root o un usuario con privilegios sudo
- Conexión a Internet
- Al menos 512MB de RAM (1GB recomendado)
Paso 1: Actualizar el sistema
Antes de instalar cualquier paquete, actualiza los repositorios y el software existente:
sudo apt update
sudo apt upgrade -y
Paso 2: Instalar Apache
Apache es el servidor web más utilizado del mundo. Para instalarlo:
sudo apt install apache2 -y
Después de la instalación, Apache se inicia automáticamente. Verifica que está funcionando:
sudo systemctl status apache2
Deberías ver active (running). También puedes abrir un navegador y visitar http://tu-ip-del-servidor para ver la página de bienvenida de Apache.
Configurar el firewall
Si tienes UFW activado, permite el tráfico HTTP y HTTPS:
sudo ufw allow 'Apache Full'
sudo ufw status
Paso 3: Instalar MySQL
MySQL es un sistema de gestión de bases de datos relacional. Para instalarlo:
sudo apt install mysql-server -y
Después de la instalación, ejecuta el script de seguridad:
sudo mysql_secure_installation
Este script te guiará para:
- Establecer una contraseña para el usuario root de MySQL
- Eliminar usuarios anónimos
- Deshabilitar el login remoto de root
- Eliminar la base de datos de prueba
Responde Y (sí) a todas las preguntas para una configuración segura.
Verificar MySQL
sudo systemctl status mysql
Paso 4: Instalar PHP
PHP es el lenguaje de programación que procesa el contenido dinámico. Instala PHP junto con los módulos más comunes:
sudo apt install php libapache2-mod-php php-mysql php-cli php-curl php-gd php-mbstring php-xml php-zip -y
Cada módulo tiene una función específica:
- php-mysql — Conexión a bases de datos MySQL
- php-curl — Peticiones HTTP externas
- php-gd — Manipulación de imágenes
- php-mbstring — Cadenas multibyte (UTF-8)
- php-xml — Procesamiento de XML
- php-zip — Compresión de archivos
Verificar PHP
Crea un archivo de prueba:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
Visita http://tu-ip/info.php en tu navegador. Deberías ver la página de información de PHP. Importante: elimina este archivo después de verificar:
sudo rm /var/www/html/info.php
Paso 5: Probar la pila completa
Crea un script de prueba que conecte a MySQL:
sudo nano /var/www/html/test_db.php
Añade este contenido:
<?php
$mysqli = new mysqli("localhost", "root", "tu_contraseña");
if ($mysqli->connect_error) {
die("Error de conexión: " . $mysqli->connect_error);
}
echo "Conexión exitosa a MySQL!";
$mysqli->close();
?>
Visita http://tu-ip/test_db.php para verificar la conexión. Recuerda eliminarlo después.
Paso 6: Configurar Virtual Hosts
Para alojar múltiples sitios web en un solo servidor, configura Virtual Hosts:
sudo nano /etc/apache2/sites-available/misitio.conf
Añade:
<VirtualHost *:80>
ServerName misitio.com
ServerAlias www.misitio.com
DocumentRoot /var/www/misitio
ErrorLog ${APACHE_LOG_DIR}/misitio_error.log
CustomLog ${APACHE_LOG_DIR}/misitio_access.log combined
</VirtualHost>
Activa el sitio y el módulo rewrite:
sudo mkdir -p /var/www/misitio
sudo a2ensite misitio.conf
sudo a2enmod rewrite
sudo systemctl reload apache2
Conclusión
Con estos pasos, tienes un servidor LAMP completamente funcional en Ubuntu. Esta configuración es la base para ejecutar WordPress, aplicaciones Laravel, tiendas PrestaShop, y prácticamente cualquier aplicación web basada en PHP. Recuerda mantener el sistema actualizado y seguir buenas prácticas de seguridad.
DNS dinámico en Linux: Conectar dominio con IP dinámica
Si tienes un servidor en casa o en una oficina con una dirección IP pública dinámica (que cambia cada cierto tiempo), acceder a él desde fuera puede ser un problema. La solución es el DNS dinámico (DDNS), un servicio que asocia un nombre de dominio fijo a tu IP cambiante. En esta guía te explico cómo configurar DNS dinámico en Linux paso a paso.
¿Qué es DNS dinámico?
El sistema DNS tradicional traduce nombres de dominio (como google.com) en direcciones IP. Cuando tu IP es estática (no cambia), esto funciona sin problemas. Pero si tu proveedor de Internet te asigna una IP dinámica (que puede cambiar cada horas o días), tu dominio dejaría de apuntar a tu servidor cada vez que la IP cambie.
El DNS dinámico resuelve esto: un cliente en tu servidor detecta los cambios de IP y actualiza automáticamente el registro DNS de tu dominio.
Proveedores de DNS dinámico gratuitos
- DuckDNS (duckdns.org) — El más sencillo, gratuito, sin límites
- No-IP (noip.com) — Gratuito con confirmación mensual
- FreeDNS (freedns.afraid.org) — Múltiples dominios gratuitos
- Cloudflare — Si ya usas Cloudflare para tu dominio
- Afraid.org — Gran variedad de dominios gratuitos
Método 1: DuckDNS (recomendado para principiantes)
Paso 1: Crear una cuenta
- Ve a duckdns.org
- Inicia sesión con Google, GitHub o Reddit
- Crea un subdominio (por ejemplo,
miservidor) - Apunta el token que te asignan
Paso 2: Instalar el cliente
# Crear directorio
mkdir -p ~/duckdns
cd ~/duckdns
# Crear script de actualización
nano duck.sh
Añade:
#!/bin/bash
echo url="https://www.duckdns.org/update?domains=miservidor&token=TU_TOKEN&ip=" | curl -k -o ~/duckdns/duck.log -K -
Reemplaza miservidor con tu subdominio y TU_TOKEN con tu token.
# Hacer ejecutable
chmod +x duck.sh
# Probar
./duck.sh
cat duck.log
Deberías ver OK en el log.
Paso 3: Configurar cron para actualización automática
crontab -e
Añade esta línea para actualizar cada 5 minutos:
*/5 * * * * ~/duckdns/duck.sh >/dev/null 2>&1
Método 2: Cliente DDNS genérico
Para otros proveedores, puedes usar un cliente DDNS universal:
# Instalar ddclient
sudo apt install ddclient -y
# Configurar
sudo nano /etc/ddclient.conf
Ejemplo para No-IP:
protocol=dyndns2
use=web, web=myip.dnsomatic.com
server=dynupdate.no-ip.com
login=tu_usuario
password=tu_contraseña
tudominio.ddns.net
Método 3: Con Cloudflare
Si tu dominio usa Cloudflare, puedes usar su API para actualizar registros DNS:
#!/bin/bash
# Script DDNS para Cloudflare
API_KEY="tu_api_key"
EMAIL="tu@email.com"
ZONE_ID="tu_zone_id"
RECORD_ID="tu_record_id"
DOMAIN="tudominio.com"
IP=$(curl -s https://api.ipify.org)
curl -X PUT "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records/$RECORD_ID" -H "X-Auth-Email: $EMAIL" -H "X-Auth-Key: $API_KEY" -H "Content-Type: application/json" --data "{"type":"A","name":"$DOMAIN","content":"$IP","ttl":120}"
Verificar que funciona
# Comprobar tu IP pública
curl https://api.ipify.org
# Verificar que el DNS apunta correctamente
dig miservidor.duckdns.org +short
nslookup miservidor.duckdns.org
Conclusión
El DNS dinámico es la solución perfecta para acceder a tu servidor con IP dinámica desde cualquier lugar. Con herramientas como DuckDNS, la configuración toma menos de 10 minutos y es completamente gratuita. Una vez configurado, tu dominio siempre apuntará a tu servidor sin importar cuánto cambie tu IP.
Sustituir router por MikroTik: Guía de configuración
Tutorial sacado íntegramente de aquí
En este post veremos cómo usar un equipo Mikrotik para realizar una sustitución de un router de Movistar.
Como sabéis ya hice un post de como sustituir un router Asus por el router de Movistar. Y como sabéis también hice especial hincapié en separar dos casos de uso:
• Un caso si teníamos Router de Movistar + ONT por separado.
• El otro caso si teníamos el HGU (Home Gateway Unit), donde la ONT y el Router vienen integrados en el mismo aparato.
En este post también separaré debidamente ambos casos.
También quiero remarcar que esta sustitución es para poder tener únicamente datos en ambos casos, es decir, en este post NO hablaremos por ahora del tema de la Televisión ni del teléfono.
Finalmente, como la idea es poder usar sin problemas el servicio de 300/300 Mbps de Movistar hemos optado por usar un Mikrotik RB750Gr3.
Empezamos, primero encenderemos el equipo y accederemos a él mediante Winbox o vía web.
Cursos de aerografía en Academia C10 una historia de amor, tutorial de David
- Publicado el 13 febrero 2010 en AcademiaC10
Cursos de aerografía en Academia C10: una historia de amor, tutorial de David
Un frío y seco día de Diciembre, mi amigo Jorge me ofreció conocerla, me habían hablado de ella, de cómo todos la miraban, de cómo exhibía sus curvas por el barrio.
A mi por supuesto me gusto la idea, más aún cuando Jorge me dijo: ¨puedes hacer lo que quieras con ella, a mi no me importa, somos amigos¨.
Continúa leyendo