2016-03-22 01:58:52 +00:00
# MagickaBBS
2017-03-17 05:30:14 +00:00
[![Build Status ](http://magickabbs.com:8080/buildStatus/icon?job=MagickaBBS-Linux )](http://magickabbs.com:8080/job/MagickaBBS-Linux)
2016-04-09 06:17:07 +00:00
Linux/FreeBSD bulletin board system (Should also work on NetBSD and OpenBSD, if it doesn't it's a bug)
2016-03-22 01:58:52 +00:00
2016-04-09 06:17:07 +00:00
As I lost the code to my initial BBS flea, I've decided to start over from scratch and this time I'm using git hub so I dont
2016-03-22 01:58:52 +00:00
lose it again!
2016-04-14 01:30:06 +00:00
Magicka is meant to be a modern (haha) BBS system, using modern technologies, like Sqlite3, IRC, long filenames (gasp!) etc
2016-03-22 01:58:52 +00:00
while still retaining the classic BBS feel. ANSI & Telnet, and good old ZModem.
2016-03-23 08:34:34 +00:00
If you want to install Magicka BBS, follow these steps.
2016-08-07 07:53:13 +00:00
1. Ensure you have git, c compiler, libsqlite3-dev, libreadline-dev, libssl-dev, libssh-dev and gnu make
2016-08-04 21:34:32 +00:00
2016-08-07 07:53:13 +00:00
`sudo apt-get install build-essential libsqlite3-dev libreadline-dev git libssl-dev libssh-dev`
2016-08-04 21:34:32 +00:00
2016-04-14 01:30:06 +00:00
should work on debian and debian derivatives.
2016-12-13 07:07:26 +00:00
2. Clone the repo `git clone https://github.com/MagickaBBS/MagickaBBS`
2016-03-23 08:34:34 +00:00
3. Build JamLib
2016-03-25 00:58:57 +00:00
`cd MagickaBBS/jamlib`
2016-08-04 21:34:32 +00:00
2016-04-09 06:17:07 +00:00
`make -f Makefile.linux` (Linux) `gmake -f Makefile.linux` (*BSD)
2016-03-25 00:58:57 +00:00
2016-04-03 01:07:20 +00:00
3. Build libzmodem
`cd MagickaBBS/Xmodem`
2016-08-04 21:34:32 +00:00
2016-04-09 06:17:07 +00:00
`make` (Linux) `gmake` (*BSD)
2016-08-04 21:34:32 +00:00
2016-04-14 00:42:22 +00:00
4. Build LUA
`cd MagickaBBS/lua`
`make linux` (Linux) `gmake freebsd` (FreeBSD)
2016-08-04 21:34:32 +00:00
2016-04-03 01:07:20 +00:00
5. Build the BBS (You may have to adjust the Makefile for your system)
2016-03-23 08:34:34 +00:00
2016-04-14 00:42:22 +00:00
`make -f Makefile.linux` (Linux) `gmake -f Makefile.freebsd` (FreeBSD)
2016-08-04 21:34:32 +00:00
2016-04-14 00:42:22 +00:00
6. Make a directory for logs.
2016-08-04 21:34:32 +00:00
2016-04-14 00:42:22 +00:00
`mkdir logs`
7. Copy the config-default directory to a config directory.
2016-03-23 08:34:34 +00:00
2016-04-11 09:42:16 +00:00
`cp -r config_default config`
2016-03-23 08:34:34 +00:00
2016-04-14 00:42:22 +00:00
8. Edit the config files and update essential information, like system paths and BBS name etc
9. Copy the ansi-default directory to the one specified in your system path
2016-03-23 08:34:34 +00:00
2016-03-23 08:41:45 +00:00
eg.
2016-08-04 21:34:32 +00:00
2016-04-11 09:42:16 +00:00
`cp -r ansi_default ansis`
2016-04-14 00:42:22 +00:00
2016-08-07 07:53:13 +00:00
10. If you are going to run SSH, you will need to create keys. To do this
2016-04-14 00:42:22 +00:00
2016-08-07 07:53:13 +00:00
`mkdir keys`
2016-08-07 09:48:49 +00:00
2016-08-07 07:53:13 +00:00
`ssh-keygen -f keys/ssh_host_rsa_key -N '' -t rsa`
2016-08-07 09:48:49 +00:00
2016-08-07 07:53:13 +00:00
`ssh-keygen -f keys/ssh_host_dsa_key -N '' -t dsa`
2016-04-14 00:42:22 +00:00
2016-08-07 07:53:13 +00:00
11. Run Magicka BBS on a port over 1024 (Below require root, and we're not ready for that).
2016-03-23 08:34:34 +00:00
2016-08-07 07:53:13 +00:00
`./magicka config/bbs.ini`
2016-08-04 21:34:32 +00:00
2016-08-07 07:53:13 +00:00
12. Your BBS is now running on the port you specified in the config.ini, log in and create yourself an account! (By default there is only one security level, you can add more,
2016-03-23 08:52:31 +00:00
but you will need to use an SQLite Manager to modify users.sq3 and set security levels, as there is no user editor yet.
2016-04-09 06:17:07 +00:00
2016-12-13 07:07:26 +00:00
For information on how to configure your BBS, check the wiki https://github.com/MagickaBBS/MagickaBBS/wiki
2016-08-22 05:12:42 +00:00
# About the webserver
Magicka now includes a built in webserver based on libmicrohttpd. It is not built by default, if you'd like to build it you will
need a recent version of libmicrohttpd (raspbian doesn't have a recent enough version, and you will need to build it from source).
You will also need libb64-dev. Once you have these prerequisites, you can build magicka with `make -f Makefile.linux.WWW` or
`make -f Makefile.freebsd.WWW` be sure to do this from a clean source tree.
The webserver will use templates in the www/ folder to create internal webpages on the fly, anything in www/static/ is served up as is.