今回はNextcloudサーバー/クライアントを題材に、
Nextcloudとsnapパッケージ
NextcloudはownCloudから派生
snapパッケージはCanonicalによる新しいパッケージシステムで、
NextcloudサーバーはNextcloud社によって公式パッケージがリポジトリに用意されています。Nextcloudクライアントのsnapパッケージはありませんが、
そこで今回は、
Nextcloudサーバー
インストールと初期設定
前述のとおりNextcloudサーバーはリポジトリにあるため、
$ sudo snap install nextcloud
その後、
http://nextcloud-test.local/
Zeroconfサーバーが動作していない場合はIPアドレスを入力してください。
そしてWebブラウザに表示される画面において、
https化
今回の例のようにローカルにNextcloudサーバーを置く場合は特に気にしなくてもいいのですが、
パッケージの作り方にもよりますが、
$ sudo nextcloud.enable-https self-signed
上記の方法だと自己署名証明書を使用することになりますが、
データの置き場所
GitHubのドキュメントを見ると、
いろいろなコマンド
snapパッケージのNextcloudサーバーはApacheで動作しているため、
$ sudo systemctl stop snap.nextcloud.apache.service
起動する場合は次のとおりです。
$ sudo systemctl start snap.nextcloud.apache.service
このようにsystemdに依存しています。
snapパッケージのNextcloudにはいくつか独自のコマンドがあります。前述の"nextcloud.
Nextcloudクライアント
ソースコードの取得とビルド
Nextcloudクライアントは前述のとおり、
$ git clone https://github.com/nextcloud/client_theming.git $ cd client_theming/ $ git submodule update -i
git submoduleコマンドでownCloudクライアントのソースコードをダウンロードします。そこからわかるとおり、
続いてsnap/
$ cd linux $ editor snap/snapcraft.yaml
まずはバージョンに注目します。
version: 2.2.4+git
執筆段階でのバージョンはこのようになっていますが、
次に注目するのは以下の部分です。
parts:
client:
plugin: cmake
source: ../
source-subdir: client
build-packages:
- g++
- libqt5webkit5-dev
- libsqlite3-dev
- libssl-dev
- pkg-config
- qt5keychain-dev
- qttools5-dev-tools
configflags:
- -DCMAKE_BUILD_TYPE=Release
- -DOEM_THEME_DIR=$SNAPCRAFT_PART_INSTALL/../src/nextcloudtheme
- -DCMAKE_INSTALL_PREFIX=/usr
- -DCMAKE_INSTALL_LIBDIR=/usr/lib
- -DSYSCONF_INSTALL_DIR=/etc
本来はこのままでいいはずなのですが、
parts:
client:
plugin: cmake
source: ../
source-subdir: client
build-packages:
- g++
- libqt5webkit5-dev
- libsqlite3-dev
- libssl-dev
- pkg-config
- qt5keychain-dev
- qttools5-dev-tools
configflags:
- -DCMAKE_BUILD_TYPE=Release
- -DOEM_THEME_DIR=$SNAPCRAFT_PART_INSTALL/../src/nextcloudtheme
- -DCMAKE_INSTALL_PREFIX=/usr
- -DCMAKE_INSTALL_LIBDIR=/usr/lib
- -DSYSCONF_INSTALL_DIR=/etc
stage-packages:
- fonts-takao
- fcitx-frontend-qt5
差分は次のとおりです。
diff --git a/linux/snap/snapcraft.yaml b/linux/snap/snapcraft.yaml index 8b91854..8bdc940 100644 --- a/linux/snap/snapcraft.yaml +++ b/linux/snap/snapcraft.yaml @@ -1,5 +1,5 @@ name: nextcloud-client -version: 2.2.4+git +version: 2.3.2+git icon: ../nextcloudtheme/theme/colored/Nextcloud-icon.svg summary: Nextcloud Desktop Client description: | @@ -28,6 +28,9 @@ parts: - -DCMAKE_INSTALL_PREFIX=/usr - -DCMAKE_INSTALL_LIBDIR=/usr/lib - -DSYSCONF_INSTALL_DIR=/etc + stage-packages: + - fonts-takao + - fcitx-frontend-qt5 after: - desktop-qt5
ここまでできたら次のコマンドを実行し、
$ snapcraft
無事に完了するとカレントディレクトリに"nextcloud-client_
$ sudo snap install --dangerous nextcloud-client_*.snap
インストール後、
テストのために必要な設定
残念ながらこのsnapパッケージはZeroconfに非対応なため、
今回の場合は/var/
0 => 'nextcloud-test.local',
を次のように変更し、
0 => 'nextcloud-test.local', '192.168.12.56',
もちろんこれは例なので、
続けてNextcloudサーバーを再起動します。
$ sudo systemctl restart snap.nextcloud.apache.service
その後クライアントの設定を行ってください。
使用感
通常同期するフォルダーはホームフォルダの直下に作成されますが、
Nextcloudクライアントは
