NextcloudはDropboxやOneDriveのようなクラウドストレージを提供するアプリケーションです。
サーバに大容量のストレージさえ積んでいれば無料で大容量のクラウドストレージを手に入れられます。(サーバの電気代とか、問題が起きた際に解決する為にかける時間とかを考えると無料……?と思わなくもないですが)
ちなみに、類似アプリにOwncloudというものもありますが、これはNextcloudの元となったアプリケーションになります。
しかし、今はNextcloudの方が開発が活発なので、個人利用に関しては少なくともNextcloudの方が良いでしょう。(また、Nextcloudは有償サポートがあるものの基本的に全部無料なのに対して、Owncloudは一部有償版でないと使えない機能があります)
この記事で行うこと
1. 前提となるアプリケーション
Nextcloudを使うためには以下のアプリケーションがインストールされている必要があります。
- Nginx (Apache)
- PHP&php-fpm
- MariaDB (PosgreSQL)
- Redis
括弧内は代表的な代替アプリケーションですが、本稿では触れません。当然設定等も変わりますので、括弧内のアプリケーションを使いたい場合は他サイトを参照してください。
また、NginxはSSL/TLS接続が出来るという前提で話を進めます。
各アプリケーションのインストール・設定は以下の一連の記事を参照して行ってください。
また、上記事では起動に足りないパッケージがあるのでインストールして付け足します。(これがないと、Nextcloudが起動できません)
dnf install php-gd php-process php-pecl-zip
また、MariaDBを使うためのパッケージも追加します。
[root@localhost ~]# dnf install php-pecl-mysql
さらに、パフォーマンス向上のためのパッケージを追加します。
[root@localhost ~]# dnf install php-intl php-pecl-apcu php-pecl-memcached php-pecl-redis5
また、他にも推奨されるパッケージがあるので、これらも追加します。
[root@localhost ~]# dnf install php-bcmath php-gmp php-pecl-imagick
なお、上記のものは説明のため別々にしているだけです。まとめて追加しても問題ありません。
2. Nextcloudのダウンロード
Nextcloudは圧縮ファイルとして配布されていますので、まずはこれを適当なフォルダにダウンロードします。
また、ダウンロードしたファイルが壊れていないかをチェックするためのファイルも一緒にダウンロードします。
[root@localhost ~]# wget https://download.nextcloud.com/server/releases/nextcloud-19.0.3.tar.bz2 -P ~/
[root@localhost ~]# wget https://download.nextcloud.com/server/releases/nextcloud-19.0.3.tar.bz2.sha256 -P ~/
wget
: ファイルのダウンロードを行うコマンドです。https://download.nextcloud.com/server/releases/nextcloud-19.0.3.tar.bz2
: NextcloudのファイルのURLです。しかし、これは現時点の最新版のURLなので、実際にダウンロードする際には最新のURLを公式ページから確認するようにしてください。(この時、拡張子がtar.bz2
となっているものを選んでください)-P ~/
:-P
はファイルの保存場所を指定するオプションです。小文字だと別のオプションになるので、必ず大文字で記載してください。~/
はrootユーザのホームディレクトリ(Windowsで言うデスクトップ)になります。必要に応じて保存場所は変更してください。https://download.nextcloud.com/server/releases/nextcloud-19.0.3.tar.bz2.sha256
: Nextcloudのファイルのsha256チェックサム(sha256形式でハッシュ化したチェック用ファイル)のURLです。ダウンロードしたNextcloudのバージョンと合っている必要があります。NextcloudをダウンロードしたURLの末尾に.sha256
と足せば大体大丈夫じゃないかなと思いますが、念のため確認したほうが良いと思います。
ダウンロードしてきたファイルが壊れていないかのチェックを行います。
[root@localhost ~]# sha256sum -c ~/nextcloud-19.0.3.tar.bz2.sha256
nextcloud-19.0.3.tar.bz2: 完了
sha256sum
: sha256でハッシュ化するチェックサムを扱うコマンドです。sha256という形式でファイルをチェックするための文字列を生成したり、その文字列でチェックすると考えてください。ちなみにmd5という形式もあってこちらはmd5sum
です。(使い方もおおむね一緒です)-c
: ファイルをチェックするためのオプションです。ちなみに、オプションをつけない場合は引数のファイルをチェックするための文字列を生成します。~/nextcloud-19.0.3.tar.bz2.sha256
: ファイルチェック用のファイルを指定します。ちなみに、このファイル内にはチェック対象となるファイル名も記載されているので、どのファイルをチェックするかの指定は不要です。ただし、同じフォルダにファイルがある必要があります。
別のフォルダにある場合は<
に続けて検証したいファイルを指定します
上記のように完了と出た場合は問題ありませんので次に進みます。失敗した場合は以下のような表示になるので、再度ダウンロードしなおしてみてください。
nextcloud-19.0.3.tar.bz2: 失敗
sha256sum: 警告: 1 個の計算したチェックサムが一致しませんでした
(オプション)さらにダウンロードしたファイルを確認
心配な場合はもう一段階踏み込んでNextcloud側で暗号化したチェック用ファイルを基にチェックすることができます。
普通はここまでする必要はないですが、一応。
チェック用に鍵と検証用ファイルをダウンロードします。
[root@localhost ~]# wget https://nextcloud.com/nextcloud.asc -P ~/
[root@localhost ~]# wget https://download.nextcloud.com/server/releases/nextcloud-19.0.3.tar.bz2.asc -P ~/
https://nextcloud.com/nextcloud.asc
: Nextcloudの公開鍵のアドレスです。このアドレスが変わることはそうそうないはず、確認したほうがいいとは思いますが、変わってたらそれはそれで本当にその情報が合っているか警戒したほうが良いかも?https://download.nextcloud.com/server/releases/nextcloud-19.0.3.tar.bz2.asc
: 検証用ファイルのアドレスです。これもダウンロードした本体のURLに.asc
って付ければ大抵あっていると思います。
次に、ダウンロードした公開鍵を読み込んでから、ファイルの検証をします。
[root@localhost ~]# gpg --import ~/nextcloud.asc
[root@localhost ~]# gpg --verify ~/nextcloud-19.0.3.tar.bz2.asc
gpg
: 秘密鍵を使ってファイルを暗号化したり、公開鍵で検証する為のコマンドです。--import ~/nextcloud.asc
:--import
は鍵を読み込むオプションです。ここではnextcloud.asc
を読み込んでいます。--verify ~/nextcloud-19.0.3.tar.bz2.asc
: 検証用のファイルを選択します。sha256での検証同様、どれを検証するかの指定は不要です。こちらも同じフォルダにファイル存在している必要があります。別のフォルダにある場合は、追加の引数でファイルを指定します。
gpg: "Nextcloud Security <security@nextcloud.com>"からの正しい署名 [不明の]
とあれば、ファイルは問題ありません。
警告が出ると思いますが、これは検証する為の鍵が検証できないというもので、鍵の検証手段は用意されていないため無視して大丈夫です。
3. Nextcloudの展開・配置
まず、配置する場所を決めます。
よく使われるのは /var/www/
辺りでしょうか。 var
はVarious(色々な)の略(のはず)で中身がよく変わるデータ、 www
はWebサービスに関連するデータという事で、Nextcloudを配置するには適切そうです。
しかし、今回は /srv/
直下に配置したいと思います。
srv
は(恐らく)Serviceの略です。
ここは、システムで提供されるサービスのデータを読み取り専用、読み書き可能、スクリプトなどを分けずに一纏めに置いておくための場所とされています。
また、管理者の許可無しにシステム側で勝手にこのフォルダ内のファイルを消さないよう配慮する必要があるとされています。(システムアップデートなどで消えたりしない)
上記の特徴から、Nextcloudのプログラムとデータを一纏めで配置するにはとても良さそうです。
では、以下のコマンドでダウンロードしたNextcloud本体を /srv/
に配置しましょう。
[root@localhost ~]# tar -x -f ~/nextcloud-19.0.3.tar.bz2 -C /srv/
tar
: ファイルの圧縮・展開を行う為のコマンドです。-x
: ファイルの展開を示すオプションです。ちなみにファイルの圧縮は-c
です。-f ~/nextcloud-19.0.3.tar.bz2
:-f
はファイルを指定するためのオプションです。これに続けて展開したいファイルを指定します。-C /srv/
:-C
はファイルの展開先を指定するためのオプションです。これに続けてファイルの展開先を指定します。指定しない場合は作業しているディレクトリに展開します。
まとめ
ひとまず前提条件となるプログラムをインストールして、Nextcloud本体を配置できました。
しかし、まだこの配置したNextcloudにアクセスも出来ませんし、データベースなどの用意も出来ていません。
次はこれらの設定を行っていきたいと思います。