2014-04-02 16 views
0

我試圖將計算實例上運行的drupal cms連接到雲SQL數據庫,但是我嘗試的每個組合都失敗。我可以從另一臺服務器連接到Cloud SQl,但我不確定MySQL連接從我的實例到Cloud SQL的路徑,但也想要配置爲儘可能安全地連接到數據庫服務器和從數據庫服務器連接將計算引擎上的PHP代碼安全地連接到雲SQL

這裏是配置我有

服務器

  • 的Cloud SQL與外部的IP地址分配。還授權 計算實例的外部IP地址&獨立服務器的IP地址爲 的地址進行連接。
  • 計算實例與外部IP地址的互聯網
  • 上運行的Apache & PHP的成功嘗試配置從Web瀏覽器中爲每個在計算實例中運行
  • 獨立服務器與互聯網連接的IP Drupal的代碼https://drupal.org/documentation/install/run-script第4步數據庫連接解決

用戶

  • SQL root用戶的密碼設置,併成功用於使用工作臺從 獨立服務器連接
  • 從創建訪問Drupal數據庫,並且可以從獨立的服務器使用的工作臺
  • 同DB用戶成功連接主機%
  • 數據庫用戶不會從計算實例連接

網絡上的計算實例

  • 運行的ifconfig只顯示私有IP地址
  • 我已在谷歌防火牆和實例上打開3306防火牆

我的問題是如何得到的計算實例連接通過提供DBNAME,數據庫用戶名,dbuserpwd,主機(ip地址),使雲SQL它完全像工作臺連接,但仍然儘可能受限制? 問題是否出現在計算實例的配置中,所提供的連接設置或雲sql

+0

連接的Drupal在App Engine上運行,以CLOUDSQL使用「本地主機」,但幾乎不適用去GCE嗎? – mobcdi

+0

是否需要包含CloudSQL實例名稱? – mobcdi

+0

能否詳細說明「但仍儘可能限制?」。爲什麼你覺得你現在沒有使用Compute Engine來實現這一點?另外,如果您希望儘可能安全地進行連接,則應使用SSL加密連接並拒絕非SSL連接。 –

回答

0

它看起來是一個drupal問題的組合,其中主機值被安裝程序丟棄或省略,並且SELinux保護執法的問題,從CentOS的限制遠程數據庫連接這是我用

也有可能需要將它們添加到Web根文件夾後,重新標記有其正確的SELinux的標籤文件

要解決的來賓操作系統它: 編輯drupal 7設置。PHP的自己,包括MySQL連接

$databases = array (
    'default' => 
    array (
    'default' => 
    array (
     'database' => 'dbname', 
     'username' => 'dbuser', 
     'password' => 'dbpassword', 
     'host' => 'CloudSQLIPAddress', 
     'port' => '', 
     'driver' => 'mysql', 
     'prefix' => '', 
    ), 
), 
); 

和運行CentOS的運行下面的命令允許數據庫連接了,我不認爲這個設置將不受服務器重啓,但我可以住在GCE實例內部SSH它爲我需要

setsebool httpd_can_network_connect_db=1 

要重新SELinux值,才能複製的文件運行此

restorecon -rv /var/www/html 
相關問題