LinuxServer
nextcloud
初回設定、参考サイト †
- このサイトが一番わかりやすそうかな。。。
自分は既存の環境(LAMP)にインストール、設定しました。
Log出力設定の変更 †
参考サイト †
ログの出力、確認 †
php (nextCloudのルートフォルダ)/occ log:file
ログの出力方式変更 †
php (nextCloudのルートフォルダ)/occ log:manage --level=info --timezone Asia/Tokyo
Install後のセキュリティ&セットアップ警告 †
- 自分の環境に特化した内容が含まれますので、あくまでご参考です
「.soファイル」のコピー先の確認方法 †
- phpinfo で「extension_dir」を確認
OPcache †
Install †
sudo yum install php74-php-opcache php74-php-pecl-apcu
必要なファイルをApacheが参照しているディレクトリへコピー †
- 必要なファイルの検索1
find /opt -name "*opcache*"
- 必要なファイルの検索2
find /etc -name "*opcache*"
- ファイルのコピー
sudo cp /etc/opt/remi/php74/php.d/10-opcache.ini /etc/php.d/
sudo cp /opt/remi/php74/root/usr/lib64/php/modules/opcache.so /usr/lib64/php/modules/
設定変更 †
- sudo vim /etc/php.d/10-opcache.ini
zend_extension=opcache
opcache.enable=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq = 60
opcache.validate_timestamps = 0
確認 †
- php -v
- 結果例
PHP 7.4.33 (cli) (built: Apr 10 2024 09:34:29) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.33, Copyright (c), by Zend Technologies
- phpinfoにも「Zend OPcache」の項目として出てきます
APCu †
Install †
sudo yum install php74-php-pecl-apcu
必要なファイルをApacheが参照しているディレクトリへコピー †
- 必要なファイルの検索1
find /opt -name "*apcu*"
- 必要なファイルの検索2
find /etc -name "*apcu*"
- ファイルのコピー
sudo cp /etc/opt/remi/php74/php.d/40-apcu.ini /etc/php.d/
sudo cp /opt/remi/php74/root/usr/lib64/php/modules/apcu.so /usr/lib64/php/modules/
設定変更 †
- sudo vim (nextCloudのルートフォルダ)/config/config.php
- 「'memcache.local' => '\OC\Memcache\APCu',」を追加
'installed' => true, │
'default_phone_region' => 'JP', │
'memcache.local' => '\OC\Memcache\APCu', │
'memcache.distributed' => '\OC\Memcache\Redis', │
'memcache.locking' => '\OC\Memcache\Redis', │
'redis' => [ │
'host' => 'localhost', │
'port' => 6379, │
], │
);
確認 †
- httpdを再起動
sudo systemctl restart httpd
- phpinfoに「apcu」の項目として出てきます。
redis †
Install †
sudo yum install php74-php-pecl-redis
必要なファイルをApacheが参照しているディレクトリへコピー †
- redis関連
- 必要なファイルの検索1
find /opt -name "*redis.so*"
- 必要なファイルの検索2
find /etc -name "*redis*"
- ファイルのコピー
sudo cp /etc/opt/remi/php74/php.d/50-redis.ini /etc/php.d/
sudo cp /opt/remi/php74/root/usr/lib64/php/modules/redis.so /usr/lib64/php/modules/
- igbinary.so
- 必要なファイルの検索1
find /opt -name "*igbinary*"
- 必要なファイルの検索2
find /etc -name "*igbinary*"
- ファイルのコピー
sudo cp /etc/opt/remi/php74/php.d/40-igbinary.ini /etc/php.d/
sudo cp /opt/remi/php74/root/usr/lib64/php/modules/igbinary.so /usr/lib64/php/modules/
- msgpack.so
- 必要なファイルの検索1
find /opt -name "*msgpack*"
- 必要なファイルの検索2
find /etc -name "*msgpack*"
- ファイルのコピー
sudo cp /etc/opt/remi/php74/php.d/40-msgpack.ini /etc/php.d/
sudo cp /opt/remi/php74/root/usr/lib64/php/modules/msgpack.so /usr/lib64/php/modules/
設定変更 †
- sudo vim (nextCloudのルートフォルダ)/config/config.php
- 「'memcache.distributed' => '\OC\Memcache\Redis',」以下を追加
'installed' => true,
'default_phone_region' => 'JP',
'memcache.local' => '\OC\Memcache\APCu',
'memcache.distributed' => '\OC\Memcache\Redis',
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => [
'host' => 'localhost',
'port' => 6379,
],
);
確認 †
- httpdを再起動
sudo systemctl restart httpd
- phpinfoに「redis」の項目として出てきます。
OPcacheのインターン化文字列バッファーがまもなく一杯になります。全てのスクリプトをキャッシュに保管できるようにするには、opcache.interned_strings_bufferの値を8より多い値で、PHP設定に適用することを推奨します。 †
php-fpm のチューニング †
その他 †
sessionディレクトリへ権限追加 †
sessionディレクトリの確認 †
- phpinfo()で確認する
<?php
phpinfo();
?>
sessionディレクトリへアクセス兼を設定 †
sudo chown apache: -R /var/lib/php/session
パスワード・リセット †
sudo -u www-data php /var/www/nextcloud/occ user:resetpassword admin
WindowsのExplorer(エクスプローラー)でマウント †
Apache実行ユーザーの変更 †
ログインできない †
redis エラー †
cron実行ユーザーの変更 †
- sudo vim /etc/cron.d/nextcloud
エラー対処 †
参考サイト †
cron.phpが実行されない †
updateに失敗する(create backup failed) †
- 以下のコマンドで確認
sudo -u www-data php --define apc.enable_cli=1 /var/www/nextcloud/updater/updater.phar
- バックアップの失敗はpermissionエラーの場合が多い。
以下のコマンドを実行
sudo chown www-data:www-data -R /var/www/nextcloud/*