Nextcloud + apache2 のセットアップ on Ubuntu

LINEで送る
Pocket

Dropbox, Google Drive, OneDrive などオンラインストレージサービスの登場により、 クラウド上にファイルを置いて、いつでも何処でも同じ環境で仕事ができるようになり、 ファイルをグループで共有して編集したりと大きく仕事の進め方が変わりました。

少し前まで個人でストレージといえば、高価なNASを購入したり、 RAID を組んだりとデータ消滅の危機管理は自分でしなければいけませんでした。 個人でディスクを用意してバックアップを取っていても、いつかディスクは壊れてしまうので不安でした。

しかしクラウド上にデータを保存しておけば、ディスクが壊れてしまうという
リスク管理はオンラインストレージ、クラウドサービスに任せることができます。

しかしそのサービスにも一長一短があります。ブラウザを使用すればどのサービスも、どんなシステム環境でもそのファイルにアクセス出来ますが、 そのシステムのディレクトリを、Linuxのローカルディスクと常に同期したいという要望に 答えられるサービスを公式に提供しているのは、現在のところ Dropbox しかありません。

非公式のツールであれば Google Drive, OneDrive とLinuxのローカルディスクを同期できますが、 いつアクセス方法の仕様が変更されるか分かりませんし、大事なデータをバックアップするのであれば 公式のものを使いたいものです。

しかし Dropbox の無料の Basic プランで使用できるディク容量は 2 GB と少なく、 有料の Plus プランは、たっぷり 1TB まで使えますが、月額1000円と少しお高い設定になっています。

Nextcloud は、オープンソースのオンラインストレージツールで、 Linux のローカルディレクトリとオンラインストレージを同期します。 他のサービス同様、オンラインの文書編集やカレンダーの同期、画像、音楽ファイルの管理などが行えます。

クラウド上のオンラインストレージとローカルのディスクを同期する Nextcloud client は、 Linux は、もちろん Windows, macOS, Android, iOS と用意されているため、どんな環境でも対応できます。

同様のツールに ownCloud というものがありますが、Nextcloud は ownCloud の創設者 Frank Karlitschek が ownCloud をフォークして作ったプロジェクトです。 ownCloud にはオープンソース版と有料の Enterprise 版があり。Frank Karlitschek は、 Enterprise 版もオープンにしたいと考え Nextcloud を立ち上げたので ownCloud のフル機能が Nextcloud で利用できるのです。

Nextcloud のメリット
・無料で利用できる。
・容量を気にする必要がなくなる。
・利用できるユーザ数の制限が無い。
・複数のサーバ、アカウントをクライアントで管理して同期できる。
・プラグインを追加して他のサービスにない機能も利用できる。
・他社でされば有料サービスの履歴管理、削除ファイルの復活なども無料。

Nextcloud のデメリット
・自前でサーバを用意する必要がある。
・クラウドサーバを利用して1人で使用する場合、商用サービス用より割高になる可能性がある。
・オンプレのサーバを利用するとディスク故障のリスク管理は自分で行う必要がある。

Nextcloudをインストールする前に、動作に必要な Apache,PHP,MySQL をインストールします。 Nextcloud は、データベースとしてMySQL, PostgreSQL、SQLLite3 が利用できますが、今回はMySQLを利用します。

$ sudo apt install apache2 mysql-server php php-xml php-cgi php-cli php-mysql php-mbstring php-gd php-curl php-zip

Nextcloudにアップロード出来るファイルのサイズを設定します。
メモリ使用量の上限、最大ファイルサイズは環境により適宜設定してください。

[/etc/php/7.2/apache2/php.ini]

;メモリ使用量の上限
memory_limit = 512M

;POSTデータの最大サイズ ※合計サイズ
post_max_size = 100M

;1ファイルあたりの最大アップロードサイズ
upload_max_filesize = 100M

apache をリスタートします。

$ sudo systemctl restart apache2

Nextcloud で使用するデータベースをMySQlに事前に作成します。
ここでは、以下の値を設定します。

データベース名 : nextcloud
ユーザ名 : ncadmin
パスワード : password

$ sudo mysql -u root -p
Enter password:
    :
mysql> CREATE DATABASE nextcloud;
Query OK, 1 row affected (0.00 sec)

mysql> GRANT ALL PRIVILEGES ON nextcloud.* TO 'ncadmin'@'localhost' IDENTIFIED BY 'password';
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> exit
Bye

最新の Nextcloud は、https://nextcloud.com/install/#instructions-server よりダウンロードします。
ダウンロードしたファイルを展開して、Apache のドキュメントルートに 展開した Nextcloud を置き、ディレクトリのオーナーとグループをApache(www-data)に変更します。

$ wget https://download.nextcloud.com/server/releases/nextcloud-13.0.4.zip
$ unzip nextcloud-13.0.4.zip
$ sudo mv nextcloud /var/www/html/
$ sudo chown -R www-data:www-data /var/www/html/nextcloud/

WebブラウザでセットアップしたサーバにアクセスするとNextcloudの設定画面が現れます。
http://サーバのIPアドレス or ホスト名/nextcloud/

複数のデータベースがインストールされている場合は、データーベースの選択が可能です。

ユーザ名 : 任意
パスワード : 任意
データフォルダー : /var/www/html/nextcloud/
データベースのユーザ名 : ncadmin
データベースのパスワード : password
データベース名 : nextcloud
データベースのホスト名: localhost (デフォルト)

セットアップ完了後、ログイン画面が現れるのでログインすれば利用開始できます。 ファイルのアップロードは、「+」ボタンをクリックするか、ファイルマネージャから ファイルをドラック&ドロップするとアップロードできます。

「ギャラリー」アイコンをクリックすると、アップロードした画像だけが表示されて スライドショーモードに切り替えることもできます。

共有アイコンをクリックすると、nextcloud内のユーザ、もしくはURLを自動生成してファイルの共有が行えます。

Nextcloud のディレクトリをローカルでマウントするために、 Nextcloud クライアントを以下のコマンドを実行してインストールします。

$ sudo add-apt-repository ppa:nextcloud-devs/client
$ sudo apt install nextcloud-client

インストール後、GNOME Shell のメニューよりnextcloud-clientを起動すると、 セットアップウィザードが起動します。

サーバーアドレス : http://サーバのIPアドレス or ホスト名/nextcloud/
ユーザ名 : Nextcloud セットアップ時のユーザ名
パスワード : Nextcloud セットアップ時のパスワード

セットアップが完了すると、~/Nextcloud/ にオンラインストレージのデータが同期されます。

セットアップ後の設定は、画面右上の Nextcloud をクリックして設定を選択します。

ログイン時に自動でnextcloud-clientを起動するために、「システム開始時に起動」にチェックを入れます。

アカウントの[新規]より、複数のアカウントを使用することもできます。

スマフォのアプリも、ディスクトップ版と同じように使用できます。

Nextcloud の特徴としてアプリを追加して機能拡張が出来ることがあげられます。 アプリの追加は、画面右上のアイコンをクリックして「アプリ」を選択します。 追加したい機能を選択して「有効にする」をクリックするだけです。

(日本語化されてない、アプリもたくさんありヘルプも充実していないため使用方法がよく分からないものもあります。)

筆者が試しにインストールしてみて、便利だと思うアプリをいくつか紹介したいと思います。

Checksum
ファイルのハッシュ値を表示してくれます。容量の大きいファイルの共有時、ダウンロード失敗に備えてハッシュ値を共有相手に伝えることができます。

Nextcloud のユーザ同士で WebRTC を使い ビデオ会議、音声通話、チャットが行なえます。
(筆者確認時、ビデオ会議、音声通話はfirefoxしか動作しませんでした。)

Audio Player
Nextcloud にアップロードしたファイルを再生します。この機能を使えばメディアサーバとしても利用できます。

Calendar
カレンダーを表示して、予定を書き込めます。Thunderbirdのカレンダー(CalDAV)との連携も可能です。

LINEで送る
Pocket

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

コメントを残す

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください