Snap安装Wekan是主流Linux发行版最省事方式,它将Node.js、MongoDB和Wekan全打包隔离;需启用snapd.socket服务、配置root-url与port一致、放开防火墙端口,并用snap services验证wekan.wekan和wekan.mongodb为active状态。

用 Snap 安装 Wekan 是目前在主流 Linux 发行版(CentOS/RHEL/Rocky/Ubuntu)上最省事、最不容易翻车的方式。它把 Node.js、MongoDB 和 Wekan 本身全打包进一个隔离环境,你不用管版本冲突、端口占用、依赖缺失——只要系统支持 snapd,5 分钟内就能跑起来。
确认系统是否已启用 snapd 并启动服务
很多 CentOS 用户卡在这一步:装了 snapd,但没启动服务,导致后续所有 snap 命令报错 “snap command not found” 或 “cannot communicate with server”。Ubuntu 默认自带并启用,但 CentOS 7/8/Rocky 需要手动操作:
- CentOS 7:
yum install -y snapd,然后systemctl enable --now snapd.socket - CentOS 8+ / Rocky / AlmaLinux:
dnf install -y snapd,同样要运行systemctl enable --now snapd.socket - 执行完后验证:
systemctl status snapd.socket必须显示 active (listening);再跑snap version确认能输出版本号 - 注意:别只启
snapd.service,必须是snapd.socket,否则 snap 后台通信会失败
安装 Wekan 并设置基础访问参数
snap install wekan 这条命令本身没问题,但装完默认监听 127.0.0.1:8080,外网根本连不上——这是新手最常踩的“装完了却打不开”的坑。
Linux系统管理专家,覆盖12大模块:用户权限、SSH、存储、网络、systemd、防火墙、日志监控、备份恢复、TLS证书、Ansible、容器、IaC。提供配置、验证、加固、监控、备份、自动化、故障排查、回滚闭环。关键词:useradd、sudo、sshd_config、chmod、SEL...
- 必须显式配置两个关键项:
snap set wekan root-url="http://你的服务器IP:端口"和snap set wekan port="端口" - 端口建议避开 80/443(可能被 nginx 占用),选 3000、7000、8888 都可以,但得和
root-url里的端口严格一致 - 如果服务器有防火墙(如 firewalld),记得放开对应端口:
firewall-cmd --add-port=3000/tcp --permanent && firewall-cmd --reload - 云服务器还要检查安全组规则,放行该端口(不是“允许全部 ICMP”,是明确加一条 TCP 入方向规则)
调整 MongoDB 绑定地址以支持远程连接
Wekan Snap 包内置了 MongoDB,但它默认只监听 127.0.0.1。如果你打算用外部 MongoDB(比如独立部署的副本集),或者只是想让 Wekan 内置 DB 能被本机其他进程访问,就得改绑定 IP:
- 运行:
snap set wekan mongodb-bind-ip="0.0.0.0"(允许所有本地 IP 访问)或指定具体内网 IP,比如"192.168.1.100" - 改完必须重启服务:
snap restart wekan,否则配置不生效 - 注意:
mongodb-bind-ip不影响外网访问 Wekan 本身,只控制 MongoDB 的监听范围;Wekan 的 Web 访问由port和root-url控制 - 生产环境不建议设为
0.0.0.0,除非你确定网络边界足够安全
验证服务状态与常见启动失败原因
运行 snap services wekan 是唯一靠谱的检查方式。你会看到三行:wekan.wekan(主服务)、wekan.mongodb(内置数据库)、wekan.rebuild(构建辅助)。其中前两者必须是 active 状态。
- 如果
wekan.wekan显示 inactive (dead),大概率是root-url格式写错了——比如漏了http://,或者 IP 写成localhost(外部无法解析) - 如果
wekan.mongodb启动失败,先看日志:sudo journalctl -u snap.wekan.mongodb -n 50 --no-pager,常见原因是磁盘空间不足或/var/snap/wekan/common权限异常 - 不要手动去改
/var/snap/wekan下的文件,Snap 的文件系统是只读挂载,硬改会导致后续更新失败 - 重置配置可执行:
snap unset wekan root-url port mongodb-bind-ip,再重新 set
真正麻烦的从来不是安装命令本身,而是网络层的层层拦截和配置项之间的隐式依赖。比如 root-url 不光影响浏览器跳转,还决定邮件链接、Webhook 回调地址、OAuth 重定向路径——写错一个字符,注册邮件里的链接就打不开。

















