在Vagrantfile中添加安装Postgresql的说明

我添加了一个用于将Postgresql安装到一个我经常使用的美妙的VagrantBox(Scotch)的Shell脚本。

Vagrant.configure("2") do |config|

  config.vm.box = "scotch/box"
  config.vm.network "private_network", ip: "192.168.11.11"
  config.vm.hostname = 'testsite.dev'
  config.vm.synced_folder 'www', "/var/www", :mount_options => ["dmode=777", "fmode=666"]
  config.vm.provision "shell", inline: <<-EOT
        # postgresqlのVer9.4を入れる準備
        echo deb http://apt.postgresql.org/pub/repos/apt/ wheezy-pgdg main > /etc/apt/sources.list.d/pgdg.list
        apt-get install wget ca-certificates
        wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
        apt-get update
        apt-get upgrade
        # インストール
        apt-get -yV install postgresql-9.4 postgresql-common postgresql-client-common php5-pgsql expect
        # linuxのpostgresユーザーにパスワード付与
        expect -c "
        spawn passwd postgres
        expect Enter\ ;  send pass\n;
        expect Retype\ ; send pass\n;
        expect eof exit 0
        "
        # linuxのpostgresでdbのpstgresのパスワード付与
        sudo -u postgres psql -c "ALTER USER postgres PASSWORD 'pass';"
        # ローカルのMacから繋がるようにする
        echo "listen_addresses = '192.168.11.11'" >> /etc/postgresql/9.4/main/postgresql.conf
        echo "host postgres postgres 0.0.0.0/0 trust" >> /etc/postgresql/9.4/main/pg_hba.conf
        # 再起動
        /etc/init.d/postgresql restart
        /etc/init.d/apache2 restart
  EOT
end

我在寻找包含Postgresql的Box时没有找到满意的选择,所以我使用了Shell。
如果Heroku是生产环境的话,开发也应该使用Postgresql才好。

广告
将在 10 秒后关闭
bannerAds