Mysql

部署到 AWS 的 OwnCloud 錯誤:使用者名已被使用(與 WebDAV 無關)

  • November 19, 2018

我有一個在 AWS Elastic Beanstalk 上執行的 Owncloud 實例我只是從 docker 部署它,所以我有一個非常簡單的 Dockerrun.aws.json

{
 "AWSEBDockerrunVersion": "1",
 "Image": {
   "Name": "owncloud/server:latest",
   "Update": "true"
 },
 "Ports": [
   {
     "ContainerPort": "8080",
     "hostPort": "80"
   }
 ],
 "Volumes": []
}

我首先將它設置為使用 SQLite 執行,並且執行了好幾天現在我正在嘗試使用 MariaDB backedn 來設置它。

為此,我只需將環境變數添加到我的 Elastic Beanstalk 環境中:

OWNCLOUD_ADMIN_PASSWORD=<admin-password> 
OWNCLOUD_ADMIN_USERNAME=admin
OWNCLOUD_DB_HOST=<my-db-host-endpoint> 
OWNCLOUD_DB_NAME=owncloud
OWNCLOUD_DB_PASSWORD=<db-password> 
OWNCLOUD_DB_TYPE=mysql
OWNCLOUD_DB_USERNAME=owncloud 
OWNCLOUD_DOMAIN=cloud.mydomain.com
OWNCLOUD_MYSQL_UTF8MB4=true 
OWNCLOUD_REDIS_ENABLED=false

然後我剛剛部署了這個,我得到了這個日誌:

Docker container quit unexpectedly after launch: moving config folder…
Linking config folder…
Writing config file…
Fixing base perms…
Fixing data perms…
Fixing hook perms…
Installing server database…
The username is already being used. Check snapshot logs for details.

我檢查了數據庫,使用者名不存在。我試過使用不同的 OWNCLOUD_ADMIN_USERNAME,沒有成功。

如果我在本地執行 docker 它執行良好並且我可以正常訪問它,我在本地執行時只收到一次此錯誤消息,但我只需要更改使用者名就可以了。但是,無法訪問 EB 版本,並且實例保持在“SEVERE/FAILURE”狀態。

我也試過重啟應用伺服器,甚至重建環境……

我看到了類似的問題,但它們總是與使用 WebDAV 作為身份驗證後端有關,這不是我的情況。在所有情況下,我都看到從管理界面創建新使用者時發生了此錯誤,這不是我的情況,因為我什至無法訪問管理 UI。

知道我還能做什麼嗎?

預期行為

Owncloud 應該正在執行並連接到正確的數據庫

實際行為

Elastic Beanstalk 不斷失敗部署並出現上述錯誤

伺服器配置

大多數配置是來自 Docker 映像的預設配置:owncloud/server:latest

我仍然不太確定為什麼會發生錯誤,但經過幾次嘗試,錯誤終於消失了。

似乎已經解決的是這些步驟:

  1. 刪除之前創建的數據庫。
  2. 刪除與 Owncloud admin user:OWNCLOUD_ADMIN_PASSWORDOWNCLOUD_ADMIN_USERNAME.

然後使用預設使用者 admin/admin 創建實例,您只需在 Web UI 中更改密碼。

引用自:https://serverfault.com/questions/940704