Nextcloudのインストール後の設定で概要でのセキュリティチェックがパスしましたが、
管理>基本設定で
最終ジョブ実行は %s です。何か問題が発生しています。
と出ていますので、これの設定を行います。
動作を確認した環境
- Ubuntu 20.04
- Apache 2.4系
- PHP8.1
- Nextcloud 27.0.2
さっくりとした手順
- Nextcloud上で設定を変えます。
- 一度Cronを走らせます。
- Cron設定を行います。
- 動作を確認します。
Nextcloud設定変更
- Nextcloud>管理>基本設定に進みます。
- バックグラウンドジョブをCronに設定します。
Cron作動
NextcloudがインストールされたサーバにSSHログインし、以下を実行します。
sudo -u www-data /usr/bin/php /var/www/html/nextcloud/cron.php
# 自分がnextcloudをインストールした環境に合わせます。
# 筆者環境
# sudo -u www-data /usr/bin/php /home/www-data/nextcloud/cron.php
Cron実行確認
- Nextcloud>管理>基本設定に進みます。
- 以下のように「最終ジョブ実行は○分前です」が表示されることを確認します。
Cronログ設定
Ubuntu 20.04の初期設定はcronログの出力が無効になっているので、修正します。
cd /etc/rsyslog.d
sudo cp -pi 50-default.conf /path/to/backup/50-default.conf.$(date +%Y%m%d)
# 任意のバックアップディレクトリを指定します。
diff -u 50-default.conf /path/to/backup/50-default.conf.$(date +%Y%m%d)
# 差分がないことでバックアップされていることを確認します。
- ファイル修正
教義・信仰に合わせたエディタで以下を修正します。
- 修正前
#cron.* /var/log/cron.log
- 修正後
cron.* /var/log/cron.log
- 設定反映
sudo systemctl restart rsyslog.service
Cron登録
- crontab起動
sudo -u www-data crontab -e
- 追記内容
*/5 * * * * /usr/bin/php -f /var/www/nextcloud/cron.php
# 自分の環境に合わせます。
# 筆者環境
# */5 * * * * /usr/bin/php -f /home/www-data/nextcloud/cron.php
- Cron登録確認
tail -50 /var/log/cron.log
- BEGIN EDIT (www-data)
- REPLACE EDIT (www-data)
- END EDIT (www-data)
と表示されていれば、Cron登録は確認されています。
- メール設定
- config.phpの設定
- メモリキャッシュの設定
- redis-serverの組み込み
- cron設定
が終われば、一応、初期準備は済んだと思います。