サーバーとのテスト環境として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