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

Contents of /lbbs/INSTALL.md

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.24 - (show annotations)
Mon Nov 24 02:45:02 2025 UTC (3 months, 3 weeks ago) by sysadm
Branch: MAIN
Changes since 1.23: +1 -1 lines
Content type: text/markdown
Update INSTALL.md

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 >= 14.2
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/badwords.conf
45 $LBBS_HOME_DIR/utils/conf/db_conn.conf.php
46
47 8) Copy CA cert file of MySQL server to $LBBS_HOME_DIR/conf/ca_cert.pem
48
49 9) Generate menu configuration file with section data by running the script
50 sudo -u bbs php $LBBS_HOME_DIR/utils/bin/gen_section_menu.php
51 sudo -u bbs php $LBBS_HOME_DIR/utils/bin/gen_ex_list.php
52
53 10) Create SSH2 RSA certificate
54 ssh-keygen -t rsa -C "Your Server Name" -f $LBBS_HOME_DIR/conf/ssh_host_rsa_key
55
56 11) Startup
57 sudo -u bbs $LBBS_HOME_DIR/bin/bbsd
58
59 12) (Optional) Set up systemd
60 Create your own /usr/lib/systemd/system/lbbs.service from the sample at conf/lbbs.service, and make any change if necessary.
61 Reload daemon config and start the service.
62
63 13) (Optional) Set up logrotate
64 Create your own /etc/logrotate.d/lbbs from the sample at conf/lbbs.logrotate, and make any change if necessary.
65 Restart logrotate service.
66
67 14) Cleanup on abnormal service termination
68 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:
69 sudo -u bbs ipcs
70 There should be no item owned by bbs. Otherwise, run the following command to cleanup:
71 sudo -u bbs ipcrm -a
72

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