#author("2024-11-21T10:33:22+09:00","default:dramsukohome","dramsukohome") #author("2024-11-22T06:48:14+09:00","default:dramsukohome","dramsukohome") [[LinuxServer]] #shadowheader(1,"nextcloud"); #contents * 初回設定、参考サイト [#p3618aa5] -このサイトが一番わかりやすそうかな。。。~ 自分は既存の環境(LAMP)にインストール、設定しました。 --[[NextCloud : インストール:https://www.server-world.info/query?os=CentOS_7&p=nextcloud]] * Log出力設定の変更 [#ie24b2e0] ** 参考サイト [#we05392c] -[[【techblog】Nextcloudの管理用CLI「occ」詳細: ログ管理に関するコマンド:https://nextcloud.stylez.co.jp/blog/techblog/occ_details_log.html]] ** ログの出力、確認 [#gda26f11] php (nextCloudのルートフォルダ)/occ log:file ** ログの出力方式変更 [#l736066e] php (nextCloudのルートフォルダ)/occ log:manage --level=info --timezone Asia/Tokyo * Install後のセキュリティ&セットアップ警告 [#yd6b5317] -&color(red,){''自分の環境に特化した内容が含まれますので、あくまでご参考です''}; ** 「.soファイル」のコピー先の確認方法 [#f9eea653] -phpinfo で「extension_dir」を確認 ** OPcache [#g37d322d] *** Install [#p20b5ae0] sudo yum install php74-php-opcache php74-php-pecl-apcu *** 必要なファイルをApacheが参照しているディレクトリへコピー [#o4d4dced] +必要なファイルの検索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/ *** 設定変更 [#m6fa9c49] +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 ***確認 [#o892298a] +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 [#h69a73a4] *** Install [#i8258739] sudo yum install php74-php-pecl-apcu *** 必要なファイルをApacheが参照しているディレクトリへコピー [#h86464df] +必要なファイルの検索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/ *** 設定変更 [#vfc31d5b] +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, │ ], │ ); ***確認 [#pe9ef05a] +httpdを再起動 sudo systemctl restart httpd +phpinfoに「apcu」の項目として出てきます。 ** redis [#z0120fd3] *** Install [#e2a8ffa9] sudo yum install php74-php-pecl-redis *** 必要なファイルをApacheが参照しているディレクトリへコピー [#w3e0141c] +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/ *** 設定変更 [#xbc91c06] +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, ], ); ***確認 [#g53e5f09] +httpdを再起動 sudo systemctl restart httpd +phpinfoに「redis」の項目として出てきます。 ** OPcacheのインターン化文字列バッファーがまもなく一杯になります。全てのスクリプトをキャッシュに保管できるようにするには、opcache.interned_strings_bufferの値を8より多い値で、PHP設定に適用することを推奨します。 [#a821c6d5] -sudo vim /etc/php.d/10-opcache.ini opcache.interned_strings_buffer=32 -restart httpd sudo systemctl restart httpd ** php-fpm のチューニング [#ad171cf5] - [[参考サイト(nextcloudが速くなるチューニングポイント):https://blog.future.ad.jp/nextcloud%E3%81%8C%E9%80%9F%E3%81%8F%E3%81%AA%E3%82%8B%E3%83%81%E3%83%A5%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88]] - sudo vim /etc/php/8.2/fpm/pool.d/www.conf - 設定値参考 pm = static pm.max_children = 120 pm.start_servers = 12 pm.min_spare_servers = 6 pm.max_spare_servers = 18 * その他 [#a7b320c1] ** sessionディレクトリへ権限追加 [#z716795d] -参考サイト[[【Nextcloud】ログインループ (3) -アッサリ解決-:https://diary.d-yoshi.com/%E3%80%90nextcloud%E3%80%91%E3%83%AD%E3%82%B0%E3%82%A4%E3%83%B3%E3%83%AB%E3%83%BC%E3%83%97-3-%E3%82%A2%E3%83%83%E3%82%B5%E3%83%AA%E8%A7%A3%E6%B1%BA/]] *** sessionディレクトリの確認 [#k4f34570] -phpinfo()で確認する <?php phpinfo(); ?> *** sessionディレクトリへアクセス兼を設定 [#u0bacdbf] sudo chown apache: -R /var/lib/php/session ** パスワード・リセット [#l342e888] sudo -u www-data php /var/www/nextcloud/occ user:resetpassword admin ** WindowsのExplorer(エクスプローラー)でマウント [#g43934d8] -[[参考サイト:https://qiita.com/legitwhiz/items/9ec7d672874ca8ce35bb]] ** Apache実行ユーザーの変更 [#u3efce90] ***ログインできない [#w8acd740] -大体、sessionフォルダへのアクセス権の問題 sudo chown apacheUser:ApacheUsers /var/lib/php/sessions -R *** redis エラー [#m1c11177] -redis グループへApache2実行ユーザーを追加 sudo gpasswd -a apacheUser redis -daemon再起動 systemctl restart redis systemctl restart apache2 ***cron実行ユーザーの変更 [#u5ae7346] - sudo vim /etc/cron.d/nextcloud * エラー対処 [#g0b254b3] ** 参考サイト [#a7bad03f] -[[Linuxで様々なサービスを構築しよう!!!:https://www.bigbang.mydns.jp/nextcloud-x.htm]] ** cron.phpが実行されない [#g5e94c4d] -以下に変更(/dev/null 2>&1を消し、apc.enable を追加) -sudo vim /etc/cron.d/nextcloud /usr/bin/php -f /var/www/nextcloud/cron.php --define apc.enable_cli=1 -設定変更後は少し時間がかかる事がありますが、何回か実行していると5分以内に収まるようになります。 -実行されているかの確認は、NextCloudの「管理者設定」->「基本設定」で確認可能です。 ** updateに失敗する(create backup failed) [#c9e0f87d] +以下のコマンドで確認 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/* ** メンタンス・モード(Maintenanceモード)が解除されない。 [#k7c3ec42] +以下のファイルを編集 sudo vim /var/www/nextcloud/config/config.php +以下の場所 'maintenance' => false,