/[LeafOK_CVS]/lbbs/INSTALL.md
ViewVC logotype

Contents of /lbbs/INSTALL.md

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.29 - (show annotations)
Mon Jan 5 06:04:24 2026 UTC (2 months, 1 week ago) by sysadm
Branch: MAIN
Changes since 1.28: +10 -0 lines
Content type: text/markdown
Add install guide for Docker user

1 Installation
2 ==================
3 To install LBBS on Linux (e.g. Debian 13, CentOS Stream 10), please perform the following steps:
4
5 0) Prerequisite
6 Follow README.md under [leafok_bbs](https://github.com/leafok/leafok_bbs) to initialize the database structure shared by both web version and telnet version.
7 It is highly recommended to finish the configuration steps of web version first and make sure those features could work properly.
8
9 1) Common requirements
10 gcc >= 13.3
11 autoconf >= 2.68
12 automake >= 1.16
13 php >= 8.2
14 mysql >= 8.4
15 (For Debian / Ubuntu)
16 sudo apt-get install -y libssh-dev libsystemd-dev
17 (For CentOS / RHEL)
18 sudo dnf install -y libssh-devel systemd-devel
19 (For MSYS2 with MinGW-w64 toolchain)
20 pacman -S --needed msys2-runtime-devel libssh libssh-devel pcre2-devel mingw-w64-x86_64-libiconv mingw-w64-x86_64-libmariadbclient
21
22 3) Extract the source files from a tarball or export from GitHub
23 Run the following command to set up the autoconf/automake environment,
24 autoreconf --install --force
25
26 4) Compile source files
27 export LBBS_HOME_DIR=/usr/local/lbbs
28 (For Linux)
29 ./configure --prefix=$LBBS_HOME_DIR
30 (For MSYS2 with MinGW-w64 toolchain)
31 ./configure --prefix=$LBBS_HOME_DIR --disable-shared PKG_CONFIG_PATH=/mingw64/lib/pkgconfig/
32 make
33
34 5) Create user and group
35 sudo useradd bbs
36
37 6) Install binary files and data files
38 sudo make install
39 chown -R bbs:bbs $LBBS_HOME_DIR
40
41 7) Modify following configuration files
42 Default configuration files is saved as *.default, you should rename them first.
43 $LBBS_HOME_DIR/conf/bbsd.conf
44 $LBBS_HOME_DIR/conf/bbsnet.conf
45 $LBBS_HOME_DIR/conf/badwords.conf
46 $LBBS_HOME_DIR/utils/conf/db_conn.conf.php
47
48 8) Copy CA cert file of MySQL server to $LBBS_HOME_DIR/conf/ca_cert.pem
49
50 9) Generate menu configuration file with section data by running the script
51 sudo -u bbs php $LBBS_HOME_DIR/utils/bin/gen_section_menu.php
52 sudo -u bbs php $LBBS_HOME_DIR/utils/bin/gen_ex_list.php
53 sudo -u bbs php $LBBS_HOME_DIR/utils/bin/gen_top.php
54
55 10) Create SSH2 RSA / ED25519 certificate
56 ssh-keygen -t rsa -C "Your Server Name" -f $LBBS_HOME_DIR/conf/ssh_host_rsa_key
57 ssh-keygen -t ed25519 -C "Your Server Name" -f $LBBS_HOME_DIR/conf/ssh_host_ed25519_key
58 ssh-keygen -t ecdsa -C "Your Server Name" -f $LBBS_HOME_DIR/conf/ssh_host_ecdsa_key
59
60 11) Startup
61 sudo -u bbs $LBBS_HOME_DIR/bin/bbsd
62
63 12) (Optional) Set up systemd
64 Create your own /usr/lib/systemd/system/lbbs.service from the sample at conf/lbbs.service, and make any change if necessary.
65 Reload daemon config and start the service.
66
67 13) (Optional) Set up logrotate
68 Create your own /etc/logrotate.d/lbbs from the sample at conf/lbbs.logrotate, and make any change if necessary.
69 Restart logrotate service.
70
71 14) Cleanup on abnormal service termination
72 In case of any unexpected failure or improper operation which results in abnormal termination of lbbs process, manual cleanup of shared memory / semaphore might be required before re-launch the process. Run the following command to check first:
73 sudo -u bbs ipcs
74 There should be no item owned by bbs. Otherwise, run the following command to cleanup:
75 sudo -u bbs ipcrm -a
76
77
78 For Docker user
79 ==================
80 You may either build the docker image from source code by running:
81 docker compose up --build -d
82
83 or pull the docker image per release from Docker Hub by running:
84 docker compose pull
85
86 You should always create / update the configuration files for local configuration (e.g. database connection, network port) as described above.

webmaster@leafok.com
ViewVC Help
Powered by ViewVC 1.3.0-beta1