NextcloudサーバをApacheからNginxに変更 Cubieboard5

先日、Cubieboard5でNextcloudサーバを構築してみました。

ハードウェア構成、動作速度ともに特に問題ありませんが、気になるのは取り扱えるファイルサイズが2GBに制限されていることです。

ファイルシステムはext4を使用していますので、HDDまたはSSDに2GB以上のファイルを格納することは可能です。

シングルボードコンピュータのNextcloudで2GBの壁を超えられないかどうか試したい理由から、WebサーバをApacheからNginxに変更してみました。手順を記録しておこうと思います。


Cubieboard5にNginx版Nextcloudをインストール

php-fpm起動設定

前回ビルド・インストールしたphp 7.2.4のphp-fpm用設定ファイルを作成します。

  1. /opt/php7.2.4/etc/php-fpm.confファイルを作成します。
  2. /opt/php7.2.4/etc/php-fpm.d/www.confファイルを作成します。
  3. テンポラリディレクトリを作成します。
  4. /opt/php7-fpm-checkconfファイルを作成します。
  5. /etc/init/php7-fpm.confファイルを作成します。
  6. /etc/init.d/php7-fpmファイルを作成します。php5-fpmのスクリプトをベースにさせて頂きました。
  7. スクリプトを実行可能にします。
  8. バイナリをphp7-fpmという名称で実行できるようにリンクを作ります。
  9. /opt/php7.2.4/lib/php.iniファイルを変更して、大容量のファイル転送が可能な設定にしておきます。
  10. php7-fpmサービスを有効にします。

これでphp7-fpmがデーモンとして起動しました。ApacheやNginxからモジュールではなくFastCGIとしてPHPを実行できるようになりました。


nextcloudディレクトリ移動

php7-fpmを使う都合から、/opt/nextcloudディレクトリを、/opt/www/html/nextcloudへ移動しようと思います。

  1. /var/wwwディレクトリを/optに移動します。またtar使ってる・・・
  2. nextcloudディレクトリを移動します。

Apacheからphp7-fpmを利用してみる

WebサーバーをNginxに変更する前に、Apacheもphp-fpmが使用できるようにしてみます。

  1. /etc/apache2/sites-available/nextcloud.confファイルを変更します。
  2. /etc/apache2/conf-available/php7-fpm.confファイルを作成します。
  3. モジュールとコンフィグレーションを有効にします。

これでApacheからphp7-fpmが利用できるようになりました。phpinfo.phpのServerAPI欄がFPM/FastCGIに変わりました。

nextcloudもFastCGIで動作するかと思います。

試しにWindows版のNextcloudクライアントから2GBを超えるファイルをアップロードしてみましたがうまく行きませんでした。php-fpm経由ですので、ApacheのPOST最大サイズ2GBの制限は無いはずですが・・・むむむ。


Nginxインストール

php-fpmが動くことを確認しましたので、いよいよNginxをインストールしてみます。基本的にNextcloud 13 Administration Manualをベースに設定しますが、SSLではなくHTTPで設定しています。インターネットに置くサーバ用途ではなく、自宅のようなイントラネットでの利用向けになります。

  1. Apacheを停止して無効にしておきます。
  2. apt-getでNginxをインストールします。
  3. /etc/nginx/sites-available/nextcloudファイルを作成します。server_nameは適宜設定して下さい。
  4. サイトを有効化、nginxを再起動して設定を反映します。

これでApacheからNginxへ変更が完了しました。

試しに2GB以上のファイルをアップロードしてみました。Apacheの時と少し挙動が変わったようです。

ファイルのアップロード中は、どうやらNextcloudのuploadフォルダに10MBに細かく分割されたファイルが蓄積されるようです。

アップロードが完了すると、php-fpmプロセスがファイルの結合を開始するようですが・・・・

あれれ?サイズが2113863680バイトになると、結合中のファイルが突然消えてしまいました。

php-fpmプロセスのエラー内容を見ると、ファイルサイズとして-1が返ってるような?

ということで、2GBを超えるファイルのアップロードはできませんでした。残念です。


サイズが大きいファイルを扱う場合、やはり64ビットのCPUとOSが必要なのかもしれません。

こちらの記事でご紹介させて頂きましたが、64ビットに対応したシングルボードコンピュータやOSが登場しつつあるようです。

2017年4月に発売されたFirefly-RK3399は64ビットのARM Cortex-A72 CPUを搭載しています。またRaspberry Pi 3は、実際に64ビット対応Linuxが何種類か公開されているようです。

これらのハードウェアの動向を見ながら、再度、2GB超のシングルボドコンピュータのNextcloudサーバの構築にチャレンジ(リベンジ?)してみたいと思います。

ちなみに、Raspberry PiのNextcloud専用OSであるNextcloudpiは、2GB以上のファイルのアップロードに対応しています。何か独自の工夫をされているのでしょうね。Nextcloudpiのインストール手順はこちらの記事になります。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク