背景

各种网盘由于各种原因都陆续关闭了,那么就要自己想办法弄一个同步的方法了。
个人网盘是一个不错的选择,毕竟自己是有服务器的人。
因为是个人网盘,所以要求不高,直接使用开源的Seafile即可。

安装

下载页面下载社区版的Seafile服务器,我这里下载的是6.0.7版本。

1
$ wget http://download-cn.seafile.com/seafile-server_6.0.7_x86-64.tar.gz

然后依照官方文档上的推荐目录结构解压文件即可。
我这里用的是MySQL作为数据库,还可以使用SQLite,文档不一样。
然后运行一下

1
./seafile.sh start

按照要求填入一些东西,基本使用默认即可,如果需要改动,后面可以在conf/ccnet.conf里面修改。

配置

接下来配置一下apache服务器,首先去花生壳开一个子域名(storage.orzorc.space),然后在/etc/apache2/site-available/目录下面新建一个storage.orzorc.space.conf即可,再参照Seafile的Apache配置文档,最终完成配置类似于

1
2
3
4
5
6
7
8
9
10
11
12
13
ServerAdmin admin@gmail.com
DocumentRoot /path/to/storage.orzorc.space
ServerName storage.orzorc.space
Alias /media /path/to/storage.orzorc.space/seafile-server-latest/seahub/media
RewriteEngine On
ProxyPass !
Require all granted

# seafile fileserver
ProxyPass /seafhttp http://127.0.0.1:8082
ProxyPassReverse /seafhttp http://127.0.0.1:8082
RewriteRule ^/seafhttp - [QSA,L] # seahub SetEnvIf Request_URI . proxy-fcgi-pathinfo=unescape
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1 ProxyPass / fcgi://127.0.0.1:8000/

下面这些操作可能需要root权限了,因为这些文件只有所有者可以控制,这些是Seafile自己设置的权限,所以最好别改这些权限,避免不必要的安全问题。
打开conf/ccnet.conf,修改一下设置

1
SERVICE_URL = https://storage.orzorc.space

打开conf/seahub_settings.py,添加一行配置

1
FILE_SERVER_ROOT = 'http://storage.orzorc.space/seafhttp'

最后启动一下服务即可。

1
2
3
# service apache2 restart
# ./seafile-server-latest/seafile.sh start
# ./seafile-server-latest/seahub.sh start-fastcgi

第一次运行seahub脚本时会要求添加admin的信息,第一次登录要用这个。

网页效果如图,

查看网页效果
查看网页效果

另外直接使用官方的客户端,并配置为自己的服务器就可以使用各种原生应用了,下面是安卓客户端,
安卓客户端
安卓客户端