pc micro systems


  How To Setup EleBBS under Linux
   Originally written by Rick Parrish


This HOWTO is based on the following software:

RedHat 7.3
EleBBS 0.09g1

First, the steps involved in installing EleBBS:

1) Download EleBBS
2) Unzip to a temporary directory
Ensure you unzip using lowercase names (ie: unzip -L)
3) Read install.lin
4) Execute install.sh (ie: bash install.sh)

EleBBS should now be installed and fully functional.

From the console, set the codepage translation for CP437 so that
ANSI colors and high-ASCII IBM characters are supported using echo:
echo -e "\033(U"

To Return to the standard Linux font, set:
echo -e "\033(B"

You can download some X ANSI fonts here:
Make sure you use a terminal program that is ANSI complient.

The next steps make the BBS telnettable. This can be done
using either inetd or xinetd. Since RedHat comes with xinetd
we will assume this is being used:

6) Create the group and user to run EleBBS from:
groupadd -g 501 bbs
useradd -d /home/ele -g 501 -s /home/ele/runele.sh -u 501 bbs

7) Edit /etc/xinetd.d/telnet
Take note of the user, server_args and disable lines:

service telnet
flags = REUSE
socket_type = stream
wait = no
user = bbs
server = /usr/sbin/in.telnetd
server_args = -h -L /home/ele/runele.sh
log_on_failure += USERID
disable = no

8) Edit /home/ele/runele.sh (the file should not exist yet)
Copy/Paste the following lines into this file:

export ELEBBS="/home/ele"
chown -R bbs.bbs $ELEBBS
exec $ELEBBS/elebbs -B115200 -C1 -N-1

9) Make the above file executable:
chmod ugo+x /home/ele/runele.sh

10) Change the ownership of /home/ele:
chown -R bbs.bbs /home/ele

11) Restart xinetd for changes to take effect:
killall -HUP xinetd

12) Additional notes from Drew Baker:
Due to tighter security in the way Linux now handles telnet connections,
you may need to do the following.

I had problems with passing the server_args to the telnet daemon, This
is due to telnet requiring validated password/login programs. Elebbs
is not a "valid" login system according to the new telnetd. Use the
following as your telnet script (usually located at /etc/xinet.d/telnet):

service telnet
flags = REUSE
socket_type = stream
wait = no
user = root
#server = /home/ele/runele.sh
server = /usr/sbin/in.telnetd
#server_args = -L /home/ele/runele.sh
#log_on_failure += USERID
disable = no

You will have to adjust your paths if your files are located in different places.

In the ele users home directory, edit/create the file ".profile" (there is a dot
in front of profile. This signifies that it is a HIDDEN file, which is only visible
ifs you do a ls -a.)

Use this as your .profile script (usually located in /home/ele)

# Sample .profile

If your paths are correct, this will cause the bbs to launch the
moment the ele user logs into system. This is a way around the
enhanced security that is being built into the Linux systems. To
bypass this security will require many more changes.


Now you should be all set to accept inbound telnet connections!
For more information on xinetd, see:

If you are using inetd instead of xinetd to answer inbound telnet
connections, then after you create your runele.sh script as shown
above, you should copy one of the existing "stream" entries in
/etc/inetd.conf, changing the port and program options.
For more information on inetd, see:

If you also want EleBBS to use modems, you will need to use mgetty to
answer the the modem lines and either have it run EleBBS directly or set
up a normal Unix account so that Ele runs automatically at logon.
For more information on mgetty, see:


How to Setup EleBBS under Ubuntu

Bryan Turner from Pegasus BBS has provided a step-by-step walkthrough:


How to Setup EleBBS under Fedora Core

Michael Preslar from LordLegacy has provided a step-by-step walkthrough:


How to compile the current EleBBS for Linux source code

Bryan Turner from Pegasus BBS has provided a step-by-step walkthrough:


How to Setup Doors under Linux

There are very few native Unix doors, and like any normal unix program,
they should be talking to stdio for all input and output. Stdio will redirect
them to the currently defined I/O handler, such as xinetd or mgetty.

Running DOS doors under Linux is more involved, as a DOS emulator
program (DOSEMU) needs to be used. DOS based doors will need to
be configured to talk to either DOSEMU's COM port or FOSSIL driver,
which will be redirected to stdio using DOSEMU's virtual port driver.

You configure DOSEMU to use the the "virtual" driver on one COM port
then set all doors on all nodes to use that port.

There is some good info on setting up doors with DOSEMU on the following



Hits since April 16 2002:

Be sure to read our Disclaimer

Return to the EleBBS FAQ



Copyright © 1999 - 2004 pc micro systems, inc.