当前位置: 六维的个人博客 » 资源分享 » DzzOffice——自建办公套件

DzzOffice——自建办公套件

来源:初行博客 上周博主在V2EX发现了一个自建办公套件的程序,里外非常像GSuite,一个PHP程序,这就是DzzOffice。越来越多的个人、团队甚至企业都在使用GSuite或者Office365等网络办公套件,不过现在我们也可以自建这类平台了,低成本,不再受制于人。

一、程序介绍

官方网站:http://cloudreve.org/

Github开源:https://github.com/HFO4/Cloudreve

Telegram社群:https://t.me/joinchat/ChJY90fAOmaJNRROZxCXRQ

功能介绍:

Cloudreve——基于对象存储的网盘系统 – 初行博客 - 回归初心,记录生活点滴

毕竟是国内开发者所写,功能就是接地气,不管是基础的功能还是对接对象存储对于国内用户很方便。老外写的网盘系统即使可以对接对象存储,但是什么AWS S3啊、GDrive,速度不快,计费不清楚,英文文档部分人接触困难,所以使用方面还是有坑的。让人家去为了你对接阿里云、七牛专门写一个又不现实。国内开发的对接国内服务商的对象存储服务就方便快捷很多,何况对象存储成本越来越低,比直接购买服务器成本低很多。

对象存储目前著名的就是阿里云OSS、腾讯云COS、七牛、又拍云等,价格也非常低,例如腾讯云赠送50GB COS空间,七牛http有一定的免费额度,又拍也一样,阿里云的OSS在赶上活动的时候几毛钱就能买到两年时长的40GB的存储空间。这些大厂首先就是安全速度快,国内无论如何都有无可比拟的速度优势,大厂也不容易跑路,你选个容易翻车的VPS或者服务器说不定哪天就挂了,小厂oneman容易跑,大厂又贵也不一定有合适的机房。搭建一个程序基本需要512-1GB的内存,20G以上的空间,稳定的都得需要每个月5USD以上,独服就更别说了。国内服务商目前提供的免费额度已经足够个人使用,如果你是中小企业或者大流量的现在对象存储的价格都非常低,综合成本不高,甚至每个月几块钱到几十块钱就可以做到超大容量和流量的存储。

二、程序安装

作者首发第一版是需要安装Composer来安装的,但是可能有BUG或坑比较多,对于普通用户来说安装体验不友好,作者又重新打包了一个完整包,不用安装Composer扩展了。本文以Oneinstack为例,LNMP环境,同时也支持Apache。

(1)在搭建好LNMP环境后新建主机和普通建站一样即可,推荐使用oneinstack的addons扩展,安装fileinfo组件,也推荐上SSL。如果不懂composer扩展oneinstack也提供了一键安装。

Cloudreve——基于对象存储的网盘系统 – 初行博客 - 回归初心,记录生活点滴

(2)首先到官方网站下载:http://cloudreve.org/download.php

(3)将根目录下的“mysql.sql”导入到你的数据库,编辑application/database_sample.php文件,填写数据库信息,并重命名为database.php。

(4)上传安装包到服务器

(5)runtime目录需要写入权限,如果你使用本地存储,public 目录也需要有写入权限,给他们权限,755权限即可。

(6)设置URL重写:
httpd.conf配置文件中加载了mod_rewrite.so模块,AllowOverride None 将None改为All,项目目录下的.htaccess已经配置好重写规则,如有需求酌情修改。
对于Nginx服务器,以下是一个可供参考的配置:

location / {
   if (!-e $request_filename) {
   rewrite  ^(.*)$  /index.php?s=/$1  last;
   break;
    }
}

(7)登录后台,后台URL:http://你的域名/Admin(初始用户名admin@cloudreve.org,初始密码 admin ,登录后到设置 – 基本设置中检查站点URL是否正确)
(8)到用户管理页修改初始用户密码
(9)如果你需要使用二步验证功能,请在程序目录下依次执行composer require phpgangsta/googleauthenticator:dev-master composer require endroid/qr-code 安装二步验证扩展
(10)添加Cron定时任务:

* * * * * curl http://你的域名/Cron

(11)如果你打算使用本地上传策略并且不准备开启外链功能,请将public/uploads目录设置为禁止外部访问、禁止脚本执行

至此,安装工作已完成。

三、程序使用

(1)用户界面

首先访问一下用户后台页面,可以直接查看所有文件。基础的上传、新建文件夹、搜索等都在右上角的四个按钮里。

Cloudreve——基于对象存储的网盘系统 – 初行博客 - 回归初心,记录生活点滴

基础的使用操作,下载、分享、删除等,对于常用的图片、音视频都能预览。

Cloudreve——基于对象存储的网盘系统 – 初行博客 - 回归初心,记录生活点滴

个人主页,可以查看最热门的分享。

Cloudreve——基于对象存储的网盘系统 – 初行博客 - 回归初心,记录生活点滴

可以搜索你分享的文件,以免太多找不到。

Cloudreve——基于对象存储的网盘系统 – 初行博客 - 回归初心,记录生活点滴

还有图片集可以作为一个简单的图片集合查看器,不过因为里面没图所以我就没截图。

安装两步验证扩展可以实现两步验证,非常安全。

Cloudreve——基于对象存储的网盘系统 – 初行博客 - 回归初心,记录生活点滴

WebDAV,没想到也做了支持,有需要的可以很方便使用了。

Cloudreve——基于对象存储的网盘系统 – 初行博客 - 回归初心,记录生活点滴

文件分享,支持公开和私密分享,链接格式也和百度盘一样。

Cloudreve——基于对象存储的网盘系统 – 初行博客 - 回归初心,记录生活点滴

(2)管理员界面

再进入管理员后台,网站整体情况一目了然。后台可以直接查看最近的更新,直接从Github下载更新增量包方便更新。

Cloudreve——基于对象存储的网盘系统 – 初行博客 - 回归初心,记录生活点滴

第一个是基础设置,站点名称、统计代码这些,必须设置好站点URL,否则文件分享等链接都是错误的。

Cloudreve——基于对象存储的网盘系统 – 初行博客 - 回归初心,记录生活点滴

注册访问设置,可以选择是否对外开放,设置验证码和邮件验证,考虑的很全面。

Cloudreve——基于对象存储的网盘系统 – 初行博客 - 回归初心,记录生活点滴

邮件发送设置,发送邮件的相关设置。

Cloudreve——基于对象存储的网盘系统 – 初行博客 - 回归初心,记录生活点滴

配置文件,可以自己做些修修改改。

Cloudreve——基于对象存储的网盘系统 – 初行博客 - 回归初心,记录生活点滴

杂项设置,对于可编辑文件大小、热门分享数量等做一些个性化设置。

Cloudreve——基于对象存储的网盘系统 – 初行博客 - 回归初心,记录生活点滴

对于文件下载可以启用Sendfile来降低负载,选择正确的服务器环境,再到伪静态那设置一下就行,参考官方wiki:启用Sendfile下载支持

模板,对整个系统可以做一些个性化改动。

Cloudreve——基于对象存储的网盘系统 – 初行博客 - 回归初心,记录生活点滴

文件管理,对于用户的文件进行管理,同时安装上传的方式、日期、大小都能分类快速筛选,非常细致!

Cloudreve——基于对象存储的网盘系统 – 初行博客 - 回归初心,记录生活点滴

管理用户,这就不多说了。

Cloudreve——基于对象存储的网盘系统 – 初行博客 - 回归初心,记录生活点滴

用户组,默认分了几个分类,这个比较重要,如果你的网盘有多种存放策略必须用用户组来设置。例如设置VIP用户可以上传到OSS,游客只能本地存储等。对于每个组别都能设置是否多线程、是否开启某些功能和初始的容量等。

Cloudreve——基于对象存储的网盘系统 – 初行博客 - 回归初心,记录生活点滴

Cloudreve——基于对象存储的网盘系统 – 初行博客 - 回归初心,记录生活点滴

上传策略,著名的几大对象存储都做了支持,另外支持本地存储和远程服务器存储,满足不同人群的需要。

Cloudreve——基于对象存储的网盘系统 – 初行博客 - 回归初心,记录生活点滴

Cloudreve——基于对象存储的网盘系统 – 初行博客 - 回归初心,记录生活点滴

对接远程服务器的方法,参考官方wiki:远程存储服务端搭建

对于没有支持OneDrive、GDrive和腾讯云COS作者目前有以下的答复:
 Onedrive暂时无法实现直传暂时不能支持,Gdrive需要扶墙才能实现各种操作,对于部分用户太麻烦也有了限制,目前还在考虑。腾讯云COS和onedrive一样无法实现直传,暂时不支持。

(3)栗子:对接阿里云OSS存储。

阿里云的OSS一直买了都是吃灰,毕竟站点用的腾讯云服务器,备份啥的都在COS上很方便,阿里云OSS一直没用,这回终于派上用场了。

对接又拍、七牛的操作相对简单,填写API信息、Bucket信息、域名就行了,阿里云需要一些特殊操作在系统也有提示,安装系统提示就行了。

Cloudreve——基于对象存储的网盘系统 – 初行博客 - 回归初心,记录生活点滴

对接阿里云OSS注意事项
阿里云OSS创建空间后请进行如下操作,否则无法正常上传。
转到 空间管理 – 基础设置 – 跨域设置;
创建规则,其中来源填写“*”,允许 Methods全部勾选,允许 Headers填写“*”,其他保持默认,点击确定保存.

再回到阿里云OSS控制台创建个Bucket就行了,可以绑定个自己的域名,CNAME解析即可生效,如果有阿里云CDN可以使用CDN加速。

Cloudreve——基于对象存储的网盘系统 – 初行博客 - 回归初心,记录生活点滴

请注意Bucket的权限设置!目前发文时的1.0.3版本存在BUG,必须在网盘上传策略设置和OSS设置Bucket权限为“私有”才能正常使用,理论上是需要设置公读的,所以可能在下个版本就修好了,以后修好了本文再更新。

然后balabala填写对信息,检查一下就行了。例如“空间域名”、“上传域名”要搞清楚,本文就啰嗦一下,以免因为多写了一个符号搞失败:

注意事项
cloudreve在这两个填空留了一个”http(s)://”,你如果是http域名记得把括号和s删了,如果是https域名记得把括号删了。
空间域名可以填写阿里云给你的长长的域名或自己的,需要在末尾加一个”/”,如果你开了CDN需要写成CDN的域名。
上传域名末尾不用加”/”,但是域名必须OSS的空间域名,如果你开了CDN也得写成空间域名。

添加上传策略后,转到用户组设置,设置用户组使用什么上传策略即可正常使用了,默认都是存储到本地。

四、使用总结

补坑完成,目前Cloudreve对于个人来说还是挺不错的,何况是刚刚起步发展前途和新功能扩展上也非常让人值得期待,而且对接对象存储节省了我的成本加快了下载速度。不过也因为是刚刚起步所以BUG是难免的,例如阿里云OSS的私有权限就困扰了我半天才发现是个BUG…

有BUG的话就去TG或Github提交反馈吧。

五、参考文档

本文的撰写参考了以下文档,感谢原作者的贡献:

(1)Cloudreve的完整安装包(不需要Composer)

(2)官方WIKI:https://github.com/HFO4/Cloudreve/wiki

(3)使用 Cloudreve 搭建一个基于对象储存的个人网盘

未经允许不得转载:六维的个人博客 » DzzOffice——自建办公套件

相关文章

评论 (0)