本文最后一次在 2020 年 01 月08 日更新,部分内容可能已经过时!

视频点此

服务器还能干点儿啥?

那就搭一个全平台的同步盘吧。没有被和谐的顾虑,没有广告的困扰,还能扩展各种各样的功能。来看看怎么搭建。

一、通过docker

可以安装docker,然后通过docker run -d -p 自定义一个没用过的端口号:80 nextcloud一行命令,即可完成搭建并启动。之后,访问服务器ip:端口号来配置管理员帐号,即可完成。

二、手工搭建

1、通过按照我这个系列来的话,你应该安装过宝塔面板。那么现在去宝塔面板,安装php7.3.

2、安装完毕后,点击网站—添加站点,弹出窗口:

  • 域名自定,可以用ip,也可以用一个域名
  • 根目录自定
  • FTP不创建
  • 数据库选择mysql-utf8mb4
  • 用户名密码随意,自己能记住就好
  • PHP版本选择刚刚安装的PHP73
  • 分类随意
  • 提交

3、前往https://nextcloud.com/install/#instructions-server,复制Nextcloud的下载地址

4、宝塔中,打开到刚刚建立站点的根目录,删除文件夹下的所有文件。通过远程下载功能,将安装包下载到服务器上,并解压到根目录中(直接解压的话,会多一层Nextcloud文件夹。进入,将所有文件移动出来即可

5、访问网址,设置管理员账户。让后点开存储&数据库一项,将其改为MySQL,并填入刚刚的数据库名、用户名和密码。安装完成

三、手工搭建可能有的部分问题及解决方案

1、您的网页服务器未正确设置以解析“/.well-known/caldav”及您的网页服务器未正确设置以解析“/.well-known/carddav”

这两个警告可以一起解决,解决方法就是添加两行重定向配置。

在宝塔网站类别中,前往对应站点的设置—伪静态标签),添加如下两行:

location = /.well-known/carddav {
return 301 $scheme://$host/remote.php/dav;
}

location = /.well-known/caldav {
return 301 $scheme://$host/remote.php/dav;
}

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

从宝塔文件管理,打开/www/server/php/73/etc/php-fpm.conf,在其尾部添加一行:

env[PATH] = /usr/local/bin:/usr/bin:/bin:/usr/local/php/bin

保存并重启PHP服务。

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

前往宝塔的PHP7.3管理窗口,选择安装扩展,安装fileinfo

4、Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root.

同1,在伪静态中增加下列代码:

location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ {
    deny all;
}

5、内存缓存未配置,为了提升使用体验,请尽量配置内存缓存

同3,增加APCu模块,后去往网站根目录/config下,编辑config.php,在结尾的花括号前增加一行

'memcache.local' => '\OC\Memcache\APCu',

保存

6、The PHP OPcache is not properly configured. For better performance it is recommended to use the following settings in the php.ini:

  • 同3,增加opcache模块
  • 在PHP7.3管理界面,选择配置文件标签,找到[Zend Opcache],用以下内容覆盖zend_extension之后,下一个[]之前的内容:
opcache.enable=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1

7、Some files have not passed the integrity check. Further information on how to resolve this issue can be found in the documentation

点击后面的查看列表。对照列表删除根目录下对应的文件即可。

已有 9 条评论

  1. 沙发 —— 花落丶心空 花落丶心空 发表。 回复TA
  2. 一键安装命令里,run前面多了个“-” —— 一线玩家 一线玩家 发表。 回复TA
    1. 感谢 已修正 —— 等我稍后补充昵称 等我稍后补充昵称 [作者] 于 发表。 回复TA
  3. 我用docker社区版搭建nextcloud怎么搭建不了?
    creeper@sconas:/etc/docker$ docker pull nextcloud
    Using default tag: latest
    Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.40/images/create?fromImage=nextcloud&tag=latest: dial unix /var/run/docker.sock: connect: permission denied —— scoliu scoliu 发表。 回复TA
    1. Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.40/images/create?fromImage=nextcloud&tag=latest: dial unix /var/run/docker.sock: connect: permission denied

      这就是错误信息。跟着这个检查 —— 等我稍后补充昵称 等我稍后补充昵称 [作者] 于 发表。 回复TA

  4. 服务器重启后配置失效 —— yinuo yinuo 发表。 回复TA
    1. docker需要重新启动 —— 等我稍后补充昵称 等我稍后补充昵称 [作者] 于 发表。 回复TA
  5. 我的为什么说:
    服务器不能完成您的请求。
    如果再次发生这种情况,请将下面的技术详细信息发送给服务器管理员。
    更多细节可以在服务器日志中找到。 —— float float 发表。 回复TA
    1. 浏览器的报错?看看错误号是多少
      大概率是你的服务器内存不够了 —— 等我稍后补充昵称 等我稍后补充昵称 [作者] 于 发表。 回复TA

添加新评论