0

私は Owncloud の初心者で、Dropbox のプライベートな代替手段として、コンテナ化Owncloudされたバージョンをデプロイしたいと考えています。NAS (QNAP)デフォルトのデータベースを使用して docker コンテナーをOwncloud問題なく実行できsqliteます。GUI にアクセスし、管理者ユーザーを作成し、ファイル構造を参照します。しかし、切り替えたいのMysqlですが、これまでのところOwncloud「の設定を無視しているようconfig.phpです。

別のコンテナーに MySQL インスタンス (MariaDB) を作成し、それに空を追加しました。コンテナーから、適切な資格情報を使用してコマンド ライン経由で MySQL に正常にログインできることowncloud-reserved databaseを確認したため、データベースにアクセスできます。Owncloud

オンラインで見つけたいくつかの指示に従って、ファイルを編集config.phpし、変数 $CONFIG の「installed」フィールドを「true」から「false」に変更しました。これにより、ログイン時に db 構成ウィザードがトリガーされます。ウィザードで「MySQL」を選択し、セットアップ手順が完了するのを待ちます。完了したら、次のことを確認しました。

  1. OwncloudMariaDB データベースにテーブルが作成されている (ウィザードを実行する前に、データベースは空でした)

  2. config.phpファイルが変更され、すべての設定が表示されるようになりました。mysql db特に: 'dbtype' => 'mysql'、(sqlite 設定の前に表示されたファイル)

どうやら魔法使いは自分の仕事をしたようです。

上記にもかかわらず、管理者ユーザーの [設定] ページに移動すると、[一般] の下にまだ赤い警告が表示されます: 「<code>SQLite はデータベースとして使用されています…など」。テストのために、新しいユーザーを追加しましたが、実際にはデータはsqliteMySQL ではなくファイルに保存されています。

したがって、私の結論は、私のセットアップでOwncloudは無視されているということです。config.php

私が無駄にしようとしたこと:

コンテナーOwncloudを複数回再作成する データベースの変更後にコンテナーを再起動する公式ドキュメントに従って、提案された移行スクリプトをsqlite実行するmysqlowncloud

私は何が欠けていますか?前もって感謝しますセルジオよろしく

4

1 に答える 1

0

問題が解決しました。コンテナーの環境に適切な値を持つ次の変数を追加すると、うまくいきました。

OWNCLOUD_DB_TYPE=mysql
OWNCLOUD_DB_HOST=name or ip of the host (container) where the db is running
OWNCLOUD_DB_NAME=name of the database
OWNCLOUD_DB_USERNAME=name of the user to authenticate with (must have full privs on the db)
OWNCLOUD_DB_PASSWORD=its password

ありがとうございます。

于 2020-12-25T10:35:44.750 に答える