手动下载好nextcloud新版压缩包文件
上传到/data/updater-*****/downloads
修改/data/updater-*****/.step文件
{"state":"end","step":5}
再刷新更新页https://域名/updater/
即可继续进行更新
我站在青青的牧场
手动下载好nextcloud新版压缩包文件
上传到/data/updater-*****/downloads
修改/data/updater-*****/.step文件
{"state":"end","step":5}
再刷新更新页https://域名/updater/
即可继续进行更新
在使用nextcloud过程中,突然出现"Internal Server Error"错误,提示如下:
Internal Server Error
The server encountered an internal error and was unable to complete your request.
Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report.
More details can be found in the server log.
通过查找原因,最后有两种解决方法:
1.安装APCu扩展
2.清空数据表oc_filecache数据
通过方法2解决了我的问题.
环境
centos 7.7.1908
nextcloud 16.0.5
ocdownloader 1.7.3
aria2配置是重点
aria2安装
wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -ivh epel-release-latest-7.noarch.rpm
yum install aria2
yum -y install httpd
配置文件/etc/aria2/aria2.conf权限www770
内容
continue=true
max-connection-per-server=5
min-split-size=10M
#设置加密的密钥
#rpc-secret=12344321
# 启用RPC, 默认:false
enable-rpc=true
# 允许所有来源, 默认:false
rpc-allow-origin-all=true
# 允许非外部访问, 默认:false
rpc-listen-all=true
rpc-listen-port=6800
rpc-allow-origin-all=true
rpc-listen-all=true
disable-ipv6=true
bt-detach-seed-only=true
force-save=false
on-download-complete="rm $3.aria2"
# 从会话文件中读取下载任务
input-file=/var/local/aria2c/aria2c.sess
# 在Aria2退出时保存`错误/未完成`的下载任务到会话文件
save-session=/var/local/aria2c/aria2c.sess
#添加bt服务器,从https://github.com/ngosang/trackerslist获取
bt-tracker=udp://tracker.coppersurfer.tk:6969/announce,udp://tracker.leechers-paradise.org:6969/announce,udp://9.rarbg.to:2710/announce,udp://9.rarbg.me:2710/announce,udp://tracker.opentrackr.org:1337/announce,udp://tracker.internetwarriors.net:1337/announce
创建session文件/var/local/aria2c/aria2c.sess权限www770
创建log文件/var/log/aria2c/aria2c.log权限www770
临时执行命令
chown -R www:www /var/log/aria2c /var/local/aria2c
chmod 770 -R /var/log/aria2c /var/local/aria2c
sudo -u www aria2c --enable-rpc --rpc-allow-origin-all -c -D --log=/var/log/aria2c/aria2c.log --check-certificate=false --save-session=/var/local/aria2c/aria2c.sess --save-session-interval=2 --continue=true --input-file=/var/local/aria2c/aria2c.sess --rpc-save-upload-metadata=true --force-save=true --log-level=warn --rpc-listen-all=false
启用systemctl进行配置开机启动
创建文件/etc/systemd/system/aria2.service权限root644
内容
[Unit]
Description=Aria2 Service
After=network.target
[Service]
Type=simple
Group=www
User=www
ExecStart=/usr/bin/aria2c --enable-rpc --rpc-listen-all --rpc-allow-origin-all --save-session /var/local/aria2c/aria2c.sess --input-file /var/local/aria2c/aria2c.sess --conf-path=/etc/aria2/aria2.conf
PrivateTmp=false
[Install]
WantedBy=default.target
常用命令
systemctl daemon-reload
systemctl enable aria2.service
systemctl stop aria2.service
systemctl start aria2.service
systemctl status aria2.service -l
常用排查命令
sudo lsof -i tcp:6800
ps -ef|grep aira2c
kill -9 PID号
需要注意
aria2下载的文件权限最后通过宝塔的计划任务解决
每小时进行一次权限设置
直接在脚本里写以下内容
chown -R www:www /www/wwwroot/网站目录/data/用户文件夹/files/
wait
chmod 770 -R /www/wwwroot/网站目录/data/用户文件夹/files/
wait
本文环境:centos7,nginx,php7.3
1.安装php扩展
fileinfo
opcache
redis
imagemagick
exif
2.修改php.ini文件
软件商店,php7.3设置 进入–>配置文件
大概1898行
换成如下
[Zend Opcache]
zend_extension=/www/server/php/73/lib/php/extensions/no-debug-non-zts-20180731/opcache.so
opcache.enable=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1
3.修改php-fpm.conf文件
/www/server/php/73/etc/php-fpm.conf
最下面添加
env[PATH] = /usr/local/bin:/usr/bin:/bin:/usr/local/php/bin
4.修改网站配置文件
点击–>网站–>设置–>配置文件
rewrite /.well-known/carddav /remote.php/dav permanent;
rewrite /.well-known/caldav /remote.php/dav permanent;
add_header Strict-Transport-Security max-age=15768000;
5.修改config.php文件
/www/wwwroot/你的网站目录/config/config.php
添加缓存配置
'memcache.local' => 'OCMemcacheRedis',
'memcache.locking' => 'OCMemcacheRedis',
'redis' => array( 'host' => 'localhost', 'port' => 6379, ),
6.修改php和nginx的上传限制
内存限制
上传文件大小限制
超时等
7.htpps配置
可以宝塔后台绑定宝塔实名帐号,在网站配置面板申请.
或者阿里云申请,再进行配置.
开启http2
配置好https后,在网站配置中修改配置文件
server
{
listen 80;
listen 443 ssl http2;
8.文件缩略图显示
8.1视频缩略图
安装ffmpeg扩展
wget http://download.bt.cn/install/ext/ffmpeg.sh && sh ffmpeg.sh
脚本只适用Centos6/Centos7 64位系统
查看安装情况
ffmpeg -version
在Php禁用函数中取消掉exec、system等函数
错误解决方法
ffmpeg: error while loading shared libraries: libavdevice.so.56:
cannot open shared object file: No such file or directory
先 find / -name libavdevice.so.56 得到该文件的目录地址,
然后 vim /etc/ld.so.conf 将上述目录添加到最后一行并保存退出;
加入:/usr/local/ffmpeg/lib //请修改成自己的实际目录
执行
sudo ldconfig
修改配置文件
添加configconfig.php
'enabledPreviewProviders' => array(
'OCPreviewPNG',
'OCPreviewJPEG',
'OCPreviewGIF',
'OCPreviewHEIC',
'OCPreviewBMP',
'OCPreviewXBitmap',
'OCPreviewMP3',
'OCPreviewTXT',
'OCPreviewMarkDown',
'OCPreviewMovie'
),
9.所使用的数据库为MySQL但没有对4字节字符的支持。为正确处理文件名或评论中使用的4字节字符(比如emoji表情),建议开启MySQL的4字节字符支持。详细信息请阅读相关文档页面。
在文件/www/wwwroot/你的网站目录/config/config.php中添加
'mysql.utf8mb4' => true,
10. 一些文件没有通过完整性检查.
一些文件没有通过完整性检查。了解如何解决该问题请查看我们的 文档。(无效文件列表… / 重新扫描…)
请把网站根目录下所有不是安装压缩包内的文件删除.
例如:安装的压缩包,https证书的验证文件等
然后点击重新扫描即可
11.文件有暴露的危险,禁止浏览器列出目录即可
location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ {
deny all;
}
location ~ ^/(?:.|autotest|occ|issue|indie|db_|console) {
deny all;
}
关于遇到的问题总结
1.APP视频上传一直不成功
原因:开始未配置https,APP登录后走的不是安全协议.
配置好htpps后,APP再重新登录一次就可以上传视频了.
2.挂载外部存储
提示: “smbclient” 未安装。无法挂载 "SMB / CIFS", "SMB / CIFS 使用 OC 登录信息"
需要安装smbclient
yum install libsmbclient libsmbclient-devel -y
宝塔中php的popen函数默认被禁用,删除掉.
pecl install smbclient
遇到警告:
WARNING: channel "pecl.php.net" has updated its protocols, use "pecl channel-update pecl.php.net" to update
pecl channel-update pecl.php.net
pecl安装smbclient扩展完成后
php.ini中添加这一行
extension="smbclient.so"
最后重启php
安卓客户端的同步默认是安装后新增的内容同步,之前的是不同步的。
不过在每个文件夹右下角的加号图标的第二个导入按钮里可以去选择批量上传的内容。
这里要注意,批量只支持文件夹内的文件全选。
建议安装F-Droid上的最新版,请设置包括不兼容的版本,可以安装最新版nextcloud安卓客户端.
正式版 https://f-droid.org/zh_Hans/packages/com.nextcloud.client
开发版 https://f-droid.org/zh_Hans/packages/com.nextcloud.android.beta
经测试,设置自动上传的文件夹,有新增图片,会进行即时识别秒传上服务器.
关于F-Droid
F-Droid 是一个 Android 平台上 FOSS(Free and Open Source Software,自由开源软件)应用程序的目录,并提供下载安装支持。使用客户端可以更轻松地浏览、安装及跟进您设备上的应用更新。
官网:https://f-droid.org/