Ubuntu Server 安装 Deluge 1.3.x 作者: 萧禹 时间: 2019-08-22 分类: Ubuntu 访问: 2,328 次 **Deluge** 是一个支持 **C/S** 模式的 **BitTorrent**, 这意味着可以在类似 NAS 的 Server 上长时间运行而不用一直开着本机电脑. 本文介绍了在 Ubuntu Server 上安装 Deluge 的守护程序 deluged 及 web 端, 使用客户端连接到服务器上的 Deluge 的方法 ## 说明 - Ubuntu Server 16.04 - deluged/deluge-console/deluge-web 1.3.12(截至2019-08-22最新版本) - deluge 1.x 与 2.x server 与 client 不兼容 ## 步骤 ### 目标 - 以 daemon 模式运行 **deluged** 及 **deluge-web**, 开机自动启动 - 以 *deluge* 用户运行 **deluged** 及 **deluge-web** :exclamation:为了便于区分名称, 用户 *deluge* 为斜体, **deluged** 及 **deluge-web** 程序为粗体 ### Server 端安装 更新 deluge 的仓库 $sudo add-apt-repository ppa:deluge-team/stable 安装 deluged 守护程序, web 界面, consle 程序 $sudo apt-get update $sudo apt install deluged deluge-web deluge-console 创建运行 **deluged** 的用户 *deluge* $sudo adduser --system --disabled-password --group --home /var/lib/deluge deluge :exclamation:该 *deluge* 用户以 `/var/lib/deluge` 为主目录, 这意味着以 *deluge* 用户运行的 **deluged** 及 **deluge-web** 会读取 `/var/lib/deluge/.config/deluge` 下的 `core.conf` 和 `auth` 文件 创建日志文件夹 $sudo mkdir /var/log/deluge $sudo chown deluge:deluge /var/log/deluge $sudo chmod 755 /var/log/deluge 创建 **deluged** service $sudo nano /etc/systemd/system/deluged.service ``` [Unit] Description=Deluge Bittorrent Client Daemon Documentation=man:deluged After=network-online.target [Service] Type=simple UMask=003 ExecStart=/usr/bin/deluged -d -l /var/log/deluge/daemon.log -L warning Restart=on-failure # Time to wait before forcefully stopped. TimeoutStopSec=300 [Install] WantedBy=multi-user.target ``` :exclamation:[UMask(Wiki)](https://en.wikipedia.org/wiki/Umask)=007 表示下载的文件和目录的权限分别为 660,770 创建 **deluged** service 的用户配置 $sudo mkdir /etc/systemd/system/deluged.service.d/ $sudo nano /etc/systemd/system/deluged.service.d/user.conf ``` # Override service user [Service] User=deluge Group=deluge ``` 创建 **deluge-web** service $sudo nano /etc/systemd/system/deluge-web.service ``` [Unit] Description=Deluge Bittorrent Client Web Interface Documentation=man:deluge-web After=network-online.target deluged.service Wants=deluged.service [Service] Type=simple UMask=027 ExecStart=/usr/bin/strace -f /usr/bin/deluge-web -l /var/log/deluge/web.log -L warning Restart=on-failure [Install] WantedBy=multi-user.target ``` 创建 **deluge-web** service 的用户配置 $sudo mkdir /etc/systemd/system/deluge-web.service.d/ $sudo nano /etc/systemd/system/deluge-web.service.d/user.conf ``` # Override service user [Service] User=deluge Group=deluge ``` 启动 **deluged** 及 **deluge-web** 的 service $sudo systemctl enable /etc/systemd/system/deluged.service $sudo systemctl start deluged $sudo systemctl status deluged $sudo systemctl enable /etc/systemd/system/deluge-web.service $sudo systemctl start deluge-web $sudo systemctl status deluge-web :exclamation:首次启动 **deluged** 会在 *deluge* 用户的主目录下的 `/var/lib/deluge` 创建配置文件 使用 **deluge-console** 方式配置 **deluged** 允许远程连接 :exclamation:**使用 deluge-console 及手动修改配置前必须先停掉** **deluged** 及 **deluge-web** 的 service, 因为停掉 **deluged** 及 **deluge-web** 时会写入配置文件造成停掉前的配置文件被覆盖 $sudo systemctl stop deluge-web $sudo systemctl stop deluged :exclamation:**要以运行 deluged 的用户运行 deluge-console**, 因为 **deluge-console** 更改的是运行它的用户 *deluge* 的主目录下的配置文件 $su --shell /bin/bash --login deluge $deluge-console "config -s allow_remote True" 使用 *deluge-console* 查看配置项的内容 $deluge-console "config allow_remote" 手动修改方式配置 **deluged** 允许远程连接 $sudo nano /var/lib/deluge/.config/deluge/core.conf ``` ... "allow_remote": false 改为 "allow_remote": true ... ``` 使用 web 方式配置 **deluged** 允许远程连接  其他配置大都能从以上 3 种方式更改 deluged 端口配置(默认 58846) = "daemon_port"  增加名为 "deluge" 的**管理员账户**(密码:deluge) 到 **deluged** 认证用户文件 `auth` 中 $echo "deluge:deluge:10" >> /var/lib/deluge/.config/deluge/auth 用户类型 | Level Name | Level Value | | ------------ | ------------ | | None | 0 | | Read Only | 1 | | Normal | 5 | | Admin | 10 |  重启 **deluged** 及 **deluge-web** $sudo systemctl restart deluged $sudo systemctl restart deluge-web ### 问题集 问: **本地查看 deluged 已启动了且已监听 58846 端口了, 但客户端就是无法连接** 答: 配置中未启用"允许远程连接", 编辑 core.conf 中的 `"allow_remote": false` 为 `"allow_remote": true`, "未允许远程"下的监听地址为 *127.0.0.1*, 而"允许远程"下的监听地址为 *0.0.0.0*, 可以通过 `netstat -ntulp | grep 58846` 查看监听地址 问: **systemctl 模式无法启动 deluge-web**, 运行 `sudo systemctl status deluge-web` 看到如下结果 ``` ● deluge-web.service - Deluge Bittorrent Client Web Interface Loaded: loaded (/etc/systemd/system/deluge-web.service; enabled; vendor preset: enabled) Drop-In: /etc/systemd/system/deluge-web.service.d └─user.conf Active: failed (Result: start-limit-hit) since Thu 2019-08-22 20:23:18 PDT; 1s ago Docs: man:deluge-web Process: 1220 ExecStart=/usr/bin/deluge-web -d (code=exited, status=2) Main PID: 1220 (code=exited, status=2) Aug 22 20:23:18 ubuntu systemd[1]: deluge-web.service: Main process exited, code=exited, status=2/INVALIDARGUMENT Aug 22 20:23:18 ubuntu systemd[1]: deluge-web.service: Unit entered failed state. Aug 22 20:23:18 ubuntu systemd[1]: deluge-web.service: Failed with result 'exit-code'. Aug 22 20:23:18 ubuntu systemd[1]: deluge-web.service: Service hold-off time over, scheduling restart. Aug 22 20:23:18 ubuntu systemd[1]: Stopped Deluge Bittorrent Client Web Interface. Aug 22 20:23:18 ubuntu systemd[1]: deluge-web.service: Start request repeated too quickly. Aug 22 20:23:18 ubuntu systemd[1]: Failed to start Deluge Bittorrent Client Web Interface. Aug 22 20:23:18 ubuntu systemd[1]: deluge-web.service: Unit entered failed state. Aug 22 20:23:18 ubuntu systemd[1]: deluge-web.service: Failed with result 'start-limit-hit'. ``` 答: **1.3.x** 的 **deluge-web** 的 service 使用以下的 `ExecStart`, `deluge-web` **后面不要加** `-d` ExecStart=/usr/bin/strace -f /usr/bin/deluge-web -l /var/log/deluge/web.log -L warning [这个问题的讨论](https://forum.deluge-torrent.org/viewtopic.php?t=54931) ### [可选]Apache2 反向代理 deluge-web apache2 启用模块(如果没启用的话) $sudo a2enmod proxy $sudo a2enmod proxy_html $sudo a2enmod proxy_http $sudo a2enmod headers apache2 增加 deluged.conf 反向代理配置 $sudo nano /etc/apache2/sites-available/deluged.conf ``` ProxyPass /deluge http://localhost:8112/ ProxyPassReverse / ProxyPassReverseCookiePath / /deluge RequestHeader set X-Deluge-Base "/deluge/" Order allow,deny Allow from all ``` :exclamation:注意端口 创建软链接以启用配置 $sudo ln -s /etc/apache2/sites-available/deluged.conf /etc/apache2/sites-enabled/deluged.conf 重启 apache2 $sudo systemctl restart apache2 就可以以 http://localhost:80/deluge 访问了! ### Web 端登录 web 界面默认端口 8112, 默认登录密码 deluge(不是 deluged 的 auth 中的用户密码)  ### [可选]Client 端登录 用户名和密码可使用 `/var/lib/deluge/.config/deluge/auth` 中的用户   如果出现绿色则表示可以连接了!  :coffee::coffee::coffee::coffee::coffee: ## 参考 - [Installing/Linux/Ubuntu – Deluge](https://dev.deluge-torrent.org/wiki/Installing/Linux/Ubuntu) - [UserGuide/Authentication – Deluge](https://dev.deluge-torrent.org/wiki/UserGuide/Authentication) - [Install Deluge Server (v1.3.x) on Ubuntu Server - Xenial Xerus 16.04 LTS](http://www.havetheknowhow.com/Install-the-software/Install-Deluge-Headless.html) - [Configure Deluge deamon and Deluge-web](http://themediaserver.com/configure-deluge-deamon-deluge-web/) - [How to create systemd services for Linux — Deluge 2.0.4.dev3 documentation](https://deluge.readthedocs.io/en/latest/how-to/systemd-service.html#create-a-service-specific-user) - [Faq – Deluge](https://dev.deluge-torrent.org/wiki/Faq#WheredoesDelugestoreitssettingsconfig) - [UserGuide/WebUI/ReverseProxy – Deluge](https://dev.deluge-torrent.org/wiki/UserGuide/WebUI/ReverseProxy) 标签: Ubuntu Deluge BT BitTorrent 文章版权:萧禹的博客 - 这个人很懒, 什么都没写 本文链接:https://www.flysfeq.site/index.php/archives/161/ 转载请注明文章原始出处 !
?诗歌散文评语?
作者的情感表达细腻入微,让人在阅读中找到了心灵的慰藉。