Amazon LinuxにPostgreSQL 9.0をインストールする
クラウドサービスの代表例とも言えるAmazon EC2を使ってWebアプリケーションを動作させるため、LinuxとApache、PHPとPostgreSQL 9.0、いわゆるLAPP環境を構築する手順を解説する。
なお、本連載ではPostgreSQLのデータベースを操作するためのSQLなどについては触れていないので、LPI-Japanが無償で提供しているテキスト「オープンソースデータベース標準教科書」を参照して欲しい。PDF版、EPUB版が提供されているので、作業時に参照できるようにしておくと良いだろう。
→参照:「オープンソースデータベース標準教科書」ダウンロードページ
PostgreSQL 9.0のインストール
第2回では、PostgreSQL 9.0をAmazon Linuxにインストールする。インストールするには、yumリポジトリを登録する方法と、RPMパッケージをダウンロードしてきてインストールする方法がある。
yumリポジトリを登録する
「PostgreSQL RPM Building Project」のyumリポジトリ設定用RPMをインストールする。手順は以下の通りだ。
1. クライアントのWebブラウザで「PostgreSQL RPM Repository(with Yum)」にアクセス
→参照:PostgreSQL RPM Repository(with Yum)
図1:PostgreSQL RPM Repository(with Yum)画面(クリックで拡大) |
2. 「Please click here and download the repository RPM based on your distro and PostgreSQL version you want.」のhereをクリック
図2:letter_p.group画面(クリックで拡大) |
3. PostgreSQL 9.0のリストにある「CentOS 6 - i386」のリンク先URLをコピー。
例えばFirefoxを使っていれば、リンクを右クリックして「リンクのURLをコピー」を選択する。
4. 端末でwgetコマンドを使ってEC2のインスタンスにダウンロードする。
# wget http://yum.pgrpms.org/9.0/redhat/rhel-6-i386/pgdg-centos90-9.0-5.noarch.rpm --2011-10-11 05:59:20-- http://yum.pgrpms.org/9.0/redhat/rhel-6-i386/pgdg-centos90-9.0-5.noarch.rpm yum.pgrpms.org をDNSに問いあわせています... 77.79.103.58 yum.pgrpms.org|77.79.103.58|:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 200 OK 長さ: 5304 (5.2K) [application/x-rpm] `pgdg-centos90-9.0-5.noarch.rpm' に保存中 100%[======================================>] 5,304 --.-K/s 時間 0.001s 2011-10-11 05:59:21 (4.98 MB/s) - `pgdg-centos90-9.0-5.noarch.rpm' へ保存完了 [5304/5304]
5. rpmコマンドでインストール
CentOS用のパッケージのため、依存関係に問題があるが、rpmコマンドに--nodepsオプションをつけて依存関係の解消を行わずにインストールを行う。
# rpm -ivh --nodeps pgdg-centos90-9.0-5.noarch.rpm 警告: pgdg-centos90-9.0-5.noarch.rpm: ヘッダ V4 DSA/SHA1 Signature, key ID 442df0f8: NOKEY 準備中... ########################################### [100%] 1:pgdg-centos90 ########################################### [100%]
6. /etc/yum.repos.d/pgdg-90-centos.repoの内容を変更
yumリポジトリ登録用のパッケージをインストールすると、/etc/yum.repos.d/pgdg-90-centos.repoが作成される。依存関係を解消しなかった関係上、ディストリビューションのバージョン番号が取得できないので、設定ファイルの変数を手動で書き換える。