viernes, 1 de marzo de 2013

Crear y agregar un servicio a SystemD en Manjaro (Archlinux) - Subversion

Hora de configurar un servidor de desarrollo en el trabajo, y hora de mover los repositorios SVN a este nuevo servidor, para este caso instalaremos subversion en Manjaro 0.8.4, tan fácil como hacer desde una terminal:

$ sudo pacman -S subversion

Y tendremos instalado subversion!

Configuramos un directorio donde estarán nuestros repositorios:

$ mkdir /home/usuario/SVN

Muy bien, si quisiéramos iniciar el demonio de Subversion desde una terminal haríamos los siguiente:

$ svnserve -d -r /home/usuario/SVN

Con los parámetros -d indicamos que se inicie como demonio, y con -r indicamos el directorio raíz que alojará nuestros repositorios.
Pero en este caso queremos que subversion se inicie al bootear el sistema, para esto crearemos un archivo para iniciar el servicio, en SystemD que es el gestor de servicios de Archlinux y por lo tanto de Manjaro, creamos un archivo en la siguiente ruta:

$ sudo nano /etc/systemd/system/svn.service

Y agregamos las siguientes lineas:
[Unit]
Description=Subversion Service
After=network.target

[Service]
Type=forking
User=tuusuario
ExecStart=/usr/bin/svnserve -d -r /home/tuusuario/SVN

[Install]
WantedBy=multi-user.target

Aquí las lineas mas importantes son "After=network.target" para indicarle que sea iniciado después del servicio de red, "Type=forking" para iniciar el servicio como un demonio y permitir monitorear su estado a systemd, "User=tuusuario" para indicar con que cuenta de usuario será lanzado el servicio.

Guardamos los cambios y rehabilitamos el servicio y lo agregamos al inicio del sistema:

$ sudo systemctl reenable svn.service

Iniciamos el servicio:

$ sudo systemctl start svn.service

Y podemos revisar su estado:

$ systemctl status svn.service

Y si todo salió bien, nos deberá mostrar algo así:
svn.service - SVN Server
 Loaded: loaded (/etc/systemd/system/svn.service; enabled)
 Active: active (running) since vie 2013-03-01 07:32:14 MST; 1h 33min ago
Process: 310 ExecStart=/usr/bin/svnserve -d -r /home/tuusuario/SVN (code=exited, status=0/SUCCESS)
Main PID: 319 (svnserve)
 CGroup: name=systemd:/system/svn.service
 └─319 /usr/bin/svnserve -d -r /home/tuusuario/SVN

mar 01 07:32:10 manjaro systemd[1]: Starting SVN Server...
mar 01 07:32:14 manjaro systemd[1]: Started SVN Server.

Y listo!

Ahora leo que fedora cambió a SystemD, me da gusto ver que están tomando este gestor de servicios.

referencias:
Escribir los archivos .service personalizados (Wiki Arch)

No hay comentarios: