Please see the file COPYING for the GNU Public License, under which this software is released. 0) check required dependencies: Berkeley DB (db4-devel or gdbm-devel), possibly PAM and pam-devel. 1) check slfprefs.h for path names you may wish to change, along with system messages and other options, such as shadow password support, the AUTO_ACCEPT_GUESTS option, and accepting/rejecting high-bit characters. 2) If you need shadow password support, but not PAM, go to Makefile-shared and uncomment the line CFLAGS += -DUSE_SHADOW, and make sure to run slforum as root. Note that if you choose PAM in step 3 below, you don't need to do this step to get shadow password support. 3) Symlink to the proper Makefile (Makefile-linux, Makefile-solaris-2-6, Makefile-linux-nopam, Makefile-linux-redhat, Makefile-osx, or Makefile-solaris-2-6-pam): ln -s makefile-for-your-system Makefile Running SLForum under Redhat, or any other system using MD5 passwords, requires PAM support. 4) If your proper Makefile wants ndbm, but your system has gdbm or db, change the "-lndbm" line in your Makefile to use gdbm or db. (Don't worry about this step unless you get errors during make) 5) make If you use a recent Red Hat Linux and get these errors: /usr/include/ctype.h:169: undefined reference to `__ctype_tolower' slforumuser.cc:2568: undefined reference to `__ctype_b' check that your glibc and glibc-devel are the same version: $ rpm -q glibc glibc-devel glibc-2.3.2-11.9 glibc-devel-2.2.4-19.3 6) you now have the slforum executable; move it to where you want to run it and set permissions appropriately. Do the same with the virtdb utility for manipulating virtual users. 7) if you're using PAM, you may need to run forum as root. To troubleshoot, run with -nofork, try to log into forum, and look at the error messages that -nofork puts on its terminal. 8) If you're running forum as root, you should make the directory /var/lib/slforum which will hold user prefs, or whatever directory you've defined in slfprefs.h for PREFSFILE and PREFSFILE_fallback. Give it mode 700 (drwx------) so folks can't snoop on each other's preferences, whisper ban lists, etc. If you want some users to be able to use the !lock command, create /var/lib/slforum/lockout-users, in which go usernames of those allowed to !lock, each on its own line. 9) start a test run with slforum -nofork (from another window) telnet localhost 7777 It should allow you to log in and type commands. In particular, please try !roll 15 If this produces "please enter a positive number", you have a buggy gcc or egcs version. Go back to slfprefs.h, uncomment the line for #define EGCS_ATOI_BUG_WORKAROUND and re-make. Otherwise, when this bores you, go to the window from which you started the test run and hit ctrl-C. Normally, you'll start the program with slforum 7777 or slforum 7777 /path/to/logfile if you want to append to a logfile all public chat. PRIVATE WHISPERING IS NOT RECORDED; we feel this is important to privacy. You should of course also pick a port your users can remember. 7777 is the default port. Run slforum -h to see all command line options. 10) Clean out the temporary files from the directory you compiled SLForum in with the command make clean 11) Place the command to start the Forum in your rc.local, and never have to worry about it again! 12) If your users like to paste in ascii art, you may want to make a /tmp/.banners directory (chmod 1777 or similar) from which slforum will randomly choose a short file when the !banner or !spam command is used. The -bd command line option can place this dir anywhere. CAVEATS: * If run as root, slforum will write login and logout entries to your /var/log/wtmp file; this enables use of the "last" command to see who's logged into the Forum, similar to ftp or telnet: quaestor% last -5 demaria pts/10 nullpointer Mon Nov 8 02:10 still logged in dracofav ftp win5.fcms.academ Mon Nov 8 02:05 - 02:05 (00:00) dracofav pts/7 win5.fcms.academ Mon Nov 8 01:16 still logged in demaria slforum/916 nullpointer Mon Nov 8 00:39 still logged in dracofav ftp syru47-247.syr.e Mon Nov 8 00:35 - 00:36 (00:00) * Root can't log into the Forum. This prevents attempts to guess the root password by running a password-guesser on the port running slforum. That should be it! Enjoy. Cheers, -Jeremy Monin, Dan Chin, Matt Lochansky forum@shadowlands.org http://shadowlands.org/forum/