Servidor CentOS · 8 min read · Sep 22, 2025
El Servidor Perfecto – CentOS 7 (Apache2, Dovecot, ISPConfig 3)
Este tutorial muestra cómo preparar un servidor CentOS 7 x86_64 para la instalación de ISPConfig 3 y cómo instalar ISPConfig 3. ISPConfig 3 es un panel de control de alojamiento web que te permite configurar los siguientes servicios a través de un navegador web: servidor web Apache, servidor de correo Postfix, MySQL, servidor de nombres BIND, PureFTPd, SpamAssassin, ClamAV, Mailman y muchos más. Desde la versión 3.0.4, ISPConfig viene con soporte completo para el servidor web nginx además de Apache; este tutorial cubre la configuración de un servidor que utiliza Apache, no nginx.
Manual de ISPConfig 3
Para aprender a usar ISPConfig 3, recomiendo encarecidamente descargar el Manual de ISPConfig 3.
En más de 300 páginas, cubre el concepto detrás de ISPConfig (administrador, revendedores, clientes), explica cómo instalar y actualizar ISPConfig 3, incluye una referencia para todos los formularios y campos de formulario en ISPConfig junto con ejemplos de entradas válidas, y proporciona tutoriales para las tareas más comunes en ISPConfig 3. También describe cómo hacer que tu servidor sea más seguro y viene con una sección de solución de problemas al final.
1 Requisitos
Para instalar un sistema así necesitarás lo siguiente:
- Un sistema de servidor CentOS 7 mínimo. Esto puede ser un servidor instalado desde cero como se describe en nuestro tutorial de servidor CentOS 7 mínimo o un servidor virtual o servidor raíz de una empresa de alojamiento que tenga una configuración mínima de CentOS 7 instalada.
- Una conexión a Internet rápida.
2 Nota Preliminar
En este tutorial utilizo el nombre de host server1.example.com con la dirección IP 192.168.1.100 y la puerta de enlace 192.168.1.254. Estas configuraciones pueden diferir para ti, así que debes reemplazarlas donde sea apropiado.
3 Configurar el diseño del teclado
El instalador actual de CentOS 7 tiene un error, por lo que podrías terminar con un diseño de teclado diferente en la consola que el seleccionado durante la instalación. Si te encuentras con ese error, puedes cambiar al teclado correcto (en mi caso “de” para un diseño de teclado alemán) con el comando localectl:
localectl set-keymap dePara obtener una lista de todos los mapas de teclas disponibles, ejecuta:
localectl list-keymapsQuiero instalar ISPConfig al final de este tutorial, que viene con su propio firewall. Por eso, desactivo el firewall predeterminado de CentOS ahora. Por supuesto, eres libre de dejarlo activado y configurarlo a tus necesidades (pero entonces no deberías usar ningún otro firewall más adelante, ya que probablemente interferirá con el firewall de CentOS).
Ejecuta…
systemctl stop firewalld.service
systemctl disable firewalld.serviceAhora instalaré algunas herramientas de red básicas y un editor basado en consola que necesitamos en los siguientes pasos:
yum -y install nano wget net-tools NetworkManager-tuiSi no configuraste tu tarjeta de red durante la instalación, puedes hacerlo ahora. Ejecuta…
nmtui… y ve a Editar una conexión:

Selecciona tu interfaz de red:

Luego completa los detalles de tu red: desactiva DHCP y completa una dirección IP estática, una máscara de red, tu puerta de enlace y uno o dos servidores de nombres, luego presiona Ok:

A continuación, selecciona OK para confirmar los cambios que realizaste en la configuración de red

y Salir para cerrar la herramienta de configuración de red nmtui.

Deberías ejecutar
ifconfigahora para verificar si el instalador obtuvo tu dirección IP correctamente:
[root@server1 ~]# ifconfig
ens33: flags=4163 mtu 1500
inet 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::20c:29ff:fecd:cc52 prefixlen 64 scopeid 0x20
ether 00:0c:29:cd:cc:52 txqueuelen 1000 (Ethernet)
RX packets 55621 bytes 79601094 (75.9 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 28115 bytes 2608239 (2.4 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 0 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 Si tu tarjeta de red no aparece allí, entonces no estará habilitada al iniciar. En este caso, abre el archivo /etc/sysconfig/network-scripts/ifcfg-eth0
nano /etc/sysconfig/network-scripts/ifcfg-ens33y establece ONBOOT en yes:
[...]
ONBOOT=yes
[...] y reinicia el servidor.
Verifica tu /etc/resolv.conf si lista todos los servidores de nombres que configuraste previamente:
cat /etc/resolv.confSi faltan servidores de nombres, ejecuta
nmtuiy agrega nuevamente los servidores de nombres que faltan.
Ahora, a la configuración…
4 Ajustar /etc/hosts
A continuación, editamos /etc/hosts. Haz que se vea así:
nano /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
192.168.1.100 server1.example.com server1
::1 localhost localhost.localdomain localhost6 localhost6.localdomain65 Configurar El Firewall
(Puedes omitir este capítulo si ya has desactivado el firewall al final de la instalación del sistema básico.)
Quiero instalar ISPConfig al final de este tutorial, que viene con su propio firewall. Por eso, desactivo el firewall predeterminado de CentOS ahora. Por supuesto, eres libre de dejarlo activado y configurarlo a tus necesidades (pero entonces no deberías usar ningún otro firewall más adelante, ya que probablemente interferirá con el firewall de CentOS).
Ejecuta
systemctl stop firewalld.service
systemctl disable firewalld.servicey desactiva el firewall.
Para verificar que el firewall realmente ha sido desactivado, puedes ejecutar
iptables -Ldespues. La salida debería verse así:
[root@server1 ~]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destinationChain FORWARD (policy ACCEPT)
target prot opt source destinationChain OUTPUT (policy ACCEPT)
target prot opt source destinationO usa el comando firewall-cmd:
firewall-cmd --state[root@server1 ~]# firewall-cmd --state
not running
[root@server1 ~]#6 Desactivar SELinux
SELinux es una extensión de seguridad de CentOS que debería proporcionar seguridad extendida. En mi opinión, no lo necesitas para configurar un sistema seguro, y generalmente causa más problemas que ventajas (piensa en ello después de haber pasado una semana solucionando problemas porque algún servicio no funcionaba como se esperaba, y luego descubres que todo estaba bien, solo que SELinux estaba causando el problema). Por lo tanto, lo desactivo (esto es un requisito si deseas instalar ISPConfig más adelante).
Edita /etc/selinux/config y establece SELINUX=disabled:
nano /etc/selinux/config# Este archivo controla el estado de SELinux en el sistema.
# SELINUX= puede tomar uno de estos tres valores:
# enforcing - La política de seguridad de SELinux se aplica.
# permissive - SELinux imprime advertencias en lugar de aplicar.
# disabled - No se carga ninguna política de SELinux.
SELINUX=disabled
# SELINUXTYPE= puede tomar uno de estos dos valores:
# targeted - Los procesos dirigidos están protegidos,
# mls - Protección de Seguridad de Múltiples Niveles.
SELINUXTYPE=targeted
Después debemos reiniciar el sistema:
reboot7 Habilitar Repositorios Adicionales E Instalar Algunos Software
Primero importamos las claves GPG para los paquetes de software:
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*Luego habilitamos el repositorio EPEL en nuestro sistema CentOS, ya que muchos de los paquetes que vamos a instalar en el transcurso de este tutorial no están disponibles en el repositorio oficial de CentOS 7:
rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-2.noarch.rpmyum -y install yum-prioritiesEdita /etc/yum.repos.d/epel.repo…
nano /etc/yum.repos.d/epel.repo… y agrega la línea priority=10 a la sección [epel]:
[epel]
name=Paquetes Extra para Linux Empresarial 7 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=1
priority=10
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
[...]Luego actualizamos nuestros paquetes existentes en el sistema:
yum updateAhora instalamos algunos paquetes de software que son necesarios más adelante:
yum -y groupinstall 'Development Tools'8 Cuota
(Si has elegido un esquema de particionamiento diferente al mío, debes ajustar este capítulo para que la cuota se aplique a las particiones donde la necesites.)
Para instalar cuota, ejecutamos este comando:
yum -y install quotaAhora verificamos si la cuota ya está habilitada para el sistema de archivos donde se almacenan los datos del sitio web (/var/www) y del correo (var/vmail). En este ejemplo, tengo una gran partición raíz, así que busco ‘ / ‘:
mount | grep ' / '[root@server1 ~]# mount | grep ' / '
/dev/mapper/centos-root on / type xfs (rw,relatime,attr2,inode64,noquota)
[root@server1 ~]#Si tienes una partición /var separada, entonces usa:
mount | grep ' /var 'en su lugar. Si la línea contiene la palabra “ noquota “, entonces procede con los siguientes pasos para habilitar la cuota.
Habilitando cuota en la partición / (raíz)
Normalmente habilitarías la cuota en el archivo /etc/fstab, pero si el sistema de archivos es el sistema de archivos raíz “/“, entonces la cuota debe habilitarse mediante un parámetro de arranque del núcleo de Linux.
Edita el archivo de configuración de grub:
nano /etc/default/grubbusca la línea que comienza con GRUB_CMDLINE_LINUX y agrega rootflags=uquota,gquota a los parámetros de línea de comandos para que la línea resultante se vea así:
GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/swap vconsole.font=latarcyrheb-sun16 rd.lvm.lv=centos/root crashkernel=auto vconsole.keymap=us rhgb quiet rootflags=uquota,gquota"y aplica los cambios ejecutando el siguiente comando.
cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg_bak
grub2-mkconfig -o /boot/grub2/grub.cfgy reinicia el servidor.
rebootAhora verifica si la cuota está habilitada:
mount | grep ' / '[root@server1 ~]# mount | grep ' / '
/dev/mapper/centos-root on / type xfs (rw,relatime,attr2,inode64,usrquota,grpquota)
[root@server1 ~]#Cuando la cuota está activa, podemos ver “ usrquota,grpquota “ en la lista de opciones de montaje.
Habilitando cuota en una partición /var separada
Si tienes una partición /var separada, entonces edita /etc/fstab y agrega ,uquota,gquota a la partición / ( /dev/mapper/centos-var):
nano /etc/fstab
#
# /etc/fstab
# Creado por anaconda el Dom Sep 21 16:33:45 2014
#
# Los sistemas de archivos accesibles, por referencia, se mantienen bajo '/dev/disk'
# Consulta las páginas del manual fstab(5), findfs(8), mount(8) y/o blkid(8) para más información
#
/dev/mapper/centos-root / xfs defaults 1 1
/dev/mapper/centos-var /var xfs defaults,uquota,gquota 1 2
UUID=9ac06939-7e43-4efd-957a-486775edd7b4 /boot xfs defaults 1 3
/dev/mapper/centos-swap swap swap defaults 0 0Luego ejecuta
mount -o remount /varquotacheck -avugm
quotaon -avugpara habilitar la cuota.
9 Instalar Apache, MySQL, phpMyAdmin
Podemos instalar los paquetes necesarios con un solo comando:
yum -y install ntp httpd mod_ssl mariadb-server php php-mysql php-mbstring phpmyadminRecibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.