相關推薦

Oneinstack安裝NextCloud以及使用Aria2離線下載和ocDownloader插件配置

NextCloud作為一個開源免費的雲存儲網盤項目,任何人都可以自由的獲取NextCloud程序,在家庭或公司構建私有且免費的網絡硬盤。它是完全由你用戶控制的私有、安全且功能完整的文件同步與共享解決方案,一經推出就廣受好評。

之前我也分享了不少NextCloud安裝部署教程,最讓人感興趣的就是NextCloud搭配Aria2,來實現離線下載。因為NextCloud自帶了音樂與視頻播放功能,且支持WebDAV等,完全可以基於NextCloud打造一個雲存儲平台或者云盤。

NextCloud有一個掛載外部存儲的功能,它可以允許你將第三方存儲、本地硬盤等作為存儲硬盤掛載在服務器上,作為NextCloud的存儲服務。但是很多人在操作過程中會出現權限問題,如無法讀取文件或者刪除文件。

本篇文章就來分享一下在Oneinstack上手動安裝部署NextCloud並添加外部存儲,同時再分享一個NextCloud離線下載插件ocDownloader,它可以結合Aria2實現Http、FTP和BT種子離線下載,同時又可以使用NextCloud管理下載文件,完美解決了文件權限的問題。

Oneinstack手動安裝NextCloud以及使用Aria2離線下載和ocDownloader插件配置

更多的關於離線下載的方法還有工具,你可以試試這些:

  1. Windows和Linux安裝使用Aria2-實現離線下載資源和在線管理文件播放視頻
  2. Nextcloud離線下載搭建方法-整合Aria2和AriaNg、Aria2 WebUI實現離線下載
  3. 樹莓派Raspberry Pi安裝NextCloud教程-自建家庭私有云局域網共享

PS:2018年3月31日更新,如果想要搭建一個可以在線共享播放的影音網盤中心可以試試:Plex完美個人影音雲盤搭建教程-Plex Media Server安裝與使用方法。

一、Oneinstack上安裝NextCloud

NextCloud官網:

  1. 官網:https://nextcloud.com/
  2. 插件:https://apps.nextcloud.com/apps/ocdownloader
  3. 項目:https://github.com/e-alfred/ocdownloader

OneinStack安裝還是挺簡單的,由於我們要在Oneinstack上跑NextCloud,所以在安裝的過程中請選擇LAMP模式,同時建議將相關的組件都選擇安裝上。參考之前的文章:OneinStack一鍵安裝腳本-輕鬆部署Let’s Encrypt證書配置Https站點。

1.1 NextCloud安裝

打開瀏覽器進入到NextCloud安裝界面,如果你出現以下錯誤提示:

PHP被設置為移除內聯塊,這將導致多個核心應用無法訪問.
這可能由緩存/加速器導致的,例如Zend OPcache或eAccelerator.

如下圖:

NextCloud錯誤提示

解決方法:修改php.ini中Opcache的參數進行修改,如果是Oneinstack的話需要在/usr/local/php/etc/php.d/ext-opcache.ini 中修改。找到此代碼並改成:opcache.save_comments=1,因為默認是0,改完重啟php-fpm就行。

NextCloud安裝過程

1.2 NextCloud配置

安裝好了NextCloud後,進入到設置中一般地會提示幾個安全問題:

NextCloud安全設置

對於“PHP 模塊’fileinfo’ 缺失. 我們強烈建議啟用此模塊以便在MIME 類型檢測時獲得最準確的結果.”可以用執行:./addons.sh來安裝fileinfo模塊即可。

NextCloud安裝模塊

對於“HTTP 請求頭“Strict-Transport-Security” 沒有配置為至少“15552000” 秒. 出於增強安全性考慮, 我們推薦按照安全提示中的說明啟用HSTS.”,進入到/usr/local/apache/ conf/vhost,修改xxx.conf。

NextCloud添加頭部信息

加入以下代碼即可。

Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains; preload"

對於“內存緩存未配置. 如果可用, 請配置memcache 以增強性能..”,進入config文件夾中修改配置文件,添加以下代碼即可。

'memcache.local' => 'OCMemcacheRedis',
'redis' => array(
'host' => 'localhost',
'port' => 6379,
),

NextCloud緩存代碼

按照上面的方法設置後,NextCloud基本上就沒有什麼提示了,我們可以看到Oneinstack跑NextCloud基本上沒有什麼問題。

NextCloud配置完成

二、NextCloud安裝ocDownloader

進入到NextCloud插件安裝頁面,搜索ocDownloader就可以直接在線安裝了。

NextCloud在線下載

安裝好了後,啟用完成後就可以從頂部工具欄進入ocDownloader面板,這裡我們就可以看到添加下載和查看下載任務了。

ocDownloader查看任務

三、NextCloud服務器安裝Aria2

上面安裝了NextCloud的插件ocDownloader,但是還不能使用,我們需要給服務器上安裝Aria2,代碼如下:

wget https://copr.fedoraproject.org/coprs/rhscl/devtoolset-3/repo/epel-6/rhscl-devtoolset-3-epel-6.repo -O /etc/yum.repos.d/rhscl-devtoolset -3-epel-6.repo
yum install devtoolset-3-gcc devtoolset-3-gcc-c++ devtoolset-3-binutils devtoolset-3-gcc-gfortran
scl enable devtoolset-3 bash
gcc --version
wget https://github.com/aria2/aria2/releases/download/release-1.32.0/aria2-1.32.0.tar.gz
tar xzvf aria2-1.32.0.tar.gz
cd aria2-1.32.0
./configure
make
make install

如果你的gcc編譯器版本號夠高,可以省略前三步,直接wget下載aria2然後編譯即可。編輯sudoers文件:

vi /etc/sudoers

找到下圖中的這部分代碼:

將:

Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin

修改為:

Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin

退出vi並保存,這裡因為sudoers是一個只讀文件,可能在退出vi的時候會彈警告提示,我們強行退出使用如下命令:

:wq!

現在就可以使用sudo以www的用戶來運行aria2了:

sudo -u www aria2c --enable-rpc --rpc-listen-all --rpc-allow-origin-all -c --dir /root/downloads -D

這個命令行啟動默認我們選擇了文件的下載保存路徑是/root/downloads,但實際上這個路徑是不生效的,它的目的僅僅只是用於讓aria2能夠成功啟動。我們稍後可以在ocDownloader插件中來設置文件保存路徑。

四、NextCloud使用ocDownloader插件

進入到NextCloud的ocDownloader操作界面,點擊添加下載任務,就可以開始離線下載了,以下是wzfou.com搭建的演示:。

ocDownloader添加離線下載

ocDownloader支持BT和磁力鏈接下載。

ocDownloader新建下載

ocDownloader會在NextCloud創建一個下載目錄,所有的下載的文件都會放在這個目錄下,從NextCloud中可以查看下載的文件。

ocDownloader查看已經下載的文件

經過wzfou.com測試,NextCloud可以正常地查看和刪除ocDownloader下載的文件,權限都沒有問題。

五、總結

Nginx跑NextCloud有一個問題就是靜態化規則的問題,Oneinstack跑NextCloud建議使用Apache,NextCloud官方的教程都是是用Apache,兼容性是最好的。

總得來說,NextCloud使用ocDownloader調用Aria2離線下載還是挺方便的,它解決了Nextcloud離線下載搭建方法中文件讀寫權限問題,可以正常讀寫和刪除Aria2下載的文件。

为您推荐

發佈留言

联系我们

联系我们

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部