本文编写于 631 天前,最后修改于 608 天前,其中某些信息可能已经过时。

Nextcloud是一套用于创建网络硬盘的客户端-服务器软件。其功能与Dropbox相近,但Nextcloud是自由及开放源代码软件,每个人都可以在私人服务器上安装并运行它。
与Dropbox等专有服务相比,Nextcloud的开放架构让用户可以利用应用程序的方式在服务器上新增额外的功能,并让用户可以完全掌控自己的数据。
ownCloud原先的开发者弗兰克·卡利切创建了ownCloud的分支——Nextcloud,继而让卡利切与其他原先的ownCloud团队成员持续积极地开发。

使用宝塔创建一个网站

我的环境,Nginx 1.12,PHP7.2,Mysql 5.5

选择 网站>添加站点

设置好已经解析好的域名,数据库选择Mysql,设置密码什么的,点击提交

前往Nextcloud官网,找到最新的nextcloud源码
选择下载


把文件的地址复制下来,当然那你也可以下载下载后上传到网站根目录

回到宝塔,打开网站根目录,删除这四个文件

选择shell,执行 wget https://download.nextcloud.com/server/releases/nextcloud-13.0.3.zip

关闭 shell ,刷新一下页面,不出意外多了一个 nextcloud-xx.x.x.zip 之类的文件
解压它得到 nextcloud 文件夹

打开 nextcloud 文件夹,把里面所有的文件拷贝到网站根目录,
打开根目录,删除 nextcloud-xx.x.x.zip 和 nextcloud 文件夹

浏览器打开你的网盘,提醒你安装 nextcloud ,输入你刚设置的密码什么的

至此,网盘已基本完工

解决常见的错误

安装完成进入网盘的 信息>基本设置
会有各种错误提示

PHP 的设置似乎有问题, 无法获取系统环境变量. 使用 getenv("PATH") 测试时仅返回空结果.

解决办法:
打开 /www/server/php/72/etc #72为我的PHP版本,根据实际情况来
编辑 php-fpm.conf
在最后面加一行 env[PATH] = /usr/local/bin:/usr/bin:/bin:/usr/local/php/bin

PHP 模块 'fileinfo' 缺失. 我们强烈建议启用此模块以便在 MIME 类型检测时获得最准确的结果.

解决办法:
打开宝塔面板 软件设置>你的PHP版本,设置>安装扩展 fileinfo
fileinfo:用于获取文件MIME,编码等信息!

您的数据目录和文件可以从互联网直接访问。.htaccess 文件不起作用。强烈建议您配置 Web 服务器,以便数据目录不再可访问,或都你可以将数据目录移出 Web 服务器文档根目录。

解决办法:
打开宝塔面板 选择网站页面,打开网盘站点的设置页面
选择伪静态,添加以下
location ~ ^/(data|config|\.ht|db_structure\.xml|README) {
deny all;
}

内存缓存未配置,为了提升使用体验,请尽量配置内存缓存。更多信息请参见文档。

解决办法:
打开宝塔面板 软件设置>你的PHP版本,设置>安装扩展 opcache 和 redis
然后选择配置文件,翻到最后,添加以下
opcache.enable = 1
opcache.enable_cli = 1
opcache.interned_strings_buffer = 8
opcache.max_accelerated_files = 10000
opcache.memory_consumption = 128
opcache.save_comments = 1
opcache.revalidate_freq = 1
打开目录 /www/wwwroot/你的nextcliud根目录/config
编辑 config.php 添加以下
'memcache.local' => '\OC\Memcache\Redis',
'redis' => array(
'host' => 'localhost',
'port' => 6379,
),
如图所示

最后,重启 Nginx,Redis,PHP 即可

您正在通过HTTP访问该站点,我们强烈建议您按照安全提示中的说明配置服务器强制使用HTTPS。

解决办法:
打开网站设置,选择ssl,按照自己喜好配置一个证书,勾选强制https即可。