Servidor Perfecto · 6 min read · Nov 10, 2025

El Servidor Perfecto - CentOS 6.1 x86_64 Con nginx [ISPConfig 3] - Página 3

4 Ajustar /etc/hosts

A continuación, editamos /etc/hosts. Debe verse así:

vi /etc/hosts

| 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 192.168.0.100 server1.example.com server1 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 |

5 Configurar El Cortafuegos

(Puedes omitir este capítulo si ya has desactivado el cortafuegos al final de la instalación básica del sistema.)

Quiero instalar ISPConfig al final de este tutorial, que viene con su propio cortafuegos. Por eso desactivo el cortafuegos 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 cortafuegos más adelante, ya que probablemente interferirá con el cortafuegos de CentOS).

Ejecuta

system-config-firewall

y desactiva el cortafuegos.

Para comprobar que el cortafuegos realmente ha sido desactivado, puedes ejecutar

iptables -L 

despues. La salida debería verse así:

[root@server1 ~]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
[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:

vi /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:

reboot

7 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 los repositorios RPMforge y 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 los repositorios oficiales de CentOS 6.1:

rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt

cd /tmp
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
rpm -ivh rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

(Si el enlace anterior ya no funciona, puedes encontrar la versión actual de rpmforge-release aquí: http://packages.sw.be/rpmforge-release/)

rpm –import https://fedoraproject.org/static/0608B895.txt
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-5.noarch.rpm
rpm -ivh epel-release-6-5.noarch.rpm

También necesitamos habilitar el repositorio Remi RPM que contiene el paquete php-fpm que instalaremos más adelante:

rpm –import http://rpms.famillecollet.com/RPM-GPG-KEY-remi
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

yum install yum-priorities

Edita /etc/yum.repos.d/epel.repo…

vi /etc/yum.repos.d/epel.repo

… y agrega la línea priority=10 a la sección [epel]:

| [epel] name=Paquetes Extra para Enterprise Linux 6 - $basearch #baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch failovermethod=priority enabled=1 priority=10 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 [...] |

Luego haz lo mismo para la sección [remi] en /etc/yum.repos.d/remi.repo, además cambia enabled a 1:

vi /etc/yum.repos.d/remi.repo

| [remi] name=Los RPM de remi para Enterprise Linux $releasever - $basearch #baseurl=http://rpms.famillecollet.com/enterprise/$releasever/remi/$basearch/ mirrorlist=http://rpms.famillecollet.com/enterprise/$releasever/remi/mirror enabled=1 priority=10 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi failovermethod=priority [remi-test] name=Los RPM de remi en prueba para Enterprise Linux $releasever - $basearch #baseurl=http://rpms.famillecollet.com/enterprise/$releasever/test/$basearch/ mirrorlist=http://rpms.famillecollet.com/enterprise/$releasever/test/mirror enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi |

Luego actualizamos nuestros paquetes existentes en el sistema:

yum update

Ahora instalamos algunos paquetes de software que se necesitan más adelante:

yum groupinstall 'Development Tools'

8 Cuota

(Si has elegido un esquema de particionado 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 install quota

Edita /etc/fstab y agrega, usrjquota=aquota.user, grpjquota=aquota.group, jqfmt=vfsv0 a la partición / ( /dev/mapper/vg_server1-lv_root):

vi /etc/fstab

| # # /etc/fstab # Creado por anaconda el Vie Dic 16 00:22:26 2011 # # 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/vg_server1-lv_root / ext4 defaults,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 1 1 UUID=d995c881-fbc7-409f-bcad-86d255331a3f /boot ext4 defaults 1 2 /dev/mapper/vg_server1-lv_swap swap swap defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 |

Luego ejecuta

mount -o remount /

quotacheck -avugm
quotaon -avug

para habilitar la cuota.

9 Sincronizar El Reloj Del Sistema

Es una buena idea sincronizar el reloj del sistema con un servidor NTP ( n etwork t ime p rotocol) a través de Internet. Simplemente ejecuta

yum install ntp

y tu hora del sistema siempre estará sincronizada.

10 Instalar MySQL

Instala MySQL de la siguiente manera:

yum install mysql mysql-server

Luego crea los enlaces de inicio del sistema para MySQL y arráncalo:

chkconfig –levels 235 mysqld on
/etc/init.d/mysqld start

Establece contraseñas para la cuenta root de MySQL:

mysql_secure_installation

[root@server1 tmp]# mysql_secure_installation

NOTA: EJECUTAR TODAS LAS PARTES DE ESTE SCRIPT SE RECOMIENDA PARA TODOS LOS SERVIDORES MySQL
EN USO EN PRODUCCIÓN! POR FAVOR LEE CUIDADOSAMENTE CADA PASO!

Para iniciar sesión en MySQL y asegurarla, necesitaremos la
contraseña actual para el usuario root. Si acabas de
instalar MySQL, y no has establecido la contraseña de root
Todavía, la contraseña estará en blanco,
así que solo debes presionar enter aquí.

Ingresa la contraseña actual para root (presiona enter para ninguno):
OK, se utilizó la contraseña con éxito, avanzando…

Establecer la contraseña de root asegura que
nadie pueda iniciar sesión en el usuario root de MySQL
sin la autorización adecuada.

¿Establecer contraseña de root? [Y/n] <– ENTER
Nueva contraseña: <– tucontraseñaderootsql
Reingresa nueva contraseña: <– tucontraseñaderootsql
¡Contraseña actualizada con éxito!
Recargando tablas de privilegios..
… ¡Éxito!

Por defecto, una instalación de MySQL
tiene un usuario anónimo,
permitiendo que cualquiera
pueda iniciar sesión en MySQL
sin tener que tener una cuenta de usuario
creada para ellos. Esto
es solo para pruebas,
y para hacer que la
instalación sea un poco
más fluida. Debes
eliminarlos antes de
moverte a un entorno
de producción.

¿Eliminar usuarios anónimos? [Y/n] <– ENTER
… ¡Éxito!

Normalmente, root
debiera ser permitido
solo para conectarse
de ‘localhost’. Esto
asegura que
alguna persona no pueda
adivinar la
contraseña de root
desde la red.

¿Deshabilitar el inicio de sesión remoto de root? [Y/n] <– ENTER
… ¡Éxito!

Por defecto, MySQL
viene con una
database llamada
‘test’ que
cualquiera puede
acceder. Esto
también está
intencionado solo
para pruebas,
y debe ser
eliminado
antes de
moverse a un
entorno de
producción.

¿Eliminar la base de datos de prueba
y el acceso a ella? [Y/n] <– ENTER

  • Eliminando
    la base de datos de prueba…
    … ¡Éxito!
  • Eliminando
    privilegios sobre
    la base de datos de prueba…
    … ¡Éxito!

Recargar las tablas de privilegios
asegurará que
todos los cambios
realizados hasta ahora
tomen efecto
imediatamente.

¿Recargar tablas de privilegios ahora? [Y/n] <– ENTER
… ¡Éxito!

Limpiando…

¡Todo listo! Si has
completado todos
los pasos anteriores,
tu instalación de MySQL
debiera estar
segura ahora.

¡Gracias por usar MySQL!

[root@server1 tmp]#

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.