Seafile 開源雲端儲存系統實戰 團隊協作的分享平台
文/圖:顧武雄
組織中每天有各種專案任務,需要進行文件分享。有人選擇使用 Email,有人選擇公用的雲端空間,更有企業IT為此導入了價格不低的商用文件管理系統。事實上我們有更聰明的解決方案,就是建置一部以 Ubuntu 16.04 為基礎的 Seafile 私有雲端儲存系統,不僅省錢省力,更讓所有資訊工作者一次就愛上它。
現今的雲端儲存空間服務相當多,而且都是針對個人用戶與企業設計的,但部分企業會卻會選擇將內部網路的檔案伺服器,搬移至公有雲的儲存空間服務。但將企業敏感資料放在公有雲端始終令人不安,倒不如選擇一個既省錢又實用的私有雲方案,搭建一個屬於企業能夠完全掌控的儲存分享平台,在此筆者前列推薦開源的 Seafile。
Seafile 簡介
Seafile 是一個提供多國語言界面的雲端儲存系統,非常適合組織中的小組團隊進行檔案的集中管理與分享,且支援了跨平台的電腦與行動裝置之連線存取,包括 Linux、Windows、Android 和 iOS。在伺服器的建置部分,除了支援 Linux 與 Windows 之外,還增加支援了 Raspberry Pi 專屬的安裝套件。以上無論是伺服端還是用戶端套件,都可以在官方網站下載。
https://www.seafile.com/en/download/
安裝 Seafile
筆者將以安裝在 64 位元的 Ubuntu 16.04 作業系統上為例,解說 Seafile 儲存共享平台的建置。Seafile 提供 Community 與 Professional 兩種版本,前者僅提供常用的管理功能,後者則可以滿足有進階整合的 IT 需求,包括同步 LDAP、Active Directory 的使用者群組、整合 Office Web App、提供文件全文檢索功能、防毒軟體整合、存取稽核查詢、雙因子身份驗證等等。在此建議先安裝使用 Community 版本即可,等到未來確定有上述進階功能的需求時,將可以直接轉換成為 Professional 版本。開啟 Ubuntu 桌面的命令提視窗,依序執行以下命令參數,即可完成 Seafile 檔案目錄的配置(圖1)。
mkdir lab03 (ENTER)
mv seafile-server_* lab03 (ENTER)
cd lab03 (ENTER)
tar -xzf seafile-server_* (ENTER)
mkdir installed (ENTER)
mv seafile-server_* installed (ENTER)
其中 lab03 是可以自行命名的組織名稱,從這個範例中可以查看到筆者所下載的 6.0.9 的 Seafile Server 版本。想要查看指定目錄的兩層結構,只要執行「tree 目錄名稱 -L 2」即可。
(seafile01)
準備好 Seafile Server 套件後,先要完成 MySQL Server 的安裝。
sudo apt-get install mysql-server (ENTER)
過程中將出現套件設定視窗(圖2),必須設定好一組預設系統管理員 root 的密碼並且牢記它,待回將會用到,完成後檢查 MySQL Server 的狀態。
systemctl status mysql.service (ENTER)

如要加裝 MySQL 的 Client 套件,只要加入 mysql-client 敘述即可。我們可以自由選擇讓 Seafile 使用 MySQL 或是 SQLite,網站平台部分則支援了 Nginx 與 Apache。

接下來還必須安裝 Seafile 相關必要套件,那就是 python(圖3)。
apt-get install python2.7 libpython2.7 python-setuptools python-imaging python-ldap python-mysqldb python-memcache python-urllib3 (ENTER)

完成後就可以執行 Seafile 安裝設定。在前面步驟中所建立的組織目錄下,切換至 Seafile 安裝路徑。
cd seafile-server-* (ENTER)
然後執行以下命令。
sudo ./setup-seafile-mysql.sh (ENTER)
執行後系統將會開始檢查所有必要的套件是否皆已經就位,確認無誤之後只要按下 Enter 鍵就可以開始接下來的設定(圖4)。

執行後首先必須伺服器名稱以及將提供連線的位址,此位址可以 IP 或是 FQDN。然後可以自訂預設資料的儲存路徑,以及 Seafile 檔案伺服器服務的連接埠口,建議採用預設值即可。緊接著必須完成 Seafile 資料庫的初始化設定。首先我們必須輸入 1 來選取 Create new ccent/seafile/seahub databases 選項,也就是建立 Seafile 三個所需要的資料庫在 MySQL Server 之中。在此由於我們已在本機安裝了 MySQL Server,因此採用預設的 localhost 以及輸入 root 的帳號及密碼即可。通過驗證後,就可以決定是否要使用預設將新建的 seafile 帳戶,來做為存取上述三種資料庫的帳戶。最後確認三個新資料庫的命名,就可以看到 Seafile Server 的完整組態資訊,這包括了伺服器名稱、伺服器位址、資料存放路徑、檔案伺服器連接埠、以及資料庫的設定資訊(圖5)。

在完成 Seafile 安裝設定之後,其檔案伺服器與網站的服務將會自動啟動,如果要重新開機則可執行以下命令(圖6)。
sudo ./seafile.sh start (ENTER)
sudo ./seahub.sh start (ENTER)
