• 解決済 mttkbtk

    (@mttkbtk)


    WebサーバのブラウザからWordPressをインストールしようとすると
    「エラー: データベースに接続できません」と表示されます。
    今まで何度かWordPressをインストールしたことがあるのですが、その時は1台のサーバへ全て
    のパッケージを入れていたのでマニュアル通りにやれば問題なくインストールが終了していました。
    ただ今回はWebサーバとDBサーバを分けており、WordPressでそのような例がネット上にものって
    おらず解決方法が見つからないため質問させていただきました。

    構成は
    ・Webサーバ(例:192.168.44.130)
    CentOS
    Apache
    WordPress

    ・DBサーバ(例:192.168.44.131)
    CentOS
    Apache
    MySQL

    ・WordPressのwp-config.php
    define(‘DB_NAME’, ‘wordpress’);
    define(‘DB_USER’, ‘wordpress’);
    define(‘DB_PASSWORD’, ‘password’)
    define(‘DB_HOST’, ‘192.168.44.131’);

    ・MySQLのユーザ一覧
    +———–+———————–+——————+
    | user | host | password |
    +———–+———————–+——————+
    | root | localhost | ********** |
    | root | localhost.localdomain | ********** |
    | root | 127.0.0.1 | ********** |
    | | localhost | |
    | | localhost.localdomain | |
    | wordpress | localhost | ********** |
    +———–+———————–+——————+

    なお、WebサーバからDBサーバへpingすると応答はあります。

    WordPress以前の問題かもしれませんが、情報をお持ちの方は提供お願いいたします。
    ※もし上記の構成のような構成を想定したマニュアル等がありましたら、ご紹介ください。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • 自サーバーですかね。まずMysqlが外部サーバーからの問い合わせを許可しているか確認したほうがよいと思います。
    後はこの辺ですかねぇ。

    モデレーター IKEDA Yuriko

    (@lilyfan)

    MySQL の wordpress ユーザーが localhost からのみ接続許可なので、192.168.33.130 から接続できないですよ。MySQL の特権を調整して 192.168.33.130 から接続できるようにしてください。

    トピック投稿者 mttkbtk

    (@mttkbtk)

    お返事遅れました。ご回答ありがとうございました。
    フォーラムへ投稿した後、試行錯誤して解決しました。

    ■解決方法
    lilyfan様がおっしゃっているように、wordPressユーザがLocalHostのみからの接続許可と
    なっていることが問題できした。そこで192.168.33.130からの接続を許可するユーザを作成
    しました。
    しかしこれでも接続ができず、なんでだろうとふとCentOSのログを開いてみるとセキュリティレベル
    云々という文言がありました。これで気づいたのですが、単純にDBサーバ側のポートを開いていな
    いだけでした。ファイアーウォールの設定で、3306(MySQL)のポートを解放してやると・・・
    Webサーバ側のブラウザへWordPressのインストール画面が表示されました!

    ■疑問
    ・後々は外部公開にしようと思っているのですが、DBサーバの3306ポートは開きっぱなしでも構わ
    ないのでしょうか?3306以外はすべて閉じた状態です。まあ、このポート閉じるとデータベースに
    接続できないっていうメッセージが表示されるので開いておく必要はあると思いますが・・・。

    ご回答くださった、shokun0803様、lilyfan様、ありがとうございました!

    モデレーター IKEDA Yuriko

    (@lilyfan)

    後々は外部公開にしようと思っているのですが、DBサーバの3306ポートは開きっぱなしでも構わないのでしょうか?

    セキュリティーを向上したいならば、ファイアーウォールの設定で、192.168.33.130 からのみ 3306 ポートに接続可能にすればいいでしょう。

    トピック投稿者 mttkbtk

    (@mttkbtk)

    lilyfan様
    ご回答いただきありがとうございました!
    今後の事も考えて以下のように設定しておきました。

    iptables -D INPUT -s 192.168.44.130 -p tcp --dport 3306 -j ACCEPT

    ただ・・・また変な疑問が湧いてきてしまったのですが、現状DBサーバにもApacheを入れているので
    すがこれは必要なものなのかどうか悩んでおります。
    その辺調べてみたのですが、検索キーワードがマズイのか求めてる情報が入手できませんでした。
    (大体1台のPCにApacheやMySQLを入れているケースが多いので参考になりませんでした)

    少々脱線してきたので、最後の疑問・質問とさせてくださいm(__)m

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「インストール時「エラー: データベースに接続できません」」には新たに返信することはできません。