はじめに
メモ書きです。
Azureのファイルストレージをマウントし、NextCloudで利用します。
Snapを使用しようします。個人使用です。ちゃんとやる人はマニュアルでお願いします。
サーバ環境
今回の手順は、以下の環境で実施。
- Ubuntu 18.04
手順
AzureVMを作成後
ログイン後ルートで作業を実施します。
$ sudo -i
インストール
1. snapでインストール
$ snap install nextcloud
2.ファイアウォールの設定
F/Wを設定します。
※作業後はAzure側で22番ポートをDenyにしておく。SSHで作業するときだけAllowにする。
$ ufw enable
$ ufw allow 22
$ ufw allow 80
$ ufw allow 443
$ ufw reload
3.nextcloudのポートを指定し、SSL化します。
snap set nextcloud ports.http=80 ports.https=443
nextcloud.enable-https lets-encrypt
4. 外付けマウントの記憶媒体を許可します。
snap connect nextcloud:removable-media
5. Azureポータルにログインし、マウントコマンドをコピーし修正。
※以下例
※ディレクトリを0770としないとログイン画面がでてきません。
mkdir /mnt/<ストレージアカウント名>
if [ ! -d "/etc/smbcredentials" ]; then sudo mkdir /etc/smbcredentials; fi
if [ ! -f "/etc/smbcredentials/<ストレージアカウント名>.cred" ]; then sudo bash -c 'echo "username=<ストレージアカウント名>" >> /etc/smbcredentials/<ストレージアカウント名>.cred'; sudo bash -c 'echo "password=<固有>" >> /etc/smbcredentials/<ストレージアカウント名>.cred'; fi
chmod 600 /etc/smbcredentials/<ストレージアカウント名>.cred
bash -c 'echo "//<ストレージアカウント名>.file.core.windows.net/nextcloud /mnt/<ストレージアカウント名> cifs nofail,vers=3.0,credentials=/etc/smbcredentials/<ストレージアカウント名>.cred,dir_mode=0770,file_mode=0777,serverino" >> /etc/fstab'
mount -t cifs //<ストレージアカウント名>.file.core.windows.net/nextcloud /mnt/<ストレージアカウント名> -o vers=3.0,credentials=/etc/smbcredentials/<ストレージアカウント名>.cred,dir_mode=0770,file_mode=0777,serverino
6. データ保存場所をNextcloud側で変更します。
こんな風にしなくても、管理者メンバー作成する前であればとあるコンフィグで変更が可能らしい。
mkdir /mnt/<ストレージアカウント名>/data
nano /var/snap/nextcloud/current/nextcloud/config/config.php
'datadirectory' => '/mnt/<ストレージアカウント名>/data',
snap disable nextcloud
すでに作成されたデータをコピーまた移動してあげます。ちょっとgdgdな手順。
cp -r /var/snap/nextcloud/common/nextcloud /mnt/<ストレージアカウント名>/data
snap enable nextcloud
touch .ocdata
snap restart nextcloud
あとがき
本来はBlobストレージに挑戦していましたが、うまくいきませんでした。
SMBならうまくいくかもと思いやってみました。
8/15追記 BlobfuseでマウントしたAzure Blobストレージは
permissionが変更できず、0777?0770?しか付与できないっぽいので、ログイン画面に遷移しません。
初回ログインはいけるんですよね。残念。
注意点はsnapではwebサーバのコンフィグはいじれません。※たぶん
参考