NextCloud问题解决,环境:CentOS\PHP8\Apache

1、一些文件未通过完整性检查。有关如何解决这一问题的进一步信息可在 文档 ↗中找到

主要是程序的完整型,可以点击无效文件列表,将压缩包中的文件重新COPY到原目录底,再点击【重新扫描】即可;

2、PHP 内存限制低于建议值 512MB

#路径:/etc/php.ini

找到: memory_limit = 128MB

改为:memory_limit = 1G

systemctl restart httpd

3、PHP configuration option output_buffering must be disabled

#路径:/etc/php.ini

找到: output_buffering = 4096

改为:; output_buffering = 4096

systemctl restart httpd

4、您的数据目录和文件似乎可以从互联网访问。这是因为 .htaccess 文件无效 

#先将路径:/var/www/html/nextcloud 下在的data文件夹移至其它地方

#然后再打开路径:/var/www/html/nextcloud/config/config.ini文件,修改

原:'datadirectory' => '/var/www/html/nextcloud/data',

改:'datadirectory' => '/usr/data',   #注这个是你的移至的新路径

5、网页服务器未正确设置以解析:

  1. 您的网页服务器未正确设置以解析“/.well-known/webfinger”。更多信息请参见文档↗。
  2. 您的网页服务器未正确设置以解析“/.well-known/nodeinfo”。更多信息请参见文档↗。
  3. 您的网页服务器未正确设置以解析“/.well-known/caldav”。更多信息请参见文档↗。
  4. 您的网页服务器未正确设置以解析“/.well-known/carddav”。更多信息请参见文档↗。

#先将路径:/var/www/html/nextcloud 下在的.htaccess文件复制至/var/www/html下,打开此文件,修改IfModule mod_rewrite.c的内容:

<IfModule mod_rewrite.c>

  RewriteEngine on

  RewriteCond %{HTTP_USER_AGENT} DavClnt

  RewriteRule ^$ /nextcloud/remote.php/webdav/ [L,R=302]

  RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

  RewriteRule ^\.well-known/carddav /nextcloud/remote.php/dav/ [R=301,L]

  RewriteRule ^\.well-known/caldav /nextcloud/remote.php/dav/ [R=301,L]

  RewriteRule ^\.well-known/webfinger /nextcloud/index.php/.well-known/webfinger [R=301,L]

  RewriteRule ^\.well-known/nodeinfo /nextcloud/index.php/.well-known/nodeinfo [R=301,L]

  RewriteRule ^remote/(.*) remote.php [QSA,L]

  RewriteRule ^(?:build|tests|config|lib|3rdparty|templates)/.* - [R=404,L]

  RewriteRule ^\.well-known/(?!acme-challenge|pki-validation) /index.php [QSA,L]

  RewriteRule ^(?:\.(?!well-known)|autotest|occ|issue|indie|db_|console).* - [R=404,L]

</IfModule>

#然后再打开路径:/etc/httpd/conf/httpd.conf文件,修改

原:AllowOverride none

改:AllowOverride ALL

#最后

systemctl restart httpd

6、您还没有设置或验证您的电子邮件服务器配置。请前往基本设置,以便进行设置。之后,使用表单下方的 "发送电子邮件 "按钮来验证您的设置。

7、您的安装没有设置默认的电话区域。这对验证个人资料页面中缺少国家代码的电话号码而言是必需的。要允许没有国家代码的电话号码,请添加相应的“default_phone_region”到您的配置文件中。允许的国家和地区请参阅 ISO 3166-1 code ↗

#配置路径:/var/www/html/nextcloud/config/config.ini

'skeletondirectory' => '',

'default_phone_region' => 'CN',

'default_language' => 'zh_CN',

'default_locale' => 'zh',

8、cron运行出错解决

#找到路径:

cd /var/www/html/nextcloud

chown  apache:apache cron.php

#再找到路径:/etc/systemd/system目录下,新建nextcloudcron.service 和 nextcloudcron.timer 两个文件

#nextcloudcron.service文件内容

[Unit]

Description=nextcloud cron.php job

[Service]

User=apache

ExecStart=/usr/bin/php -f  /var/www/html/nextcloud/cron.php

[Install]

WantedBy=basic.target

#nextcloudcron.timer文件内容

[Unit]

Description=Run Nextcloud cron.php every 5 minutes

[Timer]

OnBootSec=5min

OnUnitActiveSec=5min

Unit=nextcloudcron.service

[Install]

WantedBy=timers.target

#再执行下面的指令,就可以啦

systemctl enable nextcloudcron.timer

systemctl start nextcloudcron.timer

systemctl enable --now nextcloudcron.timer

9、内存缓存未配置。为了提升性能,请尽量配置内存缓存。

#安装redis

yum -y install redis

#配置开机启动

systemctl enable redis

#优化redis内容,路径:/etc/redis.conf

原:bind 127.0.0.1

改:bind 0.0.0.0

原:protected-mode yes

改:protected-mode no

原:daemonize no

改:daemonize yes

firewall-cmdnextcloud --zone=public --add-port=6379/tcp --permanent

firewall-cmd --reload

#配置路径:/var/www/html/nextcloud/config/config.ini

  'memcache.distributed' => '\OC\Memcache\Redis',

  'memcache.locking' => '\OC\Memcache\Redis',

  'memcache.local' => '\OC\Memcache\APCu',

#APCU好像与Cron有冲突,不知道是啥原因

  'redis' => array(

'host' => 'localhost',

'port' => 6379,

),

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值