public
Description: my random ruby scripts
Homepage:
Clone URL: git://github.com/kastner/ruby-junk.git
Click here to lend your support to: ruby-junk and make a donation at www.pledgie.com !
ruby-junk / new_vhost.rb
100755 32 lines (21 sloc) 0.648 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/usr/bin/env ruby
 
require 'rubygems'
require 'mustache'
 
VHOST_PREFIX = "/etc/apache2/sites-available/"
 
server = ARGV[0]
 
raise "usage #{$0} <host>" unless server
server = "#{server}.metaatem.net" unless server[/\./]
 
path = ARGV[1] || "/var/www/#{server}"
 
vhost_file = VHOST_PREFIX + server
raise "#{server} is already defined" if File.exists?(vhost_file)
 
vhost_entry = Mustache.render(<<-VHOST, :server => server, :path => path)
<VirtualHost *>
ServerName {{server}}
DocumentRoot {{path}}/public
</VirtualHost>
VHOST
 
File.open(vhost_file, "w") do |f|
  f.puts vhost_entry
end
 
 
%x|sudo a2ensite #{server}|
%x|sudo apache2ctl graceful|