1

我遇到了我認爲是權限問題時,試圖一個Drupal的應用程序部署到彈性魔豆Drupal的上彈性魔豆重定向到install.php了對「EB部署」

我跟着本教程中獲得的Drupal起來運行:http://comm-press.de/en/blog/drupal-climbs-aws-elastic-beanstalk

我正在使用Postgres數據庫,並且在填寫install.php上的表單時沒有錯誤地輸入正確的憑據。

初始部署後的任何後續部署將我帶回install.php。輸入我的數據庫信息後,我收到了這條消息,告訴我Drupal已經安裝(它是)。 http://i.imgur.com/N6KDvvo.png

爲什麼我的網站在'eb deploy'後重定向到install.php?我應該設置drupal文件夾的哪些權限,以便生成settings.php和/ sites/default/files?

+0

我猜你正在部署標準的Drupal每次到beanstalk實例? –

+0

什麼是標準Drupal?我從https://www.drupal.org/project/drupal下載了Drupal v7.37。我將內容提取到我的彈性beanstalk文件夾中,並運行「eb deploy」。然後,我運行安裝併成功完成。之後,如果我更改了drupal文件夾中的任何文件並再次進行部署,我會重新開始安裝。 運行安裝後,應該在我的本地計算機的drupal文件夾中創建「settings.php」和「/ default/files」目錄(它們不存在於本地計算機上)? – puntubabu

+0

對不起,本來應該添加更多信息。當您在彈性beanstalk上安裝drupal時,它會使用數據庫配置創建一個設置文件。下次將代碼部署到新實例時,實際上並未部署此設置文件,而是使用vanilla drupal代碼。你需要做的是,在本地運行安裝,然後執行「eb deploy」。如果您不想將設置提交到文件,您還可以利用Beanstalk「環境屬性」設置不同的配置值。 –

回答

0

安裝狀態由DB控制 - 如果Drupal引導程序沒有數據庫信息,則將您路由到要求您提供的代碼。

我能夠通過設置AWS RDS DB並將所有實例連接到它來繞過此部分。

- 但是,等等,還有更多。現在,從同一個數據庫讀取所有實例已經消除了實例*之間的大多數併發問題。繼續,嘗試將照片添加到您的管理員配置文件。我將等待。是的,大多數時候你會得到錯誤的實例,並且一個實例上的單個映像不會顯示在所有實例上。 我正在致力於通過啓動& cron作業腳本來解決該問題,該作業腳本將更新加載到AWS S3服務的資源。

Step A load code into S3 
Step B set an accessible timestamp for $lastModified to now() 


Step 1 wget/curl a timestamp of the last remote modification ($lastModified) 
Step 2 compare the local last updated stamp ($lastUpdated) to remote last modified timestamp 
Step 3 if ($lastModified == $lastUpdated) {die} else {update incremental changes && set $lastUpdated = $lastModified} 

看着第一次增量更新,這是一個很酷的。

因此...另外我應該提到的是,當我們實例化一個圖像時,我們正在安裝完整的vanilla drupal,作爲來自drupal的Docker文件的一部分,drupal apache圖像Docker文件運行的最後一件事是安裝腳本。

Elastic Beanstalk集環境變量 - 其中一些變量是亞馬遜訪問密鑰ID和訪問密鑰。

我捲曲的IP只可彈性魔豆的內部捲曲-v 169.254.169.254

從設定腳本輸出,如果我是本地人AWS EB或AWS EB我可以告訴。這允許我有條件地更改某些配置,例如將RDS或本地MySQL DB連接到Drupal。

安裝腳本使用aws cli從S3(同步)中提取以添加,替換,更新webroot中的所有內容,將實例轉換爲Drupal安裝中的設置,就文件級資產而言。

sed和服務重新加載完成了很多。 Elasticache vs local Redis ...

最後我們在前臺啓動web服務器& & tail -f/dev/null所以容器不會立即關閉。

Drupal僅適用於我們的Web應用程序的靜態資產頁面和頁眉/菜單/頁腳包裝器(模板已投放...,Twig/JS使用數據填充模板)。身份驗證通過API進行 - 即使在Drupal中使用90%左右的優點也沒有......

增量更改是通過比較散列值和運行更新過程(如果它們不同)來提取的。