來自己建個Dropbox, Google Drive - Seafile

by 22:21:00 0 comments



這篇會跟大家介紹如何自己建設一個類似類似 Google Drive, Dropbox 的伺服器。(自己硬碟比較便宜不安全就是了 XD)
這個是因為前陣子整理 File Server,翻東西真的好麻煩就在找Solution。找到 Seafile、ownCloud、SparkleShare 這些,但感覺上 Seafile 比較全面就試試了。

 

 

詳細功能

我們接下來會使用 Community Edition ( 因為是免費啦 ),有興趣的人可以自己買 Business Edition。
我們可以在這兒下載它的 Server 端。
個人比較喜歡用 Linux 當 Server,所以會以 Linux 當教學。如果需要 Windows 版的可以留言我再準備,至於 Raspberry Pi 相信買它的人也有能力自己來了 XD

 

安裝步驟

環境 : Ubuntu 14.04 
  1. 用 cd 到你找得到的地方,For example cd /home/illidanwg
  2. 我們先下載安裝包,到你找得到的地方。

    32bit wget https://bitbucket.org/haiwen/seafile/downloads/seafile-server_{version}_i386.tar.gz
    64bit
    wget https://bitbucket.org/haiwen/seafile/downloads/seafile-server_{version}_x86-64.tar.gz

    * 不知道自己裝什麼的可以用 uname -m 看 是 32bit 還是 64bit
    * {version} 這個要換成版本號這篇會用 3.0.4.
  3. 等他跑完。
  4. 這時候 ls 應該會看到你下載的 seafile-server_3.0.4_x86-64.tar.gz ( 版本個個人不一樣的)
  5. tar -zxvf seafile* 解壓縮 ( 這是懶人打法,好孩子請打全名不要用 * XD)
  6. 再 ls 時就會看到 seafile-server-3.0.4 的 directory。
  7. 進去以後會看到好多東西,先不要亂動,由於 Seafile 需要用到 database 我們要先 Config 一下。
  8. 輸入 sudo apt-get update && sudo apt-get install mysql-server
  9. 它會要你輸入 root 的密碼。
  10. 如果你不想直接在 Seafile 用 Database root 的密碼要用以下 SQL 指令建立 table 和 user

    create database `ccnet-db` character set = 'utf8';
    create database `seafile-db` character set = 'utf8';
    create database `seahub-db` character set = 'utf8';

    create user 'seafile'@'localhost' identified by 'seafile';

    GRANT ALL PRIVILEGES ON `ccnet-db`.* to `seafile`;
    GRANT ALL PRIVILEGES ON `seafile-db`.* to `seafile`;
    GRANT ALL PRIVILEGES ON `seahub-db`.* to `seafile`;
  11. 接下來還要裝一些Seafile 的 python 的軟件。

    python 2.6.5+ or 2.7
    python-setuptools
    python-simplejson
    python-imaging
    python-mysqldb


    可以用以下指令
    sudo apt-get update && sudo apt-get install python2.7 python-setuptools python-simplejson python-imaging python-mysqldb
  12. 東西都裝好以後我們就可以跑 ./setup-seafile-mysql.sh 開始安裝 Seafile server
  13. 按下去以後系統會一步一步,要求你輸入一些設定

    [server name] 這台server的名字,隨你喜歡打什麼都可以,但要 3-15 個英文、數字或 底線

    [This server's ip or domain] 這台 server 的 ip 或 domain name,建議有 domain 就用 domain,因為 ip 一變好多東西用不了,沒有就去申請一個 no-ip 的 ddns 吧!用 ip 也可以但真的不要轉因為會好煩....

    [ccnet server port] ccnet server 的 port 號,如沒特別用 default 就好了。

    [seafile data dir] seafile 存放 data 的地方,建議放到比較大的 partition,因為要放 index、data file 之類好多東西。

    [seafile server port] seafile server 的 port 號,如沒特別用 default 就好了。

    [httpserver port] http server 的 port 號,如沒特別用 default 就好了。
  14. 接下來它會問你
    (1) 用新的 database
    (2) 用自已的 database
    我們用 1 就好了,如果你有 backup 舊的再玩 2 吧!
  15. 也是按指示設定 database 的資料
  16. 設定完,它會跳出設定了的東西。沒問題就按 enter 讓它跑吧
  17. 跑完以後, 我們就可以用

    run seafile server:     ./seafile.sh { start | stop | restart }
    run seahub  server:     ./seahub.sh  { start <port> | stop | restart <port> }

    去開啟 server 了。
  18. 第一次用 ./seahub.sh start 時, 他會要求你設定 admin 的帳號。( 這步很重要,沒帳號上面就廢了)
  19. 2 個服務都成功 start 後。就可以在 http://{ip}:8000/ 用 admin 登入囉

可以用囉 !!


登入後可以在右上角設定其他帳號、權限之類的,也可以試試上傳下載資料囉!另外,很多人喜歡像 dropbox 那種自動同步,當然 seafile 也有提供。



 
可以在這兒下載到,這教學就到這裡了,其實還有其他功能和設定沒有提到。有興趣研究的人可以翻翻他們的Wiki 或留言問我,我會盡量解答我知道的 XD




0 comments:

Post a Comment