[原創] debian 9.3 搭建seafile企業私有網盤python
需求是這樣的, 我的疲憊於 "成爲大夥的文件中轉站" ,公司無論大大小小的文件,都要打電話過來「轉個xx文件」、「幫我找找xx文件」,一兩次還好, 可是逐漸愈來愈多的人依賴於中間轉發文件, 不勝其煩。 因而乎,想到了如下2個方案:1是共享文件夾,2是ftp服務器。 因爲咱們沒有在域環境中, 因此「共享文件夾」的好處是簡單、方便,可是其噁心的地方是權限控制手段單一,一般以某個帳戶登陸後,除了使用cmd下的net use /user:user 命令, 很難短期內切換不一樣的帳戶,這樣不便於文件的分級別、分權限管理文件。而後考慮第二種,使用ftp的方式(filezilla server + filezilla客戶端), 可是這樣除了要安裝filezilla客戶端或者使用browser來瀏覽文件外,最大的問題在於ftp的路徑映射操做相對麻煩,並且缺乏移動端的支持。(主要是咱們基層員工的IT技能水平實在堪憂, 稍微複雜一點的都不會, 也沒有意願去學習……)mysql
最後,想到了大夥還常常用百度網盤, 因此搭「企業私有云盤」的想法孕育而生, 鐺鐺鐺~~~ 通過篩選,我選擇seafile,主要是nextcloud這個產品須要nginx、redis等等東西,可是服務器上的nginx已經跑了別的應用了。seafile基於python運行, 相對來說還好處理一些, 最主要的是有1000+版本, 瞭解的應該都明白啥意思nginx
接下來, 開始安裝。redis
1、安裝python運行環境。我使用的debian 9.3.sql
直接使用一下命令完成python安裝:數據庫
apt-get install python2.7 python-setuptools python-imaging python-ldap python-mysqldb python-memcache python-urllib3
mysql的部門我沒有安裝, 由於這臺機器以前是裝過mysql的.服務器
2、下載seafile的安裝文件, seafile-pro-server_6.2.13_x86-64_Ubuntu-1000.tar,而且經過sumba傳送到debian的共享文件夾中。雖有經過如下命令, 解壓並運行seafile的安裝文件,按操做提示便可。python2.7
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
接下來就會進入啓動安裝的過程, 一路按照提示來操做便可.ide
值得說明登陸是seafile會安裝3個數據庫, 分別爲ccnet_db、seafile_db、seahub_db三個數據庫, 用戶名都是同樣的, 爲了方便備份, 咱們須要修改一下mysql的權限.學習
而且seahub使用8000端口, seafile使用8080端口, 日常狀況下使用seahub的8000端口就能完成各類文件的使用工做。
3、設置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;
4、數據庫備份完畢後,還須要作一個可選的操做, 即:將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 來啓動私有網盤了.
==========================老規矩, 下面是網上找的一些圖片, 我就不截圖了=====================