enigma-bbs/docs/installation/manual.md

4.4 KiB
Raw Blame History

layout title
page Manual Installation

For Linux environments it's recommended you run the install script. If you like to do things manually, read on...

Prerequisites

  • Node.js version v10.x LTS or higher (Note that 8.x LTS probably works but is unsupported).

    • It is highly recommended to use nvm to manage your Node.js installation if you're on a Linux/Unix environment.
  • Python 2.7.x for compiling Node.js packages with native extensions.

  • A compiler such as Clang or GCC for Linux/UNIX systems or a recent copy of Visual Studio (Visual Studio Express editions are OK) for Windows users. Note that you should only need the Visual C++ component.

  • git to check out the ENiGMA source code.

Node.js

With NVM

Node Version Manager (NVM) is an excellent way to install and manage Node.js versions on most UNIX-like environments. Get the latest version here. The install should look something like this:

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash

Next, install Node.js with NVM:

nvm install 10
nvm use 10
nvm alias default 10

If the above steps completed without errors, you should now have nvm, node, and npm installed and in your environment.

For Windows nvm-like systems exist (nvm-windows, ...) or just download the installer.

ENiGMA BBS

git clone https://github.com/NuSkooler/enigma-bbs.git

Install Node Packages

cd enigma-bbs
npm install # yarn also works

ENiGMA BBS makes use of a few packages for archive and legacy protocol support. They're not pre-requisites for running ENiGMA, but without them you'll miss certain functionality. Once installed, they should be made available on your system path.

Package Description Debian/Ubuntu Package (APT/DEP) Red Hat Package (YUM/RPM) Windows Package
arj Unpacking arj archives arj n/a, binaries here ARJ
7zip Unpacking zip, rar, archives p7zip-full p7zip-full 7-zip
lha Unpacking lha archives lhasa n/a, source here Unknown
Rar Unpacking rar archives unrar n/a, binaries here Unknown
lrzsz sz/rz: X/Y/Z protocol support lrzsz lrzsz Unknown
sexyz SexyZ protocol support sexyz sexyz Available with Synchronet
exiftool ExifTool libimage-exiftool-perl perl-Image-ExifTool Unknown
xdms Unpack/view Amiga DMS xdms xdms Unknown

Config Files

You'll need a basic configuration to get started. The main system configuration is handled via config/config.hjson. This is an HJSON file (compiliant JSON is also OK). See Configuration for more information.

Use oputil.js to generate your initial configuration:

./oputil.js config new

Follow the prompts!