さくらVPSにPostgreSQLとPOST GISを

久々に入れる事になったので備忘録。

ずぅと塩漬けしてたVPSを利用する。
既にNGINXはインスコスミ。
他に何もはいっていないっす。

勿論「鯉酒場」用ですわ。

POSTGISのサイト行くと、最新の安定版2.2だとPostgreSQL9.3までしか対応してないとのこと。
http://trac.osgeo.org/postgis/wiki/UsersWikiPostgreSQLPostGIS
Truncから引き出すのも一興かと思ったけど、CHEFるのでパス。

んで、CHEFでPostgreSQL9.3を入れてるブログをググるとありました。
うむ、ありがたいっす。こういう先人の知恵を出した人は、なにがしか報われるべきだ!!と思います。本当に。

例示としは、attributes/default.rbにて、値を設定しているのですが、ワシは、nodesのJSON設定ファイルに書き込む方法でやっとります。

  "postgresql":{
    "initdb_locale": "ja_JP.UTF-8",
    "version": "9.3",
    "enable_pgdg_yum": true,
    "client": {
      "packages": ["postgresql93", "postgresql93-devel"]
    },
    "server": {
      "packages": ["postgresql93-server"],
      "service_name": "postgresql-9.3"
    },
    "contrib": {
      "packages": ["postgresql93-contrib"]
    },
    "dir": "/var/lib/pgsql/9.3/data"

やり方は千差万別。お好きな方法で。

更にPOSTGISをインスこするので、レシピを作ってpackageベースでインストール実行します。
ソースは事情(センシティブなものがハードコーディング♪)があってのせられず。
注意すべきは、PostgreSQLのバージョンに併せて、モジュールを入れないとエラります。

p_ver = node["postgresql"]["version"]
g_ver = p_ver.gsub('.','')

["postgis2_#{g_ver}", "postgis2_#{g_ver}-devel", "postgis2_#{g_ver}-utils"].each do |pkg|
  package pkg do
    action :install
  end
end

その後は、リンク作成して。。。。とフツーのセットアップをコーディングしていけばよろしいです。

取り敢えず、CHEF様のおかげでさっくりインストール完了です。