diff --git a/README.md b/README.md index 2e3bae3..10bd718 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,7 @@ como sea, para una instalación más adecuada, tomo algunos pasos de la [instala crea une user en el sistema para correr el servicio: ``` +$ su - # useradd -r -s /bin/false -m -d /var/lib/chamorrx -U chamorrx ``` @@ -38,11 +39,10 @@ ingresamos a su cuenta para trabajar más fácil: $ cd /opt/chamorrx ``` -clonamos el repositorio: +clonamos el repositorio en ese mismo directorio: ``` -$ git clone https://tildegit.org/sejo/chamorrx -$ cd chamorrx +$ git clone https://tildegit.org/sejo/chamorrx /opt/chamorrx ``` probamos correr el servidor; va a descargar algunos paquetes y va a lanzar error al querer leer la configuración: @@ -53,6 +53,36 @@ $ go run . creamos el archivo `config.txt` de acuerdo a las instrucciones de abajo. después ya debería funcionar :) +ahora construimos el ejecutable `chamorrx`: + +``` +$ go build +``` + +que ahora podemos ejecutar: + +``` +$ ./chamorrx +``` + +## systemd + +en el repositorio, `ejemplo-chamorrx.service` lo podemos usar como plantilla para correr el servidor a través de systemd. + +regresamos a root y copiamos el servicio: + +``` +$ exit +# cp /opt/chamorrx/ejemplo-chamorrx.service /etc/systemd/system/chamorrx.service +``` + +modificamos el archivo de ser necesario. + +iniciamos el servicio: + +``` +# systemctl start chamorrx +``` # config diff --git a/ejemplo-chamorrx.service b/ejemplo-chamorrx.service index 4e3e71a..30f8681 100644 --- a/ejemplo-chamorrx.service +++ b/ejemplo-chamorrx.service @@ -7,7 +7,7 @@ Type=simple Restart=always RestartSec=1 User=chamorrx -ExecStart=/opt/chamorrx/chamorrx/chamorrx +ExecStart=/opt/chamorrx/chamorrx [Install] WantedBy=multi-user.target diff --git a/servidor.go b/servidor.go index 9349c83..6e5fdc2 100644 --- a/servidor.go +++ b/servidor.go @@ -62,7 +62,7 @@ func gmiHandler(_ context.Context, w gemini.ResponseWriter, r *gemini.Request) { } func main() { - config, err := os.Open("config.txt") + config, err := os.Open("/opt/chamorrx/config.txt") log.Println("cargando configuración...") if err != nil { @@ -84,7 +84,7 @@ func main() { log.Println("configuración cargada!") - if err := os.MkdirAll("certs",0700); err != nil { + if err := os.MkdirAll("/opt/chamorrx/certs",0700); err != nil { log.Fatal(err) } @@ -96,7 +96,7 @@ func main() { certificates.Register(host) } - if err := certificates.Load("certs"); err != nil { + if err := certificates.Load("/opt/chamorrx/certs"); err != nil { log.Fatal(err) }