前言

  最近因为疫情导致远程工作的问题,导致共享目录smb无法远程使用。
  因此交换文件非常不方便,最初的确可以通过宝塔面板的文件操作界进行文件共享,但是这样就把服务器裸奔给了其他人。
  有没有方法实现个人云盘共享文件呢?
  于是经过一番搜索之后,还是找到比较让我满意的方案。

可道云

  可道云算是国内比较不错的私有云构建开源方案了,系统架构是基于 PHP+Jquery
  完全模拟云上操作系统的概念,支持WPS文档打开,还有应用桌面,通过前端模仿了windows的界面。
  交互上来说非常友好。
  当然也可以类似百度网盘一样设置共享链接来共享文件,特别棒。
  缺点就是没有 WebDav 服务,作为个人云盘可以,但是如果作为一些第三方使用的存储媒介就差了点意思。

安装

官网参考

  首先在宝塔界面上创建一个网站,宝塔会在指定目录下构建好 php 环境和服务器访问配置文件。
  然后去到可道云的官网下载安装包压缩包,解压到宝塔界面指定的目录,然后将权限设置为所有人都可以访问就可以了,宝塔一定要在该目录下允许 php 代码执行。
  这个云上空间会将文件保存到自身的data目录下,甚至不需要数据库的支持。

1
2
3
4
5
6
# 下载
wget http://static.kodcloud.com/update/download/kodexplorer4.40.zip
# 解压
unzip kodexplorer4.40.zip
# 开权限
chmod -Rf 777 ./*

NextCloud

  NextCloud是全球知名的私有云构建开源方案了,和可道云一样采用了 PHP 框架。
  另一个有名的是 OwnCloud 听说是同一个作者,只是 OwnCloud 被原作者卖出去了。
  NextCloud 对于国人不太友善但是功能比较全面,同样支持网盘类的分享还支持 WebDav ,使用开源软件进行同步的时候都非常方便。
  比如说密码专用的 Keepass2Android 和 开源笔记 Joplin 都支持将文件通过 NextCloud 进行同步。
  构建方法和可道云大同小异,并且还有更加完善的手机和桌面客户端

安装

官网参考

  安装方法几乎和 可道云 没有区别只是多了一个数据库接入,也可以选择使用sqlite自动配置。
  第一种方法也是压缩包安装,第二种方法就是通过一个 php 脚本下载压缩包到本地安装(下载速度有点堪忧,不建议使用)
  安装完成简单在浏览器上配置即可使用。

WedDav

  WebDav默认访问路径就是 remote.php/WebDav/文件目录
  通过这个目录即可访问存放在 NextCloud 的文件,可以用管理员账户多设置几个权限账户来分别管理不同的 Apps
  避免密码泄露,私有云完全被别人利用了。
  另外补充一下 Joplin 云端同步需要安装 NextCloud 的插件,安装方法也是很简单,下载解压到指定目录即可。


公司内网构建私有云踩坑

  内网构建私有云遇到了天坑。
  公司的内网推荐使用公司的特制的 tLinux 2.2 版本,
  结果配置完成之后发现 PHP 无法执行,执行报错提到一些公共库找不到路径,但是这些公共类似 Windows dll 是个系统都有的。


  经过各种踩坑也无法解决,而且很多库更新也因为无法链接外网进行更新。
  尝试下载其他版本的 PHP 却又报错,找不到下载链接。
  最后无奈只好选择重装宝塔面板,经过我的一波折腾,总算是成功重装宝塔界面重新配置了下载源下载了其他版本的 PHP
  然而运行起来的报错还是没有变。
  网上搜索的方法是需要安装特定的包就可以了,但是我安装用的阿里云地址却是无法访问,后来装成 网易的也无法访问。
  最后在再折腾腾讯自己的Linux yum源,后来查看共享 yum源,和服务器找不到路径的地址进行对比。
  发现服务器莫名其妙访问了 2.2 版本的目录,但是Linux 最低版本也得从 4.4 开始的。
  发现这个惊天秘密之后,于是去到源地址记录的文件查找,发现这个地址记录的 2.2 是个变量,读取的是则是当前系统的版本。
  然而内网的 Linux 不是标准的 Centos7 而是 2.2 版本,于是我手动修改了地址信息,总算是可以下载包解决问题了(:з」∠)

  解决了 Php 无法启动的问题,后续搭建私有云的操作也算是顺畅无阻了,只是内网构建私有云真的没啥用,内网也是有内部网盘的,也可以基于企业微信存文件(:з」∠)

总结

  搭建了私有云之后,我再也不需要付费的App搞各种乱七八糟的同步了。
  全部可以使用开源方案实现免费同步(当然服务器本身是要钱的,但是掌握了技术之后就不需要交那么多了)
  开源免费,就是宝贝~