Synchronet v3.19b-Win32 (install) has been released (Jan-2022).

You can donate to the Synchronet project using PayPal.

¡Esta es una revisión vieja del documento!


Instalación UNIX/Linux

Cree Synchronet a partir del código source para su distribución, versión y arquitectura de plataforma del sistema operativo Unix/Linux.

:!: Antes de intentar compilar Synchronet, asegúrese de que el sistema prerequisites ya esté instalado.

Deberá utilizar un terminal *nix y un shell de comandos (por ejemplo, sh/bash) para instalar y configurar Synchronet.

Ejecutar como usuario

Se recomienda que instale Synchronet mientras está conectado con la cuenta de usuario con la que se ejecutará Synchronet. Si instala Synchronet con una cuenta de usuario y luego lo ejecuta con otra cuenta de usuario (no raíz), podría encontrar errores de permisos. :!: No se recomienda ejecutar los servidores/servicios BBS (sbbs) como usuario raíz del sistema.

Use adduser (o “sudo adduser” si es necesario) para crear la cuenta de usuario run-as (por ejemplo, sbbs). $ adduser sbbs

En Linux, es muy conveniente para el usuario ejecutar como tener acceso sudo. Para lograr esto, como usuario sudo/root:

$ sudo adduser sbbs sudo
$ groups sbbs
sbbs : sbbs sudo ...

Pertenecer al grupo sudo le permitirá realizar funciones de administración del sistema mientras está conectado como usuario de BBS run-as mediante el uso del comando sudo.

Use el comando su para cambiar el usuario actual a ejecutar-como usuario (el “-” especifica iniciar sesión como ese usuario, por ejemplo, configurando el cwd a ese usuario directorio de inicio):

$ su - sbbs
Password (Contraseña):
$ whoami
sbbs

Si considera necesario iniciar los servidores/servicios de BBS como el usuario raíz, entonces puede hacer que el demonio de BBS (sbbs) cambie automáticamente a Ejecutar como usuario después de que haya terminado. vinculó los ports TCP y UDP necesarios, configurando el valor User de la sección [Unix] de ctrl/sbbs.ini.

Creación del directorio de Synchronet

Debe crear el directorio donde residirá Synchronet. Algunas ubicaciones comunes serían el directorio inicio del usuario Run-as (por ejemplo, /home/sbbs/sbbs) o el directorio raíz del sistema (por ejemplo, /sbbs). La siguiente información supondrá que ha iniciado sesión como el usuario “sbbs”.

De forma predeterminada, los ejecutables de Synchronet buscarán archivos en el directorio /sbbs/ctrl, por lo que si instala Synchronet en un directorio diferente, deberá crear un enlace simbólico en su directorio raíz (por ejemplo, ln -s /home/sbbs/sbbs /) o establezca la variable de entorno SBBSCTRL según corresponda.

Por ejemplo, para crear su directorio Synchronet en /sbbs, podría hacer lo siguiente:

  1. $ sudo mkdir /sbbs ← (you would likely be prompted for your password to use “sudo”)
  2. $ sudo chown sbbs:sbbs /sbbs ← (this will change directory ownership to the “sbbs” user and group)
  3. $ cd /sbbs ← (puts you in the /sbbs directory as the “sbbs” user)

Alternativamente, para crear su directorio Synchronet en el directorio de inicio de su Run-as User (e.g. /home/sbbs), you could do the following:

  1. $ cd ~/sbbs ← (puts you in the /home/sbbs/sbbs directory as the “sbbs” user)

Los pasos restantes asumen que el directorio de trabajo actual es su directorio de instalación de Synchronet:

$ pwd
/sbbs

o:

$ pwd
/home/sbbs/sbbs

Conseguir/Construir

Si un paso específico a continuación causa problemas (por ejemplo, muestra un mensaje de error), haga clic en el texto resaltado para obtener más detalles, incluidas las causas comunes de errores.

Construir

Elija un método de compilación (usando Git o Tarball)1):

Método de compilación Git

Instalación rápida desde Git (requiere más de 100 MB de espacio en disco):

Para obtener y compilar el código más reciente:

  • $ hacer instalar SYMLINK=1

En Linux, es normal que se solicite la contraseña del usuario cerca del final del proceso de compilación, según sea necesario para invocar el comando sudo setcap para habilitar la capacidad de enlace de puerto bajo en el ejecutable sbbs de Synchronet .

Si construye en un sistema Linux como usuario sin acceso sudo, pase la opción NOCAP=1 para deshabilitar esta función 2):

  • $ hacer instalar SYMLINK=1 NOCAP=1

O bien, si desea crear una versión estable de Git, especifique una versión válida tag en la línea de comando make (por ejemplo, sbbs319b):

  • $ hacer instalar SYMLINK=1 TAG=sbbs3xxx
  • NOTA: esto no funciona con etiquetas de lanzamiento anteriores a sbbs319b, use el método de instalación de Tarball en su lugar.

Notas:

Resultados

Si instaló con la opción SYMLINK=1, el árbol de directorios de instalación resultante debería verse así:

drwxr-xr-x 1 sbbs sbbs  2418 Jan 26 23:24 ctrl
lrwxrwxrwx 1 sbbs sbbs    25 Jan 26 21:03 docs -> /home/sbbs/sbbs/repo/docs
lrwxrwxrwx 1 sbbs sbbs    25 Jan 26 21:03 exec -> /home/sbbs/sbbs/repo/exec
-rw-r--r-- 1 sbbs sbbs 11001 Jan 26 20:51 GNUmakefile
drwxr-xr-x 1 sbbs sbbs   116 Jan 26 21:07 node1
drwxr-xr-x 1 sbbs sbbs    48 Jan 26 21:06 node2
drwxr-xr-x 1 sbbs sbbs    48 Jan 26 21:06 node3
drwxr-xr-x 1 sbbs sbbs    48 Jan 26 21:06 node4
drwxr-xr-x 1 sbbs sbbs   240 Jan 26 20:58 repo
lrwxrwxrwx 1 sbbs sbbs    25 Jan 26 21:03 text -> /home/sbbs/sbbs/repo/text
lrwxrwxrwx 1 sbbs sbbs    24 Jan 26 21:03 web -> /home/sbbs/sbbs/repo/web
lrwxrwxrwx 1 sbbs sbbs    26 Jan 26 21:03 webv4 -> /home/sbbs/sbbs/repo/webv4
lrwxrwxrwx 1 sbbs sbbs    25 Jan 26 21:03 xtrn -> /home/sbbs/sbbs/repo/xtrn

Due to the symbolic directory links (represented with -> arrows above), subsequent git pull operations (in the sbbs/repo directory) will automatically update the docs, exec, text, web, webv4, and xtrn directories. This means that any local changes (configurations or customizations) of files in those directories may need to be merged with any upstream changes later. Most configuration files are located in the ctrl directory so they are automatically excluded from any update/merge issues.

Notes:

  • You can safely remove the installation GNUmakefile once successfully installed; it has served its purpose.

Método de construcción Tarball

Alternatively, if you don't have a working Git client or are low on available disk space, you can use the following steps to install the latest nightly development build:

  1. $ tar -xzf sbbs_src.tgz
  2. $ tar -xzf sbbs_run.tgz
  3. $ cd src/sbbs3
  4. $ SBBSEXEC=/sbbs/exec make symlinks3)
  5. $ SBBSCTRL=/sbbs/ctrl /sbbs/exec/jsexec update.js

Si desea crear una versión estable, reemplace los nombres de archivo de archivo anteriores con nombres de archivo de versión válidos:

  1. replace sbbs_src.tgz with ssrc319b.tgz
  2. replace sbbs_run.tgz with srun319b.tgz
Uso de bibliotecas del sistema

En los sistemas que no cuentan con el soporte adecuado de SpiderMonkey, es posible que necesite utilizar una versión suministrada por un proveedor. Si lo hace, no se recomienda ni se admite bien, pero puede ser la única manera de hacer que Synchronet se ejecute en algunas plataformas. Se ha informado que los siguientes pasos funcionan en Debian Squeeze (6.0) armel (ARMv5te, EABI) en un kit de desarrollo Marvell Sheevaplug.

  1. $ apt-get install libmozjs185-dev
  2. Anade JSINCLUDE=/usr/include/js JSLIB=mozjs185 a su línea de comando.

En OpenBSD 5.5-current on 64-bit UltraSPARC:

  1. $ pkg_add -r spidermonkey-1.9
  2. $ ln -s /usr/local/lib/libspidermonkey.so.0.0 /usr/local/lib/libspidermonkey.so
  3. Añade JSINCLUDE=/usr/local/include/js a su línea de comando.

Errores

* El siguiente error indica que no pudo instalar libncurses-dev (o libncursesw5-dev) prerequisite:

   error fatal: curses.h: No existe tal archivo o directorio
  • El siguiente error indica que no pudo instalar libnspr4-dev prerequisite:
   configure: error: no tiene NSPR instalado o su versión es demasiado antigua
  • Errores como “C++ no puede crear archivos ejecutables” y muchos otros generalmente son causados por falta de prerequisites.
  • Los siguientes errores ocurren al compilar la biblioteca JavaScript de Mozilla (libmozjs), son normales y se pueden ignorar de manera segura:
   /bin/sh: 1: autoconf-2.13: no encontrado
   GNUmakefile:52: receta para el objetivo '../build/../../src/../3rdp/gcc.linux.x64.debug/mozjs/lib/libmozjs185-1.0.a' falló
   make[1]: [../build/../../src/../3rdp/gcc.linux.x64.debug/mozjs/lib/libmozjs185-1.0.a] Error 127 (ignorado)
  • El siguiente error indica que especificó un destino de creación de enlaces simbólicos sin el conjunto de variables de entorno SBBSCTRL o SBBSEXEC.
   make: *** No hay regla para hacer 'enlaces simbólicos' de destino. Detener.
  • El siguiente error indica que especificó un destino de creación de instalación sin el conjunto de variables de entorno SBBSCTRL o SBBSEXEC.
   make: *** No hay regla para hacer que el objetivo sea 'instalar'. Detener.
  • El siguiente error de compilación indica que la variante carácter ancho de la biblioteca ncurses no ha sido installed:
   error: nombre de tipo desconocido 'wint_t'
  • El siguiente error indica que las bibliotecas de Synchronet (objetos compartidos) no están en la ruta de búsqueda de bibliotecas de su sistema o en el directorio desde el cual se creó sbbs. Establezca LD_LIBRARY_PATH variable de entorno para que apunte a su directorio Synchronet exec para resolver:
   sbbs: error al cargar bibliotecas compartidas: libsbbs.so: no se puede abrir el archivo de objeto compartido: no existe tal archivo o directorio==== Notes ====

Enlase Symbolico

Dado que los dos métodos de instalación anteriores crean enlaces simbólicos a (en lugar de copiar) su biblioteca de Synchronet y archivos ejecutables de sus directorios de compilación de Synchronet a su directorio de Synchronet exec, no debe eliminar (o “limpiar ”) sus directorios de compilación o Synchronet (por ejemplo, sbbs) y sus utilidades no se ejecutarán hasta que los reconstruya.

Compilaciones de depuración

Los dos métodos de instalación de compilación anteriores crean una versión de “lanzamiento” (o sin depuración) de la biblioteca Synchronet y los archivos ejecutables. Si no va a utilizar un depurador (p. ej., gdb) para debug Synchronet (p. ej., causa raíz e informar o corregir errores en el código fuente), entonces probablemente debería ejecutar el binarios “liberados”, ya que serán más pequeños y más rápidos.

Si desea crear binarios de depuración, agregue DEBUG=1 a las líneas de comando make en los pasos anteriores.

Los archivos de compilación de depuración y versión se generan en directorios de salida separados. Si creó enlaces simbólicos a sus ejecutables (es decir, especificó SYMLINK=1 en la primera invocación) y cambió entre compilaciones de lanzamiento y depuración, deberá eliminar o reemplazar los enlaces simbólicos en su Synchronet exec directorio; esto se puede lograr utilizando el objetivo de compilación enlaces simbólicos del archivo src/sbbs3/GNUmakefile.

Utilidades gráficas

Ejecute make gtkutils en el directorio src/sbbs3 para compilar las utilidades de GTK (por ejemplo, gtkmonitor). Agregue el objetivo instalar o enlaces simbólicos a la línea de comandos para obtener los enlaces simbólicos o copiar las utilidades de GTK en su directorio exec de Synchronet.

Librerias de JavaScript

A partir del 8 de octubre de 2011, incluimos el código fuente completo de la biblioteca SpiderMonkey (JavaScript-C) 1.8.5 en el Repositorio de origen de Synchronet (bajo [ [https://gitlab.synchro.net/main/sbbs/-/tree/master/3rdp/dist|3rdp/dist]]) y src/sbbs3/GNUmakefile lo creará automáticamente. Ahora no necesita especificar un valor JSLIB= en sus líneas de comando make.

JavaScript Issues for OpenBSD Users

La compilación del paquete de terceros que proporciona el soporte JavaScript de Mozilla parece necesitar que se le pase una marca adicional, al menos para OpenBSD 4.9-5.x ejecutándose en i386. Al hacer el make inicial, pruébelo con EXTRA_JS_CONFIGURE_ARGS=–disable-tracejit para avanzar un poco más en el proceso.

Sistema de construcción

El sistema de construcción basado en make es una bestia compleja y mágica. Cambiar su comportamiento a través de variables de entorno como No se admiten CFLAGS o girar las distintas perillas no documentadas. Si juegas con las perillas y algo se rompe, se espera que usted se apoye con respecto a estos cambios... es decir: la respuesta que probablemente obtener de los desarrolladores es “no hagas eso entonces”. La documentación parcial se puede encontrar aquí: options

Compilaciones de terceros

Algunos terceros ponen a disposición tarballs no admitidos desde sus propios sitios. No se recomienda ni se admite su uso. Siempre que sea posible, debe construir usted mismo.

OS Platform Provided By Date Archive
Debian (testing) amd64 digital_man Every morning (PT) sbbs_dev.tgz sbbs_run.tgz

Configuración

Ver nix para obtener más detalles sobre la configuración del archivo de inicialización de Synchronet (ctrl/sbbs.ini) for Unix/Linux.

Arranque

Elija un modo (Consola o Daemon):

Modo Consola

Puede ejecutar manualmente la consola sysop de Synchronet (algo interactiva, pero generalmente no preferida):

La mayor parte de lo que se muestra en la consola no se registra en el disco en este modo.

Tiene algunas opciones de monitoreo y control desde el símbolo del sistema de la consola. Presiona ? para un menú de comandos disponibles (por ejemplo, Q para salir, detener Synchronet).

Modo Daemonio

Puede instalar Synchronet para que se ejecute como un demonio (servicio en segundo plano, generalmente se prefiere).

Debe ser 'root' o tener permisos 'sudo' para instalar demonios en Unix/Linux.

Linux

Debian (systemd)

Los sistemas Linux modernos basados en Debian (incluido Ubuntu) usan systemd para controlar (por ejemplo, iniciar/detener) y monitorear los servicios del sistema (daemons). Consulte systemd para obtener instrucciones detalladas sobre cómo configurar Synchronet como un demonio que se inicia automáticamente y se controla a través de systemd.

Debian (SysVinit)

Si usa un Linux basado en Debian más antiguo que todavía usa un sistema de control de servicio/daemon SysV/init.d, debe usar cualquiera de los siguientes métodos para agregar el servicio del sistema Synchronet a su configuración de inicio para el sbbs daemon para iniciar automáticamente durante el inicio del sistema:

# insserv -v sbbs

o:

# update-rc.d sbbs enable 2 3 4 5
Red Hat

Si usa un Linux basado en Red Hat (por ejemplo, Fedora), es posible que deba agregar el servicio del sistema Synchronet a su configuración de inicio para que el demonio sbbs se inicie automáticamente durante el inicio del sistema:

# chkconfig --add sbbs
System V Init
  1. # cd /etc/init.d
  2. # chmod +x sbbs
  3. # /etc/init.d/sbbs start

Ver syslog, umonitor, gtkmonitor y node para obtener detalles sobre las opciones para monitorear el demonio Synchronet mientras se ejecuta en segundo plano:

# /etc/init.d/sbbs status
Synchronet BBS services status: [running]
PID(s): 25171

FreeBSD

1) Obtenga el script de ejecución del servicio Synchronet (archivo init) de áqui.

2) Copie el script de ejecución (sbbs) en su /usr/local/etc/rc.d directorio

3) Configurar los ajustes de sbbs: En una de /etc/rc.conf, /etc/rc.conf.local, o /etc/rc.conf.d/sbbs, agregue la línea:

 sbbs_enable=YES      # Es necesario para ejecutar Synchronet

4) En uno de los archivos del paso tres, agregue las líneas apropiadas de las siguientes (Los valores predeterminados se muestran aquí):

 sbbs_flags=""                        # Indicadores de línea de comandos adicionales
 sbbs_pidfile="/var/run/sbbs.pid"     # Ruta de pid desde tu .ini
 sbbs_dir="/sbbs/"                    # Ruta sbbs raíz (Root sbbs path)
                                      # El resto de los sbbs_*dir derivan
                                      # de esto ser predeterminado
 sbbs_ctrldir="${sbbs_dir}/ctrl/"
 sbbs_execdir="${sbbs_dir}/exec/"
 sbbs_program="${sbbs_execdir}/sbbs"  # Synchronet binary
 sbbs_procname="${sbbs_program}"      # Nombre del proceso visto por ps(1)
 sbbs_shell="/bin/sh"                 # SHELL variable
 sbbs_user="root"                     # Usuario para (START)INICIAR sbbs como. Si esto es
                                      # no root, no puede vincular puertos bajos
 sbbs_group="wheel"                   # Grupo para iniciar sbbs como

5) Inicie el servicio del sistema Synchronet (FreeBSD 5.x+):

# /usr/local/etc/rc.d/sbbs start

Nota a SysOp (paging)

Para la mayoría de los sistemas, el BBS debe tener acceso de escritura a la tarjeta de sonido a través de /dev/dsp, o ejecútelo como root para buscar el SysOp. FreeBSD apoya una alternativa método que requiere uno de los siguientes:

En FreeBSD 5.x y Mayor

Uno de:

  1. Un núcleo personalizado con la siguiente opción en la configuración device speaker
  2. El módulo de altavoz cargado por:
    1. Ejecutar kldload speaker
    2. La línea speaker_load=“YES” en /boot/loader.conf archivo

/dev/speaker should be debe ser (read/writeable) leído/grabado por el usuario con el que se ejecuta el BBS.

Actualización

Actualización/sincronización de los archivos fuente:

1. Si ya tienes el Synchronet Git repositorio clonado en su sistema local, busque y fusione cualquier cambio anterior:

$ git -C /sbbs/repo pull

O Si no ya tiene el repositorio de Git clonado, clone a tu sbbs/repo directorio:

$ git clone https://gitlab.synchro.net/main/sbbs.git /sbbs/repo

O descargue el código fuente más reciente y los archivos de biblioteca de terceros y extráigalos en su sbbs/repo árbol de directorios:

$ mkdir /sbbs/repo; cd /sbbs/repo
$ wget ftp://vert.synchro.net/Synchronet/sbbs_src.tgz
$ tar -xzf sbbs_src.tgz

2. Recontrulle Synchronet (replace symlinks with install si prefiere copiar archivos ejecutables y biblioteca a su exec directorio):

$ cd /sbbs/repo/src/sbbs3; make RELEASE=1 symlinks

O si estás usando setcap para iniciar sbbs como un Linux non-root usuario:

$ cd /sbbs/repo/src/sbbs3; make RELEASE=1 setcap symlinks

:!: Si obtiene el error no hay regla para hacer objetivo 'symlinks' or 'install', esto es una indicación de que no tienes el SBBSCTRL o SBBSEXEC conjunto de variables

3. Realice los pasos enumerados aquí para actualizar los archivos de tiempo de ejecución (e.g. text.dat).

4. Apague y vuelva a ejecutar sbbs(cuando se daemonized):

$ systemctl restart sbbs

o:

$ service sbbs restart

o:

$ /etc/init.d/sbbs restart 

Clean Rebuild

Ocasionalmente, es posible que deba realizar una limpiezareconstrucción. Por lo general, se puede lograr una compilación limpia yendo al directorio src/ y ejecutando:

./cleanall.sh RELEASE=1

Note:
Si elige compilar depuración binarios (en lugar de liberar binarios), entonces deberá excluir la parte RELEASE=1 de cleanall.sh' ' dominio. De lo contrario, limpiará los directorios de salida *.release cuando realmente necesite limpiar los directorios de salida *.debug. Del mismo modo, si está compilando y ejecutando binarios release, entonces necesita incluir la parte RELEASE=1 en los comandos cleanall.sh también. Alternativamente, puede configurar su tipo de compilación predeterminado en el archivo localdefs.mk. El archivo localdefs.mk debe ser creado por usted en el directorio src/build (para aplicarlo a todas las compilaciones), o dentro de cada directorio que ejecute make'':

localdefs.mk
RELEASE=1

Setup

Ahora que ha completado la instalación, continúe con las instrucciones de initial setup .

See Also

1)
Se prefiere/recomenda el método de instalación de Git
2)
existen otros métodos para habilitar el enlace de puerto bajo en sistemas Linux
3)
include the 'setcap' target if you intend to use Linux-capabilities to bind low ports