[141013] WandboxはCppCMSに移行しました。 https://gist.github.com/cielavenir/f72ae830d3b6ad80240d を実行するだけで導入できます。UbuntuTrsuty/CentOS7で確認済。
[追記] 初めから https://github.com/melpon/chef-melpon.org/tree/master/site-cookbooks/wandbox を使ったほうが良いです。この記事の内容は無意味です。笑
https://github.com/melpon/wandbox/ を最速で確実に導入します。
- Vagrantfileとwandbox.shを用意します。
# coding:utf-8
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.provider :virtualbox do |vb|
vb.memory=2048
end
config.vm.box = "trusty32"
config.vm.box_url = "https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-i386-vagrant-disk1.box"
#config.vm.provision "shell", inline: $script
end
wandbox.sh
# install apt
sudo apt-get update -y
sudo apt-get install -y git ghc haskell-platform g++ libboost-all-dev libcap-dev autoconf libtool automake
# git
git clone https://github.com/melpon/wandbox/
cd wandbox/
git submodule init
git submodule update
# cattleshed
cd cattleshed/
autoreconf -i
./configure
make install
sudo mkdir -p /tmp/wandbox /var/log/wandbox/ran /home/jail
sudo ln -s /lib /lib32
sudo mkdir /lib64
sudo mkdir /usr/lib64
sudo chown vagrant:vagrant /tmp/wandbox
# cattleshed -c /usr/local/etc/cattleshed.conf -c /usr/local/etc/cattleshed.conf.d/compilers.default
# kennel
cd ../kennel/
export PATH=$HOME/.cabal/bin:$PATH
cabal update
cabal install cabal-dev
cabal-dev install yesod-platform-1.2.5.2
cabal-dev install yesod-bin
cabal-dev install persistent-sqlite-1.2.1
cabal-dev install wai-eventsource-2.0.0
cabal-dev install dataenc
# cabal-dev/bin/yesod --dev devel -n
- 以下を実行します。
vagrant up
vagrant ssh
$ sh /vagrant/wandbox.sh # 最初の1回だけで良い
$ screen
$ cattleshed -c /usr/local/etc/cattleshed.conf -c /usr/local/etc/cattleshed.conf.d/compilers.default
$ cd ~/wandbox/kennel
$ screen
$ export PATH=$HOME/.cabal/bin:$PATH
$ vi config/setting.yml # comment out Development's approot
$ cabal-dev/bin/yesod --dev devel -n
- 本来は起動時にデーモンを立てるようChefで設定すべきだと思いますが、すみません。