1. 程式人生 > >seafile服務端的搭建

seafile服務端的搭建

環境:CentOS Linux release 7.2.1511 (Core)
一、準備工作
1.1 安裝wget、vim

yum install -y wget vim

1.2 安裝epel、Nux Dextop
1.3 防火牆上放行8000(seahub服務,seahub 是 Seafile 伺服器的 Web 端),8082埠(seafile fileserver服務, 負責為 Seahub 處理檔案的上傳和下載)。
firewall-cmd --zone=public --add-port=8000/tcp --permanent
firewall-cmd --zone=public --add-port=8082/tcp --permanent
firewall-cmd --reload #重啟firewall

檢視已經開放的埠:
firewall-cmd --list-ports

安裝epel源

rpm -ivh http://mirrors.ustc.edu.cn/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm

安裝Nux Dextop源

rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
二、部署seafile
2.1 安裝mysql/mariadb

選擇安裝mariadb

yum -y install mariadb mariadb-server

啟動、開機啟動

systemctl start mariadb
systemctl enable mariadb

安全設定

mysql_secure_installation

根據下面的內容進行設定

第一次執行密碼為空,回車。

Enter current password for root (enter for none):

需要設定root密碼,輸入y後回車。

Set root password? [Y/n] y
接著輸入兩次新密碼。

是否刪除匿名使用者,回車。

Remove anonymous users? [Y/n]

是否禁止root遠端登入,回車。

Disallow root login remotely? [Y/n]

是否刪除test資料庫,回車。

Remove test database and access to it? [Y/n]

是否重新載入許可權表,回車。

Reload privilege tables now? [Y/n]

PS.如果需要遠端連線,可以用下面的內容設定。

允許任意ip使用root遠端連線

create user 'root'@'%' identified by 'root遠端登入的密碼';

新增許可權給該root

grant all privileges on . to 'root'@'%' identified by 'root遠端登入的密碼';

配置立即生效

flush privileges;

2.2 安裝依賴項
yum install -y python-memcached \
python-ldap \
python-urllib3 \
python-imaging \
MySQL-python \
python-distribute \
ffmpeg \
ffmpeg-devel
2.3 安裝seafile

獲取安裝包

cd
wget http://seafile-downloads.oss-cn-shanghai.aliyuncs.com/seafile-server_6.2.5_x86-64.tar.gz

解壓

tar zxf seafile-server_6.2.5_x86-64.tar.gz

執行shell指令碼安裝

cd seafile-server-*
./setup-seafile-mysql.sh

根據下面的內容進行設定

顯示給客戶端的服務名,輸入服務名後回車。

What is the name of the server? It will be displayed on the client.

  • 15 letters or digits
    [ server name ] OpsBakPE

輸入ip或域名,由於內部使用直接ip,輸入ip後回車。

What is the ip or domain of the server?
For example: www.mycompany.com, 192.168.1.101
[ This server's ip or domain ] 192.168.16.203

使用預設,將資料檔案放在/root/seafile-data下,回車。

Where do you want to put your seafile data?
Please use a volume with enough free space
[ default "/root/seafile-data" ]

使用預設的檔案服務埠8082,回車。

Which port do you want to use for the seafile fileserver?
[ default "8082" ]

使用新的seahub資料庫,輸入1後回車。


Please choose a way to initialize seafile databases:

[1] Create new ccnet/seafile/seahub databases
[2] Use existing ccnet/seafile/seahub databases

[ 1 or 2 ] 1

由於剛才裝了mariadb,使用預設本地,回車。

What is the host of mysql server?
[ default "localhost" ]

mariadb的預設埠就是3306,回車。

What is the port of mysql server?
[ default "3306" ]

使用預設的seafile作為seafile使用mariadb的使用者,回車。

Enter the name for mysql user of seafile. It would be created if not exists.
[ default "seafile" ]

輸入mariadb的使用者seafile的密碼,回車。

Enter the password for mysql user "seafile":
[ password for seafile ]

使用預設ccnet-db作為ccnet-server使用的資料庫名,回車。

Enter the database name for ccnet-server:
[ default "ccnet-db" ]

使用預設seafile-db作為seafile-server使用的資料庫名,回車。

Enter the database name for seafile-server:
[ default "seafile-db" ]

使用預設seahub-db作為seahub使用的資料庫名,回車。

Enter the database name for seahub:
[ default "seahub-db" ]

檢查配置項,沒有問題回車安裝。

等待片刻,安裝完成。

2.4 啟動seafile、seahub

啟動seafile服務

./seafile.sh start

啟動seahub網站(不加埠的情況下預設執行在8000埠上)

./seahub.sh start 8000
PS.第一次啟動 seahub 時,seahub.sh指令碼會提示建立seafile管理員帳號(郵箱名)。

2.5 訪問seafile

瀏覽器訪問http://部署seafile的虛擬機器IP,使用剛才建立的管理員賬號登入。