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通信になっていると思います。
終了です。お疲れ様でした。
参考記事