在 Debian上安装 PortSIP PBX v12

You are here:
← All Topics

从 V12开始,PortSIP PBX 的 Linux 版本已经迁移到 Docker 环境,利用 Docker 来安装部署、运行 PortSIP PBX.

注意: PortSIP PBX 只支持 Debian 9 以上的系统(64bit).

1: 卸载 老版本 Docker

$sudo apt-get remove docker docker-engine docker.io containerd runc
$sudo apt update
$sudo apt upgrade

2. 安装必需的包

$ apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common

3. 添加 Docker 仓库以及安装 Docker

$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
$ add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
$ apt-get update
$ apt-get install docker-ce docker-ce-cli containerd.io

4: 设置 Docker 用户

如果你不想用 root 用户来运行 Docker 服务,可以利用如下命令来指定运行 Docker 的用户 (mydockeruser 是一个例子,你可以使用自己想要用的用户名):

$ usermod -aG docker mydockeruser

5: 启动 Docker 服务以及拉取 PortSIP PBX Docker 镜像

$ systemctl enable docker
$ systemctl start docker

$ docker pull portsip/pbx:12

6: 配置防火墙规则

$ systemctl enable ufw
$ systemctl start ufw
$ ufw allow ssh
$ ufw allow 3478,3479,33000:34999,45000:64999/udp
$ ufw allow 9333,10443,8881:8884,8899:8900,8887:8888/tcp
$ ufw reload

注意:当在 PBX 的管理界面里面增加了新的 Transport 后,你需要创建新的防火墙规则以允许新创建的 Transport 的端口通过。比如在 5060 端口上创建了一个UDP协议的 Transport, 你需要新增如下防火墙规则:

$ ufw allow 5060/udp


如果在 5063端口上创建了 TCP Transport, 需要新增如下防火墙规则:

$ ufw allow 5063/TCP

7: 运行 PortSIP PBX Docker container 实例

下列命令将会在 IP地址为 66.175.222.20 的 Debian上 运行 PortSIP PBX Docker 实例:

其中 POSTGRES_PASSWORD是用来指定 PortSIP 数据库密码. 在例子中,用的是I 123456, 你可以自由地使用其他密码,建议只用字母和数字,不使用特殊字符。
其中IP_ADDRESS是用来指定 PBX 运行容器运行的 IP地址,如果运行在公网,那么此处需要指定公网IP,如果是内网,则指定内网IP, 在本例中,使用的 IP 是66.175.222.20, 你需要根据实际情况来修改该 IP.


$ docker container run -d --name portsip-pbx --cap-add=SYS_PTRACE --network=host -v /var/lib/portsip:/var/lib/portsip -e POSTGRES_PASSWORD="123456" -e POSTGRES_LISTEN_ADDRESSES="*" -e IP_ADDRESS="66.175.222.20" portsip/pbx:12

8: 在浏览器里打开 PortSIP PBX Web管理界面

http://127.0.0.1:8888
https://127.0.0.1:8887
http://66.175.222.20/:8888
https://66.175.222.20/:8887