开源云盘 Seafile 配置操作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了开源云盘 Seafile 配置操作相关的知识,希望对你有一定的参考价值。

1.简介

Seafile 是一款开源的云盘系统,支持 Windows, Mac, Linux, ios, android 平台。支持文件同步或者直接挂载到本地访问。具体的情况可以参考官网描述 ​​https://www.seafile.com/home/​

和其它几款开源的云盘相比,例如 NextCloud、OwnCloud、Cloudreve相比,Seafile 最方便的是它的文件上传的性能(基本可以达到全网速,其它几个版本无法实现全网速上传或下载)、全平台的客户端支持和简易的安装配置操作。

缺点主要是文件上传后自动拆分为小文件的方式保存,另外管理端如需高级功能(例如组织架构管理、用户空间分配管理等)需要收费的企业版本。

Seafile 8.04的版本说明不支持 CentOS7,实际测试是没有问题的。以下的环境基于CentOS 7 的操作系统配置。有关 CentOS7 的配置可以参考 ​​Linux 系统生产环境配置指南​

2.下载安装包

下载对应版本(mysql)的安装包并解压到需要安装的文件夹。

开源云盘

3.安装 MySQL 8

3.1.切换清华国内源

wget https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql80-community-el7/mysql80-community-release-el7-3.noarch.rpm
rpm -qa |grep mariadb
yum install mysql-server
systemctl enable mysqld

3.2.配置 数据库文件 my.cnf

需要注意配置文件中的 “default_authentication_plugin=mysql_native_password” 项目,如果没有该项目,数据库启动后连接时会提示密码错误。

[client]
port = 3306
socket = /data/mysql/mysql.sock

[mysql]
prompt = "\\u@mysqldb \\R:\\m:\\s [\\d]> "

[mysqld]
datadir = /data/mysql
socket = /data/mysql/mysql.sock
character_set_server = UTF8MB4
default_time_zone = "+8:00"
plugin_dir = /usr/lib64/mysql/plugin
default_authentication_plugin=mysql_native_password

##performance setttings
lock_wait_timeout = 3600
open_files_limit = 65535
max_connections = 512
table_open_cache = 1024
table_definition_cache = 1024
thread_cache_size = 768
interactive_timeout = 600
log_timestamps = SYSTEM
log_error = /data/mysql/error.log
slow_query_log = 1
slow_query_log_file = /data/mysql/slow.log
##innodb settings
innodb_buffer_pool_size = 45875M
innodb_data_file_path = ibdata1:12M:autoextend
## 根据您的服务器IOPS能力适当调整
## 一般配普通SSD盘的话,可以调整到 10000 - 20000
## 配置高端PCIe SSD卡的话,则可以调整的更高,比如 50000 - 80000
innodb_io_capacity = 4000
innodb_io_capacity_max = 8000
innodb_open_files = 65535

3.3.初始化密码

MySQL 8.0 初始化会自动生成 root 密码,保存在数据库的日志文件中

grep "temporary password" /var/log/mysqld.log

开源云盘

3.4.修改密码安全等级

set global validate_password.policy=0;

3.5.重置 root 密码

mysqld --user=mysql --console --skip-grant-tables
set global validate_password.policy=0;
alter user root@localhost identified by www.password;

3.6.添加用户

create user confluence@localhost identified with mysql_native_password by www.myj123.com;
grant all privileges on confluence.* to confluence@localhost;
set global validate_password.policy=0;

4.安装 Java 环境

配置 JDK 1.8 环境

tar zxvf jdk-8u192-linux-x64_\\(1\\).tar.gz
mv jdk1.8.0_192/ /usr/local/jdk
vim /etc/profile
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL
export JAVA_HOME=/usr/local/jdk
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib
source /etc/profile

5.配置 python pip 组件

yum install python3 python3-setuptools python3-pip python3-ldap python3-devel mysql-devel gcc gcc-c++ -y
mkdir -p ~/.pip
cat > ~/.pip/pip.conf <<EOF
[global]
index-url = https://opentuna.cn/pypi/web/simple
trusted-host = opentuna.cn
timeout = 120
[install]
trusted-host = opentuna.cn
EOF
pip3 install --user --timeout=3600 django==2.2.* future mysqlclient pymysql Pillow pylibmc
pip3 install --user --timeout=3600 captcha jinja2 sqlalchemy==1.4.3 psd-tools django-pylibmc django-simple-captcha
yum install libreoffice libreoffice-headless libreoffice-pyuno
pip3 install --user --upgrade pip
pip3 install --user cryptography

6.seafile 安装

按提示完成 seafile 安装。如果在安装过程中出现数据库无法创建或验证不成功的情况,可以参照重置密码的方式重新设定对应数据库的用户密码

7.配置防火墙

firewall-cmd --zone=public --add-port=80/tcp --permanent

8.配置代理服务器

yum install nginx
vim /etc/nginx/conf.d/seafile.conf


server 

listen 80;
server_name seafile.test.lan;
root html;
index index.html index.htm;

location /
root html;
index index.html index.htm;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8000;

proxy_set_header X-Forwarded-Host $server_name;
proxy_read_timeout 300s;
proxy_send_timeout 300s;
send_timeout 300s;
client_max_body_size 0;



location /seafhttp
rewrite ^/seafhttp(.*)$ $1 break;
proxy_pass http://127.0.0.1:8082;
client_max_body_size 0;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 36000s;
proxy_read_timeout 36000s;
proxy_send_timeout 36000s;
send_timeout 36000s;


error_page 404 /50x.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html
root html;

9.配置 seafile

vim ./seahub/seahub/utils/licenseparse.py

开源云盘

开源云盘


以上是关于开源云盘 Seafile 配置操作的主要内容,如果未能解决你的问题,请参考以下文章

Seafile开源文件同步和分享SAAS云盘

Seafile开源文件同步和分享SAAS云盘

Seafile搭建私有云盘

Linux搭建开源企业云盘Seafile,私有文件同步云盘及基本使用

Linux搭建开源企业云盘Seafile,私有文件同步云盘及基本使用

开源网盘云存储 Seafile