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,使用剛才建立的管理員賬號登入。