Moarrrrrr doc updates

This commit is contained in:
Bryan Ashby 2018-11-23 11:05:51 -07:00
parent df2bf4477e
commit f0e7b46a2f
9 changed files with 64 additions and 60 deletions

View File

@ -82,8 +82,6 @@
- Administration - Administration
- [oputil]({{ site.baseurl }}{% link admin/oputil.md %}) - [oputil]({{ site.baseurl }}{% link admin/oputil.md %})
- [Oputil]({{ site.baseurl }}{% link oputil/index.md %})
- Troubleshooting - Troubleshooting
- [Monitoring Logs]({{ site.baseurl }}{% link troubleshooting/monitoring-logs.md %}) - [Monitoring Logs]({{ site.baseurl }}{% link troubleshooting/monitoring-logs.md %})

View File

@ -27,7 +27,7 @@ Commands break up operations by groups:
| Command | Description | | Command | Description |
|-----------|---------------| |-----------|---------------|
| `user` | User management | | `user` | User management |
| `config` | System configuration and maintentance | | `config` | System configuration and maintenance |
| `fb` | File base configuration and management | | `fb` | File base configuration and management |
| `mb` | Message base configuration and management | | `mb` | Message base configuration and management |
@ -45,11 +45,12 @@ usage: optutil.js user <action> [<args>]
actions: actions:
pw USERNAME PASSWORD set password to PASSWORD for USERNAME pw USERNAME PASSWORD set password to PASSWORD for USERNAME
rm USERNAME permanantely removes USERNAME user from system rm USERNAME permanently removes USERNAME user from system
activate USERNAME sets USERNAME's status to active activate USERNAME sets USERNAME's status to active
deactivate USERNAME sets USERNAME's status to deactive deactivate USERNAME sets USERNAME's status to inactive
disable USERNAME sets USERNAME's status to disabled disable USERNAME sets USERNAME's status to disabled
group USERNAME [+|-]GROUP adds (+) or removes (-) USERNAME from GROUP lock USERNAME sets USERNAME's status to locked
group USERNAME [+|-]GROUP adds (+) or removes (-) user from GROUP
``` ```
| Action | Description | Examples | Aliases | | Action | Description | Examples | Aliases |
@ -59,6 +60,7 @@ actions:
| `activate` | Activates user | `./oputil.js user activate joeuser` | N/A | | `activate` | Activates user | `./oputil.js user activate joeuser` | N/A |
| `deactivate` | Deactivates user | `./oputil.js user deactivate joeuser` | N/A | | `deactivate` | Deactivates user | `./oputil.js user deactivate joeuser` | N/A |
| `disable` | Disables user (user will not be able to login) | `./oputil.js user disable joeuser` | N/A | | `disable` | Disables user (user will not be able to login) | `./oputil.js user disable joeuser` | N/A |
| `lock` | Locks the user account (prevents logins) | `./oputil.js user lock joeuser` | N/A |
| `group` | Modifies users group membership | Add to group: `./oputil.js user group joeuser +derp`<br/>Remove from group: `./oputil.js user group joeuser -derp` | N/A | | `group` | Modifies users group membership | Add to group: `./oputil.js user group joeuser +derp`<br/>Remove from group: `./oputil.js user group joeuser -derp` | N/A |
## Configuration ## Configuration
@ -82,7 +84,7 @@ import-areas args:
| Action | Description | Examples | | Action | Description | Examples |
|-----------|-------------------|---------------------------------------| |-----------|-------------------|---------------------------------------|
| `new` | Generates a new/initial configuration | `./oputil.js config new` (follow the prompts) | | `new` | Generates a new/initial configuration | `./oputil.js config new` (follow the prompts) |
| `import-areas` | Imports areas using a Fidonet style *.NA or AREAS.BBS formatted file | `./oputil.js config import-areas /some/path/l33tnet.na` | | `import-areas` | Imports areas using a FidoNet style *.NA or AREAS.BBS formatted file | `./oputil.js config import-areas /some/path/l33tnet.na` |
When using the `import-areas` action, you will be prompted for any missing additional arguments described in "import-areas args". When using the `import-areas` action, you will be prompted for any missing additional arguments described in "import-areas args".
@ -138,7 +140,7 @@ general information:
The `scan` action can (re)scan a file area for new entries as well as update (`--update`) existing entry records (description, etc.). When scanning, a valid area tag must be specified. Optionally, storage tag may also be supplied in order to scan a specific filesystem location using the `@the_storage_tag` syntax. If a [GLOB](http://man7.org/linux/man-pages/man7/glob.7.html) is supplied as the last argument, only file entries with filenames matching will be processed. The `scan` action can (re)scan a file area for new entries as well as update (`--update`) existing entry records (description, etc.). When scanning, a valid area tag must be specified. Optionally, storage tag may also be supplied in order to scan a specific filesystem location using the `@the_storage_tag` syntax. If a [GLOB](http://man7.org/linux/man-pages/man7/glob.7.html) is supplied as the last argument, only file entries with filenames matching will be processed.
##### Examples ##### Examples
Performing a quick scan of a specific area's storage location ("retro_warez", "retro_warez_games) matching only *.zip extentions: Performing a quick scan of a specific area's storage location ("retro_warez", "retro_warez_games) matching only *.zip extensions:
``` ```
$ ./oputil.js fb scan --quick retro_warez@retro_warez_games *.zip` $ ./oputil.js fb scan --quick retro_warez@retro_warez_games *.zip`
``` ```

View File

@ -8,7 +8,7 @@ The main system configuration file, `config.hjson` both overrides defaults and p
See also [HJSON General Information](hjson.md) for more information on the HJSON format. See also [HJSON General Information](hjson.md) for more information on the HJSON format.
### Creating a Configuration ### Creating a Configuration
Your initial configuration skeleton can be created using the `oputil.js` command line utility. From your enigma-bbs root directory: Your initial configuration skeleton should be created using the `oputil.js` command line utility. From your enigma-bbs root directory:
``` ```
./oputil.js config new ./oputil.js config new
``` ```
@ -30,10 +30,21 @@ general: {
} }
``` ```
(Note the very slightly different syntax. **You can use standard JSON if you wish**) (Note the very slightly [HJSON](hjson.md) different syntax. **You can use standard JSON if you wish!**)
While not everything that is available in your `config.hjson` file can be found defaulted in `core/config.js`, a lot is. [Poke around and see what you can find](https://github.com/NuSkooler/enigma-bbs/blob/master/core/config.js)! While not everything that is available in your `config.hjson` file can be found defaulted in `core/config.js`, a lot is. [Poke around and see what you can find](https://github.com/NuSkooler/enigma-bbs/blob/master/core/config.js)!
### Configuration Sections
Below is a list of various configuration sections. There are many more, but this should get you started:
* [ACS](acs.md)
* [Archivers](archivers.md): Set up external archive utilities for handling things like ZIP, ARJ, RAR, and so on.
* [Email](email.md): System email support.
* [Event Scheduler](event-scheduler.md): Set up events as you see fit!
* [File Base](/docs/filebase/index.md)
* [File Transfer Protocols](file-transfer-protocols.md): Oldschool file transfer protocols such as X/Y/Z-Modem!
* [Message Areas](/docs/messageareas/configuring-a-message-area.md), [Networks](/docs/messageareas/message-networks.md), [NetMail](/docs/messageareas/netmail.md), etc.
### A Sample Configuration ### A Sample Configuration
Below is a **sample** `config.hjson` illustrating various (but certainly not all!) elements that can be configured / tweaked. Below is a **sample** `config.hjson` illustrating various (but certainly not all!) elements that can be configured / tweaked.

View File

@ -2,5 +2,4 @@
layout: page layout: page
title: SysOp Setup title: SysOp Setup
--- ---
SySop privileges will be granted to the first user to log into a fresh ENiGMA½ installation. SySop privileges will be granted to the first user to log into a fresh ENiGMA½ installation. +ops belong to the `sysop` user group by default.

View File

@ -19,16 +19,21 @@ are OK) for Windows users. Note that you **should only need the Visual C++ compo
* [git](https://git-scm.com/downloads) to check out the ENiGMA source code. * [git](https://git-scm.com/downloads) to check out the ENiGMA source code.
## Node.js ## Node.js
If you're new to Node.js and/or do not care about Node itself and just want to get ENiGMA½ running ### With NVM
these steps should get you going on most \*nix type environments: 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](https://github.com/creationix/nvm). The install should look something like this:
```bash ```bash
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
nvm install 6
nvm use 6
``` ```
If the above completed without errors, you should now have `nvm`, `node`, and `npm` installed and in your environment. Next, install Node.js with NVM:
```bash
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](https://github.com/coreybutler/nvm-windows), ...) or [just download the installer](https://nodejs.org/en/download/). For Windows nvm-like systems exist ([nvm-windows](https://github.com/coreybutler/nvm-windows), ...) or [just download the installer](https://nodejs.org/en/download/).
@ -41,31 +46,25 @@ git clone https://github.com/NuSkooler/enigma-bbs.git
## Install Node Packages ## Install Node Packages
```bash ```bash
cd enigma-bbs cd enigma-bbs
npm install npm install # yarn also works
``` ```
## Other Recommended Packages ## 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.
ENiGMA BBS makes use of a few packages for unarchiving and modem support. They're not pre-requisites for | Package | Description | Debian/Ubuntu Package (APT/DEP) | Red Hat Package (YUM/RPM) | Windows Package |
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](http://arj.sourceforge.net/) | [ARJ](http://arj.sourceforge.net/) | | arj | Unpacking arj archives | `arj` | n/a, binaries [here](http://arj.sourceforge.net/) | [ARJ](http://arj.sourceforge.net/) |
| 7zip | Unpacking zip, rar, archives | `p7zip-full` | `p7zip-full` | [7-zip](http://www.7-zip.org/) | | 7zip | Unpacking zip, rar, archives | `p7zip-full` | `p7zip-full` | [7-zip](http://www.7-zip.org/) |
| lha | Unpacking lha archives | `lhasa` | n/a, source [here](http://www2m.biglobe.ne.jp/~dolphin/lha/lha.htm) | Unknown | | lha | Unpacking lha archives | `lhasa` | n/a, source [here](http://www2m.biglobe.ne.jp/~dolphin/lha/lha.htm) | Unknown |
| Rar | Unpacking rar archives | `unrar` | n/a, binaries [here](https://www.rarlab.com/download.htm) | Unknown | | Rar | Unpacking rar archives | `unrar` | n/a, binaries [here](https://www.rarlab.com/download.htm) | Unknown |
| lrzsz | sz/rz: X/Y/Z modem support | `lrzsz` | `lrzsz` | Unknown | | lrzsz | sz/rz: X/Y/Z protocol support | `lrzsz` | `lrzsz` | Unknown |
| sexyz | SexyZ modem support | [sexyz](https://l33t.codes/outgoing/sexyz) | [sexyz](https://l33t.codes/outgoing/sexyz) | Available with [Synchronet](http://wiki.synchro.net/install:win) | | sexyz | SexyZ protocol support | [sexyz](https://l33t.codes/outgoing/sexyz) | [sexyz](https://l33t.codes/outgoing/sexyz) | Available with [Synchronet](http://wiki.synchro.net/install:win) |
| exiftool | [ExifTool](https://www.sno.phy.queensu.ca/~phil/exiftool/) | libimage-exiftool-perl | perl-Image-ExifTool | Unknown | exiftool | [ExifTool](https://www.sno.phy.queensu.ca/~phil/exiftool/) | libimage-exiftool-perl | perl-Image-ExifTool | Unknown
| xdms | Unpack/view Amiga DMS | [xdms](http://manpages.ubuntu.com/manpages/trusty/man1/xdms.1.html) | xdms | Unknown | xdms | Unpack/view Amiga DMS | [xdms](http://manpages.ubuntu.com/manpages/trusty/man1/xdms.1.html) | xdms | Unknown
## Config Files ## 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](http://hjson.org/) file (compiliant JSON is also OK). See [Configuration](../configuration/) for more information.
You'll need a basic configuration to get started. The main system configuration is handled via
`config/config.hjson`. This is an [HJSON](http://hjson.org/) file (compiliant JSON is also OK).
See [Configuration](../configuration/) for more information.
Use `oputil.js` to generate your **initial** configuration: Use `oputil.js` to generate your **initial** configuration:

View File

@ -2,10 +2,13 @@
layout: page layout: page
title: OS & Hardware Specific Information title: OS & Hardware Specific Information
--- ---
There are multiple ways of installing ENiGMA BBS, depending on your level of experience and desire to do There are multiple ways of installing ENiGMA BBS, depending on your level of experience and desire to do things manually versus have it automated for you.
things manually versus have it automated for you.
| Method | Notes | In general, please see [Installation Methods](installation-methods.md) and [Install Script](install-script.md).
|----------------------------------------|---------------------------------------------------------------------------------------------|
| [Raspberry Pi](rpi) | All Raspberry Pi models work great with ENiGMA½! | Below are some special cases:
| [Windows](windows) | Compatible with all Windows Operating Systems |
| Method | Notes |
|--------|-------|
| [Raspberry Pi](rpi.md) | All Raspberry Pi models work great with ENiGMA½! |
| [Windows](windows.md) | Compatible with all Windows Operating Systems |

View File

@ -36,11 +36,13 @@ ENiGMA½ will run on both 32bit and 64bit Windows. If you want to run 16bit door
*Add 7zip to your path so `7z` can be called from the console *Add 7zip to your path so `7z` can be called from the console
1. Right click `This PC` and Select `Properties` 1. Right click `This PC` and Select `Properties`
2. Go to the `Advanced` Tab and click on `Enviromental Varibles` 2. Go to the `Advanced` Tab and click on `Environment Variables`
3. Select `Path` under `System Varibles` and click `Edit` 3. Select `Path` under `System Variables` and click `Edit`
4. Click `New` and paste the path to 7zip 4. Click `New` and paste the path to 7zip
5. Close your console window and reopen. You can type `7z` to make sure it's working. 5. Close your console window and reopen. You can type `7z` to make sure it's working.
(Please see [Archivers](/docs/archivers.md) for additional archive utilities!)
3. Install [Git](https://git-scm.com/downloads) and optionally [TortoiseGit](https://tortoisegit.org/download/). 3. Install [Git](https://git-scm.com/downloads) and optionally [TortoiseGit](https://tortoisegit.org/download/).
4. Clone ENiGMA½ - browse to the directory you want and run 4. Clone ENiGMA½ - browse to the directory you want and run

View File

@ -1,17 +0,0 @@
---
layout: page
title: oputil
---
oputil is the ENiGMA½ command line utility for maintaining users, file areas and message areas, as well as
generating your initial ENiGMA½ config.
## File areas
The `oputil.js` +op utilty `fb` command has tools for managing file bases. For example, to import existing
files found within **all** storage locations tied to an area and set tags `tag1` and `tag2` to each import:
```bash
oputil.js fb scan some_area --tags tag1,tag2
```
See `oputil.js fb --help` for additional information.

View File

@ -2,14 +2,21 @@
layout: page layout: page
title: Monitoring Logs title: Monitoring Logs
--- ---
ENiGMA½ does not produce much to stdout. Logs are produced by Bunyan which outputs each entry as a ENiGMA½ does not produce much to stdout. Logs are produced by Bunyan which outputs each entry as a JSON object.
JSON object.
Start by installing bunyan and making it available on your path: Start by installing bunyan and making it available on your path:
npm install bunyan -g ```bash
npm install bunyan -g
```
or with Yarn:
```bash
yarn global add bunyan
```
To tail logs in a colorized and pretty format, issue the following command: To tail logs in a colorized and pretty format, issue the following command:
```bash
tail -F /path/to/enigma-bbs/logs/enigma-bbs.log | bunyan tail -F /path/to/enigma-bbs/logs/enigma-bbs.log | bunyan
```