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

Diff of /lbbs/INSTALL.md

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.2 by sysadm, Mon Sep 22 06:21:40 2025 UTC Revision 1.28 by sysadm, Mon Jan 5 05:41:34 2026 UTC
# Line 1  Line 1 
1  Installation  Installation
2  ==================  ==================
3  To install LBBS, please perform the following steps:  To install LBBS on Linux (e.g. Debian 13, CentOS Stream 10), please perform the following steps:
4    
5  0) Prerequisite    0) Prerequisite  
6     Follow README.md under [leafok_bbs](https://github.com/leafok88/leafok_bbs) to initialize the database structure shared by both web version and telnet version.       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.     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    1) Common requirements  
10     gcc >= 14.2.0       gcc >= 13.3  
11     autoconf >= 2.68       autoconf >= 2.68  
12     automake >= 1.16       automake >= 1.16  
13     libssh >= 0.11.1     php >= 8.2  
14     PHP >= 8.2       mysql >= 8.4  
15     MySQL >= 8.4     (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  2) Extract the source files from a tarball or export from GitHub    3) Extract the source files from a tarball or export from GitHub  
23     Run the following command to set up the autoconf/automake environment,       Run the following command to set up the autoconf/automake environment,  
24     sh ./autogen.sh     autoreconf --install --force
25    
26  3) Compile source files    4) Compile source files  
27     ./configure --prefix=/usr/local/lbbs       export LBBS_HOME_DIR=/usr/local/lbbs  
28     make     (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  4) Create user and group    5) Create user and group  
35     sudo useradd bbs     sudo useradd bbs
36    
37  5) Install binary files and data files    6) Install binary files and data files  
38     sudo make install     sudo make install  
39       chown -R bbs:bbs $LBBS_HOME_DIR
40    
41  6) Modify following configuration files    7) Modify following configuration files  
42     Default configuration files is saved as *.default, you should rename them first.       Default configuration files is saved as *.default, you should rename them first.  
43     /usr/local/lbbs/conf/bbsd.conf       $LBBS_HOME_DIR/conf/bbsd.conf  
44     /usr/local/lbbs/utils/conf/db_conn.inc.php       $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  7) Generate menu configuration file with section data by running the script    11) Startup  
61     sudo -u bbs php /usr/local/lbbs/utils/bin/gen_section_menu.php       sudo -u bbs $LBBS_HOME_DIR/bin/bbsd
    sudo -u bbs php /usr/local/lbbs/utils/bin/gen_ex_list.php    
62    
63  8) Create or copy SSH2 RSA certificate into /usr/local/lbbs/conf    12) (Optional) Set up systemd  
64     ssh-keygen -t rsa -C "Your Server Name" -f ssh_host_rsa_key     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  9) Startup    13) (Optional) Set up logrotate  
68     sudo /usr/local/lbbs/bin/bbsd     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    
 10) Set up systemd    
    Create your own /usr/lib/systemd/system/lbbs.service from the sample at conf/lbbs.service.default, and make any change if necessary.    
    Reload daemon config and start the service.    


Legend:
Removed lines/characters  
Changed lines/characters
  Added lines/characters

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