見出し画像

Nextcloudの設定

Nextcloudに最低限の設定をします。

信頼するドメインの設定

/var/snap/nextcloud/25647/nextcloud/config/config.php

でアクセス可能なドメインを定義するのですが、外部からのアクセス制御はルータで行うのでここでは最低限の定義だけ行います。

'trusted_domains' =>
[
  '*.hoge.com',
  '192.168.1.*'
],

hoge.comから192.168.1.*のアクセスは許可、あとは自分が外部で使うドメインを追加で登録します。

ポートの変更

$ sudo snap get -d nextcloud

で現状の設定が確認できます。自分の環境は

"ports": {
       "http": 80,
       "https": 443
},        

となっていたので

$ sudo snap set nextcloud ports.http=8080 ports.https=8443

を実行してデフォルト設定から替えておきます、まあ気休めですが。これを実行すると

"ports": {
       "http": 8080,
       "https": 8443
},

に変わります。

https接続の設定

今時プレーンなhttp接続は危険なのでhttpsで接続できるように設定します。
lets-encryptが利用できるようなので利用させていただきます。ただしこれを利用するにはhttpで設定するサーバに外部からアクセスできるようにしてく必要があります。一時的にでもルータの設定などをしてアクセスできるようにしておいて下さい。

$ sudo nextcloud.enable-https lets-encrypt

を実行すると

In order for Let's Encrypt to verify that you actually own the
domain(s) for which you're requesting a certificate, there are a
number of requirements of which you need to be aware:
1. In order to register with the Let's Encrypt ACME server, you must
  agree to the currently-in-effect Subscriber Agreement located
  here:
      https://letsencrypt.org/repository/
  By continuing to use this tool you agree to these terms. Please
  cancel now if otherwise.
2. You must have the domain name(s) for which you want certificates
  pointing at the external IP address of this machine.
3. Both ports 80 and 443 on the external IP address of this machine
  must point to this machine (e.g. port forwarding might need to be
  setup on your router).
Have you met these requirements? (y/n) y
Please enter an email address (for urgent notices or key recovery): hoge@hoge.com
Please enter your domain name(s) (space-separated): hoge.com
Attempting to obtain certificates... done
Restarting apache... done

のような画面が表示されるので、始めの質問にY、emailアドレス、登録するドメインを入力します。成功すれば上記のようにメッセージが表示されるはずです。

とりあえずこれで最低限の接続設定ができました。






この記事が気に入ったらサポートをしてみませんか?