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

Contents of /lbbs/INSTALL.zh_CN.md

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.27 - (show annotations)
Sun Jan 18 09:12:58 2026 UTC (8 weeks, 2 days ago) by sysadm
Branch: MAIN
CVS Tags: HEAD
Changes since 1.26: +2 -2 lines
Content type: text/markdown
Update

1 # 安装说明
2
3 英文版本的安装说明位于 [INSTALL.md](INSTALL.md)。
4
5 要在 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 默认配置文件保存为 `*.default`。首先复制并重命名它们:
83
84 ```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
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 为 SSH 服务器组件生成 SSH 主机密钥。`-N ""` 标志为密钥设置空密码(自动化服务启动所需)。
125
126 ```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 ### 何时需要清理
155 - `bbsd` 进程崩溃或被强制终止后
156 - 如果 `bbsd` 启动时出现"共享内存已存在"错误
157 - 当 `ipcs` 显示属于用户 `bbs` 的资源时
158
159 ### 检查孤儿资源
160 首先,检查是否有剩余的共享内存段或信号量:
161 ```bash
162 sudo -u bbs ipcs
163 ```
164
165 查看 "SHM"(共享内存)和 "SEM"(信号量)部分中 "OWNER" 为 `bbs` 的条目。
166
167 ### 清理
168 如果存在资源,使用以下命令删除:
169 ```bash
170 sudo -u bbs ipcrm -a
171 ```
172
173 这将删除 `bbs` 用户可访问的所有共享内存和信号量资源。
174
175 ## 14. Docker 安装(替代方法)
176
177 对于容器化部署,LBBS 提供 Docker 支持。
178
179 ### 从源代码构建
180 要从源代码构建 Docker 镜像:
181 ```bash
182 docker compose up --build -d
183 ```
184
185 ### 使用预构建镜像
186 要使用 Docker Hub 中的预构建镜像:
187 ```bash
188 docker compose pull
189 docker compose up -d
190 ```
191
192 ### Docker 配置
193 使用 Docker 时,您仍然需要适当配置 LBBS:
194
195 1. **配置文件**:按照步骤 6 中的说明创建和自定义配置文件。
196 2. **数据库连接**:确保 `db_conn.conf.php` 指向您的 MySQL 服务器(容器应能访问该服务器)。
197 3. **端口映射**:默认情况下,Docker Compose 映射:
198 - SSH 端口:2322 → 2322(容器)
199 - Telnet 端口:2323 → 2323(容器)
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