CentOS 7 編譯qBittorrent Web UI安裝指南
前言
以下是安装qBittorrent教学。
适用于CentOS7或更新版本
适用于qBittorrent4.1.5或更新版本
安裝須知
qBittorrent基于libtorrent,所以必须先安装libtorrent。但是需要说明的是,我安装时,libtorrent最新的版本为
1.2.1,但是此版本qb暂未支持。
我们选择安装1.0.11或者1.1.12,相对而言1.0.11更加稳定,但1.1.12性能更为强劲,因为其支持了异步i/o.本文就以1.1.12为例,演示安装过程。
https://gcc.gnu.org/
GNU編譯器(GCC)是一套程式語言編譯器,需要用於編譯qBittorrent的源碼。
qBittorrent4.1.4需要C++14進行編譯
CentOS7自帶的GCC4.8.5只支援到C++11,所以稍後會透過SCL安裝GCC8.2 (支援C++14)
安裝libtorrent
先安裝依賴包:
yum groupinstall "Development Tools"
yum install qt-devel boost-devel openssl-devel qt5-qtbase-devel qt5-linguist
https://github.com/arvidn/libtorrent/releases 查看更新的版本来替换安装的版本
这里以安装的 1.1.12 为例
wget https://github.com/arvidn/libtorrent/releases/download/libtorrent_1_1_12/libtorrent-rasterbar-1.1.12.tar.gz
tar xf libtorrent-rasterbar-1.1.12.tar.gz
cd libtorrent-rasterbar-1.1.12
./configure --disable-debug --prefix=/usr CXXFLAGS=-std=c++11
make -j$(nproc)
make install
ln -s /usr/lib/pkgconfig/libtorrent-rasterbar.pc /usr/lib64/pkgconfig/libtorrent-rasterbar.pc
ln -s /usr/lib/libtorrent-rasterbar.so.9 /usr/lib64/libtorrent-rasterbar.so.9
安装qBittorrent
由于qBittorrent4.1.4+ 需要C++14进行编译,而centos7.x 默认自带的gcc版本为4.8.5只支持c++11,因此我们需要更新gcc版本,为了尽量保护系统环境不被破坏,我们选择适用scl安装高版本gcc。
通过scl构建gcc8.2环境
yum install centos-release-scl
yum install devtoolset-8-gcc*
scl enable devtoolset-8 bash
https://github.com/qbittorrent/qBittorrent/releases 可查看更新的版本来替换安装的版本
这里以 安装 qBittorrent 4.1.5 为例
cd ~
wget https://github.com/qbittorrent/qBittorrent/archive/release-4.1.5.tar.gz
tar xf release-4.1.5.tar.gz
cd qBittorrent-release-4.1.5
./configure --prefix=/usr --disable-gui CPPFLAGS=-I/usr/include/qt5
make -j$(nproc)
make install
退出SCL的GCC環境
exit
设置开机启动
vi /etc/systemd/system/qbittorrent.service
输入以下内容
[Unit]
Description=qBittorrent Daemon Service
After=network.target
[Service]
LimitNOFILE=512000
User=root
ExecStart=/usr/bin/qbittorrent-nox
ExecStop=/usr/bin/killall -w qbittorrent-nox
[Install]
WantedBy=multi-user.target
保存后退出编辑
载入配置启用以上設置
systemctl enable qbittorrent.service
初次运行设置
安装完成后请先启动一次qb。
qbittorrent-nox
初次启动需要同意其适用协议,按照其提示输入y回车即可。
使用ctrl+c退出
使用systemctl 让其后台运行 systemctl start qbittorrent.service
开始使用
访问http://ip:8080 进入webui,如果无法访问可能是防火墙问题,将在下一节说明。
默认用户名:admin
默认密码:adminadmin
修改webui密码:
头部菜单: 工具 --> 选项 --> Web 用户界面 --> 验证
工具栏: 选项(最后一个转轮图标) --> Web 用户界面 --> 验证
systemctl 相关控制命令:
systemctl start qbittorrent.service #开启qb
systemctl stop qbittorrent.service #关闭qb
systemctl restart qbittorrent.service #重启qb
防火墙设置
centos7 使用firewall防火墙
放行webui端口
firewall-cmd --permanent --add-port=8080/tcp
放行qb默认监听端口(8999)自行修改后请同步放行防火墙。
firewall-cmd --permanent --add-port=8999/tcp
启用配置
firewall-cmd --reload
创建下载文件夹和设置权限
mkdir -p /home/Downloads
chmod 777 /home/Downloads
把下载路径设置到 /home/Downloads就OK了!
References
CentOS 7 編譯qBittorrent Web UI安裝指南的更多相关文章
- Flutter不完全安裝指南(AndroidStudio集成)
Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面.真心無力吐槽這些所谓的中文站以及社区的文档,整理一下安装流程吧. 本人是android开发,基于此基础上 ...
- Archlinux安裝指南(uefi+gpt)
1.系统安装前的一些准备 首先在Archlinux官网下载镜像文件,然后刻录到U盘或光盘上.在我的机器上刻录arch镜像文件到U盘后启动不了,因为时间问题我没做过多的探索,所以后面直接刻录到光盘,用光 ...
- FreeBSD利用 ports 來安裝軟體
FreeBSD利用 ports 來安裝軟體 利用 ports 來安裝軟體 FreeBSD 的 ports 就是別人已經編譯過,安裝測試沒問題了,他們將軟體編譯時所需的組態設定.編譯程序及安裝程序, ...
- linux下nginx安裝
1.yum安裝 yum安裝 http://nginx.org/packages/centos/7/noarch/RPMS/ 第一步: 安裝命令: yum localinstall http://ng ...
- Centos7編譯安裝LAMP平臺
什麽是LAMP? 拆開看 L 就是Linux系統 A是Apache的縮寫 M.P則是MySQL和PHP的简写. 其实就是把Apache, MySQL以及PHP安装在Linux系统上,组成一个环境来运行 ...
- windows 安裝 gcc 編譯器 - MinGW
MinGW 介紹 MinGW 全稱 Minimalist GNU For Windows,是個精簡的Windows平台C/C++.ADA及Fortran編譯器,相比Cygwin而言,體積要小很多,使用 ...
- 【转载】RHEL / CentOS 7 用 Yum 安裝 MySQL 5.6
久久未更新... 换好工作出去玩耍了一趟, 现在安装机器啦~ 装一个mysql 到centos 7, 一次转载一篇文章, 记录下: 原文地址:http://www.phpini.com/mysql/r ...
- Apache Maven 3.0.3 (yum) 安裝 (CentOS 6.4 x64)
介紹http://maven.apache.org/ Maven是一個專案的開發,管理和綜合工具. 下載http://maven.apache.org/download.cgi 參考http://ma ...
- 【转】編譯Ogre1.9 IOS Dependencies及Ogre Source步驟及相關注意事項…
http://makedreamvsogre.blogspot.tw/2014/01/ios-dependenciesogre-source.html 可能有人會想問我為什麼要自行編譯IOS Depe ...
随机推荐
- 【牛客网-剑指offer】变态跳台阶
题目: 一只青蛙一次可以跳上1级台阶,也可以跳上2级--它也可以跳上n级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 考点: 递归和循环 分析: 台阶数 跳法 1 1 2 2 3 4 4 8 5 1 ...
- ASP.NET MVC 学习笔记之TempData、HttpContext和HttpContextBase杂谈
TempData本质上是Session 但是有一点不同的是,TempData被赋值之后,一旦被Action访问一次之后,马上就会清空. System.Web.HttpContext 和System.W ...
- ionic3 emoj表情包插件 emoji-picker
1.效果演示: 2.安装扩展包依赖 npm i @ionic-tools/emoji-picker --save 3.app.module.ts中导入插件 import { EmojiPickerMo ...
- JNI 在Android Studio利用NDK编译运行一个简单的c库
NDK开发,其实是为了项目需要调用底层的一些C/C++的一些东西:另外就是为了效率更加高些.如果你在Eclipse+ADT下开发过NDK就能体会到要么是配置NDK还要下载Cygwin,配置Cygwin ...
- loj2573[TJOI2018]数字计算
题意:操作1:x=x*m,输出x%mod.2.x/=map[m].m即第m次操作,保证该次操作为1操作,并且每个操作最多只会被删一次.q<=1e5. 线段树维护操作信息的乘积,删除把对应位置的权 ...
- Thread.Join理解
Thread.Join:Blocks the calling thread until a thread terminates MainThread里面起了一个SubThread,从SubThread ...
- API equals方法 toString方法
API API: Application(应用) Programming(程序) Interface(接口) 不需要关心这些类是如何实现的,只需要学习这些类如何使用即可. equals方法 1.在 ...
- delphi 打印 PDevMode 说明
//PDevMode = _devicemodeW;// _devicemodeW = record// dmDeviceName: array[0..CCHDEVICENAME - 1] of Wi ...
- Vue学习笔记【23】——Vue组件(组件的定义)
定义Vue组件 什么是组件: 组件的出现,就是为了拆分Vue实例的代码量的,能够让我们以不同的组件,来划分不同的功能模块,将来我们需要什么样的功能,就可以去调用对应的组件即可: 组件化和模块化的不同: ...
- NX二次开发-使用MFC对话框不能用UF_UI_select等函数解决方法
VC/MFC调用UG Dialog要进入加锁状态 加锁 UF_UI_lock_ug_access ( UF_UI_FROM_CUSTOM ); 此处为UF_UI_select的函数 解锁 UF_UI_ ...