许多高校为了方便老师们教学和传输文件,都有自己的云盘,像我们学校的“天大云盘”(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
退出容器,然后再访问域名,就应该能进去了,如果不能,参阅原帮助文档。
分享文件
找到你要分享的文件/文件夹,点击分享,这里能设置包括权限、密码保护、到期日等等,设置完之后,复制链接,拿这个发给别人,就能轻轻松松收作业了。
由于Nextcloud是同步盘,所以你可以在电脑上下载一个客户端,自动同步别人上传上来的文件,贴下Nextcloud的官网。
在客户端上配置后服务器、账户和本地同步文件夹,就可以自动同步文件了
如果我最近比较闲,可能会打算出个视频叭。
自己的文件分享里面不允许二次分享,没有外链选项,设置里面勾选了也没用啊