以前我曾经写过一些有关ARM开发板部署各种服务的日志, 这次刚好看到soyoustart提供了ARM构架的存储服务器,于是我订了一台尝鲜。SYS提供的机器是ARM A9处理器,系统均为32Bit,性能一般,但是硬盘基本全新,用来做备份还是可以的。
这次部署我使用Debian 9系统,部署qBittorrent和Nextcloud服务。
SYS使用的系统内核为OVH定制内核,在不知道特定的firmware等内容之前没有什么好办法更新内核,snapd无法使用,BBR也无法正常启用,这点比较可惜。
Contents
部署qBittorrent
这里为了使用最新的qBittorrent,我选择编译安装,那么就需要编译libtorrent以及qBittorrent了。首先是一些依赖包:
apt-get -yqq update; apt-get -yqq upgrade; \ apt-get -y install build-essential checkinstall pkg-config automake libtool git screen libgeoip-dev python3 python3-dev zlib1g-dev \ libboost-dev libboost-system-dev libboost-chrono-dev libboost-random-dev libssl-dev \ qtbase5-dev qttools5-dev-tools libqt5svg5-dev
由于qBittorrent依赖的是Qt5.5.1+,如果使用Debian 8平台则需要自己编译Qt了。
我这里选择安装比较稳定的libtorrent 1.0.11:
wget https://github.com/arvidn/libtorrent/releases/download/libtorrent-1_0_11/libtorrent-rasterbar-1.0.11.tar.gz tar xf libtorrent-rasterbar-1.0.11.tar.gz cd libtorrent-rasterbar-1.0.11 ./configure --disable-debug --enable-encryption --with-libgeoip=system CXXFLAGS=-std=c++11 --with-boost-libdir=/usr/lib/arm-linux-gnueabihf make -j$(nproc) checkinstall -y ldconfig
并且安装最新的qBittorrent 4.1.1:
wget https://github.com/qbittorrent/qBittorrent/archive/release-4.1.1.tar.gz tar xf release-4.1.1.tar.gz cd qBittorrent-release-4.1.1 ./configure --disable-gui --disable-debug --with-boost-libdir=/usr/lib/arm-linux-gnueabihf make -j$(nproc) checkinstall -y
启动一次qBittorrent并且同意它的条款:
qbittorrent-nox -d
默认的WebUI:http://你的IPADDRESS:8080/
默认用户名:admin
默认密码:adminadmin
为qBittorrent添加相应的启动脚本:
touch /etc/systemd/system/qbittorrent.service vi /etc/systemd/system/qbittorrent.service
粘贴以下内容:
[Unit] Description=qBittorrent Daemon Service After=network.target [Service] Type=forking ExecStart=/usr/local/bin/qbittorrent-nox -d ExecStop=/usr/bin/killall -w -s 9 /usr/local/bin/qbittorrent-nox TimeoutSec=300 [Install] WantedBy=multi-user.target
开启开机自启动:
systemctl enable qbittorrent
注意:如果需要指定用户组运行(qBittorrent使用 $HOME/.config/qBittorrent/qBittorrent.conf作为默认配置文件,因此依赖用户组),那么就应该在 [Service] 中加入 User=<你的用户名>。
部署nextcloud
由于无法使用snapd,因此我进行了手动安装,安装方案基本参考官方文档。个人使用的情况下一般并不需要使用mysql,于是我是用sqlite替代。
那么,按照官方文档安装依赖:
apt-get install apache2 libapache2-mod-php7.0 apt-get install php7.0-gd php7.0-json php7.0-mysql php7.0-curl php7.0-mbstring php7.0-sqlite3 apt-get install php7.0-intl php7.0-mcrypt php-imagick php7.0-xml php7.0-zip
然后下载Nextcloud,并且解压到/var/www,这时候需要对nextcloud的文件夹修改权限
chown -R www-data:www-data /var/www/nextcloud chown -R 755 /var/www/nextcloud
为nextcloud创建apache2配置文件/etc/apache2/sites-available/nextcloud.conf并进行编辑
Alias /nextcloud "/var/www/nextcloud/" <Directory /var/www/nextcloud/> Options +FollowSymlinks AllowOverride All <IfModule mod_dav.c> Dav off </IfModule> SetEnv HOME /var/www/nextcloud SetEnv HTTP_HOME /var/www/nextcloud </Directory>
并且创建软连接:
ln -s /etc/apache2/sites-available/nextcloud.conf /etc/apache2/sites-enabled/nextcloud.conf
可以开启一些附加功能,并且重启apache2服务:
a2enmod rewrite a2enmod headers a2enmod env a2enmod dir a2enmod mime service apache2 restart
为Nextcloud部署ocDownloader
ocDownloader插件是可以简单的直接从Nextcloud的软件仓库直接安装的,但是它使用的aria2需要手动配置。
首先通过apt源安装aria2,然后我们创建aria2需要的配置文件/var/www/nextcloud/.aria2.conf,详细配置不做说明
enable-rpc=true rpc-allow-origin-all=true rpc-listen-all=true max-concurrent-downloads=5 continue=true max-connection-per-server=5 min-split-size=10M split=10 max-overall-download-limit=0 max-download-limit=0 max-overall-upload-limit=0 max-upload-limit=0 dir=./aria2downloads file-allocation=prealloc check-certificate=false
然后创建aria2自启动服务,并且在www-data用户组下运行,保证Nextcloud可以随时找到这个服务:
touch /etc/systemd/system/aria2.service vi /etc/systemd/system/aria2.service
粘贴以下内容:
[Unit] Description=Aria2c download manager After=network-online.target [Service] Type=forking User=www-data RemainAfterExit=yes ExecStart=/usr/bin/aria2c -D --conf-path=/var/www/nextcloud/.aria2.conf ExecReload=/usr/bin/kill -HUP $MAINPID RestartSec=1min Restart=on-failure [Install] WantedBy=multi-user.target
开启开机自启动:
systemctl enable aria2
到此主要的部署工作就结束了。
SYS的这款ARM主机主要优势是大硬盘,带宽也还可以,但是实际上并没有可用的ipv6,单线程的上行速度也被限定为5Mbps需要多线程来弥补,不过作为备份服务来用还是可以的,通过多线程并发基本上能解决问题。