nextcloudの設定エラーとPHPのメモリ制限の解決方法を説明

nextcloud

前回、nextcloudの説明とレンタルサーバー(lolipop)での導入手順・起動確認まで説明しました。
nextcloudの使用に問題が無いように見えますが動作速度やファイルアップロードのファイルサイズ、セキュリティに影響があります。
今回は、管理画面で設定エラーの問題を解消する方法を説明します。
サーバーの設定を変更することで解決できたので同じ悩みの方の参考になれば幸いです。

【注意】
 ロリポップサーバーのPHPの設定ファイルを変更します。前回よりも難易度が上がっています。

設定エラー(問題)内容

・nextcloudのPHPメモリが512MB以上と推奨されているが128MBに設定されている
・ファイルアップロードの上限が20MBと少なく動画など大きいファイルがアップロードできない。
・リバースプロキシヘッダーの設定が正しくない

設定エラーの確認方法

設定エラーは管理画面の「概要ページ」で確認することができます。
概要ページには管理者でログイン後、右上のユーザーより「管理者設定」-「概要」を選択します。

管理者の「概要ページ]では、以下の問題を確認することができます。
・PHPメモリが512M以上が推奨であること
・リバースプロキシヘッダーの設定が正しくない


PHPのメモリ制限を確認するためにPHPのシステム内容を確認します。
システム内容には右上のユーザーより「管理者設定」-「システム」を選択します。

「PHPのシステム内容」では、PHPのメモリとファイルアップロードの上限サイズを確認することができます。
PHPメモリは128MB、アップロードの上限サイズは20MBに設定されています。
この設定は、lolipopでPHPシステムの標準設定と思われます。

解決手順

・nextcloudのPHPメモリが512MB以上と推奨されているが128MBに設定されている

・ファイルアップロードの上限が20MBと少なく動画など大きいファイルがアップロードできない。

【解決方法】サーバーのPHP設定ファイルのメモリとファイルアップロードのサイズを設定することで解決できます。

  • アプリ毎(nextcloud)のPHPの設定(.htaccess)でメモリやファイルアップロードのサイズの上限を変更できるようにサーバーの設定を変更する。
  • メモリ上限は128MB⇒2GB、ファイルアップロードは20MB⇒512MBに変更する。

    手順1.PHPの設定(.htaccess)を有効にするためPHPのメモリを変更できるようにPHP.iniファイルを変更する。

    [ロリポップでのPHP設定変更手順]

     ・ロリポップの管理画面に入る
     ・サーバーの管理 – PHP設定 でPHP設定画面に入る
     ・ドメインの「php.ini」の設定ボタンを押す
     ・PHPのバージョンをモジュール版⇒CGI版に変更、設定ボタンを押す。
     ・php.iniのphp_valueの変更を可能にする off → on

    手順2.nextcloudのPHPの設定(.htaccess)ファイルを修正する
     ドメインの場所「home/user/1/自分のユーザ名/web/サブドメイン」の
     PHPの設定(.htaccess)ファイルにPHPのメモリ上限を追記する。

    設定ファイルの赤枠の部分を追記します。
    設定内容は「PHPのメモリ 2GB、ファイルアップロードの上限 512MB」

    リバースプロキシヘッダーの設定が正しくない

    【解決方法】nextcloudのconfig.phpのtrusted_proxiesに信頼できるプロキシを登録することで解決することで解決できます。

    手順1.nextcloudが起動しているのIPアドレスを取得する(windows)
    PowerShellのnslookupでIPアドレスを取得する

    [手順]
    ・Windowosのタスクバーの検索に「power shell」と記入してPowerShellを起動します。
    ・下記の通り「nslookup nextcloudのドメイン名」を入力してEnterキーを押します。」
    ・Address 「xxx.xxx.xxx.xxx」がIPアドレスになります。

    手順2.nextcloudのPHPの設定(config.php)ファイルを修正する
     ドメインの場所「home/user/1/自分のユーザ名/web/サブドメイン/config」の
     PHPの設定(config.php)ファイルに手順1.で取得したIPアドレスを追記します。

    問題解決の確認方法

    リバースプロキシヘッダーの設定については「概要ページ」で確認します。右上のユーザーより「管理者設定」-「概要」を選択します。

    「リバースプロキシヘッダーの設定が正しくない」の警告が消えています。
    ※すいません。まだ一つ警告がのこってます。

    PHPのメモリについてはPHPのシステム内容で確認します。右上のユーザーより「管理者設定」-「システム」を選択します。

    メモリ制限が2GB、最大ファイルアップロードサイズが512GBになっています。

    あとがき

     以上で、ほとんどの問題は対応はできました。
     「https」関連の警告だけ残ってしまいましたが、次回取り組んでいきます。

    コメント