许多高校为了方便老师们教学和传输文件,都有自己的云盘,像我们学校的“天大云盘”(pan.tju.edu.cn)。这种云盘的好处在于可以外链分享,允许得到链接的人上传、编辑和下载,又有权限分配和到期时间等各种功能,然而这是许多国内能用的云盘的免费功能所不具备的,然而,一个问题,学生不能用。前几天我的VPS跟风把同步盘换成了Syncthing,确实Nextcloud过于臃肿,但是臃肿也意味着它有更多的功能,比如我这次需要的外链分享和上传。
来假设一个情景,你要收电子版的作业,可以采取什么方法?
可以用微信或者qq私发,或者是发送带附件的邮件,但是这两种方法都需要收作业的人把每个人的东西挨个下载下来,很不方便,所以很多高校采取云盘这种方式,很好用,但是我用不了,所以就在自己服务器上搭建一个类似于学校的云盘吧。

一键部署

为了好用好停好删,我们采取docker拉取镜像搭建的方式。

docker run -d -p $port:80 nextcloud

完成之后,放行刚刚设置的端口。
浏览器打开 “$ ip:$ port”,设置登陆用的用户名和密码,就可以使用了

配置服务

如果你要给人家链接,那ip地址可能不太好看,所以如果你有一个域名,又用CDN做了解析(我由于是洛杉矶的服务器,用的是cloudfare),那么可以用一个子域名,我的是:pan.goodnickname.ga:8086。
如果第一次用域名,网站会提示你域名不受信任,需要自己配置下docker里的config/config.php,把你弄好的域名添加在配置文件里面,然后再登录就正常了。
详细说下,列出所有的容器:

docker container ls -a

拷贝下容器号,然后

sudo docker exec -i -t $容器号 /bin/bash

如果没有文字编辑器,先装一个,这里我用nano

apt-get update
apt-get install nano

完成之后,编辑config/config.php

nano config/config.php

然后,找到trusted_domains,把你的域名添加进去,使他看起来像这样,注意不输入端口号。

'trusted_domains' =>
  array (
   0 => 'localhost',
   1 => 'server1.example.com',
   2 => '192.168.1.50',
   3 => '[fe80::1:50]',
),

完成之后,保存退出,exit退出容器,然后再访问域名,就应该能进去了,如果不能,参阅原帮助文档

分享文件

找到你要分享的文件/文件夹,点击分享,这里能设置包括权限、密码保护、到期日等等,设置完之后,复制链接,拿这个发给别人,就能轻轻松松收作业了。
nxcld.PNG
由于Nextcloud是同步盘,所以你可以在电脑上下载一个客户端,自动同步别人上传上来的文件,贴下Nextcloud的官网
在客户端上配置后服务器、账户和本地同步文件夹,就可以自动同步文件了
nxcld2.png

如果我最近比较闲,可能会打算出个视频叭。