今天在知乎上看到一个问题说有一个服务器会怎么用,有人介绍了seafile,觉得不错,就放在阿里云上试了一下,效果非常好,记录之。
下面是整个的安装配置过程:
首先在seafile官网下载服务端安装包,https://www.seafile.com/download/,下载后解压到/root/seafile。
安装前解决依赖问题,如果系统自带Python,确认Python版本是2.7+:
yum -y install python-imaging MySQL-python python-memcached python-ldap python-urllib3 ffmpeg ffmpeg-devel
pip install pillow moviepy
seafile服务依托的数据库可以使SQLite,也可以是MySQL,建议MySQL会好一些,安装seafile之前要确认已经安装了MySQL,我就用了wp的MySQL,反正是两个库,互不冲突。
解决完前置条件后,就可以运行安装脚本了。
cd seafile-server-*
./setup-seafile-mysql.sh
按照脚本的引导设置各项内容即可。
一些参数如下:
seafile server name:seafile:服务器的名字,怎么高兴怎么写。
seafile server ip or domain:seafile服务器的ip或者域名,以后想怎么访问就怎么写,比如seafile.example.com
seafile data dir: seafile数据存放的位置,以后同步来的数据就存放在这个地方,保证这块硬盘有足够大的地方。
seafile fileserver port:文件传输服务所使用的端口,默认8082,官方文档说不能更改,可我设置成了别的端口貌似也没事,nginx反向代理的时候配置好就ok,可能因人而异吧。
安装过程中需要选择创建数据库的方式,可以让脚本创建其需要的几个库,也可以提前建好。一般就让脚本干这种事了,毕竟全新安装,不涉及旧数据什么的。
安装完成后,就可以去启动seahub和seafile两个服务了,seafile就是核心的文件服务,seahub是网页端的一个控制台。
seahub服务默认端口是8000,如果需要更改的话,比如更改成8001,就修改一下/root/seafile/conf/ccnet.conf中的如下配置:
SERVICE_URL = http://seafile.example.com:8001
修改之后cd到/root/seafile/seafile-server-latest下,执行启动脚本即可。
./seafile.sh start
./seahub start 8001 ##注意启动seahub时需要带上端口,否则就会按照默认的8000端口启动。
启动之后可以用ip:port的方式去网页上看一下了,登录上去之后就可以正常使用了。
接下来配置nginx的反向代理,在nginx.conf里include seafile.conf,内容如下:
server {
listen 80;
server_name seafile.example.com;
proxy_set_header X-Forwarded-For $remote_addr;
location / {
rewrite ^ https://$http_host$request_uri? permanent;
}
server_tokens off;
}
server {
listen 443;
ssl on;
ssl_certificate certs/seafile.crt;
ssl_certificate_key certs/seafile.key;
server_name seafile.example.com;
server_tokens off;
location / {
proxy_pass http://127.0.0.1:8001;
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;
access_log logs/seahub.access.log;
error_log logs/seahub.error.log;
}
}
我这里做了全站强制的https,安全一些嘛。证书是用的阿里云上赛门铁克提供的免费证书,每个证书只能绑定一个域名,每个账号可以申请20个。感觉这个对个人用户很是友好啊。阿里的证书购买地址:https://common-buy.aliyun.com/?commodityCode=cas
nginx配置好后重启一下,就齐活了~
seafile的官网上提供了pc和手机端的客户端软件,基本上全平台支持,非常给力。
这样一个自己的文件云服务就诞生了~嘎嘣脆鸡肉味~