jueves, 12 de noviembre de 2015

Guía de Instalación GNU/Linux CentOS 7

Guía de instalación GNU/Linux CentOS 7





Una vez disponible la ISO, arrancamos el equipo a instalar con ella como primer elemento de arranque. De momento es sencillo, seleccionamos “Install CentOS 7“. Para los curiosos, en la sección de Troubleshooting tenemos lo siguiente (de utilidad en momentos de pánico):
  • Rescue a CentOS system
  • Run a memory test
  • Boot from local drive


Comenzamos la instalación y lo primero que vemos es una interfaz ligeramente distinta a la que estábamos acostumbrados para Red Hat 7 y CentOS 7. Lo primero es seleccionar el idioma, personalmente siempre me gusta instalar los sistemas en inglés, pero cuestión de gustos:
En esta pantalla puedes seleccionar con las flechas arriba y abajo Instalar CentOS 7 o Realizar un test a la integridad del DVD y después instalar CentOS 7. Es muy recomendable verificar el medio de instalación para evitar cualquier sorpresa desagradable a la mitad de la instalación y evitar un mensaje de error desconocido.

Cuando se arranca la interfaz gráfica, la primera pantalla que aparece es para seleccionar el idioma que se mostrará durante toda la instalación.




En este caso he seleccionado “Español” y “Perú” como región. Al hacer esto se configura de forma automática la distribución del teclado, así como las configuraciones de monedas, fechas, etc.
La siguiente pantalla es en donde seleccionarás todos los detalles de la instalación con botones interactivos.


Configurar fecha y hora. Es aquí donde puedes seleccionar la región en donde vives haciendo clic en el mapa. Puedes elegir que la hora se tome desde la red o hacerlo manualmente. Cuando todos los datos estén correctos, haz clic sobre el botón azul que dice “Listo”.



Soporte de idioma. Aquí puedes agregar idiomas extras si es que te gusta cambiarlos cuando estás trabajando con el sistema.





Fuente de instalación. Por lo general no necesitarás cambiar nada en esta pantalla. Aquí puedes elegir que el medio de instalación sea un servidor FTP o un repositorio HTTP, por ejemplo.





Selección de software. Aquí vas a seleccionar el tipo de instalación que deseas para tu sistema operativo, así como los componentes extras. Es decir, si deseas que el servidor en realidad funcione como una computadora de escritorio, o si quieres que sea un servidor con interfaz gráfica, o que sea un servidor web, o si quieres una instalación mínima sin interfaz gráfica.

Como opinión personal, deberían elegir la instalación minima para evitar instalar paquetes innecesarios. Es decir, si el sistema operativo se va a comportar como verdadero servidor, es completamente inútil instalarle una GUI o la nueva interfaz Plasma de KDE. No obstante, para fines didácticos, vamos a seleccionar la opción “Escritorio Gnome” para los que estamos acostumbrados a las ventanitas.







Destino de la Instalación. Es en donde debes indicar en qué disco duro vas a instalar CentOS. Aquí también puedes personalizar el tipo de particiones que necesitas para el servidor y el tipo de sistema de archivos el cual da un salto del ext3 que se ha usado desde hace 10 años al xfs que soporta archivos de gran tamaño. Si queremos definir una por una las particiones hay que ir presionando en el botón “+”, en esta ocasión voy a dejar la opción “Configurar automáticamente”.

Cuando esté lista la configuración del disco duro, solo da clic en el botón “Listo” para continuar con la instalación de CentOS.
Red y nombre del Host. Esta opción la configuramos hasta que esté listo todo el sistema operativo, por lo que no cambiamos nada aquí.
Cuando todos los elementos ya están listos se activa el botón “Continuar instalación” en la parte inferior derecha, debes dar clic en el para iniciar la instalación.




 Al iniciar la barra de progreso de la instalación, podrás indicar la contraseña del usuario root y la de un usuario estándar.


Es muy importante crear una contraseña segura para el usuario root, y por el momento anotarla en un papel hasta que la hayas memorizado, ya que no podrás resetearla después si la llegas a olvidar.



Una vez que la contraseña de root se ha establecido y los archivos se terminaron de copiar debemos hacer clic en el botón “Reiniciar.”






Reiniciando la Instalación de Centos 7

Cuando se inicia por primera vez el nuevo servidor puedes observar que ya no necesitas el medio de instalación, ya sea un DVD, USB o un ISO virtual, por lo que puedes retirarlo sin miedo.
Ahora solo debes aceptar el contrato de licencia.






Casi para finalizar, se mostrará la última configuración en el entorno gráfico (si es que lo haz instalado), donde seleccionarás el idioma, el tipo de teclado y crearás forzosamente un usuario estándar.












Por último, solo te queda disfrutar del entorno de escritorio, si es que lo haz instalado.


Actualizar a CentOS 7.x?

Esta pregunta es algo subjetiva y la respuesta es depende. Depende de varias cosas: ¿Te generará downtime? ¿Es VITAL para ti alguna de las nuevas características? ¿Tienes hardware de 32 bits? Responder a estas preguntas te permitirá darte una idea de si debes o no actualizar a la nueva versión.

Guía de post instalación

Si decidiste instalar CentOS 7.x 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 7.x

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/beta/7/x86_64/epel-release-7-0.2.noarch.rpm
3. wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
4. sudo rpm -Uvh remi-release-7*.rpm epel-release-7*.rpm

El Repo:


1. su -
2. rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
3. rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.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

Primero necesitamos obtener la(s) zona(s) activas:

su -c 'firewall-cmd --get-active-zones'

Este comando nos devolverá el nombre de la(s) zona(s) activa(s) (ej. public) y las interfaces de red que están ligadas a ella(s) como podrían ser eth0,p16p1, wlan0 etc.

Es recomendable también listar los puertos y servicios permitidos en la(s) zona(s) activas para hacer personalizaciones, esto se hace con:

su -c 'firewall-cmd --zone=myzone --list-all'

Obviamente usando el nombre de la zona indicada en lugar de myzone.

Luego para abrir y cerrar puertos podemos usar:

1. su -c 'firewall-cmd --zone=public --add-port=xxxx/tcp'
2. su -c 'firewall-cmd --zone=public --remove-port=xxxx/udp'

Respectivamente, cambiando xxxx por el número de puerto deseado y especificando el protocolo (tcp/udp) según corresponda.

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:

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 algunos CentOS 7.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 y/o enforcing apermissive. Guardamos los cambios, reiniciamos y listo.