构建nextcloud私有云,实现网络磁盘和在线文档的高速共享存储协作办公室
我们需要在团队中共享软件和文件。我们仍在使用这种方式:U盘拷贝?局域网共享?发送电子邮件或聊天软件?这不仅效率低下,而且容易造成数据泄漏。对于小型创业团队,我们负担不起商业协作办公解决方案。让我们来看看NexCu云的威力。这是一个完全开源的免费私有云存储解决方案。它不仅可以用作个人和团队文件存储的在线磁盘,还支持协作办公、WebDAV、文件同步和多终端客户端。现在硬件成本不高。如果有一个通用主机或NAS设备,它可以部署在LAN中,这是一个速度杠杆。
让我们看看如何构建它。首先准备好所需的环境。nextcloud的核心基于Linux,使用php+MYSQL,所以需要准备这些和网络服务(可以)阿帕奇或nginx)。作者演示了它安装在公共云服务器上。Linux系统和软件版本也可以根据自己的设置,不要太低。
准备好环境后,我们进入nextcloud官方网站,点击下面的getnextcloud或下载服务器
进入后,我们可以看到官方下载包或一键安装脚本:
在这里,让我们先单击web安装程序来安装带有脚本的演示
我将脚本直接下载到服务器,右键单击上面红色箭头处的复制链接。然后在服务器上执行WGet下载:
下载后,我们在服务器上构建一个站点,并将PHP文件放入其中。网站指向它并在浏览器中提示操作。我们转到nginx配置文件目录,创建一个新的虚拟主机配置文件VIMnextcloud。conf的内容如下:
记住构建站点目录,并将安装脚本PHP文件MKDIR–P/data/www/nextcloud放入其中。目录还需要web应用程序具有写入权限。Chown–rApache:Apache/data/www/nextcloud(作者是由Apache用户启动的web服务)
重新启动nginx服务或重载nginx配置文件执行nginx–s重新加载。一切就绪后,在浏览器中访问安装脚本:
当安装向导出现时,单击“下一步”检测环境依赖关系并下载项目源代码。
上面的屏幕截图显示所有依赖项都已通过。输入英文点号以继续下一步,请注意,此步骤需要下载源压缩包。根据网络情况,时间略有不同,也可能发生504超时。如果网络不稳定,建议先下载,然后用下面的第二种方式在本地进行配置。
如果发生504超时,您可以延长nginx和PHP配置文件上的超时时间,然后将其更改回原来的状态。
php。IniMax_uuexecution_uu默认时间为30,也需要更改
一般来说,没有问题。单击提示将登录用户和数据库配置为成功安装。由于作者在阿里巴巴购买的ECS带宽相对较小,下载速度相对较慢,因此下一次演示将不进行。
让我们看看第二种手动下载和安装方法。我用WGet直接下载到服务器上
下载后,解压nextcloud-19.0.1Zip(默认情况下,Linux系统中不安装Zip程序,并且不需要安装Yuminstall-yZip-unzip)。将提取的文件夹重命名为nextcloud2,并将其放在web目录/data/www下。记住用户组和权限:chown–rApache:Apache/data/www/nextcloud2/
创建一个新的虚拟主机nextcloud2Conf,按如下方式编辑配置文件:
配置虚拟主机后,请记住重新启动web服务或重新加载配置文件。执行命令nginx-sreload。
好的,浏览器访问我们配置的域名或IP:
这一步需要我们配置管理员的登录用户密码和数据库,并根据我们的实际情况进行配置。安装完毕。这不是很容易吗,很容易!哈哈,还有一个坑。我们发现404页面在安装后出现。不要惊慌。那只是因为我们没有配置伪静态。该项目是通过伪静态访问的。Apache服务器相对简单。官方称,它可以启用mod_uurewrite等功能。
我们现在使用的是nginx服务器。只需找到这个页面并添加伪静态。
上面提到的SSL证书对于我们的局域网来说是不必要的,所以我简化了一些配置,并发布了它们以供参考:
location
重写^/索引。php;
}
location^/(?:构建|测试|config|lib|第三方|模板|数据)/{
否认一切;
}
location^/(?:.|自动测试|OCC|发行|独立|DB|控制台){
否认一切;
}
NicholasTse^/(?:index|remote|public|Cron|core/Ajax/update|status|OCS/v[12]|updater/+|OC[MS]-provider/+|+++/richcodements/proxy)php(?$|/){
fastcgi_uuSplit_uuPath_uInfo^(+?.php)(/.*|)$;
设置$path_uuInfo$fastcgi_uuuPath_uuInfo;
try档案$fastcgi_uuuscriptuuname=404;
包括fastcgi_uuParams;
fastcgi_uuparamSCRIPTufilename$document_uuroot$fastcgi_uuuuscriptuname;
fastcgi_uuParamPath_uInfo$PATH_INFO;
#避免发送header的安全邮件两次
fastcgi_uuParamModHeadersAvailabletrue;
#启用漂亮的URL
fastcgi_uParamFront_uController_uuActiveTrue;
fastcgi_uuu通过127.0.0.1:9000;
root/data/www/nextcloud2;
fastcgi_uuu截获uuu错误开启;
fastcgi_uu请求_uuu缓冲关闭;
}
NicholasTse~^/(?:更新程序|oc[MS]-提供程序)(?:$|/){
try档案$uri/=404;
索引。php;
}
#为JS、CSS和地图文件添加缓存控件header
#确保它位于PHP块下方
location(?:css|js|woff2|svg|gif|map)${
try归档$uri/index。php$request_uuri;
添加uuuo晶晶缓存控制#34;公众,最大年龄=15778463岁;;
#添加headers以服务与安全相关的headers(其目的是
#将这些复制到上面的)
#在启用严格的交通安全之前,请阅读header的
#首先是这个话题。
#增加了uuuuuo晶晶严格的交通安全#34;最大年龄=15768000;包括子域;预加载34;总是
#
#警告:仅在阅读相关内容后添加预加载选项
#其后果https://hstspreload.org/.这个选项
#将域添加到已发布的硬编码列表中
#在所有主要浏览器中,并从列表中删除
#可能需要几个月。
添加uuheader,参考政策#34;没有推荐人";总是
添加uuuoJingjingx-content-type-options";nosniff";总是
添加uuuo-Jingjingx-download-options";诺彭和#34;总是
添加uuuo晶晶X-FRAME-OPTIONS";SAMEORIGIN和#34;总是
增加uuuheaderx-允许跨域政策#34;没有";总是
添加uuuo-Jingjingx-robots-tag";没有";总是
增加uuuheaderx-xss-protection#34;1.模式=块";总是
#可选:Don';t记录对资产的访问
访问uu注销;
}
location(?:png|html|ttf|ico|jpg|jpeg|bcmap|mp4|webm)${
try归档$uri/index。php$request_uuri;
#可选:Don';t记录对其他资产的访问
访问uu注销;
}
现在再来,嗯,没关系!
到目前为止,服务器的安装和配置已经完成。尝试上传、下载和在线文件预览功能。office文档预览可以在应用程序中下载,并且只能启用office。还有许多应用程序可以打开,如markdown、mindmap、mindmap等。接下来,您可以下载Windows客户端或移动终端,体验网络磁盘和协作办公。
最新评论