在树莓派 3 上运行 3CX-IP PBX

3CX 在 V16 版本以后,就可以运行在树莓派的最新硬件版本,3B+ 上了。最新版本的 3CX 可以在 Raspbian Stretch 上安装, Raspbian Stretch 这个 Debian Linux 的分支是基于树莓派的 ARM 架构的。对于高级用户而言,他们可以通过 3CX 网页管理控制台或 Linux 命令行(CLI)更好的管理系统。

在树莓派上安装需要下列条件:

  • 32G 以上的 Class10 Micro SDHC 卡
  • 树莓派 2.5A 的 Micro USB 电源

为树莓派准备 SD 卡

SD 卡就是树莓派的硬盘,所以我们应该尽可能选速度快的 SD 卡,这样才能保证体验。

树莓派在 SD 卡中有操作系统的情况下才会工作,所以我们需要提前在 SD 中安装系统,可按照以下步骤执行:

  1. 在下面网站中下载 Raspbian Stretch Lite 镜像:Raspbian
  2. 解压下载文件后得到一个镜像文件(.img 文件)
  3. 使用 Etcher 或者 Win32 Disk Imager 烧录 Raspbian Stretch Lite 镜像
    • 烧录完系统可能会提示需要格式化,这里千万不能格式化
    • 树莓派默认是关闭 SSH 的,我们需要在 boot 根目录下新建一个 SSH 的文件以开启 SSH

  4. 把烧录完的 SD 卡插到树莓派的插槽中,通电并启动树莓派
  5. 在路由器中获取树莓派的 IP 地址,也可以通过 IP Scanner 之类的软件扫描网段内的 IP
  6. 通过 SSH 访问树莓派的 IP。默认的用户名和密码分别是:pi 和 raspberry
  7. 输入 passwd 命令可以更改 pi 用户的密码,系统会要求输入一次旧密码和两次新密码

备注:在树莓派中执行管理员命令之前需要在前面加 sudo 。比如更新包仓库需要使用命令 sudo apt update,如果使用 apt update 会报错

设置主机名

默认的主机名为 raspberry,如果想修改这个可以按照下列步骤:

  1. 运行树莓派配置命令:

  2. 选择 “2. Network Options”并按下回车键
  3. 选择 “N1 Hostname”,按下回车,并在弹出警告后选择 “OK”
  4. 输入 Pi 用户的主机名,主机名由数字字母和 “-“组成
  5. 选择 <Finish> 并选择 <Yes> 重启树莓派
  6. 当树莓派重启完后,再使用 pi 用户登录就可以看到主机名变成我们设置的名称了

设置静态 IP 地址

因为 3CX 需要固定的内外 IP 地址,而树莓派默认的 DHCP 可能会在后期产生一定的问题。

设置静态 IP 地址请参考以下步骤:

  1. 使用 nano 编辑器编辑 “/etc/dhcpcd.conf” 文件中的 “eth0” 接口

  2. 在该文件中找到对应行,根据你的内网设置替换掉其中的 ip_address, routers 和 domain_name_servers 这几项参数:
    • 需要注意这里的 DNS 设置不好的话会导致 3CX 无法正常激活
  3. 按下 “Ctrl” + “x” 组合键,接着输入 “y” 和 <Enter> 保存刚才的修改
  4. 重启树莓派:
  5. 当重启完树莓派后,使用设置的新 IP 地址登录 SSH,我们使用下面的命令验证刚才的修改:

在树莓派上安装 3CX

使用 “pi” 用户通过 SSH 登录到树莓派来安装 3CX 系统:

  1. 安装 3CX APT 的包验证密钥:
  2. 创建 3CX 稳定和测试 APT 安装源:
  3. 现在我们需要更新 APT 源和包:
  4. 验证 3CX PBX 包是否可用:
    sudo apt-cache policy 3cxpbx
    
  5. 现在我们可以用以下命令安装 3CX 稳定版本了:
    sudo apt -t stable install 3cxpbx
    
  6. 我们也可以不执行上面的命令,执行下面的命令安装 3CX 测试版本:
    • 根据机器性能的不同可能会花费 5 – 10 分钟
  7. 当 3CX 安装完成后选择配置 3CX 的方式。有 (1) 浏览器 Web 配置和 (2) 命令行配置两种。如果选择 (1) 需要在另外一台电脑的浏览器输入以下网址:
    http://<device_ip>:5015
    
  8. 接下去就是通常的配置 3CX 的步骤了,可以参考我们配置的文章:运行 3CX PBX配置工具

在树莓派上删除 3CX

在树莓派上删除 3CX 需要执行下列命令:

sudo apt remove 3cxpbx

使用这个命令将会保留 3CX 的数据(录音,数据库,数据文件等)。如果你想重装 3CX 这个选项对你来说很有用。

sudo apt remove --purge 3cxpbx

这个命令将会删除 3CX 和所有 3CX 相关的文件和数据。