miércoles, 31 de octubre de 2018

Archivo rc.local en Ubuntu 18.04.1

Buenas.

No conocía esta versión de Ubuntu, y la verdad es que me ha sorprendido que cosas que en otras versiones eran bastante simples, y que se resolvían modificando un fichero. En esta versión no he sido capaz, y buscando y buscando por la red. Y probando infinidad de cosas no daba con ello.

Hasta que haciendo esto se soluciono el problema.

Veréis, yo necesitaba que los servicios XAMPP se iniciaran cada vez que arrancaba el servidor.

Y en versiones anteriores con añadirlo en el fichero /etc/rc.local estaba arreglado.

Pero ya digo que en la versión 18.04.1 poniendo lo que se ponga en este fichero no lo ejecutaba.

Hasta que cree un servicio llamado rc-local.service que es tan simple como crear un fichero en la ruta /etc/systemd/system/rc-local.service
y que contenga las siguientes lineas.

[Unit]
Description=/etc/rc.local Compatibility
ConditionPathExists=/etc/rc.local

[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99

[Install]
WantedBy=multi-user.target

Después creamos el fichero /etc/rc.local y al guardarlo le damos permisos para que se ejecute
Con el siguiente comando
sudo chmod +x /etc/rc.local

Y lo que tenemos que poner en el fichero /etc/rc.local es lo siguiente.

#!/bin/sh -e
#
# rc.local
#
#  This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on succes or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing

/opt/lampp/lampp start
exit 0

Y una vez guardado y después de darle los permisos de ejecución habilitamos el servicio
Para ello ponemos

Sudo systemctl enable rc-local

Y ahora lo iniciamos y chequeamos

Sudo systemctl start rc-local.service

Sudo systemctl status rc-local.service


Esto es todo, espero que os funcione como me ha funcionado a mi.