armbian宝塔_斐讯N1+Armbian+宝塔+Apache+Mysql+PHP+cloudreve+aria2实现云存储+离线下载服务器...
看到很多人提到不建議在N1的armbian中安裝寶塔,因為無法安裝WEB環保,于是寫一個簡單的內容來給大家提供一些靈感。
寫在前面:
因為寶塔環境安裝Arm系統的兼容性并不好,所以需要做的工作會稍多一些,但安裝完成后的使用體驗還是很不錯的!
我的使用場景是簡易的家庭存儲+低功耗離線下載服務器
使用到了N1+250G SSD硬盤
當然使用U盤也可以,但容量會較小,用于離線下載會有些捉襟見肘,所以推薦使用硬盤,因為供電的問題不推薦使用機械移動硬盤!(雖然有一塊320G的2.5吋硬盤,我沒有實際測試過。)
本教程從刷入Armbian開始,未涉及降級部分
教程開始:
安裝Armbian系統。
這部分網上的教程非常的多,所以我只簡單的介紹下。
1.下載地址:N1選擇S905
孤島下載:https://cloud.feiji.work/s/zwk5zugu?(已經開啟了X-Sendfile我自己測試下載速度有所提升)
下載完成后刷入到硬盤/U盤
這兒使用的是balenaEtcher,比較推薦
然后重新插拔一次硬盤,這時電腦上會多出一個分區“BOOT”
進入到目錄:/boot/dtb
替換為恩山論壇大佬的dtb文件(注:我在寫這篇文章的時候基于5.77版,這個版本的內核雖然已經很不錯,但是空閑時負載較高,所以還是換為大佬的dtb)
將下載好的meson-gxl-s905d-phicomm-n1.dtb?替換掉dtb目錄的同名文件,也可以將原文件備份一下
返回目錄:/boot
編輯文件:uEnv.ini
替換第一行內容為:
dtb_name=/dtb/meson-gxl-s905d-phicomm-n1.dtb
如果不進行配置很可能出現無網絡的情況。
將硬盤接入N1的USB接口啟動。
設置好armbian的密碼后開始
環境配置
我在寫內容時操作均在/root目錄進行。
開始安裝寶塔(此處請使用我提供的這個腳本進行安裝,刪除了官方腳本的防火墻部分,避免安裝后端口被封而無法鏈接SSH,當然也可以安裝官方原版,后使用鍵盤連接N1,手動關閉防火墻。):
注,如果安裝過程中出錯,建議選擇最新的版本進行安裝!已經同步至6.9.4
6.9.1版安裝:
wget https://www.feiji.work/n1/bt/install.sh && sudo bash install.sh
6.9.3版安裝:
wget https://www.feiji.work/n1/bt/6.9.3/install.sh && sudo bash install.sh
6.9.4版安裝:
wget https://www.feiji.work/n1/bt/6.9.4/install.sh && sudo bash install.sh
會自動安裝相關的依賴,比較簡單。
但過程中很可能出錯,基本都是網絡原因,不建議更換軟件源,因為科大或aliyun,163的源arm版都不太完整,而官方源在網絡高峰時期會非常緩慢,而導致下載失敗而使得安裝失敗或過程中有錯誤。
避開網絡高峰時段安裝還是不錯的選擇(注意中/美日夜相反哦)
安裝完成后進入后臺登錄后提示程序異常,則說明安裝過程中出錯了,再次執行安裝腳本,網絡閑時通常一次就可以安裝通過。
安裝完成后不要立即在后臺開始安裝WEB環境,因為PHP和Mysql缺乏依賴而不可能成功。
下載libiconv:
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz
如果下載非常緩慢,可以從我提供的下載地址,下載完成后通過SFTP或寶塔后臺將文件上傳到/root目錄。
解壓下載回來的libiconv,并進入到該目錄。
tar zxvf libiconv-1.13.1.tar.gz
cd libiconv-1.13.1
配置libiconv
./configure -prefix=/usr/local
如果失敗指定arm機型使用(網友反饋):
./configure -prefix=/usr/local --build arm-pc-linux
編譯安裝
make
make install
創建一個文件鏈接到Libiconv庫
ln -s /usr/local/lib/libiconv.so /usr/lib
ln -s /usr/local/lib/libiconv.so.2 /usr/lib/libiconv.so.2
然后就可以進入寶塔后臺安裝WEB環境了
過程中依然很可能,基本都還是與源之間的網絡原因。
推薦安裝Apache 2.4 / PHP 7.2 / Mysql 5.6
內存占用還可以接受。
下面是截圖:
創建網站
如果是寬帶用戶,很可能封80、8080端口,建議自定義端口,沒有域名就直接用IP,僅內網用用,就啥也不用干了!如果是移動寬帶,很可能是個大局域網,就需要做內容穿透了,但如果把外網服務器放在國內就得B案,且費用不會很便宜,放在國外延時速度太慢,意義真的不大,所以這個教程就不寫了!
電信寬帶基本都可以直接80端口,部分可能需要改端口。
注意:如果是IPv6網絡,綁定域名或可能會出現Apache因為端口沖突無法啟動的問題。
我的解決辦法簡單粗暴。
例如我就直接IPv6用999端口,IPv4用80/666端口(測試環境是移動寬帶,封80,所以外網我用了其它端口)
Listen 80
Listen 81
Listen [::]:82
保存,重新加載配置再點啟動就OK了!
在軟件管理中開啟PHPinfo擴展
禁用函數可根據自身實際情況去修改,我自身準備做一個云轉碼,所以開啟了比較多高風險的函數(純折騰,畢竟N1這配置還要啥自行車?)
到此環境配置就完成了
安裝Cloudreve+Aria2
Cloudreve是國產的云存儲中表現非常不錯的一個,持續維護更新中。有官方論壇可以答疑,體驗非常不錯,但使用了Mysql,對N1來說有些壓力。不過實測效果還不錯,不想安裝Mysql的話也可以直接用可道云,體驗也是非常好的,但不能結合aria2實現離線下載,很是遺憾。
直接在寶塔后臺下載或電腦端下載后上傳都可以,直接將壓縮包上傳到網站根目錄后用寶塔解壓即可。
輸入:http://你的域名或IP/CloudreveInstaller
按提示完成安裝就可以了
Aria2的編譯安裝與配置
下載并解壓最新的aria2
cd /root
wget https://github.com/aria2/aria2/releases/download/release-1.34.0/aria2-1.34.0.tar.bz2
tar -jxv -f aria2-1.34.0.tar.bz2
編譯并安裝
cd aria2-1.34.0
./configure
make
make install
安裝完成后就可以開始配置Aria2了
注:以下為簡單配置,如果使用過程中出現問題,請轉到下方使用官方完整的配置辦法!
簡單配置方式:
在/etc/aria2/中新建一個aria2.conf文件
mkdir /etc/aria2
yum install nano
nano /etc/aria2/aria2.conf
寫入以下內容:其它配置內容可以根據自身的需要進行修改,我這是一個極為簡單的配置。
#是否啟用RPC服務,設置為true
trueenable-rpc=true
#RPC服務端口,默認是6800
rpc-listen-port=6800
#設置PRC服務的密鑰,在后的配置中會用到,可以自己設定具體內容
rpc-secret=feiji.work
#這段內容不要刪除,用于解決Aria2與Cloudreve系統對接的權限問題!
on-download-complete=/root/hook.sh
完成后按Ctrl+X?退出?再按“Y”不要修改文件名,直接回車保存即可。
標準配置方式:
下載配置文件
wget --no-check-certificate -O "/etc/aria2/aria2.conf" "https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/other/Aria2/aria2.conf"
下載DHT文件
wget --no-check-certificate -O "/etc/aria2/dht.dat" "https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/other/Aria2/dht.dat"
新建aria2.session 用于存儲任務,防止重啟后任務丟失!
touch /etc/aria2/aria2.session
編輯aria2.conf文件的密碼以及添加離線下載后續處理的腳本路徑。
修改的內容:
修改:
dir=/www/wwwroot/www.xxx.com/downloads
rpc-listen-port=6800
底部添加:
on-download-complete=/root/hook.sh
也可直接復制我以下帶碼完全覆蓋下載來的aria2.conf配置文件!
## '#'開頭為注釋內容, 選項都有相應的注釋說明, 根據需要修改 ##
## 被注釋的選項填寫的是默認值, 建議在需要修改時再取消注釋 ##
## 文件保存相關 ##
# 文件的保存路徑(可使用絕對路徑或相對路徑), 默認: 當前啟動位置
dir=/www/wwwroot/www.xxx.com/downloads
# 啟用磁盤緩存, 0為禁用緩存, 需1.16以上版本, 默認:16M
#disk-cache=32M
# 文件預分配方式, 能有效降低磁盤碎片, 默認:prealloc
# 預分配所需時間: none < falloc ? trunc < prealloc
# falloc和trunc則需要文件系統和內核支持
# NTFS建議使用falloc, EXT3/4建議trunc, MAC 下需要注釋此項
# file-allocation=none
# 斷點續傳
continue=true
## 下載連接相關 ##
# 最大同時下載任務數, 運行時可修改, 默認:5
max-concurrent-downloads=10
# 同一服務器連接數, 添加時可指定, 默認:1
max-connection-per-server=5
# 最小文件分片大小, 添加時可指定, 取值范圍1M -1024M, 默認:20M
# 假定size=10M, 文件為20MiB 則使用兩個來源下載; 文件為15MiB 則使用一個來源下載
min-split-size=10M
# 單個任務最大線程數, 添加時可指定, 默認:5
split=20
# 整體下載速度限制, 運行時可修改, 默認:0
#max-overall-download-limit=0
# 單個任務下載速度限制, 默認:0
#max-download-limit=0
# 整體上傳速度限制, 運行時可修改, 默認:0
max-overall-upload-limit=1M
# 單個任務上傳速度限制, 默認:0
#max-upload-limit=1000
# 禁用IPv6, 默認:false
disable-ipv6=false
## 進度保存相關 ##
# 從會話文件中讀取下載任務
input-file=/root/.aria2/aria2.session
# 在Aria2退出時保存`錯誤/未完成`的下載任務到會話文件
save-session=/root/.aria2/aria2.session
# 定時保存會話, 0為退出時才保存, 需1.16.1以上版本, 默認:0
save-session-interval=60
## RPC相關設置 ##
# 啟用RPC, 默認:false
enable-rpc=true
# 允許所有來源, 默認:false
rpc-allow-origin-all=true
# 允許非外部訪問, 默認:false
rpc-listen-all=true
# 事件輪詢方式, 取值:[epoll, kqueue, port, poll, select], 不同系統默認值不同
#event-poll=select
# RPC監聽端口, 端口被占用時可以修改, 默認:6800
rpc-listen-port=6800
# 設置的RPC授權令牌, v1.18.4新增功能, 取代 --rpc-user 和 --rpc-passwd 選項
rpc-secret=feiji.work
# 設置的RPC訪問用戶名, 此選項新版已廢棄, 建議改用 --rpc-secret 選項
#rpc-user=
# 設置的RPC訪問密碼, 此選項新版已廢棄, 建議改用 --rpc-secret 選項
#rpc-passwd=
# 是否啟用 RPC 服務的 SSL/TLS 加密,
# 啟用加密后 RPC 服務需要使用 https 或者 wss 協議連接
#rpc-secure=true
# 在 RPC 服務中啟用 SSL/TLS 加密時的證書文件(.pem/.crt)
#rpc-certificate=/root/xxx.pem
# 在 RPC 服務中啟用 SSL/TLS 加密時的私鑰文件(.key)
#rpc-private-key=/root/xxx.key
## BT/PT下載相關 ##
# 當下載的是一個種子(以.torrent結尾)時, 自動開始BT任務, 默認:true
follow-torrent=true
# BT監聽端口, 當端口被屏蔽時使用, 默認:6881-6999
listen-port=51413
# 單個種子最大連接數, 默認:55
#bt-max-peers=55
# 打開DHT功能, PT需要禁用, 默認:true
enable-dht=true
# 打開IPv6 DHT功能, PT需要禁用
#enable-dht6=false
# DHT網絡監聽端口, 默認:6881-6999
#dht-listen-port=6881-6999
# 本地節點查找, PT需要禁用, 默認:false
#bt-enable-lpd=true
# 種子交換, PT需要禁用, 默認:true
enable-peer-exchange=true
# 每個種子限速, 對少種的PT很有用, 默認:50K
#bt-request-peer-speed-limit=50K
# 客戶端偽裝, PT需要
peer-id-prefix=-TR2770-
user-agent=Transmission/2.77
# 當種子的分享率達到這個數時, 自動停止做種, 0為一直做種, 默認:1.0
seed-ratio=0.1
# 強制保存會話, 即使任務已經完成, 默認:false
# 較新的版本開啟后會在任務完成后依然保留.aria2文件
force-save=true
# BT校驗相關, 默認:true
#bt-hash-check-seed=true
# 繼續之前的BT任務時, 無需再次校驗, 默認:false
bt-seed-unverified=true
# 保存磁力鏈接元數據為種子文件(.torrent文件), 默認:false
#bt-save-metadata=true
# 服務器列表可自行添加
bt-tracker=
on-download-complete=/root/hook.sh
再新建一個aria2.service服務文件
nano /lib/systemd/system/aria2.service
直接命令執行就可以了,不要在寶塔后臺去建,如果習慣在寶塔后臺建,記得建好了之后修改權限!
寫入內容:
[Unit]
Description=aria2c
[Service]
User=root
#此處的配置路徑不要修改,跟著教程操作下來,已經為大家配置好了的
ExecStart=/usr/local/bin/aria2c --conf-path=/etc/aria2/aria2.conf
Restart=on-abort
[Install]
WantedBy=multi-user.target
返回root目錄(當然在任意目錄都可以,但如果不喜歡在root目錄,可以修改前面的腳本位置,如果不會,就按我默認的來即可)
cd /root/
新建hook.sh
touch hook.sh
輸入內容:
#!/bin/sh
chmod -R 777 /www/wwwroot/xxx.com/downloads/
“/wwwroot/xxx.com/downloads/”此處實際錄入你已經建立好的臨時下載目錄。
賦予文件執行權限
chmod +x hook.sh
重載daemon,讓新的服務文件生效
systemctl daemon-reload
systemctl enable aria2
啟動Aria2
systemctl start aria2
登入Cloudreve后臺開始配置離線下載功能
RPC Server不要修改,如果使用的是非本機,記得開放防火墻端口。
RPC Token就是上面設置的密碼了
設置好后保存設置即可。
測試離線下載通過:
特別說明:如果BT沒有速度,如果你的N1在內網,那么應該是由于沒有做端口映射。在路由器上做好映射端口:51413
如果速度很慢 那就嘗試更新BT trackerslist
剩下的事情就是盡情去玩耍吧!!!
【轉載請注明出處:http://feiji.work】
總結
以上是生活随笔為你收集整理的armbian宝塔_斐讯N1+Armbian+宝塔+Apache+Mysql+PHP+cloudreve+aria2实现云存储+离线下载服务器...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 金沙江创投 张予彤:互联网下半场—从连接
- 下一篇: 解决Oracle数据库1521端口tel