在 Windows 上安装
安装 PostgreSQL
请参考 PostgreSQL 安装指南 安装并配置 PostgreSQL。
安装完成后,为 Palpo 创建数据库用户和数据库:
-
从开始菜单打开 "SQL Shell (psql)",或在终端运行
psql -U postgres。按照提示输入安装过程中配置的密码。如果遇到"命令无法找到"类似的报错提示,请查询Windows的环境变量PATH中是否包括了PostgreSQL的安装路径。 -
在 psql shell 中执行:
将 'your_secure_password' 替换为强密码。这会创建名为 palpo 的 PostgreSQL 用户和数据库,并将该用户设为数据库所有者。
安装 Palpo
下载官方发行版
访问官方 GitHub 发布页面:
https://github.com/palpo-im/palpo/releases
下载最新的 Windows 版本(如 palpo-x.y.z-windows.zip),并解压缩。
源码安装
Windows 环境
- 配置 Rust 开发环境
从 Rust 官方网站获取 Windows 安装程序:https://rust-lang.org/tools/install/
双击安装程序,选择Quick Install选项。安装过程中,系统会提示安装 Windows SDK 等依赖项。待这些工具安装完成后,使用默认设置继续安装 Rust 工具链,等待 rustc、cargo 等组件安装完毕。
在 PowerShell 或命令提示符(CMD)中执行以下命令,验证安装是否成功:
若出现“命令未找到”错误,请在 Windows 系统设置中配置 PATH 环境变量。
- 获取 Palpo 源代码
访问 Palpo 官方 GitHub 代码仓库:https://github.com/palpo-im/palpo
- 若已安装 Git:使用
git clone命令拉取源代码。 - 若不想使用 Git:直接在 GitHub 仓库页面选择Download ZIP,获取源代码压缩包。
- 编译源代码
编译前,需先安装 CMake,有以下两种安装方式:
- 从 CMake 官方网站下载安装程序:https://cmake.org/download/
- 通过 Winget(Windows 包管理器)执行以下命令安装:
编译 Palpo 步骤:
a. 进入 Palpo 源代码目录。 b. 在该目录下打开终端,执行以下命令,等待编译完成:
编译完成后,Windows 可执行文件 palpo.exe 会生成在源代码文件夹的 ./target/release/ 子目录下。该文件为独立可执行程序,不依赖外部 DLL 文件,可复制到任意目录运行。
WSL 环境下交叉编译与安装
若你的 Windows 设备已配置适用于 Linux 的 Windows 子系统(WSL),可直接在 WSL 中交叉编译 Palpo 生成 Windows 二进制文件。这种方式无需在原生 Windows 系统配置 Rust 工具链,能简化多平台编译流程,但需进行额外的前置配置。
- 配置交叉编译工具链
在 WSL 的 Rust 工具链中添加 Windows 目标平台,并安装 MinGW64 交叉编译器(命令因 Linux 发行版而异):
- 编译依赖的 PostgreSQL 库
官方 PostgreSQL 二进制文件基于 Visual Studio(VS)工具链构建,而 WSL 中的交叉编译使用 MinGW64 工具链。因此,你需要手动编译所需的 PostgreSQL 库(无需编译完整的 PostgreSQL 软件),才能完成交叉编译:
a. 下载 PostgreSQL 源代码:https://www.postgresql.org/ftp/source/ b. 解压源代码压缩包,进入 PostgreSQL 根目录。 c. 配置编译参数(排除不必要的库):
d. 仅编译所需的库文件:
e. 编译完成后,在以下路径找到 MinGW 编译生成的静态库文件(.a 文件):
src/interfaces/libpq/libpq.asrc/common/libpgcommon.asrc/port/libpgport.af. 将这些.a文件复制到一个专用目录(例如postgresql/lib-mingw32目录)。
- 配置 Palpo 交叉编译环境
在 Palpo 源代码目录中,创建 .cargo/config.toml 文件,并写入以下内容,指定交叉编译配置:
- 执行交叉编译
运行以下命令,等待编译完成:
Windows 二进制文件会生成在 target/x86_64-pc-windows-gnu/release/ 目录下,将其复制到 Windows 系统的任意目录。
交叉编译二进制文件运行注意事项
交叉编译生成的二进制文件默认采用动态链接方式。在 Windows 系统中双击生成的 palpo.exe 文件时,可能会触发以下错误:
无法在动态链接库 D:\palpo\palpo-mingw.exe 中定位程序入口点 nanosleep64
出现此问题的原因是,Palpo 运行需要依赖 MinGW 动态库文件 libwinpthread-1.dll。
- 在 WSL 中找到
libwinpthread-1.dll文件(路径因 Linux 发行版而异):
- 将该 DLL 文件复制到 Windows 系统中
palpo.exe所在的同一目录,随后即可进行 Palpo 的配置与运行。
配置 Palpo
复制示例配置文件并重命名:
根据你的环境和数据库设置编辑 palpo.toml。至少需要:
-
设置
server_name为你需要的域名,例如: -
在
[db]部分设置数据库 URL,匹配你上面创建的数据库、用户和密码,例如:
将 your.domain.com 和 your_secure_password 替换为实际的域名和密码。
更多高级配置请参见 设置页面。
运行 Palpo
在命令行启动 Palpo:
设置为 Windows 服务(开机自启)
你可以使用内置的 sc 命令或 NSSM(推荐,Non-Sucking Service Manager)来实现 Palpo 开机自启。
使用 NSSM(推荐)
-
下载并安装 NSSM。
-
以管理员身份打开命令提示符,运行:
-
在 NSSM 界面中:
- 设置
palpo.exe的路径 - 设置启动目录为包含
palpo.exe的文件夹 - 点击 "Install service"
- 设置
-
启动服务:
使用 Windows 内置服务管理器(进阶)
你也可以用 sc 命令创建服务:
将 C:\\path\\to\\palpo.exe 替换为 Palpo 可执行文件的实际路径。
Palpo 现在会在开机时自动启动。