CONCEPTOS Y CARACTERISTICAS DE CENTOS LINUX.
CentOS server es uno de los más usados en servidores web de empresas y organizaciones. Sus múltiples
características lo han posicionado en el Top 3 de las distribuciones de Linux más utilizadas, entre otras
distribuciones populares de Linux como Ubuntu y Debian.
Sin embargo, CentOS 8, publicado en 2019, fue la última versión de la distribución CentOS Linux. En septiembre
de 2019, Red Hat anunció que CentOS Linux sería reemplazada por la una «rolling release» de CentOS: CentOS
Stream. El ciclo de vida de CentOS Linux 8 finalizó el 31 de diciembre de 2021. Por lo tanto, los usuarios de
CentOS Linux necesitan migrar a un nuevo sistema operativo para seguir recibiendo parches, actualizaciones y
nuevas características. Aunque la distribución de CentOS Linux 7 continuará, como estaba previsto, hasta 2024.
En resumen, la cronología es la siguiente:
• CentOS 1 fue lanzado en mayo de 2004. Sin embargo, es relevante mencionar que el proyecto CentOS
inicialmente no comenzó desde una "versión 1" como tal. En realidad, las primeras versiones de
CentOS se basaron en las versiones correspondientes de Red Hat Enterprise Linux (RHEL). Por lo tanto,
CentOS 1 estuvo basado en RHEL 2.1. La numeración puede parecer un poco confusa porque CentOS
no comenzó con una "versión 1.0" tradicional. En cambio, adoptó la numeración basándose en las
versiones de RHEL en las que se fundamentaba.
• CentOS 2 fue lanzado en mayo de 2004. Esta versión se basó en el código fuente de Red Hat Enterprise
Linux (RHEL) 2.1. Es importante mencionar que CentOS 2 tuvo su final de vida útil (EOL) el 31 de mayo
de 2009, lo que significa que desde esa fecha ya no recibió actualizaciones o parches de seguridad.
• CentOS 3 fue lanzado en marzo de 2004. Esta versión estuvo basada en el código fuente de Red Hat
Enterprise Linux (RHEL) 3. CentOS 3 alcanzó su final de vida útil (EOL) el 31 de octubre de 2010, lo que
significa que después de esa fecha no recibió más actualizaciones o parches de seguridad.
• CentOS 4 fue lanzado en marzo de 2005. Esta versión se basó en el código fuente de Red Hat Enterprise
Linux (RHEL) 4. CentOS 4 tuvo su final de vida útil (EOL) el 29 de febrero de 2012, lo que significa que
después de esa fecha ya no recibió actualizaciones o parches de seguridad.
• CentOS 5 fue lanzado el 12 de abril de 2007. Es importante señalar que, aunque esta fue la fecha de
lanzamiento de la versión inicial de CentOS 5, hubo múltiples actualizaciones y revisiones posteriores
a lo largo de su ciclo de vida hasta que alcanzó su fin de soporte en marzo de 2017.
• CentOS 6 fue lanzado el 10 de julio de 2011. Al igual que con otras versiones de CentOS, CentOS 6 tuvo
múltiples actualizaciones y revisiones a lo largo de su ciclo de vida. Su ciclo de vida hasta que alcanzó
su fin de soporte el 30 de noviembre del 2020.
• Distribución CentOS Linux 7: CentOS 7 fue lanzado el 7 de julio de 2014. Mantiene actualizaciones
hasta el 30 de junio de 2024.
• Distribución CentOS Linux 8: CentOS 8 fue lanzado el 24 de septiembre de 2019. Tubo actualizaciones
hasta el 31 de diciembre de 2021.
• Lanzamiento de CentOS Stream 9: En 2021, se lanzó CentOS Stream 9 como parte del proceso de
desarrollo de Red Hat Enterprise Linux 9 (RHEL 9), con un ciclo de actualizaciones. CentOS Stream 9 es
una versión de CentOS Stream que se alinea con Red Hat Enterprise Linux (RHEL) 9. CentOS Stream
no es un clon binario exacto de RHEL como lo eran las versiones anteriores de CentOS. En cambio,
CentOS Stream sirve como una especie de "vista previa en movimiento" de lo que vendrá en la próxima
versión minor de RHEL.
o Desarrollo Continuo: CentOS Stream recibe actualizaciones de forma continua, lo que significa
que los usuarios obtienen características y correcciones más rápidamente que en la tradicional
cadencia de lanzamiento de RHEL.
o Participación de la Comunidad: Aunque Red Hat sigue siendo el principal contribuyente,
CentOS Stream está diseñado para ser más abierto a la participación de la comunidad, lo que
permite a los desarrolladores y administradores de sistemas influir más directamente en el
futuro de RHEL.
CentOS 5.5, al igual que otras distribuciones basadas en Red Hat Enterprise Linux, utiliza la estructura de
sistema de archivos Filesystem Hierarchy Standard (FHS).
El Filesystem Hierarchy Standard (FHS) define la estructura y los contenidos de los directorios del sistema de
archivos en sistemas operativos basados en Linux y otros UNIX-like. El objetivo del FHS es permitir que
diferentes distribuciones de software, desarrolladores de aplicaciones y usuarios, puedan predecir la
localización de archivos y directorios específicos. Establecer un estándar común facilita la interoperabilidad, la
compatibilidad y la administración del sistema.
La implementación de FHS ayuda a los administradores y desarrolladores a entender y navegar el sistema de
archivos de una manera más intuitiva. Además, al seguir este estándar, las aplicaciones pueden ser
desarrolladas y distribuidas con la expectativa de que ciertos archivos y directorios existirán en ubicaciones
conocidas.
Descripción general de algunos directorios de la jerarquía definida por el FHS y sus usos típicos:
1. /bin: Binarios esenciales. Contiene los comandos básicos que serán necesarios en modo usuario único y
que deben estar disponibles antes de que /usr esté montado.
2. /sbin: Binarios esenciales del sistema. Similar a /bin, pero contiene binarios que son generalmente sólo
ejecutados por el administrador del sistema.
3. /etc: Configuraciones del sistema. Todos los archivos de configuración utilizados por todos los programas se
encuentran aquí.
4. /home: Directorios de inicio de los usuarios. Cuando creas un nuevo usuario, por defecto se le asigna un
directorio aquí.
5. /var: Datos variables. Aquí es donde el sistema almacena archivos que cambian a menudo, como bases de
datos, colas de correo, y archivos de registro (logs).
6. /usr: Binarios, bibliotecas, documentación y código fuente para programas que no son esenciales para el
arranque básico.
- /usr/bin: Binarios para programas del usuario.
- /usr/sbin: Binarios de sistema más especializados que los que se encuentran en /sbin.
- /usr/lib: Bibliotecas para /usr/bin y /usr/sbin.
- /usr/local: Software local. Es el lugar donde se instala software que no proviene del gestor de paquetes de
la distribución.
7. /opt: Paquetes opcionales. Software de terceros que no está gestionado por el gestor de paquetes, pero
que sigue ciertos estándares, podría instalarse aquí.
8. /tmp: Archivos temporales. Los programas ponen sus archivos temporales aquí. Por seguridad, muchos
sistemas limpian /tmp al inicio.
9. /boot: Archivos de arranque. El cargador de arranque, junto con el kernel y otros archivos esenciales para
el arranque del sistema, se encuentran aquí.
10. /dev: Dispositivos. Representaciones de dispositivos como discos duros, terminales, dispositivos USB, etc.
11. /proc: Sistema de archivos virtual que proporciona información sobre los procesos y el kernel. No
contiene archivos "reales", sino que se utiliza para acceder a información del sistema en tiempo real.
12. /sys: Otro sistema de archivos virtual que contiene información sobre dispositivos, controladores y
algunos parámetros del núcleo.
13. /mnt y /media: Puntos de montaje. Por lo general, cuando montas un dispositivo, como un disco duro o
una unidad flash, se monta en algún lugar bajo uno de estos directorios.
14. /root: Directorio de inicio del superusuario (root).
15. /lib: Bibliotecas esenciales. Al igual que /bin y /sbin, contiene los archivos que son necesarios para el
arranque básico y la ejecución de comandos esenciales.
16. /run: Información de tiempo de ejecución. Un lugar para almacenar información volátil, como sockets y
archivos PID, que son relevantes desde el inicio del sistema hasta el apagado.
Esta estructura es bastante estándar entre las distribuciones de Linux, aunque puede haber algunas
diferencias menores. En general, saber qué hace cada uno de estos directorios es útil cuando se administran y
se solucionan problemas en sistemas Linux.
SISTEMA DE ARCHIVOS DE CENTOS 5.5.-
CentOS 5.5, al ser una variante de Red Hat Enterprise Linux (RHEL) 5.5, utiliza la estructura del Filesystem
Hierarchy Standard (FHS) para su sistema de archivos, como discutimos anteriormente. Esto garantiza una
estructura de directorios coherente y estándar en la distribución.
En términos de sistemas de archivos a nivel de disco, es decir, cómo se almacenan los datos en el disco duro,
CentOS 5.5 soporta varios, pero ext3 es el sistema de archivos predeterminado. Aquí hay una descripción
general de los sistemas de archivos relevantes:
1. ext3: Es una extensión del sistema de archivos `ext2` con capacidades de journaling. El journaling asegura
la integridad de los datos, permitiendo una recuperación más rápida tras fallos del sistema sin necesidad de
revisar el sistema de archivos.
2. ext2: Predecesor de `ext3`, es un sistema de archivos sin capacidades de journaling. Aunque ha sido
ampliamente reemplazado por `ext3` en sistemas de producción debido a las ventajas del journaling, todavía
puede encontrarse en algunas situaciones específicas.
3. swap: No es exactamente un sistema de archivos en el sentido tradicional, sino más bien un espacio en el
disco usado por el sistema operativo para la memoria virtual.
6. NFS: Permite montar sistemas de archivos de otras máquinas en la red como si fueran locales.
7. proc: Un sistema de archivos virtual utilizado para acceder a la información del kernel en tiempo real.
Otros sistemas de archivos como XFS, JFS, y REISERFS podrían ser utilizados en CentOS 5.5, pero requerirían
configuración adicional o incluso la compilación de un nuevo núcleo, ya que no son soportados de manera
predeterminada en la instalación estándar de CentOS 5.5.
Además, con las herramientas adecuadas, CentOS 5.5 puede interactuar (leer/escribir) con sistemas de
archivos modernos como NTFS (utilizado en versiones más recientes de Windows), pero esto también podría
requerir la instalación de software adicional.
Es importante mencionar que, aunque ext3 fue el sistema de archivos predeterminado en CentOS 5.5, en
versiones más recientes de CentOS y RHEL, se ha adoptado XFS como el sistema de archivos predeterminado.
SISTEMA DE ARCHIVO DE CENTOS 7.-
CentOS 7, al igual que Red Hat Enterprise Linux (RHEL) 7 en el que está basado, introdujo varios cambios
significativos en comparación con las versiones anteriores. Uno de los cambios más notables fue en el
sistema de archivos predeterminado. A continuación, se detallan los aspectos relacionados con el sistema de
archivos de CentOS 7:
1. XFS como predeterminado: Con CentOS 7, XFS se convirtió en el sistema de archivos predeterminado para
las instalaciones estándar, reemplazando a ext4, que era el predeterminado en CentOS 6. XFS es conocido por
su alta capacidad de rendimiento, escalabilidad y robustez, y puede manejar sistemas de archivos de hasta
500 TB.
2. Soporte para ext4: Aunque XFS se convirtió en el predeterminado, CentOS 7 aún soporta ext4, que es un
sistema de archivos ampliamente utilizado y conocido por su robustez y rendimiento.
3. *Soporte NFSv4: CentOS 7 ofrece soporte para la versión 4 de NFS (Network File System), permitiendo
compartir recursos de almacenamiento a través de redes.
NOTA : El sistema de archivos EXT4 (Fourth Extended Filesystem) es la cuarta versión de la serie de
sistemas de archivos "extended" para Linux. Es el sucesor directo de ext3 y proporciona muchas
mejoras y características adicionales en comparación con su predecesor. A continuación se detallan
algunas de sus características y aspectos clave:
A) Compatibilidad con ext3: Una de las ventajas más significativas de `ext4` es que es compatible con
`ext3`. Esto significa que puedes montar un sistema de archivos `ext3` como `ext4` sin necesidad de
modificar nada. Sin embargo, para aprovechar las nuevas características de `ext4`, es necesario
convertir y actualizar el sistema de archivos.
B) Tamaño del sistema de archivos: Mientras que EXT3 estaba limitado a 16 TB, EXT4 puede
soportar sistemas de archivos de hasta 1 exabyte (EB).
C) Tamaño de archivo individual: En EXT4 , un archivo individual puede ser de hasta 16 terabytes
(TB).
D) Subdirectorios: Mientras que EXT3 tenía un límite de 32.000 subdirectorios, EXT4 permite un
número ilimitado de subdirectorios.
E) Reserva de bloques: Por defecto, EXT4 reserva el 5% del espacio en el sistema de archivos para el
usuario root, lo que asegura que el sistema pueda seguir funcionando si se llena el espacio en disco.
SERVICIOS QUE SE PUEDEN MONTAR EN CENTOS 5.5:
CentOS 5.5, al ser una distribución basada en Red Hat Enterprise Linux (RHEL) 5.5, ofrece soporte para una
amplia gama de servicios que se pueden montar y ejecutar en el sistema. A continuación, se presentan
algunos de los servicios comunes y populares que se pueden instalar y configurar en CentOS 5.5:
1. Apache HTTP Server (httpd): Un servidor web popular que permite alojar sitios web y aplicaciones web.
2. MySQL: Un sistema de gestión de bases de datos relacionales ampliamente utilizado. Es popular para
aplicaciones web y otras aplicaciones que requieren una base de datos.
3. PostgreSQL: Otro sistema de gestión de bases de datos relacionales, conocido por ser robusto y escalable.
4. Bind: Un servidor DNS que permite resolver nombres de dominio.
5. Sendmail y Postfix: Servidores de correo que permiten enviar, recibir y reenviar correos electrónicos.
6. Dovecot: Un servidor de correo IMAP y POP3 que permite a los usuarios recuperar correos electrónicos de
sus buzones.
7. Samba: Permite compartir archivos e impresoras entre máquinas Unix y Windows usando el protocolo
SMB/CIFS.
8. NFS (Network File System): Permite compartir archivos entre máquinas en una red.
9. VSFTPd y ProFTPd: Servidores FTP que permiten la transferencia de archivos.
10. OpenSSH: Permite el acceso remoto seguro a máquinas a través del protocolo SSH.
11. Iptables: Un sistema de filtrado de paquetes que permite configurar reglas de firewall para proteger el
sistema.
12. Net-SNMP: Un servicio para monitorear máquinas remotamente usando el protocolo SNMP.
13. NTP (Network Time Protocol): Sincroniza el reloj del sistema con servidores de hora en Internet.
14. Squid: Un servidor proxy que permite cachear y filtrar el tráfico web.
15. Tomcat: Un contenedor de servlets Java que permite ejecutar aplicaciones web basadas en Java.
16. LVM (Logical Volume Manager): Un administrador de volúmenes que permite la gestión flexible del
espacio en disco.
17. YUM: La herramienta de gestión de paquetes de CentOS que permite instalar, actualizar y eliminar
paquetes de software.
Estos son solo algunos de los servicios populares que se pueden montar en CentOS 5.5. La flexibilidad de
CentOS y su amplia gama de paquetes disponibles permiten configurar casi cualquier tipo de servidor o
servicio necesario para un entorno empresarial o de desarrollo. Es importante recordar que, dado que
CentOS 5.5 es una versión más antigua, algunas versiones de software pueden no ser las más recientes y
podrían no tener las últimas características o correcciones de seguridad. Por lo tanto, siempre es
recomendable mantener el sistema actualizado o considerar la migración a versiones más recientes de
CentOS si es posible.
SERVICIOS EN CENTOS 7:
CentOS 7, basado en Red Hat Enterprise Linux (RHEL) 7, trajo consigo muchas actualizaciones y cambios
respecto a las versiones anteriores. El sistema de inicialización cambió a `systemd`, reemplazando el antiguo
`init`, lo que afectó la manera en que los servicios son gestionados en el sistema.
Estos son algunos de los servicios adicionales o modificaciones que se pueden instalar y configurar en
CentOS 7:
1. MariaDB: Reemplazo de MySQL en CentOS 7, es un sistema de gestión de bases de datos relacionales.
2. Firewalld: Reemplazo de iptables en CentOS 7, es una herramienta de gestión de firewall.
3. Chrony: Reemplazo de NTP en CentOS 7, se utiliza para mantener el reloj del sistema sincronizado con
servidores de hora.
4. Docker: Plataforma de contenedores que permite empaquetar aplicaciones y sus dependencias en
contenedores.
5. YUM con DNF: YUM sigue siendo la herramienta de gestión de paquetes en CentOS 7, pero con plugins que
le brindan características de DNF.
6. SELinux: Mecanismo de seguridad para administrar políticas de acceso mandatorio a servicios y
aplicaciones.
7. Cockpit: Una interfaz web que permite administrar y monitorizar servidores.
8. Fail2ban: Herramienta que escanea logs en busca de intentos fallidos de inicio de sesión y puede bloquear
las IPs que muestren signos de ataques.
Estos son solo algunos de los servicios que puedes instalar y configurar en CentOS 7. La distribución es
versátil y adecuada tanto para entornos de producción como para desarrollo.
MONTAR SERVIDOR WEB EN CENTOS 5.5:
Montar un servidor web en CentOS 5.5 generalmente implica instalar y configurar el software Apache
(también conocido como httpd). A continuación, te proporciono una guía básica sobre cómo hacerlo:
1. Actualizar el sistema: Antes de comenzar, es una buena práctica actualizar el sistema para asegurarse de
que todas las paquetes estén al día.
yum update
2. Instalar Apache (httpd):
yum install httpd
3.- Editar y modificar archivo :
cd /etc/httpd/conf
gedit httpd.conf
modificar
listen *:80
ServerName localhost:80
4.- Modificar en /etc/hosts
Nano hosts
colocar 127.0.0.1 localhost
5. Iniciar el servidor Apache:
service httpd start
6. Configurar que Apache se inicie automáticamente al arranque:
chkconfig httpd on
7. Configurar el firewall: Si tienes un firewall activo, es posible que debas abrir el puerto 80 (HTTP) para
permitir el tráfico
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
service iptables save
service iptables restart
8. Configurar el sitio web: Por defecto, el directorio raíz del servidor web de Apache en CentOS 5.5 es
/var/www/html/. Puedes colocar tus archivos HTML, o cualquier otro archivo relacionado con el sitio web en
ese directorio.
MONTAR SERVIDOR FTP EN CENTOS 5.5:
Montar un servidor FTP en CentOS 5.5 típicamente implica usar `vsftpd`, que es una solución popular y
segura para FTP. Proceso de instalación y configuración :
1. Actualizar el sistema: Es una buena práctica mantener tu sistema actualizado.
yum update
2. Instalar vsftpd :
yum install vsftpd
3. Configurar vsftpd : Abrir el archivo de configuración principal de vsftpd en un editor, como vi o nano.
nano /etc/vsftpd/vsftpd.conf
Aquí hay algunas directivas que podrías considerar configurar o verificar:
- anonymous_enable=NO: Desactivar el acceso FTP anónimo.
- local_enable=YES: Permitir que los usuarios locales se autentiquen.
- write_enable=YES: Permitir que los usuarios escriban en el servidor (es decir, suban archivos).
- chroot_local_user=YES: Restringir a los usuarios a sus directorios home.
4. Iniciar el servidor vsftpd :
service vsftpd start
5. Configurar vsftpd para que se inicie automáticamente al arranque:
chkconfig vsftpd on
6. Configurar el firewall : Si el firewall se encuentra activo, se deben abrir los puertos necesarios para FTP.
Para el modo pasivo, por lo general, se requiere abrir una variedad de puertos.
iptables -I INPUT -p tcp --dport 21 -j ACCEPT
Y, si estás utilizando un rango de puertos para el modo pasivo:
iptables -I INPUT -p tcp --dport 30000:31000 -j ACCEPT
Luego, guarda y reinicia iptables:
service iptables save
service iptables restart
Como siempre, ten en cuenta que CentOS 5.5 ha alcanzado el fin de su vida útil y ya no recibe actualizaciones
de seguridad. Si estás montando un servidor FTP para un entorno de producción, se recomienda usar una
versión más reciente de CentOS u otra distribución que aún tenga soporte.
MONTAR SERVICIO DHCP EN CENTOS 5.5:
Montar un servidor DHCP en CentOS 5.5 generalmente implica el uso del paquete DHCP. guía básica sobre
cómo configurar un servidor DHCP:
1. Actualizar el sistema: Mantener el sistema al día con la última versión de los paquetes.
yum update
2. Instalar el paquete dhcp :
yum install dhcpd
3. Configurar DHCP :
Copia el archivo de ejemplo de configuración a la ubicación correcta:
cp /usr/share/doc/dhcp-*/dhcpd.conf.example /etc/dhcpd.conf
Ahora, editar el archivo `/etc/dhcpd.conf` para adaptarlo a tus necesidades utilizando un editor como `vi` o
`nano`.
nano /etc/dhcpd.conf
Un ejemplo de configuración básica podría ser:
subnet 200.10.10.0 netmask 255.255.255.0 {
range 200.10.10.100 200.10.10.200;
option domain-name-servers 8.8.8.8, 8.8.4.4;
option domain-name "mi-dominio.local";
option routers 200.10.10.1;
option broadcast-address 200.10.10.255;
default-lease-time 600;
max-lease-time 7200;
En este ejemplo, el servidor DHCP asignará direcciones IP en el rango 200.10.10.100 a 200.10.10.200.
Modifica las configuraciones según las necesidades de tu red.
4. Iniciar el servidor DHCP:
service dhcpd start
5. Configurar que el servicio DHCP se inicie automáticamente al arranque:
chkconfig dhcpd on
6. Configurar el firewall:
Si estás utilizando `iptables`, deberás permitir tráfico en el puerto 67 para DHCP.
iptables -I INPUT -p udp --dport 67 -j ACCEPT
service iptables save
service iptables restart
7. Verificar el estado del servidor DHCP: Se verifica el estado del servidor DHCP utilizando:
service dhcpd status