
1bbs Installation
-----------------
Prerequisites:
  You need to have dialog ash and a lot of other tools installed!
  This one is based on stuff that is coming with Slackware 2.1.0.
  No extra software beyond Slackware is needed.

Fast Install:
-------------
1. Copy the Menu script somewhere where it can be found or generate a
   symlink to it in /usr/bin for example.

2. Type "Menu". It should work.

Customization:
--------------

1. Edit the indicated part at the beginning of Menu.
   - Change NAME to the name of your BBS
   - Change FILES so that it points to where files for your BBS are to be
     stored. Usually it should point to the directory for anomymous FTP.
     ... Or generate a Directory /Library

   - Change INFO to point to a directory containing texts explaining the
     use of your BBS.
   - 1bbs compiles directories into a scriptfile that will display its
     contents using dialog. These files are usually stored under
     /tmp/.<Directoryname>. If you want a different location then please
     change the name. You might have to erase /tmp/.* sometimes to force and
     update of the directory displays. Usually items are automatically updated
     whenever 1bbs finds an updated file or directory.

2. The Menu file contains all sorts of texts embedded which should be edited
   by you as you see it fit.

Guest Login:
-----------
 1. Generate a user guest with home directory /home/guest and NO PASSWORD.
    adduser does not allow this. SPecify any password and then edit
    /etc/passwd manually removing the password. And change the login
    shell to "bin/ash". This makes it slightly more secure.
 2. put a symlink from /home/guest/.profile to wherever you stored Menu
 3. type "chown -R root /home/guest" to prevent guest from any modifications
    of files in his homedirectory.

 Then the Guest login should work.
 Guest have a limited range of actions. Full acces to the Filesection
 is allowed but this could be taken care of with some changes in permissions
 in the File section.


Automatic startup of Menu for users.
------------------------------------
 Copy User.Profile to /home/<USERNAME>/.profile. The user will now enter
 Menu on logon. The X command will do a logout without leaving the Menu.
 If the user chooses "Cancel" he can exit to a shell.

 You can copy User.Profile to /etc/skel/.profile to automatically put this
 into each new users home directory.

Problems with ncurses
---------------------
 ncurses is just want the name implies. Sadly there is no way around it since it
 is used by the dialog command. Until this day ncurses out of the box does not
 even support pc color ansi in a decent way, neither bw ansi with ibm chars.
 Therefore I have hacked together two terminal decriptions that hopefully
 work. Find the tic command (it is naturally NOT in the command path .... )
 and update your terminal database by:
   tic pcansi
   tic pcansibw
 and please mail complaints to the maintainer of ncurses.

File-Section
------------
  The File section is a regular directory tree and therefore allow much more
  structure than the one-level DOS "BBS" directory schemes.
  A INDEX file as known from the sunsite mirrors describes the files and is
  used to display information after the filename.
  Several 0-length files must exist under /Library. They can be generated by
  starting Menu with a parameter
  
  Menu Init

  This will also generate the initial INDEX file that will take care of not
  displaying some stuff that usually belongs into a ftp directory.

CD-ROMs
-------
  Generate a link from /Library/CD to the cd-rom directory and you will be
  able to access the files. If you have a sunsite-style cd you will even get
  explanations with the filenames.

Info-Section
------------
  just put some textfiles here explaining important stuff about your bbs.
  Users can view this stuff with the I-choice from the main menu. If you place
  this section into the File-Section then users will even be able to download
  it.

Security
--------
  Almost nonexistent. I guess it should be very easy even for guest to get a
  shell.
  The storage of scripts to display the file-listings is problematic. Very
  easy to build a trojan horse!
