1. 程式人生 > >[原創] debian 9.3 搭建seafile企業私有網盤

[原創] debian 9.3 搭建seafile企業私有網盤

機器 get all sha 時間 x86 user .sh 6.2

[原創] debian 9.3 搭建seafile企業私有網盤

需求是這樣的, 個人疲憊於 "成為大夥的文件中轉站" ,公司不管大大小小的文件,都要打電話過來“轉個xx文件”、“幫我找找xx文件”,一兩次還好, 但是逐漸越來越多的人依賴於中間轉發文件, 不勝其煩。 於是乎,想到了以下2個方案:1是共享文件夾,2是ftp服務器。 由於我們沒有在域環境中, 所以“共享文件夾”的好處是簡單、方便,但是其惡心的地方是權限控制手段單一,通常以某個賬戶登錄後,除了使用cmd下的net use /user:user 命令, 很難短時間內切換不同的賬戶,這樣不便於文件的分級別、分權限管理文件。然後考慮第二種,使用ftp的方式(filezilla server + filezilla客戶端), 但是這樣除了要安裝filezilla客戶端或者使用browser來瀏覽文件外,最大的問題在於ftp的路徑映射操作相對麻煩,而且缺少移動端的支持。(主要是我們基層員工的IT技能水平實在堪憂, 稍微復雜一點的都不會, 也沒有意願去學習……)

最後,想到了大夥還經常用百度網盤, 所以搭“企業私有雲盤”的想法孕育而生, 鐺鐺鐺~~~ 經過篩選,我選擇seafile,主要是nextcloud這個產品需要nginx、redis等等東西,但是服務器上的nginx已經跑了別的應用了。seafile基於python運行, 相對來講還好處理一些, 最主要的是有1000+版本, 了解的應該都明白啥意思

接下來, 開始安裝。

一、安裝python運行環境。我使用的debian 9.3.

直接使用一下命令完成python安裝:

apt-get  install  python2.7  python-setuptools  python-imaging  python-ldap  python-mysqldb  python-memcache  python-urllib3

mysql的部門我沒有安裝, 因為這臺機器之前是裝過mysql的.

二、下載seafile的安裝文件, seafile-pro-server_6.2.13_x86-64_Ubuntu-1000.tar,並且通過sumba傳送到debian的共享文件夾中。雖有通過以下命令, 解壓並運行seafile的安裝文件,按操作提示即可。

cp  /home/share/seafile-pro-server_6.2.13_x86-64_Ubuntu-1000.tar  /opt/seafile

tar  -xzf  /opt/seafile/seafile-pro-server_6.2.13_x86-64_Ubuntu-1000.tar

cd /opt/seafile

./setup-seafile-mysql.sh

接下來就會進入啟動安裝的過程, 一路按照提示來操作即可.

值得說明登錄是seafile會安裝3個數據庫, 分別為ccnet_db、seafile_db、seahub_db三個數據庫, 用戶名都是一樣的, 為了方便備份, 我們需要修改一下mysql的權限.

並且seahub使用8000端口, seafile使用8080端口, 平常情況下使用seahub的8000端口就能完成各種文件的使用工作。

三、設置mysql的權限, 方便對這幾個數據庫進行備份。通過一下命令設置mysql的訪問權限。

mysql -u root -p



grant all privileges on ccnet_db.* to ‘seafile‘@‘%‘ identified by ‘XXXXX‘ with grant option;

grant all privileges on ccnet_db.* to ‘seafile‘@‘localhost‘ identified by ‘XXXXX‘ with grant option;



grant all privileges on seafile_db.* to ‘seafile‘@‘%‘ identified by ‘XXXXX‘ with grant option;

grant all privileges on seafile_db.* to ‘seafile‘@‘localhost‘ identified by ‘XXXXX‘ with grant option;


grant all privileges on seahub_db.* to ‘seafile‘@‘%‘ identified by ‘XXXXX‘ with grant option;

grant all privileges on seahub_db.* to ‘seafile‘@‘localhost‘ identified by ‘XXXXX‘ with grant option;


flush privileges;

exit;

四、數據庫備份完畢後,還需要做一個可選的操作, 即:將seafile的啟動項seafile.sh和seahub.sh添加到/etc/init.d/中, 便於統一管理。

將seafile安裝目錄下的seafile.sh和seahub.sh文件復制到/etc/init.d目錄中,並將原seafile目錄中的seafile.sh和seahub.sh改名為seafile.sh.bak和seahub.sh.bak。

之後分別打開/etc/init.d/seafile.sh 和 /etc/init.d/seahub.sh兩個文件, 分別將SCRIPT的內容改為腳本的真實目錄, 例如:

#註釋掉原先的SCRIPT內容
# SCRIPT=$(readlink -f "$0")

#修改為
SCRIPT="/opt/seafile/seafile-server/seahub.sh"

#另外一個文件也類似的改為
SCRIPT="/opt/seafile/seafile-server/seafile.sh"

這樣, 就可以在機器重啟過後, 通過/etc/init.d/seafile.sh start 和 /etc/init.d/seahub.sh 來啟動私有網盤了.

==========================老規矩, 下面是網上找的一些圖片, 我就不截圖了=====================

技術分享圖片

[原創] debian 9.3 搭建seafile企業私有網盤