Hace algunos años, escuché a otro instructor de Linux recitar varios pasos para implementar un servicio en Linux. Anoté los pasos y, con el tiempo, les agregué más información. Los pasos han sido parte de mis propias entregas de instrucción de Linux desde entonces.
Este tema es bastante fundamental para todos los usuarios que han estado con Linux desde el principio. Por supuesto, una revisión de los fundamentos nunca es algo malo. Para los administradores de sistemas de Linux más nuevos, esta lista de verificación puede servir como una forma de organizar los pasos de implementación y recordar cómo administra Linux los servicios que mantiene. También voy a anotar las herramientas que utiliza para cada paso.
Tal vez esté implementando un sitio web básico usando Apache, o esté instalando un nuevo servidor de archivos que se basa en NFS. Cualquiera que sea el caso, desea asegurarse de que su implementación sea exitosa.
¡Empecemos!
Paso 1:¿Está instalado el servicio?
La instalación del servicio es obviamente el paso más fundamental. Muchas distribuciones de Linux incluyen solo una instalación mínima de servicios por motivos de seguridad y rendimiento. Por ejemplo, el único servicio de red con el que puede contar para instalarse de manera predeterminada es SSH. Por lo tanto, si está implementando un servidor web Apache o un servidor de archivos NFS, probablemente deba instalar el software usted mismo.
Nota:Recuerde que al tener que instalar la mayoría de las aplicaciones usted mismo, se le anima sutilmente a utilizar la versión más reciente. Sin embargo, también tiene la libertad de usar versiones de software anteriores si es necesario por razones de compatibilidad.
En distribuciones basadas en RHEL, asegúrese de que el servicio esté instalado mediante el rpm
, yum
o dnf
comandos.
Por ejemplo, ejecute el siguiente yum
Comando para asegurarse de que el software Apache esté instalado:
# yum list httpd
Paso 2:¿Está configurado el servicio?
Como sabe, Linux usa archivos de texto para administrar la configuración del servicio. Estos archivos generalmente se almacenan en el /etc
directorio. Una vez instalado el servicio, configúrelo editando los archivos de configuración asociados.
Por ejemplo, el archivo de configuración principal de Apache es /etc/httpd/conf/httpd.conf
. Utilice este archivo para definir la configuración inicial del servicio web.
La mayoría de los administradores de sistemas usan vim
para editar archivos de configuración. Nano
, gedit
, e incluso emacs
también son posibles herramientas.
Aquí hay un ejemplo de cómo abrir un archivo de configuración usando mi editor de texto preferido, vim
:
# vim /etc/httpd/conf/httpd.conf
Paso 3:¿Se inició el servicio?
Los servicios recién instalados y configurados deben iniciarse. Iniciar manualmente un servicio hace que lea el archivo de configuración que editó en el paso anterior. El procedimiento de inicio también inicia el proceso (o procesos) apropiado y hace que la funcionalidad del servicio esté disponible para el usuario.
La mayoría de las distribuciones modernas se basan en systemd
, entonces usa el systemctl
Comando para iniciar, detener y reiniciar servicios. Aquí hay un ejemplo de cómo iniciar Apache usando systemctl
:
# systemctl start httpd
Los sistemas más antiguos pueden depender del SysV
entorno de inicio. En esos casos, use el siguiente comando para iniciar el servicio:
# service httpd start
El problema con el inicio manual de un servicio es que solo está activo durante el tiempo de ejecución actual. Si reinicia el servidor, el proceso no se inicia automáticamente. Ese hecho nos lleva al paso cuatro a continuación.
Paso 4:¿El servicio es persistente?
Para que el servicio se inicie cada vez que se inicia el sistema, debe habilitarlo. Recuerda, empezando un servicio hace que se ejecute en el tiempo de ejecución actual mientras habilita el servicio hace que se inicie cuando se inicia el sistema. Los dos conceptos no son intercambiables (en otras palabras, habilitar un servicio no hace que se inicie).
En distribuciones basadas en systemd, administre el estado de inicio del servicio usando systemctl
. Las acciones son habilitar o deshabilitar. Aquí hay un ejemplo:
# systemctl enable httpd
En sistemas basados en SysV, use chkconfig
comando para controlar el estado de inicio del servicio. Por ejemplo, para garantizar que el servicio se inicie en los niveles de ejecución 3 y 5, ingrese el siguiente comando:
# chkconfig --level 35 httpd on
Paso 5:¿Probó el servicio?
Ahora que instaló, configuró, inició y habilitó el servicio, es hora de asegurarse de que el servicio funcione según lo previsto. ¿Puede mostrar la página web de prueba de Apache? ¿Puedes acceder a los directorios que exportaste con NFS? No olvide que para los servicios de red, es casi seguro que también debe configurar el firewall. Esa tarea está fuera del alcance de esta discusión, pero la información está disponible en línea.
Durante la fase de prueba, es posible que desee confirmar que se generan los archivos de registro adecuados y que las entradas de registro coinciden con la gravedad requerida. Comience revisando el /etc/rsyslog.conf
archivo, así como la página de manual del servicio.
Paso 6:¿Cambió el servicio?
¿Hiciste algún cambio en el archivo de configuración del servicio durante la prueba? Si es así, debe reiniciar el servicio para que vuelva a leer el archivo. También debe considerar cualquier edición futura del archivo de configuración que realice durante el ciclo de vida del servicio. Estos son ejemplos de reinicio de un servicio en sistemas basados en systemd y SysV:
# systemctl restart httpd
# service httpd restart
Resumir
Espero que este resumen fundamental de los pasos y las herramientas de implementación del servicio haya sido útil. Al establecer una lista de verificación mental que verifica cada uno de estos pasos, ayuda a garantizar que las implementaciones de su servicio sean exitosas.
Recuerde:iniciar y habilitar no son términos intercambiables y son acciones separadas. Lo mismo se aplica a detener y desactivar. Tenga en cuenta si está trabajando con una distribución basada en systemd o una distribución que usa SysV.
Aquí hay un resumen de los pasos y herramientas:
- ¿Instalado? rpm, ñam, dnf
- ¿Configurado? vim, nano
- ¿Comenzó? systemctl o servicio
- ¿Persistente? systemctl o chkconfig
- ¿Probado? ping o software de cliente estándar
- ¿Reconfigurado? systemctl o servicio
[ ¿Quiere probar Red Hat Enterprise Linux? Descárgalo ahora gratis. ]