海天无影's Blog

Nextcloud安全设置及文件配置优化

/ 1评 / 0

最近用旧笔记本在家里做了个服务器,需要使用一个私人网盘来存储和在线浏览文件,经过筛选发现nextcloud还不错,安装完也的确蛮好用的,最主要支持WebDAV,这个是真的方便。在手机或电脑上安装个网盘文件管理工具就可以直接读取、使用文件。

安装Nextcloud的过程就不赘述,因为是php文件,所以下载最新的安装包就可以了,但是因为优化方面,特别是文件缓存的配置,还是需要一些操作的,这里对照Nextcloud后台概览里显示的安全设置及警告的提示信息,着重记录一下。

PHP的安装似乎不正确,无法访问系统环境变量。getenv("PATH")函数测试返回了一个空值。 请参照安装说明文档 ↗中的PHP配置说明查阅您服务器的PHP配置信息,特别是在使用php-fpm时。

在php-fpm.conf文件尾部添加一行代码即可

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

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

这个主要是伪静态设置问题,在网站的伪静态文件里添加代码即可,最后会在文末放一篇设置好的伪静态文件,大家直接使用即可。

rewrite /.well-known/carddav /remote.php/dav permanent;
rewrite /.well-known/caldav /remote.php/dav permanent;

内存缓存未配置,为了提升使用体验,请尽量配置内存缓存。更多信息请参见文档。

Nextcloud推荐是Apcu,大家可以搭配memcached一起使用。将php的扩展开启Apcu和memcached,然后在Nextcloud的config.php文件添加:

'memcache.local' => '\OC\Memcache\APCu',
  'memcache.distributed' => '\OC\Memcache\Memcached',
  'memcached_servers' => 
  array (
    0 => 
    array (
      0 => 'localhost',
      1 => 11211,
    ),
 ),

PHP 的 OPcache 模块未载入。推荐开启获得更好的性能。

开启PHP的OPcache模块,然后在php.ini文件里配置相关参数如下:

opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1

ps:军哥的lnmp是在/usr/local/php/conf.d下修改

最后附上完善的伪静态文件:

#nextcloud一些关键目录的权限设置
    location ~ ^/(data|config|\.ht|db_structure\.xml|README) {
        deny all;
    }
#静态资源重定向1
    location ~* \/core\/(?:js\/oc\.js|preview\.png).*$ {
        rewrite ^ /index.php last;
    }
#webdav重定向
    location / {
        rewrite ^/caldav(.*)$ /remote.php/caldav$1 redirect;
        rewrite ^/carddav(.*)$ /remote.php/carddav$1 redirect;
        rewrite ^/webdav(.*)$ /remote.php/webdav$1 redirect;
        rewrite ^(/core/doc/[^\/]+/)$ $1/index.html;
#静态资源重定向2,支持使用acme脚本在申请证书时对域名的验证
     if ($uri !~* (?:\.(?:css|js|svg|gif|png|html|ttf|woff)$|^\/(?:remote|public|cron|status|ocs\/v1|ocs\/v2)\.php|^\/\.well-known\/acme-challenge\/.*$)){
         rewrite ^ /index.php last;
        }
    }
 
#静态资源重定向3
    location ~* \.(?:png|html|ttf|ico|jpg|jpeg)$ {
        try_files $uri /index.php$uri$is_args$args;
        access_log off;
    }
 
location ~ ^/(?:updater)(?:$|/) {
        try_files $uri/ =404;
        index index.php;
    }
 
#caldav和#carddav
    rewrite /.well-known/carddav /remote.php/dav permanent;
    rewrite /.well-known/caldav /remote.php/dav permanent;

一条回应:“Nextcloud安全设置及文件配置优化”

发表评论

电子邮件地址不会被公开。 必填项已用*标注