Solo para visitantes de nuestro blog Obtenga 3 meses adicionales gratis + 10% de descuento en el plan trianual YSBLOG10
Agarra el trato

Cómo configurar un entorno de alojamiento web en un servidor dedicado Bare Metal

Última actualización: marzo 7, 2026 11 minutos de lectura Prahlada Prajapati
Configurar un entorno de alojamiento web

Para configurar un entorno de alojamiento web en un servidor dedicado bare metal, instale un sistema operativo de servidor Linux, proteja SSH, configure un firewall y despliegue una pila web (LAMP/LEMP) con PHP y una base de datos. Cree hosts virtuales, agregue SSL/TLS a través de Let's Encrypt, apunta DNS a su servidor, refuerce los servicios e implemente copias de seguridad y monitoreo.

En esta guía, aprenderá cómo configurar un entorno de alojamiento web de nivel de producción en un servidor dedicado bare metal desde cero. Cubriremos la instalación del sistema operativo, el endurecimiento de la seguridad, la configuración de LAMP/LEMP, SSL, DNS, ajuste del rendimiento, monitorización y copias de seguridad, utilizando pasos y comandos sencillos para principiantes que funcionan en Ubuntu y AlmaLinux. La misma compilación se ejecuta sin cambios en Intel Hardware Xeon, que es con lo que se envían la mayoría de los planes de hardware sin componentes internos.

¿Qué es un servidor dedicado Bare Metal (y por qué elegirlo)?

Un servidor dedicado bare metal es una máquina física reservada exclusivamente para usted, sin capa de hipervisor, sin vecinos ruidosos. Le brinda un rendimiento predecible, acceso root completo y personalización a nivel de hardware para CPU, RAMAlmacenamiento NVMe/SSD y RAID. Es ideal cuando se necesita alto rendimiento, cumplimiento estricto de normativas o control total.

Lista de verificación de planificación: antes de tocar la terminal

  • Elige un sistema operativo: Ubuntu 22.04 LTS o AlmaLinux 9 (estable, soporte prolongado, excelente documentación).
  • Networking: Estático IPv4 (y IPv6 si está disponible), rDNSRegistro /PTR y nombre de host (por ejemplo, host1.yourdomain.com).
  • Almacenamiento: Se prefiere NVMe/SSD, RAID1/RAID10 para redundancia, elija LVM o particiones simples.
  • Seguridad: SSH Prepare las claves, configure las reglas del firewall y habilite las actualizaciones automáticas.
  • Dominios: Acceso del registrador para DNS o servidores de nombres personalizados; decida si utilizará un registrador. DNS DNS servidor en el host.
  • Estrategia de respaldo: Copias de seguridad externas o almacenamiento de objetos; definir la retención (por ejemplo, 7 diarias, 4 semanales, 3 mensuales).

Aprovisione el servidor e inicie sesión

La mayoría de los proveedores permiten instalar Ubuntu o AlmaLinux de forma remota mediante IPMI/consola. Después de que el sistema operativo arranque, conectarse a través de SSH como root o un usuario proporcionado. Cree inmediatamente un usuario sudo que no sea root y agregue su SSH clave.

# Log in
ssh root@your_server_ip

# Create a sudo user and add your SSH key (Ubuntu/AlmaLinux)
adduser deploy
usermod -aG sudo deploy      # Ubuntu
usermod -aG wheel deploy     # AlmaLinux

# Harden SSH access
mkdir -p /home/deploy/.ssh
chmod 700 /home/deploy/.ssh
nano /home/deploy/.ssh/authorized_keys
chmod 600 /home/deploy/.ssh/authorized_keys
chown -R deploy:deploy /home/deploy/.ssh

Cierre de emergencia SSH y habilitar un cortafuegos

Deshabilitar la autenticación por contraseña y limitar SSH Ayuda a bloquear ataques de fuerza bruta. Utilice UFW en Ubuntu o firewalld en AlmaLinux.

# SSH hardening
nano /etc/ssh/sshd_config
# Set:
#   PermitRootLogin no
#   PasswordAuthentication no
#   PubkeyAuthentication yes
#   Port 22  (optionally change, but security-by-obscurity is not a control)
systemctl restart sshd

# Ubuntu firewall (UFW)
ufw allow 22/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
ufw status

# AlmaLinux firewall (firewalld)
systemctl enable --now firewalld
firewall-cmd --permanent --add-service=ssh
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

Mantenga el sistema central actualizado

La aplicación regular de parches al sistema operativo es fundamental. Habilite las actualizaciones automáticas para los parches de seguridad y programe reinicios del kernel durante las ventanas de mantenimiento.

# Updates
# Ubuntu
apt update && apt -y upgrade
apt install -y unattended-upgrades
dpkg-reconfigure --priority=low unattended-upgrades

# AlmaLinux
dnf -y update
dnf -y install dnf-automatic
systemctl enable --now dnf-automatic.timer

LAMP vs. LEMP: Elige tu pila web

Su entorno de alojamiento web normalmente utiliza LAMP (Linux, Apache, MariaDB/MySQL, PHP) o LEMP (Linux, Nginx, MariaDB/MySQL, PHP-FPM). Para alta concurrencia, Nginx + PHP-FPM destaca; para compatibilidad con .htaccess y aplicaciones heredadas, Apache es familiar.

  • Ventajas de LAMP: Soporte para .htaccess, enriquecido Apache módulos, más fácil para versiones anteriores PHP aplicaciones.
  • Ventajas de LEMP: Impulsado por eventos, menor consumo de memoria, ideal para activos estáticos y proxy inverso.
  • Bases de datos: MariaDB suele funcionar bien y es fácil de instalar. MySQL en la mayoría de los casos.

Instalar la pila web (Ubuntu)

A continuación se muestran las instalaciones de inicio rápido para ambas pilas. Elija una.

# LAMP on Ubuntu
apt update
apt install -y apache2 mariadb-server php php-cli php-fpm php-mysql php-xml php-curl php-zip php-mbstring php-gd unzip
systemctl enable --now apache2 mariadb php8.1-fpm

# LEMP on Ubuntu
apt update
apt install -y nginx mariadb-server php php-cli php-fpm php-mysql php-xml php-curl php-zip php-mbstring php-gd unzip
systemctl enable --now nginx mariadb php8.1-fpm

# Secure MariaDB
mysql_secure_installation

Instalar la pila web (AlmaLinux)

AlmaLinux utiliza dnf y el PHP versión puede variar según el repositorio. Considere habilitar el repositorio Remi para versiones más recientes. PHP si su solicitud lo requiere.

# (Optional) Enable EPEL and Remi for newer PHP
dnf -y install epel-release
dnf -y install https://rpms.remirepo.net/enterprise/remi-release-9.rpm
dnf module reset php -y
dnf module enable php:remi-8.2 -y

# LAMP on AlmaLinux
dnf -y install httpd mariadb-server php php-cli php-fpm php-mysqlnd php-xml php-curl php-zip php-mbstring php-gd unzip
systemctl enable --now httpd mariadb php-fpm

# LEMP on AlmaLinux
dnf -y install nginx mariadb-server php php-cli php-fpm php-mysqlnd php-xml php-curl php-zip php-mbstring php-gd unzip
systemctl enable --now nginx mariadb php-fpm

# Secure MariaDB
mysql_secure_installation

Crear sitios con hosts virtuales/bloques de servidores

Utilice un sitio por archivo de configuración. La raíz del documento puede estar en /var/www/domain o /home/user/public_html si prefiere la separación por usuario.

Nginx Ejemplo de bloque de servidor

# /etc/nginx/sites-available/example.com
server {
    listen 80;
    server_name example.com www.example.com;
    root /var/www/example.com/public;
    index index.php index.html;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ .php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php-fpm.sock;
    }

    location ~* .(jpg|jpeg|png|gif|ico|css|js|svg)$ {
        expires 7d;
        access_log off;
    }
}

# Enable and test
ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx

Apache Ejemplo de host virtual

# /etc/apache2/sites-available/example.com.conf (Ubuntu)
<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example.com/public

    <Directory /var/www/example.com/public>
        AllowOverride All
        Require all granted
    </Directory>

    ProxyPassMatch "^/(.*.php(/.*)?)$" "unix:/run/php/php-fpm.sock|fcgi://localhost/var/www/example.com/public"
    ErrorLog ${APACHE_LOG_DIR}/example_error.log
    CustomLog ${APACHE_LOG_DIR}/example_access.log combined
</VirtualHost>

# Enable site and modules
a2enmod proxy_fcgi setenvif rewrite
a2enconf php*-fpm
a2ensite example.com
apachectl configtest && systemctl reload apache2

Agregar gratis SSLTLS con Let's Encrypt

Utilice Certbot para instalar y renovar certificados automáticamente. Asegúrese de que su dominio DNS Los registros A/AAAA apuntan primero a su servidor.

# Ubuntu
apt install -y certbot python3-certbot-nginx python3-certbot-apache
# Nginx
certbot --nginx -d example.com -d www.example.com
# Apache
certbot --apache -d example.com -d www.example.com

# AlmaLinux
dnf -y install certbot python3-certbot-nginx python3-certbot-apache
# Nginx
certbot --nginx -d example.com -d www.example.com
# Apache
certbot --apache -d example.com -d www.example.com

# Auto-renew check
systemctl list-timers | grep certbot
certbot renew --dry-run

Apunta tu dominio: DNS Configuration

En su registrador o DNS proveedor, crear:

  • Un registro: example.com → tu IPv4
  • Registro AAAA: example.com → tu IPv6 (si está disponible)
  • Opcional: www CNAME → ejemplo.com
  • PTR/rDNS: contacta con tu proveedor para que asigne tu IP a host1.yourdomain.com (importante para la reputación del correo electrónico).

DNS La propagación puede tardar de minutos a horas. Utilice dig, nslookup o verificadores en línea para comprobarlo.

dig +short A example.com
dig +short AAAA example.com
curl -I http://example.com

Conceptos básicos del fortalecimiento de bases de datos

  • Ejecute mysql_secure_installation para eliminar las bases de datos de prueba y establecer una contraseña de root segura.
  • Cree usuarios por aplicación con mínimos privilegios; evite usar root en las configuraciones de la aplicación.
  • aglutinante MySQL/MariaDB a 127.0.0.1 a menos que necesite acceso remoto, entonces restrinja por IP y SSL.
# Bind locally (MariaDB/MySQL)
# /etc/mysql/mariadb.conf.d/50-server.cnf (Ubuntu)
# /etc/my.cnf.d/server.cnf (AlmaLinux)
bind-address = 127.0.0.1

# Create least-privileged user
mysql -u root -p -e "CREATE DATABASE appdb;"
mysql -u root -p -e "CREATE USER 'appuser'@'localhost' IDENTIFIED BY 'StrongPass!';"
mysql -u root -p -e "GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,ALTER,INDEX ON appdb.* TO 'appuser'@'localhost'; FLUSH PRIVILEGES;"

Fortalecimiento de la seguridad: más allá de lo básico

  • Fallo2ban: Bloquea los intentos repetidos de fuerza bruta para SSH y puntos finales de inicio de sesión web.
  • AppArmor/SELinux: Mantenga habilitada la aplicación para el confinamiento de procesos.
  • Deshabilitar servicios no utilizados: systemctl disabled –now service_name no utiliza.
  • Auditorías periódicas: Logwatch, Lynis o revisiones de registros manuales.
  • Secrets Playa Esmeralda Resort & Spa management: Mantenga los secretos de la aplicación fuera de los repositorios; use variables de entorno o un almacén.
# Install and enable fail2ban (Ubuntu)
apt install -y fail2ban
systemctl enable --now fail2ban

# AlmaLinux
dnf -y install fail2ban fail2ban-firewalld
systemctl enable --now fail2ban

Ajuste del rendimiento para la producción

  • PHP-FPM: Establecer pm = ondemand o dynamic; ajustar pm.max_children en función de RAM.
  • Compresión y almacenamiento en caché: Habilite Gzip/Brotli y encabezados de caché largos para activos estáticos.
  • HTTP/2/3: Habilite ALPN con cifrados modernos; considere QUIC si su pila lo admite.
  • OPcaché: Habilitar y dimensionar adecuadamente para PHP aplicaciones como WordPress.
  • Base de datos: Ttamaño débil del pool de búferes de innodb (50–70%) RAM (para servidores con gran cantidad de bases de datos).
# Example: enable Brotli on Nginx (Ubuntu)
apt install -y nginx-extras
# In nginx.conf http block:
brotli on;
brotli_comp_level 5;
brotli_types text/plain text/css application/javascript application/json image/svg+xml;

# PHP OPcache (php.ini)
opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=10000
opcache.validate_timestamps=1
opcache.revalidate_freq=60

Copias de seguridad y recuperación ante desastres

  • Archivos: rsync o tar al almacenamiento remoto; considere realizar copias de seguridad incrementales.
  • Bases de datos: mysqldump nocturno o Percona XtraBackup para copias de seguridad en caliente.
  • Fuera del sitio: almacene las copias de seguridad en una zona de disponibilidad o un proveedor diferente.
  • Restauraciones de prueba: una copia de seguridad no es una copia de seguridad hasta que la haya restaurado.
# Simple daily DB dump (cron)
crontab -e
# Add (run at 02:30):
30 2 * * * mysqldump -u root -p'StrongPass!' --all-databases | gzip > /backup/db_$(date +%F).sql.gz

# Simple site files backup
rsync -a /var/www/ /backup/www_$(date +%F)/

Monitoreo, registro y alertas

  • Estado del sistema y del servicio: systemd, journalctl y gráficos de proveedores.
  • Métricas: node_exporter + Prometheus + Grafana para paneles de control.
  • Comprobaciones de tiempo de actividad: monitores externos para alertar si falla HTTP/HTTPS.
  • Log managemento: Centralizar con rsyslog o enviar a un servicio de registro para retención y búsqueda.

Opcional: Paneles de control y contenedores

Si prefiere una interfaz gráfica de usuario (GUI), cPanel/WHM, DirectAdmin o paneles de código abierto (por ejemplo, CyberPanel) pueden automatizar los hosts virtuales, DNSy correo. Para microservicios, utilice Docker con Nginx como proxy inverso y Traefik o Caddy para TLS automatizado.

Lista de verificación de puesta en marcha

  • Todos los paquetes actualizados y parches de seguridad aplicados.
  • Cortafuegos, fail2ban, SSH Refuerzo de seguridad implementado; inicio de sesión de root deshabilitado.
  • LEMP/LAMP trabajando con PHP Prueba de información y ejemplo de vhost.
  • SSL/TLS válido; HTTP redirecciona a HTTPS.
  • DNS A/AAAA/PTR verificado; TTL configurados adecuadamente.
  • Copias de seguridad programadas; restauración de prueba completada.
  • Monitoreo y alertas configuradas con notificaciones de guardia.

Cuándo elegir un servidor físico administrado

Gestionar correctamente un servidor dedicado sin sistema operativo requiere tiempo y experiencia en Linux, redes y seguridad. Si busca el rendimiento de un servidor dedicado sin la carga de las operaciones diarias, considere... managed servidor dedicado. En YouStableNuestros ingenieros se encargan de la implementación de la pila, el fortalecimiento de la seguridad, la supervisión y las actualizaciones proactivas, para que usted pueda concentrarse en sus aplicaciones.

Trampas comunes a evitar

  • Alojar correo electrónico por cuenta propia sin SPF/DKIM/DMARC y rDNS—la capacidad de entrega se verá afectada; utilice un SMTP de buena reputación o managey correo electrónico.
  • Omitir las actualizaciones de seguridad automáticas lo deja expuesto a CVE conocidos.
  • Sin copias de seguridad externas: único punto de falla si el servidor muere.
  • Ejecutar todo como root: utilizar privilegios mínimos y usuarios del sistema dedicados.
  • Exponer bases de datos públicamente: vincularlas al host local o seguro con SSL y listas de direcciones IP permitidas.

Preguntas frecuentes: Configurar un entorno de alojamiento web

¿Qué distribución de Linux es mejor para un entorno de alojamiento web físico?

Ubuntu 22.04 LTS y AlmaLinux 9 son las mejores opciones. Ubuntu ofrece actualizaciones rápidas y un amplio soporte de la comunidad; AlmaLinux proporciona compatibilidad con RHEL y estabilidad empresarial. Elija según la familiaridad de su equipo y el ecosistema de software del que depende.

¿LAMP o LEMP es mejor para el rendimiento?

LEMP (Nginx + PHP-FPM) generalmente maneja las conexiones concurrentes de manera más eficiente y usa menos memoria, lo que lo hace ideal para sitios y API de alto tráfico. LAMP (Apache) es excelente para aplicaciones heredadas y flujos de trabajo .htaccess. Ambos se pueden optimizar para obtener velocidad y confiabilidad.

¿Necesito un panel de control como cPanel para alojar sitios web?

No. Puede configurarlo manualmente. Nginx/Apache, PHP-FPM y MariaDB usando SSHLos paneles de control simplifican el alojamiento multiusuario, DNS, correo electrónico y copias de seguridad, pero añaden gastos generales y licencias. Si prefiere la automatización, un managepanel d o managed servidor de un proveedor como YouStable es un ahorro de tiempo.

¿Cómo migro un sitio existente a mi servidor dedicado?

Copiar archivos (rsync o SFTP), exporta/importa la base de datos (mysqldump), crea un nuevo vhost, actualiza las configuraciones del entorno y prueba usando tu archivo hosts antes de cambiar. DNSUna vez verificado, reduzca el TTL y cambie. DNS Registros A/AAAA y monitorización de registros para detectar errores.

¿Cuántos sitios web puede alojar un servidor físico?

Depende de CPU, RAM, IOPS de almacenamiento y carga de trabajo. Un moderno procesador de 8 a 16 núcleos. CPU con 32–64 GB RAM NVMe puede alojar desde decenas hasta cientos de sitios WordPress típicos. Las aplicaciones que consumen muchos recursos o las bases de datos grandes reducen la densidad. Supervise el uso y escale horizontalmente si es necesario.

Conclusión

Un servidor dedicado bare metal merece la pena cuando estás cansado de un rendimiento "casi suficiente" y quieres tener control total sobre tu infraestructura de hosting sin que otros servidores te ralenticen.

Si elige cuidadosamente al proveedor adecuado, protege el sistema operativo e instala una pila web sólida (Apache/Nginx/LiteSpeed + MySQL/MariaDB + PHP/Nodo), conectar DNS y SSLSi además implementas copias de seguridad y sistemas de monitorización, obtendrás un entorno de alojamiento rápido y robusto que podrá crecer con tus proyectos durante años en lugar de meses.

Deja Tu Comentario

Su dirección de correo electrónico no será publicada. Las areas obligatorias están marcadas como requeridas *

Ir al Inicio