外观
普通安装
适用于直接管理 Linux、Nginx 和 MySQL 的部署。以下以 Ubuntu 24.04、源码目录 /srv/popoim、域名 example.com 为例。
1. 安装运行环境
bash
sudo apt update
sudo apt install -y nginx mysql-server composer ffmpeg \
php8.3-cli php8.3-mysql php8.3-mbstring php8.3-gd \
php8.3-xml php8.3-curl php8.3-zip使用其他发行版时安装同等版本和扩展。确认命令行实际使用的 PHP:
bash
php -v
php -m
ffmpeg -version
ffprobe -versionpcntl、posix、sockets 在这里的 Ubuntu CLI 软件包中可用。若使用自定义 PHP,需自行启用这些扩展。泡泡 IM 由常驻 PHP CLI 进程运行,不通过 PHP-FPM 执行业务请求。
2. 配置 MySQL
把源码中的 deploy/mysql-search.cnf 放入 MySQL 配置目录:
bash
sudo cp /srv/popoim/deploy/mysql-search.cnf /etc/mysql/mysql.conf.d/popoim.cnf
sudo systemctl restart mysql
sudo mysql在 MySQL 控制台创建专用数据库和用户,将示例密码换成随机强密码:
sql
CREATE DATABASE popoim CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'popoim'@'localhost' IDENTIFIED BY 'replace-with-a-long-random-password';
GRANT ALL PRIVILEGES ON popoim.* TO 'popoim'@'localhost';
SHOW VARIABLES LIKE 'ngram_token_size';
EXIT;检查输出中的 ngram_token_size 为 1。配置修改后必须重启 MySQL,单独执行 SQL 不能改变这个启动参数。
3. 放置源码并安装依赖
将服务端源码内容放入 /srv/popoim,该目录下应直接包含 start.php、composer.json、public/:
bash
cd /srv/popoim
composer install --no-dev --prefer-dist --no-interaction
mkdir -p runtime public/uploads
sudo chown -R www-data:www-data runtime public/uploads config plugin/sdk/config由部署用户执行 Composer,不用 root 下载依赖。安装向导需要写入数据库与 SDK 配置;运行期间需要写入 runtime 与资源目录。
4. 启动常驻服务
源码提供的 systemd 配置使用 /usr/bin/php、www-data 和 /srv/popoim。路径不同时先修改 deploy/popoim.service:
bash
sudo cp deploy/popoim.service /etc/systemd/system/popoim.service
sudo systemctl daemon-reload
sudo systemctl enable --now popoim
sudo systemctl status popoim --no-pager不要再同时运行一份 php start.php start -d。同一套程序只由一个进程管理器维护。
5. 配置站点
修改 deploy/nginx.conf 的域名和根目录,再安装配置:
bash
sudo cp deploy/nginx.conf /etc/nginx/sites-available/popoim
sudo ln -s /etc/nginx/sites-available/popoim /etc/nginx/sites-enabled/popoim
sudo nginx -t
sudo systemctl reload nginx配置同时代理 HTTP 到 127.0.0.1:8787、/ws 到 127.0.0.1:6060,保留公开资源访问,并阻止 PHP、隐藏文件与私有媒体原文件被直接读取。完整配置说明见 Nginx 与 HTTPS。
6. 完成向导
将域名解析到服务器,访问 http://example.com/install,按照完成安装填写数据库与管理员。正式上线前为站点配置 HTTPS,并确认后台 WebSocket 公网地址使用 wss://example.com/ws。
