¿Qué hacer después de instalar CentOS/RHEL 6.x?


Atención: ¿Quieres probar esta guía en CentOS 6.x dentro de un servidor real? Haz click aquí y utiliza los cupones ALLSSD10 y/o DODROPLET al crear tu cuenta en DigitalOcean para conseguir $10 USD de regalo que te servirán para montar un VPS por hasta 2 meses completamente gratis (con costo de $5 USD/mo después si te lo decides quedar).

CentOS 6.5 es el clon libre del famoso Red Hat Enterprise Linux, un excelente sistema operativo para servidores. Contrario a fedora, (una derivada de RHEL para uso general) CentOS es un sistema más enfocado al uso empresarial con pocos cambios bruscos de versión en versión y soporte por largos periodos de tiempo, además de un kernel especializado para uso en servidores.

Si decidiste instalar CentOS en tu servidor aquí hay algunas cosas que te podría interesar hacer justo después:

NOTA: Estas instrucciones también son válidas para deployments de Red Hat Enterprise Linux

1) Instalar nano y wget

Personalmente me hallo más con éstos 2 que con vi y curl; Si también es tu caso, ejecuta:

1. su -
2. yum -y install nano wget

2) Repositorios Extra (Necesarios)

EPEL & Remi:

1. su -
2. wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
3. wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
4. sudo rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm

RPMForge:

32 Bits:

1. su -
2. wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm
3. rpm -Uvh rpmforge-release-0.5.2-2.el6.rf.i686.rpm

64 Bits:

1. su -
2. wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
3. rpm -Uvh rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

Habilitando Remi:

1. su -
2. nano /etc/yum.repos.d/remi.repo


3) Actualizar

Para actualizar todo tu sistema, corre:

su -c 'yum -y update'

4) Configurar Firewall

NOTA: El comando #5 se debe repetir tantas veces como puertos quieras abiertos, reemplazando xx por el número de puerto que quieres abierto y xxx por "tcp" o bien, "udp" según corresponda.

1. su -
2. iptables -F
3. iptables -L -n
4. iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
5. iptables -A INPUT -p xxx --dport xx -j ACCEPT
6. iptables -A INPUT -j DROP
7. iptables -I INPUT 1 -i lo -j ACCEPT
8. service iptables save

5) Tweaks para rendimiento

Habilitar Tuned:

1. su -
2. yum -y install tuned
3. tuned-adm profile selected_profile

Más información sobre los perfiles disponibles acá: http://red.ht/1ppyozF

Habilitar ZRAM:

1. su -
2. yum -y install bc
3. wget https://spideroak.com/share/PBSW433EMVZXS43UMVWXG/78656e6f6465/srv/CDN/xenodecdn/zram -O /etc/init.d/zram
4. chmod 755 /etc/init.d/zram
5. chkconfig --add zram && chkconfig zram on

Reiniciamos y luego podremos checar que zRAM está corriendo con:

su -c 'service zram status'

Puedes checar más tips para mejora de rendimiento en: http://bit.ly/1hoo5XR

Habilitar Ksplice:

Ksplice es un gestor de paquetes de seguridad del que ya hablamos anteriormente y básicamente permite instalar actualizaciones de seguridad en tu servidor sin necesidad de reiniciar. La versión para RHEL se puede probar por 30 días (con una acces key de trial) y luego se requiere pagar aprox 4 USD/mo por usar el producto (con hasta 20 servidores, a partir de 20 en adelante el costo reduce a 3 USD/mo).

1. su -
2. wget https://www.ksplice.com/yum/uptrack/centos/ksplice-uptrack.repo -O /etc/yum.repos.d/ksplice-uptrack.repo
3. sudo yum -y install uptrack ksplice-uptrack-release
4. nano /etc/uptrack/uptrack.conf

En el archivo del comando #4, requeriremos insertar nuestra clave de acceso como nos lo pide:


Configurar IP Virtual única:

Si esto te interesa, acá nuestro tutorial

SELinux Permisivo:

SELinux es una buena utilidad de seguridad para sistemas CentOS/RHEL, sin embargo su activación puede traer problemas al momento de implementar ciertas cosas en tu servidor. Es por esto que, (al menos en CentOS 6.x de VPS) SELinux viene deshabilitado por defecto y en instalaciones normales viene activado. Personalmente prefiero "algo en medio" y suelo ponerlo en modo "permisivo" esto quiere decir que seguirá funcionando sin conflictuar con otras cosas y en lugar de proteger como tal únicamente nos mostrará advertencias relevantes para que nosotros nos encarguemos de la situación. Poner entonces a SELinux en modo permisivo se hace con:

1. su -
2. nano /etc/selinux/config

Y en el archivo que abrirá cambiamos el status de disabled a permissive. Guardamos los cambios, reiniciamos y listo.