在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才好。