Lee las instrucciones para un mantenimiento mensual seguro para tu VPS Debian, pensado para que lo ejecutes rápido y mantengas siempre el sistema ligero y bajo control:
Revisar espacio en disco
df -h
Comprueba que la partición / no supere el 80% de uso.
Si ves que se acerca al límite, pasa al siguiente paso de limpieza.
A continuación guarda los backups fuera del VPS si es posible.
✅ Resultado esperado
VPS siempre con espacio libre > 50%.
Logs controlados y nunca superiores a 500 MB.
Cachés y paquetes limpios.
Bases de datos optimizadas.
Backups recientes y listos para restaurar.
SCRIPT DE MANTENIMIENTO MENSUAL
Aquí tienes tu script de mantenimiento mensual para el VPS. Lo puedes guardar como vps-maintenance.sh, darle permisos de ejecución y lanzarlo cada vez que quieras revisar y limpiar tu servidor:
#!/bin/bash
# VPS Maintenance Script - Edition
# Ejecutar con: sudo ./vps-maintenance.sh
echo "===== Estado del disco ====="
df -h
echo ""
echo "===== 📂 Uso en /var ====="
du -h --max-depth=1 /var | sort -h
echo ""
echo "===== Limpiando logs del sistema (máx 500MB) ====="
journalctl --vacuum-size=500M
echo ""
echo "===== Limpiando logs de Apache ====="
truncate -s 0 /var/log/apache2/access.log 2>/dev/null
truncate -s 0 /var/log/apache2/error.log 2>/dev/null
echo ""
echo "===== Limpiando cachés de paquetes ====="
apt-get clean
apt-get autoremove --purge -y
echo ""
echo "===== Espacio en bases de datos ====="
du -h --max-depth=1 /var/lib/mysql | sort -h
echo ""
echo "===== ✅ Mantenimiento completado ====="
echo "Revisa arriba el estado del disco y bases de datos."
Pasos en tu VPS
Entrar al editor y crear el archivo:
sudo nano /root/vps-maintenance.sh
Pega dentro el contenido del script avanzado de mantenimiento.
Guardar y salir de nano:
Pulsa CTRL + O → Enter para guardar.
Pulsa CTRL + X para salir.
Dar permisos de ejecución al script:
sudo chmod +x /root/vps-maintenance.sh
Probarlo manualmente:
sudo /root/vps-maintenance.sh
Cómo usarlo
1. Copia el contenido en un archivo:
nano vps-maintenance.sh
2. Dale permisos de ejecución:
chmod +x vps-maintenance.sh
3. Ejecútalo con privilegios:
sudo ./vps-maintenance.sh
✅ Resultado esperado
Verás un informe con el estado del disco y /var.
Los logs del sistema y Apache quedarán reducidos.
Cachés y paquetes sobrantes se eliminarán.
Tendrás un vistazo rápido al tamaño de tus bases de datos.
VERSION AVANZADA DEL SCRIPT DE MANTENIMIENTO
Aquí tienes la versión avanzada del script de mantenimiento que además de ejecutar las limpiezas y comprobaciones, guarda un informe con fecha en un archivo dentro de tu VPS (por ejemplo report-2025-12-06.txt). Con esto tendrás un histórico de cada mantenimiento mensual.
Script vps-maintenance.sh
#!/bin/bash
# VPS Maintenance Script - Edition
# Ejecutar con: sudo ./vps-maintenance.sh
# Nombre del informe con fecha actual
REPORT="/root/vps-report-$(date +%F).txt"
echo "===== 📊 Estado del disco =====" | tee $REPORT
df -h | tee -a $REPORT
echo "" | tee -a $REPORT
echo "===== 📂 Uso en /var =====" | tee -a $REPORT
du -h --max-depth=1 /var | sort -h | tee -a $REPORT
echo "" | tee -a $REPORT
echo "===== Limpiando logs del sistema (máx 500MB) =====" | tee -a $REPORT
journalctl --vacuum-size=500M | tee -a $REPORT
echo "" | tee -a $REPORT
echo "===== Limpiando logs de Apache =====" | tee -a $REPORT
truncate -s 0 /var/log/apache2/access.log 2>/dev/null
truncate -s 0 /var/log/apache2/error.log 2>/dev/null
echo "Logs de Apache vaciados" | tee -a $REPORT
echo "" | tee -a $REPORT
echo "===== Limpiando cachés de paquetes =====" | tee -a $REPORT
apt-get clean
apt-get autoremove --purge -y | tee -a $REPORT
echo "" | tee -a $REPORT
echo "===== 📊 Espacio en bases de datos =====" | tee -a $REPORT
du -h --max-depth=1 /var/lib/mysql | sort -h | tee -a $REPORT
echo "" | tee -a $REPORT
echo "===== ✅ Mantenimiento completado =====" | tee -a $REPORT
echo "Informe guardado en $REPORT" | tee -a $REPORT
Cómo usarlo
COMANDOS EN NEGRITA
Copia el contenido en un archivo: nano vps-maintenance.sh
Dale permisos de ejecución:chmod +x vps-maintenance.sh
Ejecútalo con privilegios:sudo ./vps-maintenance.sh
✅ Resultado esperado
Se ejecutan todas las limpiezas y comprobaciones.
Se genera un archivo de informe en /root/ con nombre tipo vps-report-2025-12-06.txt.
Cada mes tendrás un histórico con fecha, para comparar evolución del espacio y detectar crecimientos anómalos.
Configuración con cron
Edita el cron del sistema:
sudo crontab -e
Agrega esta línea al final:
0 3 1 * * /root/vps-maintenance.sh
Explicación:
0 3 1 * * → se ejecuta a las 03:00 AM del día 1 de cada mes.
/root/vps-maintenance.sh → ruta completa al script que creaste.
El script ya genera un informe con fecha (/root/vps-report-YYYY-MM-DD.txt), así tendrás histórico mensual.
📂 Dónde ver los informes
Cada mes se guardará un archivo en /root/ con nombre tipo:
Durante la instalación te pedirá configurar postfix. En el caso de que solo quieres enviar correos (no recibir), selecciona «Internet Site» y pon tu dominio o hostname del VPS.
2. Modificar el script vps-maintenance.sh
Agrega al final del script, las siguientes líneas de código:
# Dirección de destino
EMAIL="tu-correo@ejemplo.com"
# Enviar el informe por email
mail -s "Informe VPS $(date +%F)" $EMAIL < $REPORT
3. Configuración con cron (ya lo tienes)
Tu cron quedaría así, ejecutando el script el día 1 de cada mes a las 03:00:
0 3 1 * * /root/vps-maintenance.sh
✅ Resultado esperado
Cada mes, el script se ejecuta automáticamente.
Se genera el informe en /root/vps-report-YYYY-MM-DD.txt.
Se envía un email con el informe adjunto al destinatario que configures.
Comandos para revisar espacio en el VPS
Espacio general en todas las particiones:
df -h
Muestra tamaño total, usado, disponible y porcentaje de uso en cada sistema de archivos.
Uso detallado en /var (donde suelen crecer logs, bases de datos y webs):
sudo du -h --max-depth=1 /var | sort -h
Lista los subdirectorios de /var ordenados por tamaño.
Uso detallado en /var/www (tus sitios web):
sudo du -h --max-depth=1 /var/www | sort -h
Te dice cuánto ocupa cada proyecto web.
Uso detallado en /var/log (logs del sistema y Apache):
sudo du -h --max-depth=1 /var/log | sort -h
Localiza qué servicio genera más registros.
Uso detallado en /var/lib (bases de datos, librerías, contenedores):
sudo du -h --max-depth=1 /var/lib | sort -h
Analiza si MySQL, apt o Docker están ocupando demasiado espacio.
✅ Recomendación
Si lo vas a anotar en tu informe, puedes dejarlo como bloque final:
# Comandos de comprobación de espacio en el VPS
df -h
sudo du -h --max-depth=1 /var | sort -h
sudo du -h --max-depth=1 /var/www | sort -h
sudo du -h --max-depth=1 /var/log | sort -h
sudo du -h --max-depth=1 /var/lib | sort -h
Como instalar un servidor de correo en VPS, sin romper los sitios de WordPress.
Sí, puedes instalar un servidor de correo en tu VPS sin afectar tus sitios WordPress si mantienes cada servicio bien aislado y configuras correctamente los puertos, dominios y recursos. Aquí tienes una guía paso a paso para hacerlo de forma segura.
Instalación de servidor de correo en VPS (Postfix + Dovecot)
1. Verifica tu entorno
Tu VPS debe tener Ubuntu/Debian actualizado.
Tus sitios WordPress deben estar funcionando en rutas como /var/www/tusitio.com.
Asegúrate de tener acceso root o sudo.
bash
sudo apt update && sudo apt upgrade -y
2. Instala Postfix (SMTP)
Postfix se encarga de enviar correos.
bash
sudo apt install postfix -y
Elige la opción «Internet Site» durante la instalación.
Introduce tu dominio principal (ej. tusitio.com) cuando lo pida.
Configura Postfix y Dovecot para usar los certificados en /etc/letsencrypt/live/mail.tusitio.com/.
7. Verifica puertos abiertos
Postfix: 25, 587 (SMTP)
Dovecot: 143 (IMAP), 993 (IMAPS)
Usa ufw para permitirlos:
bash
sudo ufw allow 25,587,143,993/tcp
8. No romper WordPress
No toques configuraciones de Apache/Nginx que afecten /var/www.
No uses la misma base de datos ni usuarios que WordPress.
Mantén el servidor de correo en su propio subdominio (mail.tusitio.com) y rutas separadas.
En conclusión
Postfix + Dovecot son seguros y compatibles con WordPress si se instalan en rutas y puertos separados.
No afectan tus sitios WordPress si mantienes aislamiento de servicios.
Puedes añadir Roundcube como webmail más adelante si lo deseas.
¡Perfecto, Francisco! Aquí tienes un script automatizado para instalar un servidor de correo básico (Postfix + Dovecot) en tu VPS sin interferir con tus sitios WordPress. Este script está pensado para Ubuntu/Debian y configura todo en rutas separadas, sin tocar /var/www.
Instala Postfix para enviar correos y Dovecot para recibirlos.
Crea un usuario local (correo1) con buzón Maildir.
Configura puertos sin tocar Apache/Nginx ni tus sitios WordPress.
No modifica /var/www ni las bases de datos de WordPress.
script automatizado para instalar Roundcube en tu VPS y conectarlo al servidor de correo que ya configuramos con Postfix + Dovecot, sin tocar tus sitios WordPress.
🛠️ Script de instalación de Roundcube
bash
#!/bin/bash
# Variables
DOMINIO="correo.tusitio.com"
RUTA="/var/www/roundcube"
# Actualizar sistema
sudo apt update && sudo apt upgrade -y
# Instalar dependencias
sudo apt install apache2 php php-mysql php-intl php-mbstring php-xml composer unzip -y
# Descargar Roundcube
cd /var/www
wget https://github.com/roundcube/roundcubemail/releases/download/1.6.5/roundcubemail-1.6.5-complete.tar.gz
tar -xvzf roundcubemail-1.6.5-complete.tar.gz
mv roundcubemail-1.6.5 roundcube
# Crear base de datos
mysql -u root -p <<EOF
CREATE DATABASE roundcube;
GRANT ALL PRIVILEGES ON roundcube.* TO 'roundcubeuser'@'localhost' IDENTIFIED BY 'tu_clave_segura';
FLUSH PRIVILEGES;
EOF
# Configurar Apache VirtualHost
cat <<EOL | sudo tee /etc/apache2/sites-available/roundcube.conf
<VirtualHost *:80>
ServerName $DOMINIO
DocumentRoot $RUTA
<Directory $RUTA>
AllowOverride All
Require all granted
</Directory>
ErrorLog \${APACHE_LOG_DIR}/roundcube_error.log
CustomLog \${APACHE_LOG_DIR}/roundcube_access.log combined
</VirtualHost>
EOL
# Activar sitio y reiniciar Apache
sudo a2ensite roundcube.conf
sudo systemctl reload apache2
# Configuración inicial de Roundcube
cd $RUTA
composer install --no-dev
echo "✅ Roundcube instalado en http://$DOMINIO"
echo "Accede al instalador en http://$DOMINIO/installer"
echo "Recuerda eliminar la carpeta 'installer' después de la configuración:"
echo "rm -rf $RUTA/installer"
Qué hace este script
Instala Roundcube en /var/www/roundcube.
Crea un VirtualHost en Apache para correo.tusitio.com.
Configura una base de datos independiente para Roundcube.
No toca tus sitios WordPress (que siguen en sus propios VirtualHosts).
Te deja listo el instalador web de Roundcube.
Próximo paso
Accede a http://correo.tusitio.com/installer.
Configura conexión IMAP/SMTP con tu servidor Postfix/Dovecot.
Para instalar Roundcube en un VPS con Debian 12 sin afectar tus sitios WordPress, debes usar una configuración separada dentro de tu servidor web (Apache o Nginx), asegurarte de no sobrescribir archivos de configuración existentes y mantener cada sitio en su propio VirtualHost o bloque de servidor.
🛠️ Pasos para instalar Roundcube en Debian 12 sin romper WordPress
1. Requisitos previos
VPS con Debian 12 actualizado.
Servidor web funcionando (Apache o Nginx).
PHP (preferiblemente PHP 8.2), MySQL/MariaDB, y IMAP server (como Dovecot).
Sitios WordPress ya configurados en sus propios VirtualHosts.
⚠️ No modifiques los VirtualHosts de tus sitios WordPress. Mantén cada dominio en su propio archivo de configuración.
4. Configurar base de datos
Roundcube necesita una base de datos MySQL/MariaDB:
bash
sudo mysql -u root -p
CREATE DATABASE roundcube CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
GRANT ALL PRIVILEGES ON roundcube.* TO 'roundcubeuser'@'localhost' IDENTIFIED BY 'tu_contraseña_segura';
FLUSH PRIVILEGES;
EXIT;
5. Finalizar instalación desde navegador
Accede a http://webmail.tudominio.com/installer y sigue el asistente. Una vez terminado, elimina el instalador:
bash
sudo rm -rf /var/lib/roundcube/installer
6. Seguridad y compatibilidad
Asegúrate de que PHP y Apache/Nginx estén configurados correctamente para coexistir con WordPress.
Usa HTTPS con Let’s Encrypt para proteger el acceso a Roundcube.
Configura fail2ban y firewall para proteger tu servidor.
✅ Consejos para no romper WordPress
Nunca edites archivos como /etc/apache2/sites-enabled/000-default.conf si WordPress ya está funcionando.
Usa VirtualHosts separados para cada dominio y subdominio.
Verifica que no haya conflictos de puertos o rutas (DocumentRoot).
Haz una copia de seguridad antes de instalar Roundcube.
Configurar el subdominio webmail.tudominio.com
🌐 Crear subdominio para Roundcube
Añade el subdominio en tu DNS:
En tu panel de control DNS, crea un registro tipo A o CNAME para webmail.tudominio.com apuntando a tu VPS.
Configura VirtualHost para Apache (si usas Apache): Crea /etc/apache2/sites-available/webmail.conf:apache<VirtualHost *:80> ServerName webmail.tudominio.com DocumentRoot /var/lib/roundcube <Directory /var/lib/roundcube> Options +FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/webmail_error.log CustomLog ${APACHE_LOG_DIR}/webmail_access.log combined </VirtualHost> Luego activa el sitio:bashsudo a2ensite webmail.conf sudo systemctl reload apache2
Podrás probar finalmente la URL: http://tu-sitio/constitucion/constitucion.html. Puedes sustituir constitucion.html, por index.html, o el nombre que elijas.
Este sitio utiliza solo cookies propias necesarias para su funcionamiento y para recordar tus preferencias de consentimiento. No empleamos cookies de publicidad ni de seguimiento, y los anuncios se muestran sin utilizar cookies.