Last update 11-Aug-2004
MBSE BBS Basic Installation
Introduction.
Before you compile and install MBSE BBS you must first setup the basic environment. If you don't do this, things will fail.
To compile and install MBSE BBS most distributions have installed all needed packages. If important packages are missing then the configure script will tell you. There are also less important packages which if missinng still let you compile MBSE BBS, but you will miss some features. Here is a short list of these packages:
- Zlib. On some distributions you also need zlib development. When you have zlib installed, then in mbcico extra code will be compiled in the Hydra and Binkp protocol drivers that will allow the PLZ extension. When a connection is made with another system that also supports this extension (currently MBSE BBS and Radius beta versions), the files will be sent compressed even if they are already compressed. The increased throughput will be between 1 and 10 times, that's even better then modem compression can do.
Step 1: planning the filesystems.
MBSE BBS is default installed in /opt/mbse. The default filesystem layout looks like this:
/opt/mbse 0775 Default MBSE_ROOT /opt/mbse/bin 0770 Binaries /opt/mbse/dutch/macro 0750 Dutch macro files /opt/mbse/dutch/menus 0750 Dutch menu files /opt/mbse/dutch/txtfiles 0770 Dutch ANSI files /opt/mbse/english/macro 0750 Default english macro files /opt/mbse/english/menus 0750 Default english menu files /opt/mbse/english/txtfiles 0770 Default english ANSI files /opt/mbse/etc 0770 System configuration files /opt/mbse/etc/dosemu 0750 DOSemu configuration files /opt/mbse/fdb 0770 Files database /opt/mbse/ftp/pub 0755 Default FTP root for download areas. /opt/mbse/galego/macro 0750 Galego macro files /opt/mbse/galego/menus 0750 Galego menu files /opt/mbse/galego/txtfiles 0770 Galego ANSI files /opt/mbse/home 0770 Users homedirectories /opt/mbse/home/bbs 0770 Newuser account /opt/mbse/html 0755 HTML documentation /opt/mbse/italian/macro 0750 Italian macro files /opt/mbse/italian/menus 0750 Italian menu files /opt/mbse/italian/txtfiles 0770 Italian ANSI files /opt/mbse/log 0770 MBSE BBS logfiles /opt/mbse/magic 0750 Magic filerequest names /opt/mbse/sema 0777 Semafore files /opt/mbse/share/doc 0750 Generated sitedocs /opt/mbse/share/doc/html 0750 Generated html sitedocs /opt/mbse/share/doc/tags 0750 Generated area tags /opt/mbse/spanish/macro 0750 Spanish macro files /opt/mbse/spanish/menus 0750 Spanish menu files /opt/mbse/spanish/txtfiles 0770 Spanish ANSI files /opt/mbse/tmp 0770 Temp directory /opt/mbse/tmp/arc 0770 Temp archiver directory /opt/mbse/var 0770 Var root /opt/mbse/var/arealists 0750 Areamgr arealist files /opt/mbse/var/badtic 0750 Bad TIC files /opt/mbse/var/boxes 0770 Base for nodes fileboxes /opt/mbse/var/bso 0770 Binkley Style Outbound directory /opt/mbse/var/bso/outbound 0770 Default outbound for main aka /opt/mbse/var/dosemu 0770 Base for DOS drives /opt/mbse/var/dosemu/c 0770 DOS drive C: /opt/mbse/var/inbound 0750 Protected inbound directory /opt/mbse/var/mail 0770 JAM messagebase root /opt/mbse/var/msgs 0770 *.msgs netmail directory (not yet in use). /opt/mbse/var/nodelist 0750 Nodelists /opt/mbse/var/queue 0750 Queue for before outbound /opt/mbse/var/rules 0770 Echomail area rules files /opt/mbse/var/run 0770 Pid files of running programs /opt/mbse/var/ticqueue 0750 Queue for TIC files /opt/mbse/var/unknown 0750 Unprotected inbound directoryDon't use UMSDOS or SAMBA filesystems for the bbs, stick by the standard GNU/Linux filesystems (ext2, ext3 or reiserfs) or ufs if you use FreeBSD. If you intent to make your bbs also accessible by FTP and WWW you must create the directory structure under the ftp user behind the pub directory. Read the ftp server doc for details. If you don't follow these guidlines, you will run into trouble later and have to spend a lot of time in correcting this error.
Step 2: Running the installation script.
First, if you use FreeBSD, install the psmisc package. This will make sure that MBSE BBS is stopped properly if you shutdown your computer.
If you are upgrading, proceed with step 4. If not, follow the next steps very carefully!
The installation script must be run by root. It checks if there is a previous or failed installation on your system. If that's so the script will not run. In other words, you can only run this script once. The script makes backup copies of the system files it changes, these files will get the extension .mbse To run the installation script you need the archive mbbsebbs-@VERSION@.tar.bz2. Unpack this archive on your system, in /tmp:cd /tmp tar xfvj /path/to/the/mbsebbs-@VERSION@.tar.bz2To start the script type:cd mbsebbs-@VERSION@ bash ./SETUP.shYes, use bash as shell here. On some systems root doesn't use bash as login shell, calling the script with bash forces the use of bash. The script does the following:Then the script will ask you to give a password for user mbse This password is for system maintenance and for you to make changes to the bbs. You will need that frequently but you should not make that password easy to guess of course. The script will then continue again:
- Create the group bbs
- Create the user mbse
- Create a .profile for user mbse
- Create and set owner of directory tree under /opt/mbse
- The user bbs is added.
- The password will be removed from user bbs This action will make changes in /etc/shadow (if you have that) otherwise in /etc/passwd. On FreeBSD it uses other tools to modify the master database. On NetBSD you have to do that manually, there are no tools to do that.
- If they don't exist in the file /etc/services the services fido, tfido and binkp will be added.
- If they don't exist in the file /etc/inetd.conf the internet protocols for the mailer will be added. The inetd is restarted to activate the changes. If your distribution uses xinetd instead of inetd, an include file for xinetd is added instead.
Step 3: Check the basic installation
The last screen of the script is about sanity checks. Perform those checks! If something is wrong, now is the time to fix it. Don't panic and remember the backups of the system files that are changed are in /etc with the extension .mbse i.e: those were the original files. The installation logfile is copied to /opt/mbse. If everythings is allright, then remove the directory /tmp/mbsebbs-@VERSION@:
cd /tmp rm -Rf mbsebbs-@VERSION@
Step 4: Install the basic packages.
Login as user mbse. Yes, very important, login as user mbse. While in mbse's home directory (/opt/mbse) unpack the distribution archives:
tar xfvj /path/to/mbsebbs-@VERSION@.tar.bz2You now have the subdirectory with sources in the right place. Next build the binaries and install them using the following commands:cd ~/mbsebbs-@VERSION@ ./configure [--enable-optimize] [--enable-newsgate] make su important, do not use "su -" password: enter root password here make install exitImportant: it seems logical to use the--enable-newsgate
option but it isn't. When you do, the mbnntp program is disabled and you cannot serve echomail as news to your users via internet. But you can gate echomail to the internet. Independant of your choice, you can allways make internet news available for your bbs users. Only use --enable-newsgate if you really need to gate echomail to the internet.The last part of the installation procedure shows you the location of the bbs startup script that is added to your system. Remember this one for a moment. Because this is your first time installation, example menus and example textfiles are installed. If they already exist on your systems (when you do an upgrade) they will not be installed again.
Now start the bbs for the first time (still as root) by executing the startup script you just saw on the screen followed by a space and the word start. For example:
/etc/rc.d/init.d/mbsed startThis will start the mbtask daemon. After that the bbs will be opened for use. Check the file /opt/mbse/log/mbtask.log for startup problems. The first time mbtask is started on your system it will create a lot of new configuration files with default settings.
Step 5: Ready.
Now you have shell scripts in ~/etc, most of them are called by cron, some are called during system startup and shutdown. You also have some default configuration files, these are ttyinfo, modems, fidonet networks. In the default (english) directory you now have default menu datafiles and ansi screens. These are copies of my test system so you have to edit them to build your own bbs.
Editing ansi screens can be done on a GNU/Linux system with one of the following packages:You may also want to edit ~/etc/header.txt and ~/etc/footer.txt, these files are the top and bottom of the newfiles/allfiles listings.
- duhdraw, this is available from 2:280/2802 as duhdraw.tgz (68 Kbytes). The binaries are included in this archive, if you compile it yourself it may give trouble so if the binaries work, use these.
- bmdraw This editor is available from http://www.drastic.net/bmdraw/, you can find the tar.gz file in http://www.drastic.net/bmdraw/files/bmd022.tgz, it's about 36 Kbytes. This is also a thedraw clone for Linux. Note, at my system I needed to run it as root.
- TetraDraw This is a very nice Ansi editor, you can get this file as TETR~VC#.TGZ from 2:280/2802. The file is 157 Kbytes.
Now the basic environment is finished, the next thing to do is configure the bbs.