搭建私有云盘
本文最后一次在 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
点击后面的查看列表。对照列表删除根目录下对应的文件即可。
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 于 发表。 回复TA
这就是错误信息。跟着这个检查
—— 等我稍后补充昵称 [作者] 于 发表。 回复TA服务器不能完成您的请求。
如果再次发生这种情况,请将下面的技术详细信息发送给服务器管理员。
更多细节可以在服务器日志中找到。 —— float 于 发表。 回复TA
大概率是你的服务器内存不够了 —— 等我稍后补充昵称 [作者] 于 发表。 回复TA