#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,


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS