ConoHa VPS に NextCloudを入れてみた

提供: tknotebook
移動: 案内検索

メインページ>コンピュータの部屋>ConoHa VPS を使ってみた


ConoH VPS に NextCloud をインストールしてみました。

NextCloud というのは ownCloud の親戚のソフトで、dropBoxサーバとよく似たオンラインストレージを提供する サーバソフトです。

Dropboxなどと同様、ブラウザを使ったファイルのアップロード/ダウンロードができるほか、 PC とのフォルダ同期androidや ios端末とのファイルのアップロード/ダウンロード写真の自動バックアップが行えます。

この他にカレンダーなどのいくつかのアプリケーションも提供するようです。

NextCloudの簡単な歴史

元々 個人や企業で自前のサーバーで使える、DropBoxに似たオンラインストレージが、Karlitschek 氏等の手により開発されました。これが ownCloud です。

彼は owncloud社を設立して ownCloudの開発を続けました。

しかし設立者であるKarlitschek 氏等と投資家の折り合いがつかなくなったらしく、彼らは2016年春に ownCloud社を飛び出し、 新たな NextCloud社を設立しました。

この会社から提供されているサーバソフトがこの NextCloud です。

NextCloudも DropBoxやownCloudと同様、オンラインストレージを提供するサーバソフトで php で書かれています。

インストールの準備

インストールには LAMP環境が必要です。この記事では Conoha VPS でそこそこ新しいLAMP環境の構築で作成した LAMP環境を使いました。

また、オンラインストレージなので、十分なセキュリティへの配慮が必須。SSL化は必須と言ってよいでしょう。 私は NextCloud インストール前に、 ConoHa VPS に SSL証明書を取得してみた や ConoHa VPS の apache がhttpを httpsへリダイレクトするようにしてみたで WebサーバのSSL化を実施しました。

NextCloudは既定で sqlite を使うので、小規模な運用なら MySQL は必須ではありません。 もしMySQLを使うなら

  1. データベースを作成して、データべ-ス名を控えておく。
  2. 上記データベースにログインでき、そのデータベースの全権を与えられたユーザを用意し、そのID/PASSを控えておく。

という作業が事前に必要です。

記事ConoHa VPS への MediaWikiのインストール や、 記事コマンドラインクライアント mysql の使い方が参考になるでしょう。 MySQL Workbench でMySQLに接続してグラフィカルに設定するなどしてももちろんOKです。

インストール

データフォルダの作成

私の VPS では大容量のパーティションは /data にマウントされています。

/var/www/html は別の比較的小さなパーティションの中なのでNextCloudのデータ領域には不適です。

私の VPS では

/data/nextcloud_data/data

を作成しました。nextcloud_data/dataのオーナは

cd /data
chown -R apache:apache nextcloud_data

で変更しておきました。

ダウンロードと展開

https://nextcloud.com/install/#instructions-server から zip ファイルでダウンロードできます。

2016年11月29日の時点では nextcloud10.0.0.1.zip がダウンロードできますが、私は以下の手順でファイルを展開しました。

1. nextcloud10.0.0.1.zip を teraterm で VPS に SCP で転送。/var/www/html の置く。

mv ~/nextcloud10.0.0.1.zip /var/www/html

2. /var/www/html へ移動

cd /var/www/html

3. nextcloudを解凍

unzip nextcloud10.0.0.1.zip

4. 所有者を変更

chown apache:apache nextcloud

初期設定

https://ホスト名/nextcloud/ にアクセスすると、初期設定画面が開きます。

Install-wizard-a.png

以下の設定を行います。

  1. 管理者のユーザ名とパスワードを入力。
  2. データベースの選択。sqlite か MySQL を選びます。後者では、データベース名、ログインユーザ名/パスワードも入力します。
  3. NextCloud のデータフォルダを選ぶ。既定値は /var/www/html/nextcloud/data になっていますが、私は準備で作っておいたフォルダ /data/nextcloud_data/data に変更しました。/var/www/html/nextcloud/data は .htaccess でアクセス禁止に設定されているので、中身は見えませんが、大抵は適切なパーティションの中ではありません。より広いパーティションの中へのパスへ変更するべきでしょう。もちろん、設定は変えず、その代わりに予め /var/www/html/nextcloud を適切なパーティションの中へのシンボリックリンクにして置いてもOKです。

これだけです。Finish Setup ボタンを押して入力を完了し、https://ホスト名/nextcloud/にアクセスすればログイン画面が開きます。


NextCloud001.png


インストール時の初期設定で指定した管理者の ID/PASS でログインすれば、即使えます。

下の図は、言語を「日本語」に切り替えた後の画面です。

NextCloud002.png

設定の修正

そのまま使えるかと思ったら、そうは問屋が卸しませんでした。Webの画面からファイルをアップロードしようとすると ファイルサイズが 2MB に制限されているのです。これでは使い物になりません。

よく調べてみると、NextCloud は .htaccess が使えることが前提になっていて、NextCloudフォルダの .htaccess で php のパラメータをいろいろ弄っているのです。

ConoHa の CENTOS6.6 の apache2.2 は、既定で .htaccess を禁止する設定になっているので、これではうまくゆくわけ ありません。

しかし、全面的に .htaccess を許可するのも危ないので、 /etc/httpd.conf/httpd.conf の末尾に、以下の設定を 書き加え、NextCloudのみで .htaccess を使えるように設定しました。

#for NextCloud because NextCloud uses .htaccess
<Directory "/var/www/html/nextcloud">
    AllowOverride All
</Directory>

以上で、アップロードが行えるようになりました。2GBまでのサイズなら一応OKのようです。

尚、この設定を行わず、かつ NextCloudのデータフォルダを既定値にすると、NextCloudのデータフォルダが全世界に丸見えになるのでご注意ください。

残問題

残念ながら、NextCloudでは、巨大なファイルを Webブラウザを使ってアップロードする際、 ファイルを一次的にサーバのメモリに貯めるようです。

このため、私の借りているVPSのような メモリ2GB の貧弱な環境では、 大きなファイル(数百メガバイト)の転送失敗が 頻繁に起こります。

今のところ対応策は、もっとメモリの大きい VPS を借りるしかないようです。