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

You can donate to the Synchronet project using PayPal.

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
install:nix [2023/01/26 17:18] – [Notes] Upgraded from Debian 9 long ago digital maninstall:nix [2023/04/08 16:25] (current) – [Tarball Build Method] The new sbbs-src.tgz will include the appropriate local_defs.mk already digital man
Line 1: Line 1:
 ====== UNIX Installation ====== ====== UNIX Installation ======
  
-You will likely need to build Synchronet from [[dev:source]] code for your Unix/Linux distribution, version, and platform architecture.+Build Synchronet from [[dev:source]] code for your Unix/Linux OS distribution, version, and platform architecture.
  
-Before attempting to install/build Synchronet, insure that the [[install:nix:prerequisites]] are installed.+:!: **Before attempting to build Synchronet, insure that the system [[install:nix:prerequisites]] are already installed.**
  
-You will to use a *nix terminal and command shell (e.g. sh/bash) to install and configure Synchronet.+You will need to use a *nix terminal and command shell (e.g. sh/bash) to install and configure Synchronet.
  
 ===== Run-as User ===== ===== Run-as User =====
Line 11: Line 11:
 It is recommended that you install Synchronet while logged-in with the user account that Synchronet will be run-as. If you install Synchronet with one user account and then later run with another (non-root) user account, you could encounter permissions errors. It is recommended that you install Synchronet while logged-in with the user account that Synchronet will be run-as. If you install Synchronet with one user account and then later run with another (non-root) user account, you could encounter permissions errors.
  
-**Running the BBS servers/services (''sbbs'') as the ''root'' user is not recommended**.+:!: **Running the BBS servers/services (''sbbs'') as the system'''root'' user is not recommended**.
  
 Use ''adduser'' (or "''sudo adduser''" if necessary) to create the //run-as// user account (e.g. ''sbbs''). Use ''adduser'' (or "''sudo adduser''" if necessary) to create the //run-as// user account (e.g. ''sbbs'').
Line 17: Line 17:
  
 On Linux, it's very convenient for the run-as user to have ''sudo'' access. To achieve this, as a sudo/root user: On Linux, it's very convenient for the run-as user to have ''sudo'' access. To achieve this, as a sudo/root user:
-  $ sudo usermod -G sudo sbbs+  $ sudo adduser sbbs sudo
   $ groups sbbs   $ groups sbbs
   sbbs : sbbs sudo ...   sbbs : sbbs sudo ...
-Belonging to the ''sudo'' group will allow the you to perform system administration functions while logged-in as the BBS //run-as// user through the use of the ''sudo'' command.+Belonging to the ''sudo'' group will allow you to perform system administration functions while logged-in as the BBS //run-as// user through the use of the ''sudo'' command.
  
 Use the ''su'' command to switch the current user to the //run-as// user (the "''-''" specifies to //login// as that user, e.g. setting the cwd to that user's home directory): Use the ''su'' command to switch the current user to the //run-as// user (the "''-''" specifies to //login// as that user, e.g. setting the cwd to that user's home directory):
Line 64: Line 64:
 Choose a build method (using [[dev:Git]] or Tarball)((The Git install method is preferred/recommended)): Choose a build method (using [[dev:Git]] or Tarball)((The Git install method is preferred/recommended)):
  
-==== Using Git ====+==== Git Build Method ====
  
 Quick installation from [[dev:Git]] (requires 100+MB of disk space): Quick installation from [[dev:Git]] (requires 100+MB of disk space):
Line 87: Line 87:
   * These commands will make and install a //RELEASE// build of the software. To make and install a //DEBUG// build instead, pass ''DEBUG=1'' on the ''make'' command-lines.   * These commands will make and install a //RELEASE// build of the software. To make and install a //DEBUG// build instead, pass ''DEBUG=1'' on the ''make'' command-lines.
   * We don't support parallel builds (e.g. ''make -j'') - so don't do that.   * We don't support parallel builds (e.g. ''make -j'') - so don't do that.
-  * On //Linux// systems, your user password will be prompted for to execute the ''sudo setcap'' command during install. If this is a problem, you can include ''NOCAP=1'' on the ''make'' command-line to bypass that step. 
   * Mirrors of the ''install/GNUmakefile'' are available at   * Mirrors of the ''install/GNUmakefile'' are available at
       * [[https://github.com/SynchronetBBS/sbbs/raw/master/install/GNUmakefile]]       * [[https://github.com/SynchronetBBS/sbbs/raw/master/install/GNUmakefile]]
Line 96: Line 95:
 If you installed with the ''SYMLINK=1'' option, the resulting installation directory tree should look like this: If you installed with the ''SYMLINK=1'' option, the resulting installation directory tree should look like this:
 <code> <code>
-drwxrwx---  3 rswindell sbbs  4096 Sep 30 18:47 ctrl +drwxr-xr-x 1 sbbs sbbs  2418 Jan 26 23:24 ctrl 
-lrwxrwxrwx  rswindell sbbs    30 Sep 30 18:47 docs -> /home/rswindell/sbbs/repo/docs +lrwxrwxrwx 1 sbbs sbbs    25 Jan 26 21:03 docs -> /home/sbbs/sbbs/repo/docs 
-lrwxrwxrwx  rswindell sbbs    30 Sep 30 18:47 exec -> /home/rswindell/sbbs/repo/exec +lrwxrwxrwx 1 sbbs sbbs    25 Jan 26 21:03 exec -> /home/sbbs/sbbs/repo/exec 
--rw-rw----  rswindell sbbs 10641 Sep 30 19:04 GNUmakefile +-rw-r--r-- 1 sbbs sbbs 11001 Jan 26 20:51 GNUmakefile 
-drwxrwx---  2 rswindell sbbs  4096 Sep 30 18:47 node1 +drwxr-xr-x 1 sbbs sbbs   116 Jan 26 21:07 node1 
-drwxrwx--- 14 rswindell sbbs  4096 Sep 30 18:37 repo +drwxr-xr-x 1 sbbs sbbs    48 Jan 26 21:06 node2 
-lrwxrwxrwx  rswindell sbbs    30 Sep 30 18:47 text -> /home/rswindell/sbbs/repo/text +drwxr-xr-x 1 sbbs sbbs    48 Jan 26 21:06 node3 
-lrwxrwxrwx  rswindell sbbs    29 Sep 30 18:47 web -> /home/rswindell/sbbs/repo/web +drwxr-xr-x 1 sbbs sbbs    48 Jan 26 21:06 node4 
-lrwxrwxrwx  rswindell sbbs    32 Sep 30 18:58 webv4 -> /home/rswindell/sbbs/repo/webv4/ +drwxr-xr-x 1 sbbs sbbs   240 Jan 26 20:58 repo 
-lrwxrwxrwx  rswindell sbbs    30 Sep 30 18:47 xtrn -> /home/rswindell/sbbs/repo/xtrn+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
 </code> </code>
  
-Due to the symbolic directory links (represented with ''->'' arrows above), subsequent ''[[howto:git]] pull'' operations (in the ''sbbs/repo'' directory) will automatically update the ''docs'', ''[[dir:exec]]'', ''[[dir:text]]'', ''[[dir:web]]'', ''webv4'', and ''[[dir: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 ''[[dir:ctrl]]'' directory so they are automatically excluded from any update/merge issues.+Due to the symbolic directory links (represented with ''->'' arrows above), subsequent ''[[howto:git]] pull'' operations (in the ''sbbs/repo'' directory) will automatically update the ''docs'', ''[[dir:exec]]'', ''[[dir:text]]'', ''[[dir:web]]'', ''[[dir:webv4]]'', and ''[[dir: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 ''[[dir:ctrl]]'' directory so they are automatically excluded from any update/merge issues.
  
 **Notes**: **Notes**:
   * You can safely remove the installation ''GNUmakefile'' once successfully installed; it has served its purpose.   * You can safely remove the installation ''GNUmakefile'' once successfully installed; it has served its purpose.
  
-==== Tarball ====+==== Tarball Build Method ====
 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: 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:
  
Line 120: Line 122:
   - ''$ tar -xzf sbbs_src.tgz''   - ''$ tar -xzf sbbs_src.tgz''
   - ''$ tar -xzf sbbs_run.tgz''   - ''$ tar -xzf sbbs_run.tgz''
-  - ''$ echo RELEASE=1 > src/build/localdefs.mk'' 
   - ''$ cd src/sbbs3''   - ''$ cd src/sbbs3''
   - ''$ SBBSEXEC=/sbbs/exec [[install:nix:make|make]] symlinks''((include the 'setcap' target if you intend to use Linux-capabilities to bind low ports))   - ''$ SBBSEXEC=/sbbs/exec [[install:nix:make|make]] symlinks''((include the 'setcap' target if you intend to use Linux-capabilities to bind low ports))
Line 307: Line 308:
      
      
-===== Terminal Capabilities ===== 
- 
-As you may have noticed by now, most telnet clients designed for use with 
-ANSI BBSes do not display full-screen Unix programs correctly. Included with 
-Synchronet is a pair of terminal capability definition files that enable you 
-to run native full-screen Unix programs and have the output displayed correctly 
-in a standard ANSI-BBS terminal.  These files are ''termcap'' and ''terminfo'', 
-located in your Synchronet install directory.  Your system will use one or the 
-other, and it won't hurt to install both.  You will need to be logged in as 
-root to install the files. 
- 
-==== Installing the terminfo file ==== 
- 
-1) Get the Synchronet ANSI-BBS terminfo file from 
-[[https://gitlab.synchro.net/main/sbbs/-/raw/master/install/terminfo|here]]. 
- 
-2) Enter the command: 
-  # tic terminfo 
- 
-==== Installing the termcap file ==== 
- 
-1) Get the Synchronet ANSI-BBS termcap file from 
-[[https://gitlab.synchro.net/main/sbbs/-/raw/master/install/termcap|here]]. 
- 
-2) Enter the command: 
-  # cat termcap >> /etc/termcap 
- 
-3) **FreeBSD Only** run the command: 
-  # cap_mkdb -f /usr/share/misc/termcap /etc/termcap 
- 
-Once the terminal capability files are installed, edit the ''ExternalTermANSI'' 
-value in the ''[BBS]'' section of your ''[[:config:sbbs.ini]]'' file to read: 
-    ExternalTermANSI=ansi-bbs 
- 
-Note: The default value of the ''ExternalTermANSI'' ''[[:config:sbbs.ini]]'' key is ''pc3''. If you get an error ''Unknown terminal: pc3'' from external programs, it means that this key value has not been set to a valid terminal type. 
- 
-Note: Once again, many Linux distros do not have a termcap.  This is fine. 
-You do NOT need to install the termcap-compat package.  If termcap 
-isn't installed, it means nothing uses it.  Only if there is a 
-termcap do you need to add the ''ansi-bbs'' termcap definition. 
- 
 ===== A note on SysOp paging ===== ===== A note on SysOp paging =====
  
Line 425: Line 385:
   * [[:monitor:gtkmonitor]]   * [[:monitor:gtkmonitor]]
   * [[:install:nix:Prerequisites]]   * [[:install:nix:Prerequisites]]
 +  * [[:install:nix:mail|Installing Synchronet as your UNIX mail system]]
 +  * [[:install:nix:termcaps|Installing ANSI-BBS Terminal Capabilities]]
   * [[:howto:freebsd_non-root|How to run sbbs for FreeBSD as a non-root user]]   * [[:howto:freebsd_non-root|How to run sbbs for FreeBSD as a non-root user]]
   * [[:howto:linux_non-root|How to run sbbs for Linux as a non-root user]]   * [[:howto:linux_non-root|How to run sbbs for Linux as a non-root user]]