加入收藏 | 设为首页 | 会员中心 | 我要投稿 百科站长网 (https://www.baikewang.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 安全 > 正文

NextCloud离线部署和解决安全警告与设置

发布时间:2022-11-07 13:13:04 所属栏目:安全 来源:
导读:  这几天帮一个客户安装了NextCloud,安装还算简单,但解决安全警告却花了我大把时间和精力,真的太难了。技术的难处就在折腾起来想吐。有时让人抓狂,但完成后会让你觉得柳暗花明又一村。我全部问题,都是自己百度
  这几天帮一个客户安装了NextCloud,安装还算简单,但解决安全警告却花了我大把时间和精力,真的太难了。技术的难处就在折腾起来想吐。有时让人抓狂,但完成后会让你觉得柳暗花明又一村。我全部问题,都是自己百度,参考了各种资料,终于解决。
 
  先贴一张完美图,真太不容易了。NextCloud安全警告全部通过,后台任务、邮件服务器全部正常。
 
  开始贴过程方案,可能有点长,先把我的报错,贴过来,写一些关键解决方案。
 
  说明:我的方案是lnmp采用的是nginx而非apache,注意自己区分。
 
  1、PHP 内存限制低于建议值 512MB。
 
  修改php.ini关于内存的设置,设置后重启php-fpm
 
  2、您的数据目录和文件可能可以从互联网访问。.htaccess 文件不工作。强烈建议您配置您的 web 服务器,使数据目录不再可访问,或将数据目录移到 web 服务器文档根目录之外。
 
  移动数据目录到www根目录或上级其他目录即可
 
  NextCloud 修改数据存储位置(以CentOS 8(apache)为例)
 
  3、PHP 的安装似乎不正确,无法访问系统环境变量。getenv("PATH") 函数测试返回了一个空值。 请检查安装文档 ↗中关于PHP的配置说明和您服务器上的PHP配置,特别是在使用 php-fpm 时。
 
  参考:find / -name php-fpm.conf
 
  /etc/php/7.4/fpm/php-fpm.conf
 
  vim /etc/php/7.4/fpm/php-fpm.conf
 
  尾部添加一行:
 
  env[PATH] = /usr/local/bin:/usr/bin:/bin:/usr/local/php/bin
 
  4、有些应用程序目录是由与 Web 服务器不同的用户拥有的。如果应用程序是手动安装的网页安全警告,情况可能是这样的。检查以下应用程序目录的权限:
 
  /var/www/html/nextcloud/apps/accessibility
 
  /var/www/html/nextcloud/apps/activity
 
  /var/www/html/nextcloud/apps/admin_audit
 
  /var/www/html/nextcloud/apps/circles
 
  /var/www/html/nextcloud/apps/cloud_federation_api
 
  /var/www/html/nextcloud/apps/comments
 
  /var/www/html/nextcloud/apps/contactsinteraction
 
  /var/www/html/nextcloud/apps/dashboard
 
  /var/www/html/nextcloud/apps/dav
 
  /var/www/html/nextcloud/apps/encryption
 
  /var/www/html/nextcloud/apps/federatedfilesharing
 
  /var/www/html/nextcloud/apps/federation
 
  /var/www/html/nextcloud/apps/files
 
  /var/www/html/nextcloud/apps/files_external
 
  /var/www/html/nextcloud/apps/files_pdfviewer
 
  /var/www/html/nextcloud/apps/files_rightclick
 
  /var/www/html/nextcloud/apps/files_sharing
 
  /var/www/html/nextcloud/apps/files_trashbin
 
  /var/www/html/nextcloud/apps/files_versions
 
  /var/www/html/nextcloud/apps/files_videoplayer
 
  /var/www/html/nextcloud/apps/firstrunwizard
 
  /var/www/html/nextcloud/apps/logreader
 
  /var/www/html/nextcloud/apps/lookup_server_connector
 
  /var/www/html/nextcloud/apps/nextcloud_announcements
 
  /var/www/html/nextcloud/apps/notifications
 
  /var/www/html/nextcloud/apps/oauth2
 
  /var/www/html/nextcloud/apps/password_policy
 
  /var/www/html/nextcloud/apps/photos
 
  /var/www/html/nextcloud/apps/privacy
 
  /var/www/html/nextcloud/apps/provisioning_api
 
  /var/www/html/nextcloud/apps/recommendations
 
  /var/www/html/nextcloud/apps/serverinfo
 
  /var/www/html/nextcloud/apps/settings
 
  /var/www/html/nextcloud/apps/sharebymail
 
  /var/www/html/nextcloud/apps/support
 
  /var/www/html/nextcloud/apps/survey_client
 
  /var/www/html/nextcloud/apps/systemtags
 
  /var/www/html/nextcloud/apps/text
 
  /var/www/html/nextcloud/apps/theming
 
  /var/www/html/nextcloud/apps/twofactor_backupcodes
 
  /var/www/html/nextcloud/apps/updatenotification
 
  /var/www/html/nextcloud/apps/user_ldap
 
  /var/www/html/nextcloud/apps/user_status
 
  /var/www/html/nextcloud/apps/viewer
 
  /var/www/html/nextcloud/apps/weather_status
 
  /var/www/html/nextcloud/apps/workflowengine
 
  配置www-data权限,不要配置777权限
 
  5、"Strict-Transport-Security" HTTP 头未设为至少 "15552000" 秒。为了提高安全性,建议启用 HSTS,参考步骤见 安全小贴士 ↗
 
  Nginx配置文件中添加以下行内容
 
  add_header Strict-Transport-Security max-age=15552000;
 
  service nginx restart
 
  6、伪静态重定向问题
 
  您的网页服务器未正确设置以解析“/.well-known/webfinger”。更多信息请参见文档↗。
 
  您的网页服务器未正确设置以解析“/.well-known/nodeinfo”。更多信息请参见文档↗。
 
  您的网页服务器未正确设置以解析“/.well-known/caldav”。更多信息请参见文档↗。
 
  您的网页服务器未正确设置以解析“/.well-known/carddav”。更多信息请参见文档↗。
 
  打开网站的文档改下就行了,注意区分有无下级目录,改好后清空缓存。
 
  后台好像使用js检测的,缓存没清理的话,会一直报错。
 
  7、你还没有设置或验证你的电子邮件服务器配置。请前往基本设置,以便进行设置。之后,使用表单下方的 "发送电子邮件 "按钮来验证您的设置。
 
  根据实际参数配置好邮件服务器即可。
 
  9、您的安装没有设置默认的电话区域。这对验证配置设定中没有国家代码的电话号码而言是必需的。要允许没有国家代码的电话号码,请添加带区域相应的 ISO 3166-1 code ↗ 的“默认_电话_区域”到你的配置文件中。
 
  配置文件中加一行代码即可,注意要清空缓存。
 
  10、内存缓存未配置。为了提升性能,请尽量配置内存缓存。更多信息请参见文档↗。
 
  The PHP OPcache module is not properly configured. See the documentation ↗ for more information.
 
  The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply opcache.memory_consumption to your PHP configuration with a value higher than 128.
 
  The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply opcache.interned_strings_buffer to your PHP configuration with a value higher than 8.
 
  开启PHP OPcache可参考网上的配置部署,可以参考
 
  普通人在修行中:Nextcloud私有云盘配置和优化技巧
 
  11、该实例缺失了一些推荐的 PHP 模块。为提高性能和兼容性,我们强烈建议安装它们。
 
  gmp
 
  imagick
 
  缺啥安装啥即可
 
  apt install php-gmp php-imagick
 
  12、关于apcu,我遇到一个问题。
 
  sudo apt-get update
 
  sudo apt-get install php-apcu -y
 
  安装了apcu拓展库,也修改了config.php但就是报错。
 
  查了一个教程,最近更新Debian10与NextCloud21遇到的问题 - SGTfz
 
  就是说php有php-fpm和php-cli两种运行方式,都要开启apcu
 
  接着我根据文章教程,用了php -i和php --ini发现了问题,果然php-cli里没启用,接着就添加一行代码
 
  vim /etc/php/7.4/cli/php.ini
 
  加入内容:apc.enable_cli=1
 
  接着重启,问题终于解决。最后完美了。
 
  13、关于cron.php定时任务,使用系统的最方便了
 
  Nextcloud添加系统 cron 服务
 
  但是注意权限必须是www-data,不能用root或者其他用户,否则报错。
 
  完成了所有,我感觉自己想吐了,代码看到头疼,压根不想再动代码了,心很累的感觉,想好好歇息几天。
 

(编辑:百科站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!