为方便后续操作,本文译自playfultechnology/RasPBX 可直接点击参考原文。
RasPBX
在树莓派上安装 Asterisk 和 FreePBX 图形界面
- “Asterisk” 是一个 PBX 通信服务器
- “FreePBX” 是一个通过网页图形界面提供 Asterisk 功能的前端
- “FreePBX Distro”(以前称为 AsteriskNow)是一个基于 CentOS 的预配置 Asterisk/FreePBX 系统发行版,但现已停用
- “RaspPBX” 是一个基于 Raspbian Buster 10、Asterisk 16.13.0 和 FreePBX 15.0.16.75 的预配置发行版。最新版本是 2020 年 10 月 10 日,但已不再维护。
因此……本仓库旨在记录在树莓派上创建一个基于最新版本的 Asterisk 安装过程:
- Asterisk 22(2025-01-09)
- FreePBX 17(2024-08-02)
- 树莓派操作系统 Debian 12 Bookworm(2024-11-19)
本指南基于作者的个人经验,并结合来自多个来源的信息,主要参考:https://www.dslreports.com/forum/r30661088-PBX-FreePBX-for-the-Raspberry-Pi 。
安装
1.) 安装树莓派操作系统(约 20 分钟)
- a.) 从官网 https://www.raspberrypi.com/software/operating-systems/ 下载最新的系统镜像。我使用的是 2024-11-19-raspios-bookworm-arm64-lite.img.xz
- b.) 将系统镜像烧录到大于 8GB 的 SD 卡。我使用的是 DiskImager,你也可以使用 Etcher 等工具。
2.) 在 Windows 中配置操作系统(约 2 分钟)
- a.) 烧录完成后,SD 卡会作为名为 “bootfs” 的分区自动挂载在资源管理器中。
- b.) 在 bootfs 根目录下创建一个空文件,命名为
ssh
。 - c.) 为了启用远程访问,我们需要创建一个 pi:raspberry 用户,因此在 bootfs 根目录下创建一个名为
userconf
的文本文件,内容如下:
pi:$6$c70VpvPsVNCG0YR5$l5vWWLsLko9Kj65gcQ8qvMkuOoRkEagI90qi3F/Y7rm8eNYZHW8CY6BOIKwMH7a3YYzZYL90zf304cAHLFaZE0
(这是 “raspberry” 密码的哈希值)
3.) 将安装脚本复制到树莓派(约 2 分钟)
- a.) 将 SD 卡插入连接至局域网的树莓派,通电启动
- b.) 使用 WinSCP 建立 SFTP 连接:
host: raspberrypi.local
username: pi
password: raspberry
- c.) 将本仓库中的
install
和install.tar.gz
文件复制到/home/pi
目录
4.) 安装 FreePBX:第一阶段(约 2 分钟)
- a.) 使用 PuTTY 建立 SSH 连接:
host: raspberrypi.local
username: pi
password: raspberry
b.) 赋予脚本执行权限:
chmod +x install
c.) 运行脚本:
sudo ./install
d.) 安装过程中会提示:
- 设置 pi 用户密码
- 设置 root 用户密码
- 选择 FreePBX 版本
- 选择 Asterisk 版本
- 是否启用 Edge 版本?
- 是否禁用 IPv6(建议选择 “否”)
e.) 示例选择项:
FreePBX Version: 17.0 (c)
Asterisk Version: 22 (d)
Edge Enabled: Yes (y)
IPv6 Enabled: Yes (n)
5.) 树莓派操作系统配置(约 2 分钟)
- a.) System Options->设置主机名(1/S4)为
RasPBX
- b.) Localisation Options->语言区域(5/L1)选择
en_GB.UTF-8
- c.) Localisation Options->时区(5/L2)选择
Europe - London
- d.) Advanced Options->扩展文件系统(6/A1)
- e.) 完成后选择
No
立即重启
系统将重启,PuTTY 连接会自动断开。
6.) 安装 FreePBX:第二阶段(约 5 分钟)
- a.) 使用上一步设置的新主机名或 root 用户信息重新连接 PuTTY(首次登录可能提示 SSH 密钥缓存过期,更新即可)
host: raspbx.local
username: root
password: raspberry
- b.) 成功连接后,FreePBX 安装会自动继续
系统将再次重启,PuTTY 连接会断开。
7.) 安装 FreePBX:第三阶段(约 30 分钟)
- a.) 使用同样的 root 凭证重新启动 PuTTY 会话(右键顶部菜单栏 -> Restart Session)
host: raspbx.local
login as: root
[email protected]'s password: raspberry
- b.) 确认之前的选择项:
FreePBX Version: 17.0 (c)
Asterisk Version: 22 (d)
Edge Enabled: Yes (y)
IPv6 Enabled: Yes (n)
此阶段耗时较长,且可能不会正常结束。PuTTY 最后一条信息如下:
系统将再次重启。
8.) 安装 FreePBX:第四阶段(约 2 分钟)
- a.) 再次以 root 身份连接 PuTTY:
host: raspbx.local
login as: root
[email protected]'s password: raspberry
- b.) 安装过程将继续,直到出现
FreePBX Installation Complete
消息。
调试
默认情况下,Asterisk 在后台运行。你可以通过 -r
参数连接控制台,使用 -v
设置详细等级。
- a.) 使用 PuTTY 登录树莓派,使用
root
用户 - b.) 运行命令
asterisk -rvvv
进入 Asterisk 控制台