/[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.3 by sysadm, Sun Sep 28 11:17:53 2025 UTC Revision 1.24 by sysadm, Mon Nov 24 02:45:02 2025 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 >= 14.2  
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/badwords.conf  
45       $LBBS_HOME_DIR/utils/conf/db_conn.conf.php  
46    
47  7) Generate menu configuration file with section data by running the script    8) Copy CA cert file of MySQL server to $LBBS_HOME_DIR/conf/ca_cert.pem  
    sudo -u bbs php /usr/local/lbbs/utils/bin/gen_section_menu.php    
    sudo -u bbs php /usr/local/lbbs/utils/bin/gen_ex_list.php    
48    
49  8) Create or copy SSH2 RSA certificate into /usr/local/lbbs/conf    9) Generate menu configuration file with section data by running the script  
50     ssh-keygen -t rsa -C "Your Server Name" -f ssh_host_rsa_key     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  9) Startup    10) Create SSH2 RSA certificate  
54     sudo /usr/local/lbbs/bin/bbsd     ssh-keygen -t rsa -C "Your Server Name" -f $LBBS_HOME_DIR/conf/ssh_host_rsa_key
55    
56  10) Set up systemd    11) Startup  
57     Create your own /usr/lib/systemd/system/lbbs.service from the sample at conf/lbbs.service.default, and make any change if necessary.       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.       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    


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

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