驰网飞飞 发表于 6 天前

Linux服务器安装私有文件同步云盘Seafile超详细教程

Seafile私有云盘程序是北京海文科技的一个产品,Seafile这个名称简单好记,sea海,file文件。是一款强大优秀的云同步软件,拥有跨平台文件同步、移动端文件访问、挂载盘、文件共享和权限控制、文件锁定、文件版本管理和资料库镜像、在线编辑和协同编辑、审计日志等功能。更多功能安装使用后你就会发现。

seafile程序是一个服务端,多种客户端,可以是安装的客户端,也可以是网页访问管理的客户端。这里我选择nginx服务器作为服务端的发布。客户端使用浏览器访问即可。

1、首先我们先用SSH连接工具连接到服务器,输入以下命令看下服务器是什么版本的,我的是CentOS 7.6。需要注意Ubuntu 20或者CentOS 8是安装不了Seafile。
cat /etc/centos-release


防火墙上放行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
firewall-cmd --reload
2、确定服务器版本后我们可以先给服务器安装MySQL/mariadb、nginx和环境需要的依赖包。

安装mysql/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
接着输入两次新密码。

是否删除匿名用户,回车。
Remove anonymous users?
是否禁止root远程登录,回车。
Disallow root login remotely?
是否删除test数据库,回车。
Remove test database and access to it?
是否重新加载权限表,回车。
Reload privilege tables now? PS:如果需要远程连接,可以用下面的内容设置。

允许任意ip使用root远程连接
create user 'root'@'%' identified by 'root远程登录的密码';
添加权限给该root
grant all privileges on . to 'root'@'%' identified by 'root远程登录的密码';
配置立即生效
flush privileges
#安装seahub依赖
yum install python python-setuptools MySQL-python python-urllib3 python-ldap -y
#安装office预览插件
sudo yum install libreoffice libreoffice-headless libreoffice-pyuno poppler-utils
#安装字体文件
sudo yum install wqy-microhei-fonts wqy-zenhei-fonts wqy-unibit-fonts -y
3、下载安装seafile-server
#创建安装目录
mkdir /opt/seafile
#切换至安装目录
cd /opt/seafile
#下载安装包
wget http://seafile-downloads.oss-cn-shanghai.aliyuncs.com/seafile-server_7.0.5_x86-64.tar.gz
#解压
tar -zxvf seafile-server_7.0.5_x86-64.tar.gz
wget https://www.seafile.com/download/seafile-server_11.0.5_x86-64.tar.gz
#安装
/opt/seafile/seafile-server-7.0.5/setup-seafile-mysql.sh
输入命令后,Press ENTER to continue 按回车继续

接着设置server name 服务器名称,这个名称是显示在客户端上的,3-15个英文大小写或数字,确定后回车

接着输入域名和IP,可以参考示例,输入后回车

接着你想把seafile服务器的数据存放在哪个目录呢?默认是 /opt/seafile/seafile-data,输入目录后回车

设置好后继续设置端口,你想用哪个端口就用哪个端口,如果是你的服务器是云服务器,需要在控制台-安全组开放对应的端口,如果是物理服务器,要联系服务商过白端口号或是对应域名,默认是8082端口。另外注意这个端口不能与服务器内其它服务端口冲突。

设置好端口后会让你选择初始化数据库的方式1 or 2,两种方式我选择的是1:新建数据库
1、建新的seahub数据库
2、使用现有的seahub数据库

MySQL服务器的主机名,默认是localhost,也可以填127.0.0.1

MySQL服务器的服务端口,默认是3306,如果是填写的另外端口,云服务器需要在安全组开放。

然后输入数据库root密码,注意不是服务器密码哦,密码输入后是不会显示出来的。

输入seafile服务器的MySQL用户名,默认是seafile。

为数据库用户seafile设置个密码,密码输入后是不会显示出来的

输入ccnet服务器的数据库名称,默认ccnet-db

输入seafile服务器的数据库名称,默认seafile-db

输入seahub的数据库名称,默认seahub-db

Press ENTER to continue, or Ctrl-C to abort 回车继续,或按ctrl-c中止

当提示Your seafile server configuration has been finished successfully 说明seafile服务器已经配置完成。

启动并配置管理员
注:不能以root用户启动,否则搜索会用不了,所以需要先创建个启动用户
useradd --system --comment "seafile" seafile --create-home --home-dir/home/seafile
#修改目录权限
chown -R seafile.seafile /opt/seafile
#切换seafile用户执行启动
sudo -u seafile    /opt/seafile/seafile-server-7.0.5/seafile.sh start
sudo -u seafile    /opt/seafile/seafile-server-7.0.5/seahub.sh start
设置seahub管理员的管理邮箱和密码,设置好后即开启成功,seahub用的是8000端口,云服务器需要在安全组开放。

配置反向代理
在宝塔中添加一个新站点,填写域名,然后PHP版本选择纯静态

在网站设置中创建反向代理

修改反向代理的配置文件
location / {

proxy_pass http://127.0.0.1:8000;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header X-Forwarded-Host $server_name;

proxy_read_timeout 1200s;

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;

proxy_request_buffering off;

}

location /media {

root /opt/seafile/seafile-server-7.0.5/seahub;

}修改好后重启nginx服务即可。

感谢您的阅读,服务器大本营-技术文章内容集合站,助您成为更专业的服务器管理员!
页: [1]
查看完整版本: Linux服务器安装私有文件同步云盘Seafile超详细教程

点击直接加入[服务器大本营QQ频道]