最近用旧笔记本在家里做了个服务器,需要使用一个私人网盘来存储和在线浏览文件,经过筛选发现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安全设置及文件配置 […]
[…] Nextcloud安全设置及文件配置 […]