今回は第754回で紹介したownCloud Infinite Scale
VPSの準備
今回はoCISをVPSにデプロイするということで、思い出したいのは第751回
また、特にドメイン周りは詳しい説明をしていませんが、確実に名前解決できることを確認してください。
追加で行う設定としては、oCISはWebサービスということでポート80と443を開ける必要があります。これは事前に行っておくことをオススメします。UFWを設定したことをすっかり忘れており、80番でも443番でもアクセスできないのはなぜかと悩むことがなくなるからです
UFWでポートを開けるには、次のコマンドを実行してください。
$ sudo ufw allow 80 $ sudo ufw allow 443
oCISをVPSにデプロイする際の注意点
oCISをVPSにデプロイする際は、当然ではあるものの第754回で紹介したローカルデプロイと概ね同じです。/etc/
の中身を変えるくらいです。
あとはNginxでリバースプロキシ設定[1]と、Let's EncryptでTLS設定が追加されます。充分に予想の範囲内でしょう。
Let's Encryptの設定
Let's Encryptの設定に関しては、改めて説明するまでもないようでしょうから、軽く説明するだけにします。
Let's Encryptを自動更新するために提供されているCertbotはわりと更新頻度も高いことがあり、Snapパッケージを使用するのがいいでしょう。また、同時にNginxもインストールします。次のコマンドを実行してください。
$ sudo apt install nginx $ sudo snap install certbot --classic
さらに/usr/
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
そしてLet's Encryptを設定します。次のコマンドを実行してください。
$ sudo certbot --nginx -d ocis.example.com
もちろん引数で指定したドメインは、今回用意したものに置き換えてください。
oCISの設定
では具体的にoCISを設定します。原則としては第754回のとおりですが、前述のとおり/etc/
の中身を次のように変更します。
OCIS_URL=https://ocis.example.com
PROXY_HTTP_ADDR=0.0.0.0:9200
PROXY_TLS=false
OCIS_INSECURE=false
OCIS_LOG_LEVEL=warn
OCIS_CONFIG_DIR=/etc/ocis
OCIS_BASE_DATA_PATH=/var/lib/ocis
もちろんOCIS_
リバースプロキシの設定
最後にリバースプロキシを設定します。
UbuntuのNginxはデフォルトの設定が有効になっていますが、これを無効にします。次のコマンドを実行してください。
$ sudo unlink /etc/sites-enabled/default
新たにoCIS用の設定を作成します。
$ sudo editor /etc/nginx/sites-available/ocis
内容は次のとおりです。なお何箇所かドメインを書くところがあるので、気をつけください。
server {
listen 80 ;
listen [::]:80 ;
#↓忘れずに書き換える
server_name ocis.example.com;
# location to redirect to https
location / {
# add port if deviates via OCIS_URL
return 301 https://$server_name$request_uri;
}
}
server {
# default 443 but can deviate if set in OCIS_URL
listen 443 ssl http2;
listen [::]:443 ssl http2;
#↓忘れずに書き換える
server_name ocis.example.com;
# certificates managed by Certbot
#↓忘れずに書き換える
ssl_certificate /etc/letsencrypt/live/ocis.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/ocis.example.com/privkey.pem;
# options and dhparams managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
# protocol, session timout, server cipers
# and ssl cache is handled by certbot
# use multiple curves (only if dhparams file is used)
ssl_ecdh_curve secp521r1:secp384r1;
# reduce time to first byte
ssl_buffer_size 4k;
# add strict transport security
add_header Strict-Transport-Security "max-age=15768000; must-revalidate; includeSubDomains; preload;" always;
location / {
proxy_pass http://localhost:9200;
proxy_set_header Host $host;
client_max_body_size 0;
}
}
設定を有効にします。
$ sudo ln -s /etc/nginx/sites-available/ocis /etc/nginx/sites-enabled/ocis
設定を適用する前にテストをしてみて、エラーがないことを確認します。次のコマンドを実行してください。
$ sudo nginx -t
次の表示になれば設定は正しいです。
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
そしていよいよ設定を適用します。次のコマンドを実行してください。
$ sudo systemctl reload nginx
ここまでできたら、これまで準備したドメインにアクセスし、ocis init
コマンドを実行した際に表示されたユーザー名とパスワードを入力してログインします
WebDAVサーバー機能の注意点
ownCloud
oCISにもWebDAVサーバー機能はありますが、従来どおりユーザー名とパスワードでログインする機能は、少なくとも現在の最新版である2.
ではどうするのかというと、Rcloneを使用してOpenID Connectで接続するとのことです。
ただ、App Passwords / Tokens for legacy WebDAV clientsというissueが登録されているので、今後の推移を見守っていきたいところです。
たしかにアカウントのパスワードでアクセスさせるのはセキュリティ的にどうなのかというのはもっともなので、トークンを発行してパスワードの代わりにするのは悪くないアイディアです。誰がどうやって実装するのかという話はありますが。
デスクトップアプリ
現状、既存のWebDAVクライアントが
Ubuntu用は、AppImageとDebパッケージが用意されており、後者のほうがおすすめですが、インストール方法はコピー&ペーストするだけなので特に解説は不要でしょう。
軽く使用してみたところ、従来のデスクトップアプリ