ZNC

来自 Alpine Linux

ZNC 是一个高级 IRC bouncer,它可以建立与多个 IRC 网络和频道的永久连接,这样你的 IRC 客户端(或多个客户端)可以断开/重新连接而不会丢失聊天会话,同时对其他用户显示为单个用户。

安装

安装包含 ZNC 的软件包。

apk add znc

创建一个 ZNC 配置文件,此命令将自动在 /var/lib/znc/configs/ 中创建 znc.conf。 你将被要求输入一些信息。

rc-service znc setup

注意: 确保您输入的信息与下面显示的信息一致。
   Listen on port: 1025
   Listen using SSL: yes
   Listen using both IPv4 and IPv6: no
   Username: your_username
   Enter password: your_password
   Confirm password: your_password
   Nick: nick
   Alternate nick: nick_
   Real name: optional
   Bind host: try to leave empty
   Set up a network? no
   Launch ZNC now? no
警告: 永远不要在 ZNC 运行时编辑配置文件;始终使用 htoprc-status 检查 ZNC 是否正在运行。


启动 ZNC 作为服务。

rc-service znc start

使用 NGINX 在子域名中运行 ZNC

配置 ZNC webadmin 页面

在您的浏览器中打开 ZNC webadmin 页面 https://YOUR_SERVER_IP:1025。 接受不安全的证书并继续。 使用您的用户名和密码登录并转到全局设置。 我们希望将 webadmin 连接与 IRC 连接分开维护。 让我们为 IRC 连接创建一个监听端口。

在监听端口中添加

   Port: 6697
   BindHost: *
   SSL: on
   IPv4: on
   IPv6: off
   IRC: on
   HTTP: off
   URIPrefix: /

保存您输入的信息并暂时停止服务。

rc-service znc stop

编辑配置文件。

vim /var/lib/znc/configs/znc.conf

注意: Listener0 是 webadmin 端口(它监听端口 1025)。 Listener1 是 IRC 端口(它监听端口 6697)。

您的配置文件应如下所示

内容 /lib/znc/configs/znc.conf

<Listener listener0> Allow IRC = false AllowWeb = true IPv4 = true IPv6 = false Port = 1025 SSL = false URIPrefix = / <Listener listener1> AllowIRC = true AllowWeb = false IPv4 = true IPv6 = false Port = 6697 SSL = true URIPrefix = /

启动 ZNC 作为服务。

rc-service znc start

配置 NGINX

如果您尚未安装 NGINX,请安装它。

apk add nginx

在 conf.d 中创建一个配置文件,与主配置文件分开。

vim /etc/nginx/conf.d/znc.your_domain.com.conf

该文件应如下所示。

内容 /etc/nginx/conf.d/znc.your_domain.com.conf

server { server_name znc.yourdomain.com; location / { proxy_pass http://localhost:1025; } }

重启 NGINX 服务。

rc-service nginx restart

设置 SSL 证书

注意: 我们选择使用 Let's Encrypt 制作的 SSL 证书,而不是使用程序自带的 znc.pem 证书。

安装 Certbot 及其与 NGINX 配合使用的模块。

apk add certbot cerbot-nginx

运行 Certbot,此程序将免费创建 Let's Encrypt SSL 证书。 您将需要每月手动或自动续订它们。

certbot

重启 NGINX,您就完成了。 您的 webadmin 页面将自动运行由 Let's Encrypt 制作的 SSL 证书。

rc-service nginx restart

现在,我们将用 Let's Encrypt 证书替换 znc.pem 证书,以供任何想要连接到我们的 IRC bouncer 的人使用。 为此,我们需要将两个重要文件连接到 znc.pem 中

cat /etc/letsencrypt/live/your_domain.com/privkey.pem /etc/letsencrypt/live/your_domain.com/fullchain.pem > /var/lib/znc/znc.pem