Ubuntu Weekly Recipe

第476回 Nextcloudに学ぶsnapパッケージ入門

この記事を読むのに必要な時間:およそ 3 分

今回はNextcloudサーバー/クライアントを題材に,snapパッケージの基礎を解説します。

Nextcloudとsnapパッケージ

NextcloudownCloudから派生(フォーク)したファイル同期サーバー/クライアントです。派生したのはこれらのソフトウェアだけではなく会社ごとであり,その社名も同じくNextcloudです。本稿ではNextcloud社,Nextcloudサーバー,Nextcloudクライアントと称することにします。

snapパッケージはCanonicalによる新しいパッケージシステムで,馴染みがあるかどうかはさておき現在も活発に開発されており,またパッケージも増加しています。

NextcloudサーバーはNextcloud社によって公式パッケージがリポジトリに用意されています。Nextcloudクライアントのsnapパッケージはありませんが,簡単にソースコードからビルドできるようになっています。

そこで今回は,Nextcloudサーバーとクライアントを通じてsnapパッケージの基礎を習得していきます。

Nextcloudサーバー

インストールと初期設定

前述のとおりNextcloudサーバーはリポジトリにあるため,簡単にインストールできます。端末を起動し,次のコマンドを実行してください。

$ sudo snap install nextcloud

その後,UbuntuやmacOSなどZeroconfサーバーが動作しているPCでWebブラウザーを起動し,ホスト名+.localを入力します。たとえば,ホスト名がnextcloud-testの場合には次のURLを入力します。

http://nextcloud-test.local/

Zeroconfサーバーが動作していない場合はIPアドレスを入力してください。

そしてWebブラウザに表示される画面において,初期ユーザー名とパスワードを入力し,ログインすればNextcloudサーバーが使用できるようになります。

https化

今回の例のようにローカルにNextcloudサーバーを置く場合は特に気にしなくてもいいのですが,VPSやクラウドに置く場合はhttpの平文ではセキュリティ的に問題です。通常であればApacheの設定を変更してhttps化しますが,snapパッケージはそうもいきません。

パッケージの作り方にもよりますが,少なくともNextcloudサーバーのパッケージではApacheの設定ファイルを自由に変更できるようにはなっていません。そのため,専用のnextcloud.enable-httpsコマンドが用意されています。このコマンドを使ってhttpsに設定を変更します。

$ sudo nextcloud.enable-https self-signed

上記の方法だと自己署名証明書を使用することになりますが,VPSやクラウドに置く場合はLet's Encryptを使用するのがおすすめです。その場合はオプションを"lets-encrypt"に変更してください。

データの置き場所

GitHubのドキュメントを見ると,データは"$SNAP_DATA"と"$SNAP_COMMON"に置かれていると記されています。snapパッケージのドキュメントに具体的な場所が示されていて," $SNAP_DATA"は"/var/snap/nextcloud/(バージョン)","$SNAP_COMMON"は"/var/snap/nextcloud/common"にあることがわかります。ログを見たい場合やownCloudからの移行などのときのために知っておくと便利でしょう。

いろいろなコマンド

snapパッケージのNextcloudサーバーはApacheで動作しているため,Nextcloudサーバーの起動や終了とApacheの起動や終了は同じ意味です。Nextcloudサーバーを終了する場合は次のコマンドを実行します。

$ sudo systemctl stop snap.nextcloud.apache.service

起動する場合は次のとおりです。

$ sudo systemctl start snap.nextcloud.apache.service

このようにsystemdに依存しています。

snapパッケージのNextcloudにはいくつか独自のコマンドがあります。前述の"nextcloud.enable-https"のほかにも,逆の働きをする"nextcloud.disable-https",コマンドラインからNextcloudサーバーの設定を行える"nextcloud.occ",データベースサーバーMySQL関連の"nextcloud.mysql-client"と"nextcloud.mysqldump"などがあります。いずれも運用に必要なものばかりです。

著者プロフィール

あわしろいくや

Ubuntu Japanese Teamメンバーで,主として日本語入力関連を担当する。特定非営利活動法人OpenOffice.org日本ユーザー会。LibreOffice日本語チーム。ほか,原稿執筆も少々。

コメント

  • Re: Nextcloudサーバーの再起動

    NextcloudサーバーはPHPで動作しており、PHPはApacheで動作しているのでApacheの再起動とNextcloudの再起動は同じ意味になります。

    Commented : #2  いくや(著者) (2017/06/24, 20:40)

  • Nextcloudサーバーの再起動

    > 続けてNextcloudサーバーを再起動します。
    > $ sudo systemctl stop snap.nextcloud.apache.service
    > その後クライアントの設定を行ってください。

    上記コマンドは snap.nextcloud.apache.service を停止するもの、と私は解釈しておりまして、どうしてこのコマンドによって Nextcloud サーバーが再起動されるのか理解できずにおります。私の不勉強を棚に上げて申し訳ないのですが、このコマンドがNextcloudサーバーの再起動に至るプロセスをご説明いただけると有り難く存じます。

    Commented : #1  nishbone (2017/06/23, 22:36)

コメントの記入