nextcloud的cron运行出错解决,APCu不可用解决办法

cron运行出错解决
出错类型为在nextcloud设置-概览中看到系统计划任务超过X小时未运行,请查看…

日志错误:

OCP\HintException: [0]: Memcache \OC\Memcache\APCu not available for
local cache (Is the matching PHP module installed and enabled?)

自nextcloud 21起,需要在php配置下加上 apc.enable_cli=1 ,才能保证apcu缓存正常工作

1、appnode位置:/etc/opt/appnode/scls/appnode-php80/php.d/40-apcu.ini
2、宝塔:/www/server/php/81/etc/php-cli.ini 末尾的地方追加apc.enable_cli=1,重启一下PHP就好了
或者用php --ini命令搜索,找出路径
【好像修改/www/server/php/81/etc/php.ini 也行】

参考:
https://zhuanlan.zhihu.com/p/435516648
https://www.timeit.cn/post-534.html

安装 Nextcloud: 1. 安装 LAMP 或 LEMP 环境(推荐使用 LEMP) ```bash # 安装 epel-release 和 nginx sudo dnf install -y epel-release sudo dnf install -y nginx # 安装 MariaDB sudo dnf install -y mariadb-server mariadb # 启动 MariaDB sudo systemctl start mariadb # 设置 MariaDB 开机自启 sudo systemctl enable mariadb # 运行 MySQL 安全策略 sudo mysql_secure_installation # 安装 PHP-FPM 和相关的扩展 sudo dnf install -y php-fpm php-opcache php-gd php-mysqlnd php-json php-mbstring php-xml php-zip php-intl php-curl ``` 2. 安装 Nextcloud ```bash # 添加 Nextcloud 的存储库 sudo dnf install -y https://download.nextcloud.com/server/releases/nextcloud-22.2.0-1.noarch.rpm # 安装 Nextcloud sudo dnf install -y nextcloud # 配置 SELinux sudo setsebool -P httpd_can_network_connect_db 1 # 配置 Nginx sudo cp /usr/share/doc/nextcloud-22.2.0-1/nginx.example.conf /etc/nginx/conf.d/nextcloud.conf sudo vi /etc/nginx/conf.d/nextcloud.conf # 在 server {} 块中添加以下内容 location /nextcloud { alias /usr/share/webapps/nextcloud/; try_files $uri $uri/ /nextcloud/index.php?$query_string; location ~ ^/nextcloud/(?:build|tests|config|lib|3rdparty|templates|data)/ { deny all; } location ~ ^/nextcloud/(?:\.|autotest|occ|issue|indie|db_|console) { deny all; } location ~ ^/nextcloud/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+|core/templates/40[34])\.php(?:$|/) { fastcgi_split_path_info ^(.+\.php)(/.*)$; try_files $fastcgi_script_name =404; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param HTTPS on; fastcgi_param modHeadersAvailable true; fastcgi_param front_controller_active true; fastcgi_pass unix:/run/php-fpm/www.sock; fastcgi_intercept_errors on; fastcgi_request_buffering off; fastcgi_read_timeout 300; } } # 重新加载 Nginx 配置 sudo systemctl reload nginx # 配置数据库 sudo mysql -u root -p CREATE DATABASE nextcloud; CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost'; FLUSH PRIVILEGES; exit # 初始化 Nextcloud sudo -u http /usr/bin/php /usr/share/webapps/nextcloud/occ maintenance:install --database "mysql" --database-name "nextcloud" --database-user "nextcloud" --database-pass "password" --admin-user "admin" --admin-pass "password" ``` 3. 配置 HTTPS ```bash # 安装 Certbot sudo dnf install -y certbot python3-certbot-nginx # 获取证书 sudo certbot --nginx -d example.com # 自动更新证书 sudo vi /etc/crontab # 在最后添加以下内容 0 0 1 * * root /usr/bin/certbot renew --quiet && systemctl reload nginx ``` 安装 OnlyOffice: 1. 安装 Docker ```bash # 安装 Docker sudo dnf install -y dnf-plugins-core sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install -y docker-ce docker-ce-cli containerd.io # 启动 Docker sudo systemctl start docker # 设置 Docker 开机自启 sudo systemctl enable docker ``` 2. 安装 OnlyOffice ```bash # 创建目录 sudo mkdir -p /app/onlyoffice/DocumentServer/data # 创建 Docker 网络 sudo docker network create onlyoffice # 运行 OnlyOffice sudo docker run -i -t -d --restart=always --network=onlyoffice --name onlyoffice-document-server -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data onlyoffice/documentserver:latest # 配置 Nginx 反向代理 sudo vi /etc/nginx/conf.d/onlyoffice.conf # 添加以下内容 upstream onlyoffice { server 127.0.0.1:80; } server { listen 80; server_name onlyoffice.example.com; # Redirect all HTTP requests to HTTPS with a 301 Moved Permanently response. return 301 https://$host$request_uri; } server { listen 443 ssl http2; server_name onlyoffice.example.com; # SSL configuration ssl_certificate /etc/letsencrypt/live/onlyoffice.example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/onlyoffice.example.com/privkey.pem; # SSL session caching ssl_session_cache shared:SSL:10m; ssl_session_timeout 5m; # SSL security ssl_protocols TLSv1.2 TLSv1.3; # OnlyOffice proxy location / { proxy_pass http://onlyoffice; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } # 重新加载 Nginx 配置 sudo systemctl reload nginx ``` 3. 配置 Nextcloud ```bash # 安装 OnlyOffice 应用 sudo -u http php /usr/share/webapps/nextcloud/occ app:install onlyoffice # 配置 OnlyOffice sudo -u http php /usr/share/webapps/nextcloud/occ config:app:set onlyoffice DocumentServerUrl --value="https://onlyoffice.example.com" sudo -u http php /usr/share/webapps/nextcloud/occ config:app:set onlyoffice DocumentServerInternalUrl --value="http://onlyoffice" sudo -u http php /usr/share/webapps/nextcloud/occ config:app:set onlyoffice StorageUrl --value="/nextcloud/remote.php/webdav/" sudo -u http php /usr/share/webapps/nextcloud/occ config:app:set onlyoffice StorageUrl --value="/nextcloud/remote.php/webdav/" sudo -u http php /usr/share/webapps/nextcloud/occ config:app:set onlyoffice DisableConfig --value="false" sudo -u http php /usr/share/webapps/nextcloud/occ config:app:set onlyoffice ForceSave --value="true" sudo -u http php /usr/share/webapps/nextcloud/occ config:app:set onlyoffice Secret --value="secret" sudo -u http php /usr/share/webapps/nextcloud/occ config:app:set onlyoffice JWTSecret --value="jwtsecret" sudo -u http php /usr/share/webapps/nextcloud/occ config:app:set onlyoffice JWTHeader --value="Authorization" sudo -u http php /usr/share/webapps/nextcloud/occ config:app:set onlyoffice VerifyPeerOff --value="true" ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值