一. 安装
docker run -d -p 51020:80 -e PUID=1000 -e PGID=1000 -e TZ=Asia/Shanghai -e PHP_MEMORY_LIMIT=1024M -e PHP_UPLOAD_LIMIT=100G --restart unless-stopped --name nextcloud -v /data/nextcloud/nextcloud:/var/www/html/ nextcloud:latest
二. 常见问题
问题1: php gmp安装扩展失败
执行命令后安装
apt install libgmp-dev
问题2:您的数据目录和文件似乎可以从互联网访问。这是因为 .htaccess 文件无效。强烈建议您配置您的 web 服务器,使数据目录不再可访问,或将数据目录移到 web 服务器文档根目录之外。
网站配置文件server下增加
location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/
{
deny all;
}
问题3:Your webserver does not serve .mjs files using the JavaScript MIME type.
解决:确认在/www/server/nginx/conf 中 mime.types文件中包含:
application/javascript mjs
问题4:PHP 的安装似乎不正确,无法访问系统环境变量。getenv("PATH") 函数测试返回了一个空值。PHP FPM配置文件:
env[PATH] = /usr/local/bin:/usr/bin:/bin:/usr/local/php/bin
问题5:可信任域名当前访问是来自本地,可以直接访问,如果挂到外网,需要修改config
1 => preg_match('/cli/i',php_sapi_name())?'127.0.0.1':$_SERVER['SERVER_NAME'],
问题6:也可以设置面板shell计划任务
#需要在php配置下加上 apc.enable_cli=1 ,才能保证apcu缓存正常工作,避免cron.php报错
apc.enable_cli=1
问题7:Server has no maintenance window start time configured.
在 config.php
中添加
'maintenance_window_start' => 1,
问题8:当前正在使用数据库处理事务性文件锁定,若有内存缓存可用,请进行配置以提升性能
如已经安装了 Redis 扩展,则只需在 config.php
中添加
'memcache.locking' => '\OC\Memcache\Redis',
'memcache.local' => '\OC\Memcache\Redis',
'redis' => ['host' => 'redis','port' => 6379,],
问题9:您在安装过程中未设置默认的国际区号
在 config.php
中添加
'default_phone_region' => 'CN',
问题10:wellknow 提醒关闭
'check_for_working_wellknown_setup' => false,
三. 设置面板shell计划任务
sudo -u www php -f /www/wwwroot/nextcloud/cron.php
四. 提示使用occ修复的
执行occ命令的时候,首先是提示说要用www-data用户执行
在容器外面执行命令并且指定用户
docker exec -u 33 nextcloud /var/www/html/occ
这样执行命令是可以的,其他的方法比如在容器里切换到www-data用户再去执行,则可能报php的错。
五. 安装SMB服务
docker exec -it nextcloud bash
apt update && apt upgrade
apt install smbclient libsmbclient-dev
pecl install smbclient
docker-php-ext-enable smbclient
————————————————————————————————
六. 安装视频缩略图,上传的视频不能生成缩略图
其实 Nextcloud 本身支持生成视频缩略图,需要安装 ffmpeg 并修改配置:
docker exec -it nextcloud bash
apt install ffmpeg
ffmpeg version
停止 NextCloud 容器,再修改 /var/ www/ html/ config/ config.php 配置文件,添加:
'enable_previews' => true,
'enabledPreviewProviders' =>
array (
0 => 'OC\\Preview\\Image',
1 => 'OC\\Preview\\Movie',
2 => 'OC\\Preview\\TXT',
3 => 'OC\\Preview\\HEIC',
4 => 'OC\\Preview\\MOV',
),
解除块大小限制/进入容器后直接occ
docker exec -u www-data nextcloud php occ config:app:set files max_chunk_size --value 0
./occ config:app:set files max_chunk_size --value 0
其他重新索引目录
docker exec --user www-data nextcloud php /var/www/html/cron.php
docker exec -u www-data nextcloud php 数据库修复命令
docker exec -u www-data nextcloud php occ files:scan --all
docker exec -u www-data nextcloud php occ preview:generate-all
docker-compose exec --user www-data app php occ
sudo -u www-run php /www/nextcloud.com/occ preview:generate-all -vvv
智能与识别
docker exec -it nextcloud bash
apt install nodejs npm
填写路径 /usr/bin/node