LoginSignup
1
0

自宅にsnapでnextcloudを建てた

Last updated at Posted at 2024-06-19

nextcloudって何?

nextcloudはファイル共有OSSプラットフォームです。
OSSのファイル共有システムなので社外秘のファイルなどを安心して保存することができます。
また、特定のファイルだけをメンバーではない人に共有することができわざわざ招待をしないといけないという問題が解決されます。

nextcloud建ててみた

nextcloudを入れる方法はいくつかありますが、個人的に一番楽に入れることができるのはsnapでのインストールだと感じています。

環境

snap 2.63
snapd 2.63
series 16
ubuntu 22.04
kernel 5.15.0-1055-raspi

注意

{}の中には自分用で適当に入力してください。
ドメインの取得についてはこの記事では触れないので、事前に取得しておいてください。

インストール方法

sudo snap install nextcloud

以上です。簡単でしたね。

初期設定

今回はユーザー追加とhttps通信を行います。

この動作は必要なのか???
一応やっておきましょう。

snap changes nextcloud

snap info nextcloud

snap connections nextcloud

ユーザー追加

nextcloud起動時の初期アカウントをコマンドで作ります。

sudo nextcloud.manual-install [your_name] [your_password]

以下のように出力されれば完了です。

Output
Nextcloud was successfully installed

ドメインの設定

以下のコマンドで現在のドメインを確認できます。

sudo nextcloud.occ config:system:get trusted_domains

おそらく以下のようにlocalhostだけになっていると思われます。

Output
localhost

まずは自分のドメインを登録しましょう。

sudo nextcloud.occ config:system:set trusted_domains 1 --value={your_domain}

先程のように以下のコマンドを打つと保存されていることが確認できます。

sudo nextcloud.occ config:system:get trusted_domains

Output
localhost
{your_domain}

DNSの設定

なんと今回のセッティングをする家のルーターはIPv6を採用しており、使用可能なポート番号が決められています。
そのためLet's encriptを使用すると80と443関連のポート番号でエラーが発生します。

ゆえに今回はlet's encriptをDNSチャレンジで実行します。

以下のコマンドでTXTレコードを生成します。
最後にEnterを押してと警告が出ますが、DNSサーバーの設定を行ってから実行してください。

certbot certonly --manual -d {your_domain} --preferred-challenges dns

実行した際の中心にVALUEが出ているはずなのでコピーをしておいてください。
DNSサーバーで以下のように記入

ホスト名 TYPE VALUE
_acme-challenge.{your_domain} TXT {your_VALUE}

更新されるまで数分ほどかかるので焦らずに待ちましょう。
エンターを押すと正しく設定されるはずです。

ポート開放

Nextcloudではデフォルトで80番と443番が開いているので変更していきます。
以下のコマンドでポートを変更することができます。

sudo snap set nextcloud ports.http={your_http_port}

sudo snap set nextcloud ports.https={your_https_port}

Firewallの設定をします。

sudo ufw allow {your_ports}

証明書の作成

DNS-01チャレンジで取得した証明書を手動で設定します。
/etc/letsencrypt/archive/{your_domain}/ の中に入っている3つの証明書を以下のディレクトリにコピーします。
/var/snap/nextcloud/current/certs/custom
certsの中にcustomというファイルが無いので自分で作成してください。

mkdir -m 777 /var/snap/nextcloud/current/certs/custom

sudo cp /etc/letsencrypt/archive/{your_domain}/{your_keys} /var/snap/nextcloud/current/certs/custom

自己証明を有効にします。

sudo snap run nextcloud.enable-https custom -s cert.pem private.pem chain.pem

これで接続をするとhttps通信になっていると思います。

終了です。お疲れ様でした。

参考記事

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0