2011年9月23日金曜日

virtualbox + ubuntu + MySQL,postgreSQL,apache テストサーバーを立ち上げる

サーバーとのテスト環境としてvirtualbox上にいくつかのサーバーを立ち上げてテストしようとしましたが、apache以外は手間取ったので、そのときの情報を残しておきます。

前提条件:

  • virtualbox上のサーバーとのアクセスはポートフォワーディングを使います。
  • ポートフォワーディングの時のポート変換  
  • apache         ホスト8080      ゲスト80 
    MySQL         ホスト13306   ゲスト3306 
    postgreSQL ホスト15432   ゲスト5432
    (ubuntu外からのアクセスはIPはホストのIP,ポートはホストポートへのアクセスになります。そこにアクセスするとubuntu上ではゲストポートに変換して渡されます)

     
  • テスト環境なのでセキュリティは無視しています  

環境の作成方法:
apache
●インストール
$ sudo apt-get install apache2
●virtualboxでのネットワーク設定
virtualboxのポートフォワーディングの設定を追加
    ホスト 8080  ゲスト 80

これで http://ホストIP:8080で繋がります

MySQL
●インストール
$sudo apt-get install mysql-server
(rootはパスワード無しで作りました)
●MySQLユーザーのrootの権限を変更
rootを外部からもアクセス出来る権限に変更します
$ mysql -u root -p
mysql> grant all privileges on *.* to root@"%" identified by '' with grant option;
●外部からの接続許可を追加(/etc/mysql/my.cnf)
"bind-address=127.0.0.1"をコメントアウト
●virtualboxのポートフォワーディング設定を追加(apache説明時の画像を参照)
ホスト13306   ゲスト3306

postgreSQL
●インストール
$sudo add-apt-repository ppa:pitti/postgresql
$sudo apt-get update
$sudo apt-get install postgresql

パスワード無しユーザー postgres が作られる
●外部からの接続許可を追加(/etc/postgresql/9.1/main/postgresql.conf)
#listen_address='localhost'を以下に変更
listen_address='*'       
●外部からの接続許可を追加(/etc/postgresql/9.1/main/pg_hba.conf)
host all all 127.0.0.1/32  md5 をコメントアウトして以下の三行を追加
host all all 127.0.01/32 trust
host all all 192.168.XX.0/24 trust
host all all 10.0.2.2/32 trust

パスワード無しユーザーpostgresで接続する為にtrust設定にしています。192.168..はテスト環境のIPアドレス。最後は外部から接続すると10.0.2.2で拒否されるエラーがでるので、追加しました。これの追加に半日かかりました。
●virtualboxのポートフォワーディング設定を追加(apache説明時の画像を参照)
ホスト15432   ゲスト5432







0 件のコメント:

コメントを投稿