4.5 KiB
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 nvm install may look something like this:
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
ℹ️ Do not cut+paste the above command! Visit the NVM page and run the latest version!
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
Other Recommended Packages
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!