2011-06-01 133 views
0

我有一個同事要求我提供一個包含整個Drupal站點的tarball,他們可以放在他們的服務器上,除了連接數據庫之外沒有配置。Drupal多站點到單站點上線

據我所知,這是不可能的。

爲了使問題進一步複雜化,該網站目前開發爲多站點安裝,同事需要將其作爲單站點安裝提供。這是我做過無數次的轉換,但我一直在目標環境中完成該過程,因爲Drupal多站點需要一個指向它們的適當域來運行。我無法確認該網站將在新位置工作,而無需首先在該環境中進行實際測試,因此我認爲我無法滿足此要求。

我錯過了什麼嗎?這實際上可以實現嗎?

回答

1

我不明白爲什麼這是不可能的。

關於安裝的下降,只要包含settings.php文件和它們導入的數據庫副本,只要他們的web服務器配置正確(比如漂亮網址等)。當然,在做這些時需要考慮一些問題,您需要確保數據庫連接路徑與本地主機相關(或者他們擁有它),並且當您將它們壓縮在一起時,您擁有正確的權限設置對於目標機器來說,否則,移動drupal安裝並不是那麼困難,而且可以很簡單。

根據他們想要如何「放入」,您可以編寫一個腳本來自動化並驗證安裝。讓腳本導入數據庫的副本,重新獲得目標主機上的文件的權限和所有者,然後重新加載apache。

就多站點到單站點而言,我只需在沙盒中進行轉換,並在/ etc/hosts中設置所需的域(如here所示)。這將模擬目標域足夠好,以便在發送之前確保安裝正常。

希望有所幫助。

+0

我想,在我匆忙中,我省略了一些信息。 URL正在改變。該網站建立在開​​發服務器上,因此該域名爲foo.development.com。目的地是客戶的域名example.com。 Drupal在DB中寫入目錄路徑。所以它會在無數的地方尋找位於foo.development.com的文件。目的地還需要單點安裝,因此路徑爲「默認」。 通常我只是更新數據庫中的路徑,一切正常。但是,我沒有辦法做到這一點,並仍然確認一切正常工作之前,tarballing該網站。 – kevinliuzzo 2011-06-03 12:58:51

+0

將域名放在/ etc/hosts中的方法仍然可以在這裏使用,您只需將它添加到從您連接的任何客戶端計算機運行drupal的任何開發服務器。 使用此方法,就您的客戶端和服務器而言,這就是新域的位置,您可以執行所有您需要的測試。 – addisonj 2011-06-03 20:10:53