新聞中心
首先,什么是 Seafile ?

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡(jiǎn)單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名申請(qǐng)、虛擬空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、五寨網(wǎng)站維護(hù)、網(wǎng)站推廣。
Seafile 是一個(gè)自托管文件同步程序,采用客戶端/服務(wù)器模式,即你有筆記本、手機(jī)等多個(gè)設(shè)備,能夠連接到一個(gè)中心服務(wù)器。
不像類似 Nextcloud 或 ownCloud 這些更流行的替代品一樣,Seafile 試圖遵循 “只做一件事,但是要做好” 的理念。同樣,Seafile 沒有內(nèi)置額外的類似聯(lián)系人或者日歷聚合的功能。
相反,Seafile 只專注于文件同步、共享及與之相關(guān)的事情,僅此而已。但正因?yàn)槿绱?,它最終做的非常好。
使用 Docker 和 NGINX 部署 Seafile 服務(wù)器
高級(jí)教程
我們的許多教程都是針對(duì)初學(xué)者的。這篇?jiǎng)t不然,它是為那些經(jīng)常鼓搗 DIY 項(xiàng)目和喜歡自托管的高級(jí)用戶設(shè)計(jì)的。這個(gè)教程假定你可以熟練的使用命令行,而且你至少對(duì)我們將要使用的程序有一定的了解。
雖然整個(gè)過程完全可以不使用 NGINX ,但是使用 NGINX 更加容易配置,而且在將來更加容易的自托管更多的服務(wù)。
如果你想完全使用 Docker 環(huán)境,你也可以 在 Docker 內(nèi)部設(shè)置 NGINX ,但是它這會(huì)使事情變得更加復(fù)雜,并且不能夠帶來太多好處。同樣,在本教程里也不會(huì)涉及這些。
安裝設(shè)置 NGINX
在這個(gè)教程中,我會(huì)使用 Ubuntu,因此會(huì)使用 apt 來安裝軟件包。如果你使用 Fedora 或者一些其他非 Debian 發(fā)行版,請(qǐng)使用你的發(fā)行版的 包管理器。
NGINX 既是一個(gè)網(wǎng)頁(yè)瀏覽器,又是一個(gè)代理服務(wù)器。它將起到 Seafile 服務(wù)器和互聯(lián)網(wǎng)之間網(wǎng)絡(luò)連接的作用,同時(shí)也使一些任務(wù)更容易處理。
要安裝 NGINX ,使用以下命令:
sudo apt install nginx
如果你想使用 HTTPS(也就是瀏覽器中的小掛鎖),你需要安裝 Certbot:
sudo apt install certbot python3-certbot-nginx
下一步,你需要設(shè)置 NGINX 來連接我們之后將要設(shè)置的 Seafile 實(shí)例。
首先,運(yùn)行以下命令:
sudo nano /etc/nginx/sites-available/seafile.conf
鍵入下方的文本到文件中:
server {
server_name localhost;
location / {
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
重要: 將 server_name 一行的 localhost 替換為你要訪問你的服務(wù)器的地址(比如 seafile.example.com 或者 192.168.0.0)。不確定要輸入什么嗎?
- 如果你只是為了測(cè)試,使用
localhost。這個(gè)設(shè)置將 只允許你從你的電腦訪問服務(wù)器 ,僅此而已。 - 如果你想通過你的本地 Wi-Fi 連接使用 Seafile(與你在同一 Wi-Fi 網(wǎng)絡(luò)上),你應(yīng)該鍵入 你的計(jì)算機(jī) IP 地址。你也可以考慮 設(shè)置一個(gè)靜態(tài) IP 地址,盡管這不是必須的。
- 如果你有一個(gè)公網(wǎng) IP 地址,你知道它指向你的系統(tǒng),就使用它。
- 如果你有一個(gè)域名(比如
example.com、example.org)和公網(wǎng) IP 地址,更改你的 DNS 設(shè)置,將域名指向你的系統(tǒng)的 IP 地址。這也需要將公網(wǎng) IP 指向你的系統(tǒng)。
現(xiàn)在你需要復(fù)制配置文件到 NGINX 的查找目錄中,然后重啟 NGINX :
sudo ln -s /etc/nginx/sites-available/seafile.conf /etc/nginx/sites-enabled/seafile.conf
sudo systemctl restart nginx
如果你要安裝 Cerbot,你也需要運(yùn)行以下命令來設(shè)置 HTTPS :
sudo certbot
如果要重定向 HTTP 流量 到 HTTPS ,選擇 2 。
現(xiàn)在可以來確認(rèn)我們目前設(shè)置的一切都是否正常工作。如果你訪問你的站點(diǎn),你應(yīng)該看到一個(gè)屏幕上寫著 502 Bad Gateway 字樣。
安裝 Docker 和 Docker Compose
現(xiàn)在要進(jìn)入有趣的部分了!
首先,你需要安裝 Docker 和 Docker Compose 。Docker Compose 需要利用 docker-compose.yml 文件,這將使管理多個(gè) Docker 容器 的 Seafile 需求變得更加容易。
Docker 和 Docker Compose 可以用以下的命令來安裝:
sudo apt install docker.io docker-compose
檢查 Docker 是否安裝并運(yùn)行,運(yùn)行以下命令:
sudo docker run --rm hello-world
如果你完全安裝成功,你應(yīng)該在終端能看到這幾行文字:
如果你想避免在 docker 命令的開始添加 sudo 的話,你可以運(yùn)行以下的命令將你自己添加到 docker 組:
sudo groupadd docker
sudo usermod -aG docker $USER
這個(gè)教程的其余部分假定你已經(jīng)運(yùn)行了以上兩個(gè)命令。如果你沒有運(yùn)行,在所有 docker 或 docker-compose 的命令都添加 sudo 。
安裝 Seafile 服務(wù)器
這部分比之前部分明顯容易的多。你所需要做的是輸入一些文本到文件,然后運(yùn)行一些命令。
打開一個(gè)終端,然后創(chuàng)建一個(gè) Seafile 服務(wù)器用來儲(chǔ)存內(nèi)容的目錄,并進(jìn)入目錄中:
mkdir ~/seafile-server && cd ~/seafile-server
轉(zhuǎn)到你創(chuàng)建的目錄然后運(yùn)行以下命令:
nano docker-compose.yml
下一步,在彈出的窗口中鍵入以下文本內(nèi)容:
version: '2.0'
services:
db:
image: mariadb
container_name: seafile-mysql
environment:
- MYSQL_ROOT_PASSWORD=password
- MYSQL_LOG_CONSOLE=true
volumes:
- ./data/mariadb:/var/lib/mysql
networks:
- seafile-net
memcached:
image: memcached
container_name: seafile-memcached
entrypoint: memcached -m 256
networks:
- seafile-net
seafile:
image: seafileltd/seafile-mc
container_name: seafile
ports:
- "8080:80"
volumes:
- ./data/app:/shared
environment:
- DB_HOST=db
- DB_ROOT_PASSWD=password
- TIME_ZONE=Etc/UTC
- [email protected]
- SEAFILE_ADMIN_PASSWORD=password
- SEAFILE_SERVER_LETSENCRYPT=false
- SEAFILE_SERVER_HOSTNAME=docs.seafile.com
depends_on:
- db
- memcached
networks:
- seafile-net
networks:
seafile-net:
在保存文件之前,一些參數(shù)需要更改:
MYSQL_ROOT_PASSWORD:更換強(qiáng)壯的密碼,你不必記住它,所以不要嘗試挑選簡(jiǎn)單的密碼。如果你需要幫助生成一個(gè),請(qǐng)使用 密碼生成器 。我建議使用 20 位字符長(zhǎng)度并且避免使用任何的特殊字符(!@#$%^&*等符號(hào))。DB_ROOT_PASSWD:更改你為MYSQL_ROOT_PASSWORD設(shè)置的值 。SEAFILE_ADMIN_EMAIL:設(shè)置管理員帳戶的電子郵件地址。SEAFILE_ADMIN_PASSWORD:設(shè)置管理員帳戶密碼。避免與MYSQL_ROOT_PASSWORD或者DB_ROOT_PASSWD密碼相同。SEAFILE_SERVER_HOSTNAME:在 NGINX 配置中設(shè)置 Seafile 的服務(wù)器主機(jī)名。
完成之后,你可以運(yùn)行 docker-compose 整個(gè)運(yùn)行起來:
docker-compose up -d
可能需要花一到兩分鐘,取決于你的網(wǎng)速,因?yàn)樾枰聨讉€(gè) Seafile 需要運(yùn)行的幾個(gè)容器。
完成以后,還需要幾分鐘來完成。你也可以通過以下命令來檢查運(yùn)行狀態(tài):
docker logs seafile
當(dāng)完成了,你將會(huì)看到如下輸出:
下一步,你只需要在你的瀏覽器里鍵入你設(shè)置的 SEAFILE_SERVER_HOSTNAME 的地址,然后你應(yīng)該看到登錄屏幕的頁(yè)面。
就這樣!現(xiàn)在一切功能齊全,準(zhǔn)備用客戶端來使用。
安裝 Seafile 客戶端
Seafile 移動(dòng)客戶端在 Google Play、F-Droid 和 蘋果商店 都是可用的。Seafile 也有 Linux、Windows 和 Mac 桌面客戶端可用,可在 此處 找到。
通過 seafile-gui 軟件包,可以在 Ubuntu 系統(tǒng)輕松獲得 Seafile :
sudo apt install seafile-gui
通過 seafile-client 軟件包 Seafile 也包含在 Arch 用戶的 AUR 包管理器中。
結(jié)語(yǔ)
請(qǐng)盡情探索客戶端及其所能提供的一切。我將在未來的一篇文章中詳細(xì)闡述 Seafile 客戶端的所有功能。(敬請(qǐng)期待 )
總的來說,如果有什么錯(cuò)誤,或者你有什么問題,請(qǐng)?jiān)谙路皆u(píng)論 – 我會(huì)盡我所能回應(yīng)。
當(dāng)前文章:怎樣用Docker部署Seafile服務(wù)器來托管你自己的文件同步和共享解決方案
文章位置:http://fisionsoft.com.cn/article/dphgscd.html


咨詢
建站咨詢
