二:nextcloud27最全面优化与解决各种安全警告_nextcloud 优化全攻略

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上网络安全知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip204888 (备注网络安全)
img

正文

在HTTPS配置块中增添以下内容 add_header Strict-Transport-Security max-age=15552000;

        add_header Strict-Transport-Security 'max-age=15552000' always;
        add_header Referrer-Policy                   "no-referrer"       always;
        add_header X-Content-Type-Options            "nosniff"           always;
        add_header X-Frame-Options                   "SAMEORIGIN"        always;
        add_header X-Permitted-Cross-Domain-Policies "none"              always;
        add_header X-Robots-Tag                      "noindex, nofollow" always;
        add_header X-XSS-Protection                  "1; mode=block"     always;

image-20240115151536831

重载nginx

systemctl reload nginx

缺失国际区号与默认地域

vim /var/www/nextcloud/config/config.php

添加如下语句

 'default_phone_region' => 'CN',
 'default_language' => 'zh_CN',
 'default_locale' => 'zh',

不被信任的域名

vim /var/www/nextcloud/config/config.php

添加该域名即可

  #受信任的域名
  'trusted_domains' => 
  array (
    0 => '10.0.0.2',
    1 => '10.1.1.20',
    2 => 'nc6.example.com',
    3 => 'hnc6.example.com',
    4 => 'nc4.example.com',
  ),

您的网页服务器未正确设置以解析“/.well-known/**”

编辑nginx配置文件,修改well-know相关

    location ^~ /.well-known {

            location = /.well-known/webfinger   { return 301 $scheme://$host:11224/index.php/.well-known/webfinger; }
            location = /.well-known/nodeinfo    {return 301 $scheme://$host:11224/index.php/.well-known/nodeinfo;}

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

            try_files $uri $uri/ =404;
        }

编辑 vim /var/www/nextcloud/config/config.php

主域名一定使用本机的,原因在于安装时使用了代理服务器域名

'overwrite.cli.url' => 'https://10.0.0.2:11224',

40069:当端口不是80或者443并且在安装时使用代理的域名时会出现此问题,修改40069为对应的外部映射端口

或者使用 $server_port来代替

缺少PHP模块

缺啥补啥,或者全给他下了

sudo apt install -y php8.2-common php8.2-curl php8.2-xml php8.2-mbstring php8.2-gd php8.2-sqlite3 php8.2-mysql php8.2-bz2 php8.2-intl php8.2-ldap php8.2-imap php8.2-bcmath php8.2-gmp php8.2-apcu php8.2-imagick

优化内存缓存配置

官网推荐同时使用本地缓存和分布式缓存。推荐的缓存是APCu和Redis

apt install -y php8.2-apcu redis-server php8.2-redis

确认Redis是否正在运行:

ps ax | grep redis
netstat -tlnp | grep redis

Redis开始运行后,启用相应php模块:

你也可以手动在php.ini中添加以下内容,效果相同:

vim /etc/php/8.2/fpm/php.ini

; Redis php extension
extension=redis.so

开启apcu(php有php-fpm和php-cli两种运行方式,都要开启apcu,添加apc.enable_cli=1

vim /etc/php/8.2/fpm/conf.d/20-apcu.ini

apc.enable_cli=1

vim /etc/php/8.2/cli/php.ini

apc.enable_cli=1

按照上述的步骤重启PHP服务

开启apcu和redis

vim /var/www/nextcloud/config/config.php

添加如下内容

  'memcache.local' => '\OC\Memcache\APCu',
  'memcache.distributed' => '\OC\Memcache\Redis',
  'memcache.locking' => '\OC\Memcache\Redis',
  'redis' => [
  'host' => 'localhost',
  'port' => 6379],

添加 'memcache.distributed' => '\OC\Memcache\Redis', 后会报错,不知为何,若报错删除即可

如果redis有密码,加上该参数即可'password' => '******'

重载nginx

systemctl reload nginx

优化 php-fpm 性能,提高页面加载效率

可在这个网站计算:https://spot13.com/pmcalculator/

优化www.conf配置文件,增加更多的进程来处理页面数据。

vim /etc/php/8.2/fpm/pool.d/www.conf

需要修改和添加的字段有:

# pm.max\_children = 5
pm.max_children = 79

# pm.start\_servers = 2
pm.start_servers = 19

#pm.min\_spare\_servers = 1
pm.min_spare_servers = 19

# pm.max\_spare\_servers = 3
pm.max_spare_servers = 59


数值越大,进程越多,平均每个进程消耗 32M-96M 内存,按需设置

设置成功后重启 nextcloud 服务即可。

504 Gateway Time-out

vim /etc/nginx/conf.d/nextcloud.conf

在 nginx 配置文件钟添加以下语句即可解决

fastcgi_read_timeout 86400;

重启nginx或者重新加载配置文件

nginx -s reload

存在错误日志

日志路径位于nextcloud/data/ 目录下

vim /var/www/nextcloud/data/nextcloud.log

php-imagick 模块不支持 SVG

可以直接用以下步骤即可

 apt install libmagickcore-6.q16-6-extra

重启nginx

systemctl restart nginx

nextcloud无法访问应用商店

#在config.php中增加以下配置

vim /var/www/nextcloud/config/config.php

'appstoreenabled' => true,
'appstoreurl' => 'https://www.orcy.net/ncapps/v2/',

视频预览与缩略图并配置imaginary

在应用商店下载Preview Generator 插件并将其启用(通过正确配置可以预生成预览文件,减少系统负载)

首先生成所有预览(必须下载Preview Generator),如若文件很多,将会耗费较长时间

cd /var/www/nextcloud
sudo -u www-data php occ Preview:generate-all -vvv

其次将Preview:pre-generate添加到cron作业中

cd /var/www/nextcloud
sudo -u www-data php occ preview:pre-generate

构建imaginary服务

手动构建

创建并编辑docker-compose.yml

version: '3.1'

services:
  aio-imaginary:
    image: docker.io/nextcloud/aio-imaginary:latest
    restart: always
    environment:
      - PORT=9000
    ports:
      - "172.18.0.10:9000:9000"
    command: 
      - -concurrency 50
      - -enable-url-source
      - -log-level debug

之后在当前文件夹下执行docker compose up -d即可

宝塔1panel构建

image-20240117112813661

apt install libmagickcore-6.q16-6-extra
apt install ffmpeg

vim /var/www/nextcloud/config/config.php

'enable_previews' => true,
'enabledPreviewProviders' =>
 array (
    0 => 'OC\\Preview\\TXT',
    1 => 'OC\\Preview\\MarkDown',
    2 => 'OC\\Preview\\OpenDocument',
    3 => 'OC\\Preview\\PDF',
    4 => 'OC\\Preview\\MSOffice2003',
    5 => 'OC\\Preview\\MSOfficeDoc',
    6 => 'OC\\Preview\\PDF',
    7 => 'OC\\Preview\\Image',
    8 => 'OC\\Preview\\Photoshop',
    9 => 'OC\\Preview\\TIFF',
   10 => 'OC\\Preview\\SVG',
   11 => 'OC\\Preview\\Font',
   12 => 'OC\\Preview\\MP3',
   13 => 'OC\\Preview\\Movie',
   14 => 'OC\\Preview\\MKV',
   15 => 'OC\\Preview\\MP4',
   16 => 'OC\\Preview\\AVI',
   17 => 'OC\Preview\EMF',
   18 => 'OC\\Preview\\Krita',
   19 => 'OC\\Preview\\Imaginary',
 ),

 'preview_imaginary_url' => 'http://imaginary:9000',
 #缩略图为webp格式
 'preview_format' => 'webp',

预览图像的默认 WebP 质量设置为“80”。将其更改为30,加快加载速度:

cd /var/www/nextcloud
sudo -u www-data php occ config:app:set preview webp_quality --value="30"

之后可以很明显的感觉到加载图片速度变快了,也可以预览视频图片

设置cron定时任务

image-20240115151601953

vim /etc/systemd/system/nextcloudcron.service

[Unit]
Description=Nextcloud cron.php job
 
[Service]
User=www-data
ExecStart=/usr/bin/php -f /var/www/nextcloud/cron.php
 
[Install]
WantedBy=basic.target

vim /etc/systemd/system/nextcloudcron.timer

[Unit]
Description=Run Nextcloud cron.php every 7 minutes
 
[Timer]
OnBootSec=7min
OnUnitActiveSec=7min
Unit=nextcloudcron.service
 
[Install]
WantedBy=timers.target

systemctl enable --now nextcloudcron.timer	

电子邮件配置

image-20240115151630965

数据库优化

具体优化性能以硬件标准为准

给大家的福利

零基础入门

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

同时每个成长路线对应的板块都有配套的视频提供:

在这里插入图片描述

因篇幅有限,仅展示部分资料

网络安全面试题

绿盟护网行动

还有大家最喜欢的黑客技术

网络安全源码合集+工具包

所有资料共282G,朋友们如果有需要全套《网络安全入门+黑客进阶学习资源包》,可以扫描下方二维码领取(如遇扫码问题,可以在评论区留言领取哦)~

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注网络安全)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

4.png)

绿盟护网行动

还有大家最喜欢的黑客技术

网络安全源码合集+工具包

所有资料共282G,朋友们如果有需要全套《网络安全入门+黑客进阶学习资源包》,可以扫描下方二维码领取(如遇扫码问题,可以在评论区留言领取哦)~

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注网络安全)
[外链图片转存中…(img-0INBYklk-1713482185247)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 8
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Nextcloud 是一个强大的开源自托管文件同步和共享解决方案,可以为用户提供类似于 Dropbox 的数据同步和共享功能。它具有丰富的应用生态系统和强大的次开发能力,使开发者能够为其添加各种自定义功能和扩展。 Nextcloud次开发可以通过多种方式进行,包括创建新的插件、修改现有插件、创建新的主题、定制用户界面等。开发者可以使用 PHP、JavaScript、HTML、CSS 等技术来进行开发,根据自己的需求选择合适的方式。 通过开发插件,可以为 Nextcloud 添加新的功能和特性。例如,可以创建一个新的日历插件,使用户能够在 Nextcloud 中管理日程安排和提醒。还可以创建一个新的文件预览插件,使用户能够在浏览器中直接预览各种类型的文件。 通过修改现有插件,可以根据自己的需要来定制和扩展现有功能。例如,可以修改文件共享插件,实现更加灵活的共享方式,或者修改用户管理插件,添加更多的用户管理选项。 通过创建新的主题,可以改变 Nextcloud 的用户界面外观和风格。开发者可以根据自己的设计需求和品牌形象,自定义界面的样式、布局和颜色等。 通过次开发,开发者可以根据自己的需求和想法,为 Nextcloud 添加各种自定义功能和扩展,从而为用户提供更好的使用体验和功能选择。同时,由于 Nextcloud 是开源软件,开发者还可以与社区共享自己的次开发成果,为社区的发展做出贡献。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值