El servicio que se ejecuta en RHEL7.5 no se ejecuta en RHEL8 (servicio httpd)

El servicio que se ejecuta en RHEL7.5 no se ejecuta en RHEL8 (servicio httpd)

Tengo un servicio que funcionaba bien con RHEL 7.5, ahora actualicé a RHEL 8 y el mismo servicio falla con el siguiente estado:

Service.service - LSB: Web Server
Loaded: loaded (/etc/rc.d/init.d/Service; generated)
Active: failed (Result: protocol) since Mon 2020-04-06 12:02:21 IST; 38min ago
Docs: man:systemd-sysv-generator(8)
Process: 403 ExecStart=/etc/rc.d/init.d/Service start (code=exited, status=0/SUCCESS)

Apr 06 12:02:21 localhost.localdomain systemd[1]: Starting LSB: Web Server...
Apr 06 12:02:21 localhost.localdomain Service[403]: httpd (pid 29434) already running
Apr 06 12:02:21 localhost.localdomain systemd[1]: Service.service: Refusing to accept PID outside of service control group, acquired through unsafe symlink chain:
/usr/local/apache/logs/Service.pid
Apr 06 12:02:21 localhost.localdomain systemd[1]: Service.service: Refusing to accept PID outside of service control group, acquired through unsafe symlink chain:
/usr/local/apache/logs/Service.pid
Apr 06 12:02:21 localhost.localdomain systemd[1]: Service.service: Failed with result 'protocol'.
Apr 06 12:02:21 localhost.localdomain systemd[1]: Failed to start LSB: Web Server

Esta es mi unidad de servicio ubicada en /etc/init.d/Service, lo mismo se hace para RHEL 7.5 pero allí este servicio funciona y en RHEL 8 no. Una cosa más a tener en cuenta es que el servidor web funciona como se esperaba, aunque me muestra este error.

    #!/bin/sh
#
# chkconfig: 345 97 03
# description:Web Server
# processname: httpd
# config: /usr/local/Test/apache/conf/httpd.conf
# pidfile: /usr/local/Test/apache/logs/httpd.pid

### BEGIN INIT INFO
# Provides: Service
# Required-Start: $remote_fs $network $syslog
# Should-Start:
# Required-Stop:
# Default-Start: 3 4 5
# Default-Stop: 0 1 2 6`enter code here`
# Short-Description: Web Server
# Description: Web Server
### END INIT INFO

LANG=en_US.iso88591
export LANG

BASEDIR=/usr/local/Test/apache
PATH=$BASEDIR/bin:/usr/bin:/bin
export PATH

LD_LIBRARY_PATH=$BASEDIR/lib
export LD_LIBRARY_PATH

inst=/usr/local/Test
MIBDIRS=$inst/mibs
export MIBDIRS

case $1 in
start)
  apachectl start
  ;;
stop)
  apachectl stop
  ;;
restart)
  apachectl restart
  ;;
*)
  echo "usage: $0 { start | stop | restart }"
  ;;
esac

Por favor ayúdame con esto.

Respuesta1

Si ve en la entrada del diario:

Refusing to accept PID outside of service control group, acquired through unsafe symlink chain:

La versión de systemd en 7.5 no tiene comprobaciones adicionales para comprobar si el pid del servicio está fuera del grupo c de la unidad systemd.

Si actualizara el sistema 7.5 a 7.7 o posterior, también fallaría con el mismo error.

Es posible que tenga más suerte si convierte el script de inicio sysv en una unidad de servicio systemd real.

información relacionada