/[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.14 by sysadm, Thu Nov 20 11:44:38 2025 UTC Revision 1.30 by sysadm, Tue Jan 6 13:58:34 2026 UTC
# Line 7  To install LBBS on Linux (e.g. Debian 13 Line 7  To install LBBS on Linux (e.g. Debian 13
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       gcc >= 13.3  
11     autoconf >= 2.68       autoconf >= 2.68  
12     automake >= 1.16       automake >= 1.16  
    libssh >= 0.11    
    pcre2 >= 10.38    
13     php >= 8.2       php >= 8.2  
14     mysql >= 8.4       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    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,  
# Line 21  To install LBBS on Linux (e.g. Debian 13 Line 25  To install LBBS on Linux (e.g. Debian 13
25    
26  4) Compile source files    4) Compile source files  
27     export LBBS_HOME_DIR=/usr/local/lbbs       export LBBS_HOME_DIR=/usr/local/lbbs  
28     Choose different implementation based on System V or Posix       (For Linux)  
29     ./configure --prefix=$LBBS_HOME_DIR --with-sysv       ./configure --prefix=$LBBS_HOME_DIR  
30     ./configure --prefix=$LBBS_HOME_DIR --without-sysv       (For MSYS2 with MinGW-w64 toolchain)  
31       ./configure --prefix=$LBBS_HOME_DIR --disable-shared PKG_CONFIG_PATH=/mingw64/lib/pkgconfig/  
32     make       make  
33    
34  5) Create user and group    5) Create user and group  
# Line 36  To install LBBS on Linux (e.g. Debian 13 Line 41  To install LBBS on Linux (e.g. Debian 13
41  7) 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     $LBBS_HOME_DIR/conf/bbsd.conf       $LBBS_HOME_DIR/conf/bbsd.conf  
44       $LBBS_HOME_DIR/conf/bbsnet.conf  
45     $LBBS_HOME_DIR/conf/badwords.conf       $LBBS_HOME_DIR/conf/badwords.conf  
46     $LBBS_HOME_DIR/utils/conf/db_conn.conf.php       $LBBS_HOME_DIR/utils/conf/db_conn.conf.php  
47    
48  8) 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  
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       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       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  9) Create SSH2 RSA certificate    10) Create SSH2 RSA / ED25519 certificate  
56     ssh-keygen -t rsa -C "Your Server Name" -f $LBBS_HOME_DIR/conf/ssh_host_rsa_key     ssh-keygen -t rsa -C "Your Server Name" -N "" -f $LBBS_HOME_DIR/conf/ssh_host_rsa_key  
57       ssh-keygen -t ed25519 -C "Your Server Name" -N "" -f $LBBS_HOME_DIR/conf/ssh_host_ed25519_key  
58       ssh-keygen -t ecdsa -C "Your Server Name" -N "" -f $LBBS_HOME_DIR/conf/ssh_host_ecdsa_key  
59    
60  10) Startup    11) Startup  
61     sudo -u bbs $LBBS_HOME_DIR/bin/bbsd     sudo -u bbs $LBBS_HOME_DIR/bin/bbsd
62    
63  11) (Optional) Set up systemd    12) (Optional) Set up systemd  
    Enable systemd related feature during config, by running:    
      ./configure --prefix=$LBBS_HOME_DIR --enable-systemd  
64     Create your own /usr/lib/systemd/system/lbbs.service from the sample at conf/lbbs.service, and make any change if necessary.       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.       Reload daemon config and start the service.  
66    
67  12) (Optional) Set up logrotate    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.       Create your own /etc/logrotate.d/lbbs from the sample at conf/lbbs.logrotate, and make any change if necessary.  
69     Restart logrotate service.       Restart logrotate service.  
70    
71  13) Cleanup on abnormal service termination    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:       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       sudo -u bbs ipcs  
74     There should be no item owned by bbs. Otherwise, run the following command to cleanup:       There should be no item owned by bbs. Otherwise, run the following command to cleanup:  
75     sudo -u bbs ipcrm -a     sudo -u bbs ipcrm -a
76    
77    
78  For MSYS2 / MinGW User  For Docker user
79  ==================  ==================
80  Installation of LBBS on MSYS2 is similar to the above steps for Linux, except that:  You may either build the docker image from source code by running:  
81       docker compose up --build -d  
 1) Use additional config switches to keep compatible with the MSYS2 / MinGW environment.    
    ./configure --prefix=$LBBS_HOME_DIR --with-mariadb --without-epoll --without-sysv    
82    
83  2) Skip those steps not supported by Cygwin (e.g. systemd and logrotate).    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.  


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

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