データベースホストの構築
openSUSE(10分)
データベースのみをインストールするので、Textモードでインストールします.
インストールはOracle VirtualBox上へ行います.
その際の注意点は、NICの設定です. ここでは
- NAT(Update用途)
- 内部ネットワーク(アプリケーションサーバー接続用途)
- ホストオンリーネットワーク(開発、デバッグ用途)
の3つを設定します.
VirtualBox上は上記3種のネットワークアダプタを設定するだけです.
インストール自体はTextモードを選択するところ以外はデフォルトで構いません.
インストール完了後、最低限の設定を実施します.
インストールした3つのNICのうち「NAT」と「ホストオンリーネットワーク」をDHCP設定にします.「内部ネットワーク」はDHCPをサポートしていないので、適宜固定IPアドレスを設定してください.
root権限でopenSUSEのシステム設定ユーティリティ「YaST」を実行します.
# yast
[Network Devices] - [Network Settings] - [Overview]
で各NICを選択し、[Edit]を選んでDHCPを有効にしてください.
最後にシステムを最新にしておきます.
# zypper dist-upgrade
# zypper update
以上でopenSUSEのインストールは終了です.
PostgreSQL 9.1.2(15分)
次に、PostgreSQLをインストールします.
「YaST」でPostgresを検索すると、9.1.1がヒットしましたが最新版の9.1.2のリリースノートを見ると結構大きく手が入っているみたいなので9.1.2を含むRepositoriyを追加することにします.
# yast
[Software] - [Software Repositories] - [Add] - [Specify URL] - [Next]
を選択し、PostgreSQL Server 9.1.2が存在するRepositoryを追加します.
http://download.opensuse.org/repositories/server:/database:/postgresql/openSUSE_12.1/
Repositoryを追加し、再度PostgreSQLを検索すると無事9.1.2が表示されました.
[postgresql-server]を選択し、Acceptでインストールを実行します.
この時、同時にclientも自動でインストールされます.
インストールされたバージョンを確認.
インストール時にpostgresグループとpostgresユーザーは自動で作成されるのでパスワードを設定しておきます.
# passwd postgres
その後、データベースの初期化を兼ねて一回サービスを起動します.
# /etc/init.d postgresql start
サーバーデータ、設定ファイルはデフォルトで /var/lib/pgsql/dataに置かれます.
リモートからの接続を有効にするために、postgresql.confのlisten_addressesという項目のコメントを外し、'*'を指定します.
listen_addresses = '*'
さらに、pg_hba.confにアクセスを受け付けるクライアントの設定を記載します.
設定内容はこんな感じです.
host all all 192.168.56.0/24 trust (ホストオンリーネットワーク用)
host all all 27.0.0.0/24 trust (内部ネットワーク用)
これで、192.168.56のセグメントにある全端末からの接続が有効になりました.
さらに、起動時に自動でサービスが立ち上がるように設定します.
# chkconfig --level 2345 postgresql on
# chkconfig --list postgresql
ここで、システムを再起動しPostgreSQLが自動で起動しているか確認します.
# ps ax | grep postgres
ここで、logger processやwriter processが起動していればOKです.
最後に、ファイヤーウォールをPostgreSQLのリモート接続用に開放します.
# yast
[Security and Users] - [Firewall] - [Allowed Services]
設定したいNICが属するZoneを選択し、[Service to Allow]でPostgreSQL serverを選択し、[Add]します.
以上の状態で、ホストPCからPostgreSQLサーバーに接続できることを確認します.ここではpgAdminIIIを使い、下記の設定で接続できることを確認しました.