LoginSignup
3
1

More than 3 years have passed since last update.

NextCloudの外部ストレージとしてConoHaのオブジェクトストレージを使う

Last updated at Posted at 2021-02-16

はじめに

この記事はNextCloudの外部ストレージとしてConoHaオブジェクトストレージを使う手順というか方法を記した記事になります。

NextCloudのインストール方法などの説明はありません。
すでにインストールができている前提で解説を進めます。
インストールがまだの場合や、ConoHaオブジェクトストレージに契約してない場合は、他のサイトを参考にしてインストール、契約をしてください。

Nextcloud: 20.0.7

External storage supportをインストールする

NextCloudのアプリから「External storage support」というアプリをインストールします。
若しくは有効にします。

これで、S3などを外部ストレージとして使うことができます。

設定を入力する

設定の「外部ストレージ」からフォルダ名を適当に入力して「OpenStack ObjectStorage」を選びます。
OpenStack v2を選んで、設定の項目を入力していきます。
一番上から「Object Storage Service」「tyo1」「何でもいい」「なんでもいい」「APIのユーザー名」「APIのパスワード」「テナント名」「 https://identity.tyo1.conoha.io/v2.0 」とします。
/tokensは必要ありません。

image.png

これで完了...というわけではなく、エラーが出ます。

phpファイルを編集する

lib/private/Files/ObjectStore へFTPなりSFTPなりでアクセスします。
そこにある、SwiftFactory.phpをダウンロードします。

SwiftFactory.phpを適当なエディタで開きます。

62行目にこのような記述があります。

SwiftFactory.php
//...
//62行目ぐらい
    public const DEFAULT_OPTIONS = [
        'autocreate' => false,
        'urlType' => 'publicURL',
        'catalogName' => 'swift',
        'catalogType' => 'object-store'
    ];

この'catalogName' => 'swift','catalogName' => 'Object Storage Service',に書き換えます。

書き換えたら、先程の場所(lib/private/Files/ObjectStore)に上書きアップロードします。

これで、再度設定すると、今度はエラーなく通るはずです。

追記1)
ConoHaオブジェクトストレージだけにしか使わない場合は、こちらでいいと思いますが、他のObjectStorageとかのやつに使えなくなると思います。
他で使う予定がある場合は、おすすめしません。

追記2)
NextCloudのアップデートがある毎に書き換える必要があります。

原因を考える

APIの結果の一部分がこちらです。

tokens
{
    "endpoints": [
        {
            "region": "tyo1",
            "publicURL": "https://object-storage.tyo1.conoha.io/v1/nc_<
テナントID>"
        }
    ],
    "endpoints_links": [],
    "type": "object-store",
    "name": "Object Storage Service"
},

おそらくですが、NextCloudでは、APIの結果を『「object-store」で検索をして「swift」と引っかかったものを使う』的な処理をしているんだと思います。

ですが、ConoHaのAPIの結果は「Object Storage Service」なので、エラーが出て使えない...っていうことだと思います。

スペシャルサンクス

  • ConoHaのサポートに投げて「トークン発行するリンク(項目名は「認証エンドポイント」のリンク違うよ」と教えてくれたサポートの人
  • 拙い文章だけど読んでくれた人
3
1
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
3
1