NextCloud安装部署教程以及报错解决和配置优化等超详细说明
NextCloud简介
Nextcloud是一款私有云存储网盘项目,功能和Dropbox类似,因为免费开源的特性受到了很多人的欢迎。因为需要可以提供直链下载功能的网盘,网上查询发现nextcloud支持,就计划在自己的服务器上搭建一套。在搭建过程中发现还是有很多的小坑要踩的所以特意记录一下。
NextCloud的部署安装教程将分为搭建部署准备,安装NextCloud,NextCloud配置优化,NextCloud问题注意事项四个部分进行记录。
1、搭建部署准备
nextcloud的部署依赖mysql,php,nginx等相关组件,所以在部署前建议你先按照宝塔面板等工具,这样可以很方便的把相关依赖主键一键安装。本教程默认你已经安装了宝塔面板,将从你的主机已经安装好了宝塔面板开始说起(主机安装宝塔面板教程:https://www.bt.cn/download/linux.html)。
1.1、添加站点
1.2、为站点申请SSL证书
注意:申请ssl证书及使用https访问,若你的主机在国内未备案那么你无法使用https进行直接访问,则你可以跳过该步骤
2、NextCloud安装部署
2.1、获取安装文件
获取安装文件有两种办法:其一是在官网下载安装包并上传到你刚创建的站点文件夹内;其二是在宝塔面板打开终端工具直接通过wget命令下载到站点文件夹。这里我选择用第二种通过wget命令下载
具体的操作为:打开终端>进入站点文件夹>下载nextcloud安装包>解压安装包>修改文件所属用户>修改文件权限
#进入站点文件夹 cd /www/wwwroot/file.xyzbeta.com #下载安装包 #解压安装包 #将文件移动到站点根目录(该步骤非必须,一般你解压的文件目录结构为nextcloud/*,如果不把nextcloud目录下的文件移动到根目录,那么你的访问地址就应该https://file.xyzbeta.com/nextcloud/) mv ./nextcloud/* ./ #修改文件用户属性 chown -R www:www /www/wwwroot/file.xyzbeta.com/ #修改文件权限 chmod -R 755 /www/wwwroot/file.xyzbeta.com/
2.2、初始化配置
按照上面的操作完成后,你可以在浏览器访问nextcloud进行初始化配置了
例如:我的站点地址是https://file.xyzbeta.com,你应该根据你自己的配置的站点地址在浏览器中进行访问。在初始化页面你需要配置:管理员账号密码,文件存储位置,数据库连接方式等相关信息。
到此nextcloud的安装就算完成了,为了让nextcloud更好用,你应该继续操作下列的优化配置部分内容。
3、NextCloud优化配置
nextcloud安装成功后,原则上你已经可以开始使用它了,但是为了让它运行地更稳定、快速与安全,我们仍需要对它进行进一步优化。接下来我将对nextcloud的一些常见配置与优化问题进行操作说明:
3.1、系统默认优化操作
在nextcloud的设置概览页面系统给出了一些常见问题的优化建议,我们将按照系统给出的问题提示进行逐一优化。问题如下截图所示:
3.1.1、PHP 内存限制低于建议值 512MB
解决办法:在宝塔面板中打开PHP管理面板>配置修改>脚本内存限制>修改到最低512M (注意:如果你的主机内存较小,就别修改了,直接忽视这个问题吧)
3.1.2、该实例缺失了一些推荐的 PHP 模块。为提高性能和兼容性,我们强烈建议安装它们。
解决办法:nextcloud推荐了php的gmp、imagick、fileinfo、apcu、opcache等模块,如果你的主机性能条件允许,那么你应该将这些模块都安装上。
在宝塔面板中打开PHP管理面板>安装扩展>将上面提到的模块以及nextcloud建议的模块全部点击安装
3.1.3、您的网页服务器未正确设置以解析“/.well-known/caldav”以及您的网页服务器未正确设置以解析“/.well-known/carddav”。
解决办法:在宝塔面板中打开网站>选择安装nextcloud的站点>配置文件>手动编辑添加两行代码
rewrite /.well-known/carddav /remote.php/dav permanent;
rewrite /.well-known/caldav /remote.php/dav permanent;
3.1.4、内存缓存未配置。为了提升性能,请尽量配置内存缓存。
解决办法:在宝塔面板上打开终端,进入目录/www/wwwroot/file.xyzbeta.com(此处应该是自己的站点地址)/config下编辑config.php文件,新增一行代码:
‘memcache.local’ => ‘\OC\Memcache\APCu’,
3.1.5、您的数据目录和文件可以从互联网直接访问。.htaccess 文件不起作用。强烈建议您配置 Web 服务器,以便数据目录不再可访问,或者你可以将数据目录移动到 Web 服务器文档根目录。
解决办法:在宝塔面板中打开网站>选择安装nextcloud的站点>配置文件>在禁止访问的文件和目录的配置栏目上添加你用来存储数据你的目录。例如:我存储数据的目录是data。那么加上data的配置为
3.1.6、一些文件没有通过完整性检查。了解如何解决该问题请查看我们的 文档。
解决办法:在宝塔面板上打开终端,进入目录/www/wwwroot/file.xyzbeta.com(此处应该是自己的站点地址)>对.user.ini和.htaccess文件解锁>修改.user.ini和.htaccess文件的权限>修改.user.ini和.htaccess文件的所属用户
cd /www/wwwroot/file.xyzbeta.com
chattr -i .user.ini && chattr -i .htaccess
chmod 777 .user.ini && chmod 777 .htaccess
chown www:www .user.ini && chown www:www .htaccess
3.1.7、PHP 的安装似乎不正确,无法访问系统环境变量。getenv(“PATH”) 函数测试返回了一个空值。
解决办法:确认你目前在用的php版本,然后打开终端在终端中搜索php-fpm.conf的路径,然后编辑php-fpm.conf文件。在文件尾部添加一行代码
#查找文件命令
find / -name “php-fpm.conf”
#php-fpm.conf文件尾部所需要添加的代码
env[PATH] = /usr/local/bin:/usr/bin:/bin:/usr/local/php/bin
3.1.8、您的安装没有设置默认的电话区域。这对验证配置设定中没有国家代码的电话号码而言是必需的。
解决办法:在宝塔面板上打开终端,进入目录/www/wwwroot/file.xyzbeta.com(此处应该是自己的站点地址)/config下,对config.php文件进行编辑,添加一行代码
‘default_phone_region’ => ‘CN’,
3.2、进阶优化操作
4、问题注意事项
本文系作者 @Mr.Lee 原创发布在 维简网。未经许可,禁止转载。