ENiGMA½ BBS on EL7: Difference between revisions

From Alteeve Wiki
Jump to navigation Jump to search
(Created page with "{{header_howto}} = References = * [https://github.com/NuSkooler/enigma-bbs ENiGMA½ BBS] on Github {{footer}}")
 
 
(13 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{header_howto}}
{{howto_header}}


{{warning|1=This is just a raw dump on notes. Built on internal VMs for now.}}


= CentOS 7 =
{{note|1=Apache shouldn't be needed, will likely remove it later and add a section for a web gateway if desired.}}
<syntaxhighlight lang="bash">
# Setup our internal repo (to be moved to external repo)
curl http://192.168.122.231/repo/el7/alteeve.repo > /etc/yum.repos.d/alteeve.repo
# Install stuff
yum -y groupinstall development
yum -y install httpd gcc gcc-c++ mlocate vim telnet nodejs npm nodejs-async
# Enable and start apache
systemctl start httpd
systemctl enable httpd
# Open http
firewall-cmd --add-service http
firewall-cmd --add-service https
firewall-cmd --add-port=8888-8889/tcp
firewall-cmd --runtime-to-permanent
</syntaxhighlight>
Install NVM:
<syntaxhighlight lang="bash">
# Check here for updates: https://github.com/creationix/nvm
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.30.1/install.sh | bash
reset
cd /var/www/html/enigma-bbs/
nvm install 4.2.2
npm install
</syntaxhighlight>
Browse to [http://enigma-bbs http://enigma-bbs], verify default apache page is visible.
Download ENiGMA½:
<syntaxhighlight lang="bash">
mkdir /var/www/html
cd /var/www/html
npm -g install npm@latest
</syntaxhighlight>
Setup SSH:
<syntaxhighlight lang="bash">
mkdir /var/www/html/misc
openssl genrsa -des3 -out ./misc/ssh_private_key.pem 8191
</syntaxhighlight>
Initial config:
<syntaxhighlight lang="bash">
vim /var/www/config.hjson
</syntaxhighlight>
<syntaxhighlight lang="dot">
general: {
  boardName: AN!BBS
}
servers: {
  ssh: {
    privateKeyPass: <passphrase used in keygen>
    enabled: true /* set to false to disable the SSH server */
  }
}
messages: {
  areas: [
    { name: "anvil_discusssion", desc: "Anvil! Discussion", groups: [ "users" ] }
  ]
}
</syntaxhighlight>
Start it up;
<syntaxhighlight lang="bash">
nvm use 4.2.2
/var/www/html/enigma-bbs/main.js --config /var/www/config.hjson
</syntaxhighlight>
It won't return to shell, that's fine. Test connection.
In another terminal, <span class="code">telnet</span> to port <span class="code">8888</span>.
* On the first screen, select <span class="code">Apply</span>
* Set the <span class="code">username</span> to whatever you want. The first user will be a [[SysOp]].
<syntaxhighlight lang="bash">
</syntaxhighlight>


= References =
= References =


* [https://github.com/NuSkooler/enigma-bbs ENiGMA½ BBS] on Github
* [https://github.com/NuSkooler/enigma-bbs ENiGMA½ BBS] on Github
* Author's [http://l33t.codes/enigma12-bulletin-board-software/ blog]
= Debug =
Log file:
* <span class="code">/var/www/html/enigma-bbs/logs/enigma-bbs.log</span>
Use <span class="code">bunyan</span> to parse logs:
* Install it:
<syntaxhighlight lang="bash">
cd /var/www/html/enigma-bbs
npm install bunyan
</syntaxhighlight>
* Use it:
<syntaxhighlight lang="bash">
/var/www/html/enigma-bbs/node_modules/.bin/bunyan /var/www/html/enigma-bbs/logs/enigma-bbs.log
</syntaxhighlight>
Increase log verbosity:
<syntaxhighlight lang="bash">
/var/www/config.hjson
</syntaxhighlight>
<syntaxhighlight lang="text">
logging: {
  level: trace
}
</syntaxhighlight>
<span class="code"></span>
<syntaxhighlight lang="bash">
</syntaxhighlight>
<syntaxhighlight lang="text">
</syntaxhighlight>


{{footer}}
{{footer}}

Latest revision as of 06:11, 3 January 2016

 AN!Wiki :: How To :: ENiGMA½ BBS on EL7

Warning: This is just a raw dump on notes. Built on internal VMs for now.

CentOS 7

Note: Apache shouldn't be needed, will likely remove it later and add a section for a web gateway if desired.
# Setup our internal repo (to be moved to external repo)
curl http://192.168.122.231/repo/el7/alteeve.repo > /etc/yum.repos.d/alteeve.repo

# Install stuff
yum -y groupinstall development 
yum -y install httpd gcc gcc-c++ mlocate vim telnet nodejs npm nodejs-async

# Enable and start apache
systemctl start httpd
systemctl enable httpd

# Open http
firewall-cmd --add-service http 
firewall-cmd --add-service https 
firewall-cmd --add-port=8888-8889/tcp
firewall-cmd --runtime-to-permanent

Install NVM:

# Check here for updates: https://github.com/creationix/nvm
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.30.1/install.sh | bash
reset
cd /var/www/html/enigma-bbs/
nvm install 4.2.2
npm install

Browse to http://enigma-bbs, verify default apache page is visible.

Download ENiGMA½:

mkdir /var/www/html
cd /var/www/html
npm -g install npm@latest

Setup SSH:

mkdir /var/www/html/misc
openssl genrsa -des3 -out ./misc/ssh_private_key.pem 8191

Initial config:

vim /var/www/config.hjson
general: {
  boardName: AN!BBS
}
servers: {
  ssh: {
    privateKeyPass: <passphrase used in keygen>
    enabled: true /* set to false to disable the SSH server */
  }
}
messages: {
  areas: [
    { name: "anvil_discusssion", desc: "Anvil! Discussion", groups: [ "users" ] }
  ]
}

Start it up;

nvm use 4.2.2
/var/www/html/enigma-bbs/main.js --config /var/www/config.hjson

It won't return to shell, that's fine. Test connection.

In another terminal, telnet to port 8888.

  • On the first screen, select Apply
  • Set the username to whatever you want. The first user will be a SysOp.


References

Debug

Log file:

  • /var/www/html/enigma-bbs/logs/enigma-bbs.log

Use bunyan to parse logs:

  • Install it:
cd /var/www/html/enigma-bbs
npm install bunyan
  • Use it:
/var/www/html/enigma-bbs/node_modules/.bin/bunyan /var/www/html/enigma-bbs/logs/enigma-bbs.log

Increase log verbosity:

/var/www/config.hjson
logging: {
  level: trace
}


 

Any questions, feedback, advice, complaints or meanderings are welcome.
Alteeve's Niche! Enterprise Support:
Alteeve Support
Community Support
© Alteeve's Niche! Inc. 1997-2024   Anvil! "Intelligent Availability®" Platform
legal stuff: All info is provided "As-Is". Do not use anything here unless you are willing and able to take responsibility for your own actions.