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

Annotation of /lbbs/INSTALL.zh_CN.md

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.26 - (hide annotations)
Sat Jan 10 06:53:26 2026 UTC (2 months ago) by sysadm
Branch: MAIN
Changes since 1.25: +67 -12 lines
Content type: text/markdown
Update

1 sysadm 1.25 # 安装说明
2 sysadm 1.23
3 sysadm 1.26 英文版本的安装说明位于 [INSTALL.md](INSTALL.md)。
4 sysadm 1.23
5 sysadm 1.25 要在 Linux(例如:Debian 13、CentOS Stream 10)上安装 LBBS,请按照以下步骤操作:
6    
7     ## 0. 准备工作
8    
9     按照 [leafok_bbs](https://github.com/leafok/leafok_bbs) 中的 README.md 说明,初始化 Web 和 Telnet 版本共享的数据库结构。
10    
11     强烈建议先完成 Web 版本的配置步骤,并确保这些功能正常工作。
12    
13     ## 1. 通用要求
14    
15     - gcc >= 13.3
16     - autoconf >= 2.68
17     - automake >= 1.16
18     - php >= 8.2
19     - mysql >= 8.4
20    
21     ### 发行版特定软件包
22    
23     **Debian / Ubuntu:**
24     ```bash
25     sudo apt-get install -y libssh-dev libsystemd-dev
26     ```
27    
28     **CentOS / RHEL:**
29     ```bash
30     sudo dnf install -y libssh-devel systemd-devel
31     ```
32    
33     **MSYS2 with MinGW-w64 工具链:**
34     ```bash
35     pacman -S --needed msys2-runtime-devel libssh libssh-devel pcre2-devel mingw-w64-x86_64-libiconv mingw-w64-x86_64-libmariadbclient
36     ```
37    
38     ## 2. 提取源代码文件
39    
40     从 tarball 或 GitHub 导出源代码文件。
41    
42     运行以下命令来设置 autoconf/automake 环境:
43     ```bash
44     autoreconf --install --force
45     ```
46    
47     ## 3. 编译源代码
48    
49     ```bash
50     export LBBS_HOME_DIR=/usr/local/lbbs
51     ```
52    
53     **对于 Linux:**
54     ```bash
55     ./configure --prefix=$LBBS_HOME_DIR
56     ```
57    
58     **对于 MSYS2 with MinGW-w64 工具链:**
59     ```bash
60     ./configure --prefix=$LBBS_HOME_DIR --disable-shared PKG_CONFIG_PATH=/mingw64/lib/pkgconfig/
61     ```
62    
63     ```bash
64     make
65     ```
66    
67     ## 4. 创建用户和组
68    
69     ```bash
70     sudo useradd bbs
71     ```
72    
73     ## 5. 安装二进制和数据文件
74    
75     ```bash
76     sudo make install
77     chown -R bbs:bbs $LBBS_HOME_DIR
78     ```
79    
80     ## 6. 修改配置文件
81    
82 sysadm 1.26 默认配置文件保存为 `*.default`。首先复制并重命名它们:
83 sysadm 1.25
84 sysadm 1.26 ```bash
85     cd $LBBS_HOME_DIR
86     cp conf/bbsd.conf.default conf/bbsd.conf
87     cp conf/bbsnet.conf.default conf/bbsnet.conf
88     cp conf/badwords.conf.default conf/badwords.conf
89     cp utils/conf/db_conn.conf.php.default utils/conf/db_conn.conf.php
90     ```
91    
92     然后编辑每个文件以匹配您的环境:
93    
94     ### bbsd.conf
95     需要调整的关键设置:
96     - `db_host`, `db_username`, `db_password`, `db_database`: MySQL 连接详情
97     - `bbs_server`, `bbs_port`, `bbs_ssh_port`: 网络设置
98     - `bbs_name`: 您的 BBS 名称
99     - `bbs_max_client`: 最大并发连接数(根据服务器容量调整)
100    
101     ### db_conn.conf.php
102     设置数据库连接参数:
103     - `$DB_hostname`, `$DB_username`, `$DB_password`, `$DB_database`
104    
105     ### bbsnet.conf & badwords.conf
106     根据您的 BBS 策略进行审查和自定义。
107 sysadm 1.25
108     ## 7. 复制 MySQL CA 证书
109    
110     将 MySQL 服务器的 CA 证书文件复制到 `$LBBS_HOME_DIR/conf/ca_cert.pem`。
111    
112     ## 8. 生成菜单配置文件
113    
114     运行以下脚本以生成包含版块数据的菜单配置文件:
115    
116     ```bash
117     sudo -u bbs php $LBBS_HOME_DIR/utils/bin/gen_section_menu.php
118     sudo -u bbs php $LBBS_HOME_DIR/utils/bin/gen_ex_list.php
119     sudo -u bbs php $LBBS_HOME_DIR/utils/bin/gen_top.php
120     ```
121    
122     ## 9. 创建 SSH2 证书
123    
124 sysadm 1.26 为 SSH 服务器组件生成 SSH 主机密钥。`-N ""` 标志为密钥设置空密码(自动化服务启动所需)。
125    
126 sysadm 1.25 ```bash
127     ssh-keygen -t rsa -C "您的服务器名称" -N "" -f $LBBS_HOME_DIR/conf/ssh_host_rsa_key
128     ssh-keygen -t ed25519 -C "您的服务器名称" -N "" -f $LBBS_HOME_DIR/conf/ssh_host_ed25519_key
129     ssh-keygen -t ecdsa -C "您的服务器名称" -N "" -f $LBBS_HOME_DIR/conf/ssh_host_ecdsa_key
130     ```
131    
132     ## 10. 启动
133    
134     ```bash
135     sudo -u bbs $LBBS_HOME_DIR/bin/bbsd
136     ```
137    
138     ## 11. (可选)设置 systemd
139    
140     从 `conf/lbbs.service` 中的示例创建您自己的 `/usr/lib/systemd/system/lbbs.service`,并进行任何必要的更改。
141    
142     重新加载守护进程配置并启动服务。
143    
144     ## 12. (可选)设置 logrotate
145    
146     从 `conf/lbbs.logrotate` 中的示例创建您自己的 `/etc/logrotate.d/lbbs`,并进行任何必要的更改。
147    
148     重新启动 logrotate 服务。
149    
150     ## 13. 服务异常终止时的清理
151    
152     如果发生意外故障或操作不当导致 LBBS 进程异常终止,在重新启动进程之前可能需要手动清理共享内存/信号量。
153    
154 sysadm 1.26 ### 何时需要清理
155     - `bbsd` 进程崩溃或被强制终止后
156     - 如果 `bbsd` 启动时出现"共享内存已存在"错误
157     - 当 `ipcs` 显示属于用户 `bbs` 的资源时
158    
159     ### 检查孤儿资源
160     首先,检查是否有剩余的共享内存段或信号量:
161 sysadm 1.25 ```bash
162     sudo -u bbs ipcs
163     ```
164    
165 sysadm 1.26 查看 "SHM"(共享内存)和 "SEM"(信号量)部分中 "OWNER" 为 `bbs` 的条目。
166    
167     ### 清理
168     如果存在资源,使用以下命令删除:
169 sysadm 1.25 ```bash
170     sudo -u bbs ipcrm -a
171     ```
172    
173 sysadm 1.26 这将删除 `bbs` 用户可访问的所有共享内存和信号量资源。
174    
175     ## 14. Docker 安装(替代方法)
176 sysadm 1.25
177 sysadm 1.26 对于容器化部署,LBBS 提供 Docker 支持。
178    
179     ### 从源代码构建
180     要从源代码构建 Docker 镜像:
181 sysadm 1.25 ```bash
182     docker compose up --build -d
183     ```
184    
185 sysadm 1.26 ### 使用预构建镜像
186     要使用 Docker Hub 中的预构建镜像:
187 sysadm 1.25 ```bash
188     docker compose pull
189 sysadm 1.26 docker compose up -d
190 sysadm 1.25 ```
191    
192 sysadm 1.26 ### Docker 配置
193     使用 Docker 时,您仍然需要适当配置 LBBS:
194    
195     1. **配置文件**:按照步骤 6 中的说明创建和自定义配置文件。
196     2. **数据库连接**:确保 `db_conn.conf.php` 指向您的 MySQL 服务器(容器应能访问该服务器)。
197     3. **端口映射**:默认情况下,Docker Compose 映射:
198     - SSH 端口:2222 → 22(容器)
199     - Telnet 端口:2323 → 23(容器)
200    
201     如果需要,请在 `docker-compose.yml` 中调整这些设置。
202     4. **持久化数据**:`data/` 和 `conf/` 目录作为卷挂载以实现持久化。
203    
204     ### Docker Compose 管理
205     - 启动:`docker compose up -d`
206     - 停止:`docker compose down`
207     - 查看日志:`docker compose logs -f`
208     - 重启:`docker compose restart`
209    
210     有关更多详细信息,请参阅 `docker-compose.yml` 文件和 Docker 文档。

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