web_server_config_generator 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
data/README CHANGED
Binary file
@@ -4,17 +4,17 @@ module WebServerConfigGenerator
4
4
  options.each do |opt, val|
5
5
  instance_variable_set("@#{opt}", val)
6
6
  end
7
-
7
+
8
8
  @starting_port = options[:starting_port] || 40000
9
9
  @port_pool_size = options[:port_pool_size] || 10000
10
-
10
+
11
11
  @environment_map = Hash.new(options[:environments]) if options[:environments]
12
12
 
13
13
  setup_config_dir
14
-
14
+
15
15
  @project_or_projects_dir ||= projects_dir
16
16
  end
17
-
17
+
18
18
  def write_conf_files
19
19
  FileUtils.cd projects_dir do
20
20
  # generate files for each proj/env
@@ -24,7 +24,7 @@ module WebServerConfigGenerator
24
24
  list_of_conf_files << write_conf_file(p, env)
25
25
  end
26
26
  end
27
-
27
+
28
28
  sub_uri_projects.each do |p|
29
29
  create_sub_uri_links_dir p
30
30
  list_of_conf_files << write_conf_file(p, p.env)
@@ -38,10 +38,10 @@ module WebServerConfigGenerator
38
38
  web_server_vhost_nginx_conf.write(new_lines.join)
39
39
  end
40
40
  end
41
-
41
+
42
42
  def create_sub_uri_links_dir(sub_uri_project)
43
43
  env = sub_uri_project.env
44
-
44
+
45
45
  web_server_sub_uri_apps_dir.mkdir unless web_server_sub_uri_apps_dir.exist?
46
46
  links_dir = web_server_sub_uri_apps_dir + sub_uri_project.server_name
47
47
  links_dir.mkdir unless links_dir.exist?
@@ -56,7 +56,7 @@ module WebServerConfigGenerator
56
56
  def server_names
57
57
  projects.map { |p| p.server_names }.flatten.uniq
58
58
  end
59
-
59
+
60
60
  def delete_ghost_entries
61
61
  global_config[:hosts].each do |host|
62
62
  Host.delete host
@@ -64,7 +64,7 @@ module WebServerConfigGenerator
64
64
  global_config[:hosts] = []
65
65
  save_global_config(global_config)
66
66
  end
67
-
67
+
68
68
  def add_ghost_entries
69
69
  current_hosts = Host.list
70
70
  already_correct = []
@@ -88,18 +88,18 @@ module WebServerConfigGenerator
88
88
  end
89
89
  end
90
90
  end
91
-
91
+
92
92
  if already_correct.size > 0
93
93
  puts "\n#{already_correct.size} hosts were already setup correctly"
94
94
  puts
95
95
  end
96
-
96
+
97
97
  if added.size > 0
98
98
  puts "The following hostnames were added for 127.0.0.1:"
99
99
  puts added.map { |h| " #{h.name}\n" }
100
100
  puts
101
101
  end
102
-
102
+
103
103
  if present_but_incorrect.size > 0
104
104
  puts "The following hostnames were present, but didn't map to 127.0.0.1:"
105
105
  pad = present_but_incorrect.max{|a,b| a.to_s.length <=> b.to_s.length }.to_s.length
@@ -107,7 +107,7 @@ module WebServerConfigGenerator
107
107
  puts
108
108
  end
109
109
  end
110
-
110
+
111
111
  def setup_config_dir
112
112
  unless File.exist?(config_dir)
113
113
  unless dir = $PROJECTS_DIRECTORY
@@ -120,13 +120,13 @@ module WebServerConfigGenerator
120
120
  end
121
121
  puts "setting up config dir"
122
122
  end
123
-
123
+
124
124
  FileUtils.mkdir_p config_dir
125
125
  initial_config = { :projects_dirs => [File.expand_path(dir)]}
126
126
  save_global_config(initial_config)
127
127
  end
128
128
  end
129
-
129
+
130
130
  def symlink(link_target, link_name)
131
131
  if File.exist?(link_name)
132
132
  if FileTest.symlink?(link_name)
@@ -140,7 +140,7 @@ module WebServerConfigGenerator
140
140
  File.symlink link_target, link_name
141
141
  end
142
142
  end
143
-
143
+
144
144
  def setup_webserver_links_dir
145
145
  web_server_links_dir.mkpath
146
146
  environments.each do |e|
@@ -148,7 +148,7 @@ module WebServerConfigGenerator
148
148
  symlink(projects_dir, link_name)
149
149
  end
150
150
  end
151
-
151
+
152
152
  def app_projects
153
153
  @app_projects ||=
154
154
  begin
@@ -156,7 +156,7 @@ module WebServerConfigGenerator
156
156
  @app_projects
157
157
  end
158
158
  end
159
-
159
+
160
160
  def sub_uri_projects
161
161
  return @sub_uri_projects if @sub_uri_projects
162
162
  server_name_env_project_map = {}
@@ -178,19 +178,19 @@ module WebServerConfigGenerator
178
178
  WebServerConfigGenerator::SubUriProject.new(server_name, env_and_projects, self)
179
179
  end
180
180
  end
181
-
181
+
182
182
  def projects
183
183
  app_projects + sub_uri_projects
184
184
  end
185
-
185
+
186
186
  def environments
187
187
  @environments ||= environment_map.values.flatten.uniq
188
188
  end
189
-
189
+
190
190
  def web_server_vhost_nginx_conf
191
191
  web_server_vhost_nginx_dir + "projects.conf"
192
192
  end
193
-
193
+
194
194
  def check_nginx_conf
195
195
  unless nginx_conf =~ /include.*#{web_server_vhost_nginx_conf}/
196
196
  puts "\nWarning: You'll need to make sure this line is in your nginx config, in the http block:"
@@ -202,31 +202,31 @@ module WebServerConfigGenerator
202
202
  puts " server_names_hash_bucket_size 128;"
203
203
  end
204
204
  end
205
-
205
+
206
206
  def prompt_to_restart_nginx
207
207
  puts
208
208
  if $RESTART_NGINX || ($RESTART_NGINX.nil? && agree("Restart nginx? [Y/n]") { |q| q.default = "Y"})
209
209
  puts "Restarting nginx..."
210
- cmd = "sudo killall nginx; sleep 1 && sudo #{nginx}"
210
+ cmd = "sudo #{nginx} -s quit; sleep 1 && sudo #{nginx}"
211
211
  puts "running: #{cmd}"
212
212
  system cmd
213
213
  end
214
214
  end
215
-
215
+
216
216
  def web_server_links_dir
217
217
  config_dir + "links"
218
218
  end
219
-
219
+
220
220
  def projects_dir
221
221
  WebServerConfigGenerator::Pathname.new(global_config[:projects_dirs].first).expand_path
222
222
  end
223
-
223
+
224
224
  def web_server_sub_uri_apps_dir
225
225
  config_dir + "sub_uri_apps"
226
226
  end
227
-
227
+
228
228
  private
229
-
229
+
230
230
  def config_dir
231
231
  @config_dir ||=
232
232
  begin
@@ -236,29 +236,29 @@ module WebServerConfigGenerator
236
236
  end
237
237
  end
238
238
  end
239
-
239
+
240
240
  def global_config(reload = false)
241
241
  @global_config = nil if reload
242
242
  @global_config ||= YAML.load_file(global_config_path)
243
243
  end
244
-
244
+
245
245
  def save_global_config(config)
246
246
  @global_config = config
247
247
  File.open(global_config_path, "w") { |f| f.write config.to_yaml }
248
248
  end
249
-
249
+
250
250
  def global_config_path
251
251
  File.join(config_dir, "global_config.yml")
252
252
  end
253
-
253
+
254
254
  def web_server_vhost_dir
255
255
  config_dir + "vhost"
256
256
  end
257
-
257
+
258
258
  def web_server_vhost_nginx_dir
259
259
  web_server_vhost_dir + "nginx"
260
260
  end
261
-
261
+
262
262
  def find_project_and_symlink_dirs
263
263
  @app_projects ||= []
264
264
 
@@ -266,7 +266,7 @@ module WebServerConfigGenerator
266
266
  @app_projects = [WebServerConfigGenerator::ProjectDirectory.new(@project_or_projects_dir, self)]
267
267
  return
268
268
  end
269
-
269
+
270
270
  [
271
271
  Dir[File.join(projects_dir, "*", ".webconfig.yml")],
272
272
  Dir[File.join(projects_dir, "*", "*", ".webconfig.yml")],
@@ -275,15 +275,15 @@ module WebServerConfigGenerator
275
275
  @app_projects << WebServerConfigGenerator::ProjectDirectory.new(path, self)
276
276
  end
277
277
  end
278
-
278
+
279
279
  def projects_environment_map
280
280
  app_projects.inject({}) { |map, p| map[p] = p.environments; map }
281
281
  end
282
-
282
+
283
283
  def symlinks_environment_map
284
284
  sub_uri_projects.inject({}) { |map, p| map[p] = p.env.to_s; map }
285
285
  end
286
-
286
+
287
287
  def environment_map
288
288
  @environment_map ||= projects_environment_map.merge(symlinks_environment_map)
289
289
  end
@@ -307,12 +307,12 @@ module WebServerConfigGenerator
307
307
  # end
308
308
  project_env_vhost_filename.expand_path
309
309
  end
310
-
310
+
311
311
  def nginx_conf_path
312
312
  m = `#{nginx} -t 2>&1`.match /the configuration file (.*) syntax is ok/
313
313
  m[1]
314
314
  end
315
-
315
+
316
316
  def nginx_conf
317
317
  @nginx_conf ||= begin
318
318
  File.read(nginx_conf_path)
@@ -329,7 +329,6 @@ module WebServerConfigGenerator
329
329
  ]
330
330
  nginx_path_options.detect { |p| system "which #{p} &> /dev/null" }
331
331
  end
332
-
332
+
333
333
  end
334
334
  end
335
-
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 1
8
- - 2
9
- version: 0.1.2
8
+ - 3
9
+ version: 0.1.3
10
10
  platform: ruby
11
11
  authors:
12
12
  - Expected Behavior
@@ -14,8 +14,8 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-03-21 00:00:00 -04:00
18
- default_executable:
17
+ date: 2010-04-14 00:00:00 -04:00
18
+ default_executable: web_server_setup
19
19
  dependencies: []
20
20
 
21
21
  description: automatically generate web server config files for you projects directory
@@ -33,6 +33,8 @@ files:
33
33
  - lib/web_server_config_generator/pathname.rb
34
34
  - lib/web_server_config_generator/project_directory.rb
35
35
  - lib/web_server_config_generator/sub_uri_project.rb
36
+ - bin/web_server_setup
37
+ - README
36
38
  has_rdoc: true
37
39
  homepage: http://github.com/expectedbehavior/web_server_config_generator
38
40
  licenses: []