bonethug 0.0.82 → 0.0.83
Sign up to get free protection for your applications and to get access to all the features.
- data/bin/bonethug +34 -0
- data/bin/thug +34 -0
- data/config/deploy.rb +4 -2
- data/lib/bonethug/cli.rb +47 -7
- data/lib/bonethug/configurator.rb +3 -3
- data/lib/bonethug/installer.rb +121 -99
- data/lib/bonethug/version.rb +2 -2
- data/scripts/mail +6 -0
- data/scripts/ubuntu-14.04-dev.sh +138 -0
- data/scripts/ubuntu_setup.sh +3 -3
- data/scripts/ubuntu_setup_2.4.sh +7 -4
- data/skel/project_types/silverstripe3/lib/ss_loadconf.php +2 -1
- metadata +4 -2
data/bin/bonethug
CHANGED
@@ -5,4 +5,38 @@ root_path = File.expand_path(File.dirname(__FILE__)) + '/..'
|
|
5
5
|
require 'rubygems' unless Object.const_defined?(:Gem)
|
6
6
|
require root_path +'/lib/bonethug'
|
7
7
|
|
8
|
+
#-----------------------------------
|
9
|
+
# require 'io/console'
|
10
|
+
|
11
|
+
# list = Bonethug::CLI.tasks.sort
|
12
|
+
|
13
|
+
# word = ""
|
14
|
+
|
15
|
+
# while (char = $stdin.getch) != "\r"
|
16
|
+
# word += char
|
17
|
+
# word = "" if char == " "
|
18
|
+
# if char == "\t"
|
19
|
+
# list.each do |task|
|
20
|
+
# print task if task[0..word.length-1] == word
|
21
|
+
# end
|
22
|
+
# else
|
23
|
+
# print char
|
24
|
+
# end
|
25
|
+
# end
|
26
|
+
# puts
|
27
|
+
|
28
|
+
#-----------------------------------
|
29
|
+
# require 'readline'
|
30
|
+
|
31
|
+
# list = Bonethug::CLI.tasks.sort
|
32
|
+
|
33
|
+
# comp = proc { |s| list.grep(/^#{Regexp.escape(s)}/) }
|
34
|
+
|
35
|
+
# Readline.completion_append_character = " "
|
36
|
+
# Readline.completion_proc = comp
|
37
|
+
|
38
|
+
# while line = Readline.readline('> ', true)
|
39
|
+
# p line
|
40
|
+
# end
|
41
|
+
|
8
42
|
Bonethug::CLI.handle 'bonethug'
|
data/bin/thug
CHANGED
@@ -5,4 +5,38 @@ root_path = File.expand_path(File.dirname(__FILE__)) + '/..'
|
|
5
5
|
require 'rubygems' unless Object.const_defined?(:Gem)
|
6
6
|
require root_path +'/lib/bonethug'
|
7
7
|
|
8
|
+
#-----------------------------------
|
9
|
+
# require 'io/console'
|
10
|
+
|
11
|
+
# list = Bonethug::CLI.tasks.sort
|
12
|
+
|
13
|
+
# word = ""
|
14
|
+
|
15
|
+
# while (char = $stdin.getch) != "\r"
|
16
|
+
# word += char
|
17
|
+
# word = "" if char == " "
|
18
|
+
# if char == "\t"
|
19
|
+
# list.each do |task|
|
20
|
+
# print task if task[0..word.length-1] == word
|
21
|
+
# end
|
22
|
+
# else
|
23
|
+
# print char
|
24
|
+
# end
|
25
|
+
# end
|
26
|
+
# puts
|
27
|
+
|
28
|
+
#-----------------------------------
|
29
|
+
# require 'readline'
|
30
|
+
|
31
|
+
# list = Bonethug::CLI.tasks.sort
|
32
|
+
|
33
|
+
# comp = proc { |s| list.grep(/^#{Regexp.escape(s)}/) }
|
34
|
+
|
35
|
+
# Readline.completion_append_character = " "
|
36
|
+
# Readline.completion_proc = comp
|
37
|
+
|
38
|
+
# while line = Readline.readline('> ', true)
|
39
|
+
# p line
|
40
|
+
# end
|
41
|
+
|
8
42
|
Bonethug::CLI.handle 'thug'
|
data/config/deploy.rb
CHANGED
data/lib/bonethug/cli.rb
CHANGED
@@ -5,6 +5,39 @@ require 'bonethug/configurator'
|
|
5
5
|
module Bonethug
|
6
6
|
class CLI
|
7
7
|
|
8
|
+
@@tasks = [
|
9
|
+
'help',
|
10
|
+
'auth',
|
11
|
+
'install',
|
12
|
+
'init-db',
|
13
|
+
'init-local-db',
|
14
|
+
'setup-db',
|
15
|
+
'setup-env',
|
16
|
+
'vhost-local',
|
17
|
+
'init',
|
18
|
+
'update',
|
19
|
+
'run',
|
20
|
+
'rake',
|
21
|
+
'drush',
|
22
|
+
'drush-local',
|
23
|
+
'sake',
|
24
|
+
'sync-state',
|
25
|
+
'deploy',
|
26
|
+
'setup',
|
27
|
+
'remote-backup',
|
28
|
+
'local-backup',
|
29
|
+
'sync-backup-to',
|
30
|
+
'sync-backup-from',
|
31
|
+
'force-unlock',
|
32
|
+
'cleanup',
|
33
|
+
'clean',
|
34
|
+
'watch'
|
35
|
+
]
|
36
|
+
|
37
|
+
def self.tasks
|
38
|
+
@@tasks
|
39
|
+
end
|
40
|
+
|
8
41
|
def self.handle(bin_name = 'thug')
|
9
42
|
|
10
43
|
# what are we doing?
|
@@ -56,7 +89,7 @@ module Bonethug
|
|
56
89
|
admin_user = ARGV.length == 3 ? ARGV[1] : 'root'
|
57
90
|
|
58
91
|
# validate
|
59
|
-
|
92
|
+
if !env || env == task
|
60
93
|
puts 'Usage: ' + bin_name + ' ' + task + ' [admin_user] [environment]'
|
61
94
|
return
|
62
95
|
end
|
@@ -75,7 +108,7 @@ module Bonethug
|
|
75
108
|
env = ARGV.last
|
76
109
|
|
77
110
|
# validate
|
78
|
-
|
111
|
+
if !env || env == task
|
79
112
|
puts 'Usage: ' + bin_name + ' setup-env [environment]'
|
80
113
|
return
|
81
114
|
end
|
@@ -108,28 +141,30 @@ module Bonethug
|
|
108
141
|
|
109
142
|
# get env
|
110
143
|
env = ARGV.last
|
144
|
+
env = 'development' if env == 'vhost-local'
|
111
145
|
|
112
146
|
# exec env
|
113
147
|
exec_path = File.expand_path('.')
|
114
148
|
|
115
149
|
# load config
|
116
|
-
conf = Conf.new.add
|
150
|
+
conf = Conf.new.add exec_path + '/config/cnf.yml'
|
117
151
|
conf.add(exec_path + '/config/database.yml' => { root: 'dbs.default' }) if File.exist? exec_path + '/config/database.yml'
|
118
152
|
deploy = conf.node_merge 'deploy.common', 'deploy.environments.' + env
|
119
153
|
|
120
154
|
# vhost name
|
121
155
|
vhost = deploy.get('project_slug') + '_' + env
|
122
156
|
|
123
|
-
# build the
|
157
|
+
# build the vhost conf
|
124
158
|
vh_cnf = conf.get 'vhost'
|
125
159
|
vh_cnf = conf.get 'apache' unless vh_cnf
|
126
160
|
vh_cnf = vh_cnf.get env
|
127
161
|
conf_path = vh_cnf.get('conf_path') || '/etc/apache2/sites-available'
|
128
162
|
|
163
|
+
# load the appropriate config for the web server
|
129
164
|
vh = Configurator.vhost vh_cnf, exec_path
|
130
165
|
|
166
|
+
# check if we have a custom config for the webserver type
|
131
167
|
case vh_cnf.get('type')
|
132
|
-
|
133
168
|
when "nginx"
|
134
169
|
|
135
170
|
# to be implemented
|
@@ -152,14 +187,19 @@ module Bonethug
|
|
152
187
|
"
|
153
188
|
|
154
189
|
# write the to the hosts file
|
155
|
-
|
190
|
+
# this needs work
|
191
|
+
system "sed -i '/## BONETHUG-#{vhost} ##/,/## END_BONETHUG-#{vhost} ##/ s/.*//g' #{path}"
|
156
192
|
escaped = (hosts).gsub(/"/, '\"')
|
157
193
|
system "echo \"#{escaped}\" >> #{path}"
|
158
194
|
|
195
|
+
# reload apache - linux - but need a debian specific look up
|
196
|
+
system "a2ensite #{vhost} && service apache2 restart" if RbConfig::CONFIG['target_os'] =~ /linux/i
|
197
|
+
|
159
198
|
when 'init', 'update'
|
160
199
|
|
161
200
|
# handle args
|
162
201
|
location = ARGV[1] || '.'
|
202
|
+
stage = ARGV[2] || 0
|
163
203
|
|
164
204
|
# validate
|
165
205
|
unless location
|
@@ -168,7 +208,7 @@ module Bonethug
|
|
168
208
|
end
|
169
209
|
|
170
210
|
# run the initaliser
|
171
|
-
Installer.bonethugise
|
211
|
+
Installer.bonethugise location, task.to_sym, stage.to_i
|
172
212
|
|
173
213
|
when 'run',
|
174
214
|
'rake',
|
@@ -61,6 +61,8 @@ module Bonethug
|
|
61
61
|
|
62
62
|
else # apache
|
63
63
|
|
64
|
+
access = vh_cnf.get('version').to_f >= 2.4 ? "Require all granted" : "Order allow,deny\nAllow from all"
|
65
|
+
|
64
66
|
vh = "
|
65
67
|
<VirtualHost *:80>
|
66
68
|
|
@@ -82,9 +84,7 @@ module Bonethug
|
|
82
84
|
|
83
85
|
Options Indexes MultiViews FollowSymLinks
|
84
86
|
AllowOverride All
|
85
|
-
|
86
|
-
Allow from all
|
87
|
-
#{vh_cnf.get('version').to_f > 2.4 ? 'Require all granted' : ''}
|
87
|
+
#{access}
|
88
88
|
|
89
89
|
</Directory>
|
90
90
|
|
data/lib/bonethug/installer.rb
CHANGED
@@ -155,8 +155,13 @@ module Bonethug
|
|
155
155
|
conf.get('dbs').each do |name,envs|
|
156
156
|
|
157
157
|
db = envs.get env
|
158
|
-
|
159
|
-
|
158
|
+
if !db
|
159
|
+
puts "No db for env " + env + " found - check your config file"
|
160
|
+
exit
|
161
|
+
else
|
162
|
+
puts "Mysql user " + admin_user + " is creating db: " + db.get('name') + " and granting access to " + db.get('user') + "@" + db.get('host')
|
163
|
+
system Bonethug::Installer.init_mysql_db_script(db, path, admin_user)
|
164
|
+
end
|
160
165
|
|
161
166
|
end
|
162
167
|
|
@@ -245,129 +250,146 @@ module Bonethug
|
|
245
250
|
# add bonethug to gemfile if required
|
246
251
|
# run bundle install
|
247
252
|
|
248
|
-
def self.bonethugise(dir='.', mode=:init)
|
253
|
+
def self.bonethugise(dir='.', mode=:init, stage=0)
|
249
254
|
|
250
255
|
target = File.expand_path(dir)
|
251
256
|
|
252
|
-
|
253
|
-
|
257
|
+
case stage
|
258
|
+
when 0
|
254
259
|
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
260
|
+
# get bonethug
|
261
|
+
if mode == :update
|
262
|
+
system 'bundle update bonethug'
|
263
|
+
else
|
264
|
+
system 'bundle install bonethug'
|
265
|
+
end
|
259
266
|
|
260
|
-
|
261
|
-
|
267
|
+
# kill this process and run the next step as a new process
|
268
|
+
exec 'bundle exec thug ' + mode.to_s + ' ' + dir + ' ' + (stage + 1).to_s
|
262
269
|
|
263
|
-
|
264
|
-
@@project_config_files.each do |type, dirs|
|
265
|
-
dirs.each do |config|
|
270
|
+
when 1
|
266
271
|
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
272
|
+
# check for the existence of required dirs and create if required
|
273
|
+
[target + '/.bonethug', target + '/config', target + '/config/example'].each do |path|
|
274
|
+
FileUtils.mkdir path unless File.directory? path
|
275
|
+
end
|
271
276
|
|
272
|
-
|
273
|
-
|
277
|
+
# insert version file
|
278
|
+
File.open(target + '/.bonethug/version','w') { |file| file.puts VERSION }
|
279
|
+
|
280
|
+
# Handle config files
|
281
|
+
@@project_config_files.each do |type, dirs|
|
282
|
+
dirs.each do |config|
|
283
|
+
|
284
|
+
# vars
|
285
|
+
src_file = @@bonthug_gem_dir + '/config/' + config
|
286
|
+
example_file = target + '/config/example/' + config if type == :editable
|
287
|
+
target_file = type == :editable ? target + '/config/' + config : target + '/.bonethug/' + config
|
288
|
+
|
289
|
+
# output
|
290
|
+
puts 'Handling ' + target_file
|
291
|
+
|
292
|
+
# what mode are we in?
|
293
|
+
if mode == :init
|
294
|
+
FileUtils.cp src_file, example_file if type == :editable and !File.exist?(example_file)
|
295
|
+
FileUtils.cp src_file, target_file unless File.exist?(target_file)
|
296
|
+
elsif mode == :update
|
297
|
+
FileUtils.cp src_file, example_file if type == :editable
|
298
|
+
FileUtils.cp src_file, target_file if type == :generated or !File.exist?(target_file)
|
299
|
+
else
|
300
|
+
puts "Invalid bonethugise mode"
|
301
|
+
exit
|
302
|
+
end
|
274
303
|
|
275
|
-
# what mode are we in?
|
276
|
-
if mode == :init
|
277
|
-
FileUtils.cp src_file, example_file if type == :editable and !File.exist?(example_file)
|
278
|
-
FileUtils.cp src_file, target_file unless File.exist?(target_file)
|
279
|
-
elsif mode == :update
|
280
|
-
FileUtils.cp src_file, example_file if type == :editable
|
281
|
-
FileUtils.cp src_file, target_file if type == :generated or !File.exist?(target_file)
|
282
|
-
else
|
283
|
-
puts "Invalid bonethugise mode"
|
284
|
-
exit
|
285
304
|
end
|
286
|
-
|
287
305
|
end
|
288
|
-
end
|
289
|
-
|
290
|
-
# Handle project type specific files
|
291
|
-
if mode == :update
|
292
|
-
target_cnf = target + '/config/cnf.yml'
|
293
|
-
project_conf = Conf.new.add target_cnf
|
294
|
-
project_type = project_conf.get('deploy.common.project_type')
|
295
|
-
if project_type
|
296
|
-
bonethug_files = @@conf.get 'project_types.' + project_type + '.bonethug_files'
|
297
|
-
if bonethug_files
|
298
|
-
bonethug_files.each do |index, file|
|
299
|
-
|
300
|
-
# push some output
|
301
|
-
puts 'Handling ' + index.to_s + ':' + file.to_s
|
302
306
|
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
+
# Handle project type specific files
|
308
|
+
if mode == :update
|
309
|
+
target_cnf = target + '/config/cnf.yml'
|
310
|
+
project_conf = Conf.new.add target_cnf
|
311
|
+
project_type = project_conf.get('deploy.common.project_type')
|
312
|
+
if project_type
|
313
|
+
bonethug_files = @@conf.get 'project_types.' + project_type + '.bonethug_files'
|
314
|
+
if bonethug_files
|
315
|
+
bonethug_files.each do |index, file|
|
316
|
+
|
317
|
+
# push some output
|
318
|
+
puts 'Handling ' + index.to_s + ':' + file.to_s
|
319
|
+
|
320
|
+
# do the copy
|
321
|
+
src_file = @@bonthug_gem_dir + '/skel/project_types/' + project_type + '/' + file
|
322
|
+
dst_file = target + '/' + file
|
323
|
+
dir = File.dirname dst_file
|
324
|
+
FileUtils.mkdir_p dir
|
325
|
+
FileUtils.cp_r src_file, dst_file
|
307
326
|
|
327
|
+
end
|
308
328
|
end
|
329
|
+
else
|
330
|
+
puts "Couldn't find project type in " + target_cnf
|
309
331
|
end
|
310
|
-
else
|
311
|
-
puts "Couldn't find project type in " + target_cnf
|
312
332
|
end
|
313
|
-
end
|
314
333
|
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
334
|
+
# handle gemfile
|
335
|
+
gemfile_path = target + '/Gemfile'
|
336
|
+
if File.exist? gemfile_path
|
337
|
+
|
338
|
+
# extract the contents
|
339
|
+
gemfile_contents = File.read(gemfile_path)
|
340
|
+
|
341
|
+
# identify what we are looking for
|
342
|
+
# this should have groups - i.e. dev
|
343
|
+
required_gems = {
|
344
|
+
'mina' => 'nadarei/mina',
|
345
|
+
'astrails-safe' => 'astrails/safe',
|
346
|
+
'whenever' => 'javan/whenever',
|
347
|
+
'guard-erb' => 'azt3k/guard-erb',
|
348
|
+
'coffee-script' => 'josh/ruby-coffee-script',
|
349
|
+
'guard-uglify' => 'customink/guard-uglify',
|
350
|
+
'guard-concat' => 'mikz/guard-concat',
|
351
|
+
'bonethug' => nil
|
352
|
+
}
|
353
|
+
|
354
|
+
# look at each requirement and identify if we need things
|
355
|
+
required_gems.each do |gem_name, github|
|
356
|
+
|
357
|
+
add_gem = false;
|
358
|
+
gem_reg = Regexp.new('gem[^"\']+["\']'+gem_name+'["\']')
|
359
|
+
git_reg = Regexp.new('gem[^"\']+["\']'+gem_name+'["\'],[^,]+github: ["\']'+github+'["\']') if github
|
360
|
+
|
361
|
+
if gem_reg =~ gemfile_contents
|
362
|
+
puts 'Found '+gem_name+' in gem file.'
|
363
|
+
if github
|
364
|
+
puts 'Requires github version, checking...'
|
365
|
+
unless git_reg =~ gemfile_contents
|
366
|
+
puts 'Couldn\'t find '+gem_name+' (github) in gem file adding...'
|
367
|
+
gemfile_contents.gsub(gem_reg,'')
|
368
|
+
add_gem = true;
|
369
|
+
end
|
349
370
|
end
|
371
|
+
else
|
372
|
+
puts "Couldn't find "+gem_name+" in gem file adding..."
|
373
|
+
add_gem = true;
|
374
|
+
end
|
375
|
+
|
376
|
+
if add_gem
|
377
|
+
gemfile_contents += "\n" + 'gem "'+gem_name+'"'+(github ? ', github: "'+github+'"' : '')
|
378
|
+
File.open(gemfile_path,'w') { |file| file.puts gemfile_contents }
|
350
379
|
end
|
351
|
-
else
|
352
|
-
puts "Couldn't find "+gem_name+" in gem file adding..."
|
353
|
-
add_gem = true;
|
354
|
-
end
|
355
380
|
|
356
|
-
if add_gem
|
357
|
-
gemfile_contents += "\n" + 'gem "'+gem_name+'"'+(github ? ', github: "'+github+'"' : '')
|
358
|
-
File.open(gemfile_path,'w') { |file| file.puts gemfile_contents }
|
359
381
|
end
|
360
382
|
|
383
|
+
else
|
384
|
+
puts 'No Gemfile found, creating one...'
|
385
|
+
FileUtils.cp @@skel_dir + '/base/Gemfile', gemfile_path
|
361
386
|
end
|
362
387
|
|
363
|
-
|
364
|
-
|
365
|
-
|
388
|
+
# run bundler
|
389
|
+
exec 'bundle install --path vendor'
|
390
|
+
|
366
391
|
end
|
367
392
|
|
368
|
-
# run bundler
|
369
|
-
exec 'bundle install --path vendor'
|
370
|
-
|
371
393
|
# self
|
372
394
|
|
373
395
|
end
|
data/lib/bonethug/version.rb
CHANGED
data/scripts/mail
ADDED
@@ -0,0 +1,138 @@
|
|
1
|
+
# /bin/bash
|
2
|
+
|
3
|
+
# -----------------------------------------------------
|
4
|
+
# install native stuff
|
5
|
+
# -----------------------------------------------------
|
6
|
+
|
7
|
+
# install the repo adding scripts
|
8
|
+
sudo apt-get install software-properties-common python-software-properties
|
9
|
+
|
10
|
+
# add repos
|
11
|
+
# sudo add-apt-repository ppa:richarvey/nodejs
|
12
|
+
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) main universe restricted multiverse"
|
13
|
+
sudo add-apt-repository "deb-src http://archive.ubuntu.com/ubuntu $(lsb_release -sc) main universe restricted multiverse"
|
14
|
+
sudo add-apt-repository ppa:ondrej/apache2
|
15
|
+
sudo add-apt-repository ppa:ondrej/php5
|
16
|
+
sudo add-apt-repository ppa:ondrej/mysql-5.6
|
17
|
+
|
18
|
+
# update
|
19
|
+
sudo apt-get update && sudo apt-get upgrade
|
20
|
+
|
21
|
+
# install
|
22
|
+
|
23
|
+
# dev headers
|
24
|
+
sudo apt-get install libcurl4-openssl-dev libssl-dev apache2-threaded-dev libapr1-dev libaprutil1-dev libapr1-dev libaprutil1-dev
|
25
|
+
sudo apt-get install libmysqlclient-dev libmagickwand-dev libsqlite3-dev libxml2-dev libxslt1-dev
|
26
|
+
|
27
|
+
# regular packages
|
28
|
+
sudo apt-get install apache2-mpm-worker
|
29
|
+
sudo apt-get install curl libapache2-mod-fastcgi php5-fpm php5 php5-cli php5-curl php5-gd php5-imagick php-apc php5-mysql
|
30
|
+
sudo apt-get install mysql-server mysql-client sqlite3
|
31
|
+
sudo apt-get install imagemagick
|
32
|
+
sudo apt-get install phpmyadmin
|
33
|
+
sudo apt-get install sshpass
|
34
|
+
sudo apt-get install libxml2 g++
|
35
|
+
sudo apt-get install git ruby1.9.3 wkhtmltopdf nodejs npm
|
36
|
+
|
37
|
+
|
38
|
+
# -----------------------------------------------------
|
39
|
+
# Configure stuff
|
40
|
+
# -----------------------------------------------------
|
41
|
+
|
42
|
+
# unix socket
|
43
|
+
# echo "
|
44
|
+
# <IfModule mod_fastcgi.c>
|
45
|
+
# AddHandler php5-fcgi .php
|
46
|
+
# Action php5-fcgi /php5-fcgi
|
47
|
+
# Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi
|
48
|
+
# FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -socket /var/run/php5-fpm.sock -pass-header Authorization
|
49
|
+
# </IfModule>
|
50
|
+
# " > /etc/apache2/conf.d/php-fpm.conf
|
51
|
+
# sed -i -e "s/listen = 127.0.0.1:9000/listen = \/var\/run\/php5-fpm.sock/g" /etc/php5/fpm/pool.d/www.conf
|
52
|
+
|
53
|
+
## TCP
|
54
|
+
# echo "
|
55
|
+
# <IfModule mod_fastcgi.c>
|
56
|
+
# AddHandler php5-fcgi .php
|
57
|
+
# Action php5-fcgi /php5-fcgi
|
58
|
+
# Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi
|
59
|
+
# FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -host 127.0.0.1:9000 -idle-timeout 250 -pass-header Authorization
|
60
|
+
# </IfModule>
|
61
|
+
# " > /etc/apache2/conf.d/php-fpm.conf
|
62
|
+
# sed -i -e "s/listen = \/var\/run\/php5-fpm.sock/listen = 127.0.0.1:9000/g" /etc/php5/fpm/pool.d/www.conf
|
63
|
+
|
64
|
+
sudo sed -i -e "s/listen = \/var\/run\/php5-fpm.sock/listen = 127.0.0.1:9000/g" /etc/php5/fpm/pool.d/www.conf
|
65
|
+
# sudo echo -e "<IfModule mod_fastcgi.c>\n AddHandler php5-fcgi .php\n Action php5-fcgi /php5-fcgi\n Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi\n FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -host 127.0.0.1:9000 -idle-timeout 250 -pass-header Authorization\n </IfModule>" > /etc/apache2/conf.d/php-fpm.conf
|
66
|
+
|
67
|
+
#apache2.4
|
68
|
+
sudo echo -e "<IfModule mod_fastcgi.c>\n AddHandler php5-fcgi .php\n Action php5-fcgi /php5-fcgi\n Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi\n FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -host 127.0.0.1:9000 -idle-timeout 250 -pass-header Authorization\n <Directory />\nRequire all granted\n </Directory>\n </IfModule>" > /etc/apache2/conf-available/php-fpm.conf
|
69
|
+
sudo a2enconf php-fpm.conf
|
70
|
+
|
71
|
+
# Apache
|
72
|
+
# ------
|
73
|
+
|
74
|
+
# modules
|
75
|
+
sudo a2enmod actions fastcgi alias rewrite headers
|
76
|
+
|
77
|
+
# phpmyadmin apache 2.4
|
78
|
+
sudo cp /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
|
79
|
+
sudo a2enconf phpmyadmin.conf
|
80
|
+
|
81
|
+
# -----------------------------------------------------
|
82
|
+
# Install Gems
|
83
|
+
# -----------------------------------------------------
|
84
|
+
|
85
|
+
# install some gems - yes gem1.9.3 - wtf - use rbenv
|
86
|
+
# sudo gem1.9.3 install mina bundler whenever astrails-safe
|
87
|
+
|
88
|
+
# install passenger
|
89
|
+
# sudo gem1.9.3 install passenger
|
90
|
+
sudo gem install passenger
|
91
|
+
sudo passenger-install-apache2-module
|
92
|
+
sudo touch /etc/apache2/mods-available/passenger.load
|
93
|
+
sudo touch /etc/apache2/mods-available/passenger.confc
|
94
|
+
|
95
|
+
# -----------------------------------------------------
|
96
|
+
# Node.js related
|
97
|
+
# -----------------------------------------------------
|
98
|
+
|
99
|
+
sudo npm install bower -g
|
100
|
+
|
101
|
+
# -----------------------------------------------------
|
102
|
+
# Restart stuff
|
103
|
+
# -----------------------------------------------------
|
104
|
+
|
105
|
+
sudo service apache2 restart
|
106
|
+
sudo service php5-fpm restart
|
107
|
+
|
108
|
+
# -----------------------------------------------------
|
109
|
+
# Build tools
|
110
|
+
# -----------------------------------------------------
|
111
|
+
|
112
|
+
sudo apt-get install pngcrush jpegoptim pngquant libcroco3*
|
113
|
+
|
114
|
+
# -----------------------------------------------------
|
115
|
+
# things bashit likes
|
116
|
+
# -----------------------------------------------------
|
117
|
+
|
118
|
+
sudo apt-get install irssi irissi-scripts
|
119
|
+
|
120
|
+
# -----------------------------------------------------
|
121
|
+
# rbenv
|
122
|
+
# -----------------------------------------------------
|
123
|
+
|
124
|
+
git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
|
125
|
+
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
|
126
|
+
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
|
127
|
+
git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
|
128
|
+
|
129
|
+
# -----------------------------------------------------
|
130
|
+
# Bash it
|
131
|
+
# -----------------------------------------------------
|
132
|
+
|
133
|
+
sudo apt-get install python-pip python-dev-all
|
134
|
+
sudo pip install argcomplete
|
135
|
+
sudo activate-global-python-argcomplete
|
136
|
+
git clone https://github.com/revans/bash-it.git ~/.bash_it
|
137
|
+
~/.bash_it/install.sh
|
138
|
+
echo -e "BASH_IT=$HOME/.bash_it\nexport BASH_IT_THEME='bobby'\nexport GIT_HOSTING='git@github.com'\nexport EDITOR=\"/usr/bin/subl -w\"\nexport GIT_EDITOR='/usr/bin/subl -w'\nexport TODO=\"t\"\nexport IRC_CLIENT='irssi'\nsource $BASH_IT/bash_it.sh" >> ~/.bashrc
|
data/scripts/ubuntu_setup.sh
CHANGED
@@ -60,12 +60,12 @@ sudo apt-get install git ruby1.9.3 nodejs npm
|
|
60
60
|
# " > /etc/apache2/conf.d/php-fpm.conf
|
61
61
|
# sed -i -e "s/listen = \/var\/run\/php5-fpm.sock/listen = 127.0.0.1:9000/g" /etc/php5/fpm/pool.d/www.conf
|
62
62
|
|
63
|
-
sed -i -e "s/listen = \/var\/run\/php5-fpm.sock/listen = 127.0.0.1:9000/g" /etc/php5/fpm/pool.d/www.conf
|
63
|
+
sudo sed -i -e "s/listen = \/var\/run\/php5-fpm.sock/listen = 127.0.0.1:9000/g" /etc/php5/fpm/pool.d/www.conf
|
64
64
|
sudo echo -e "<IfModule mod_fastcgi.c>\n AddHandler php5-fcgi .php\n Action php5-fcgi /php5-fcgi\n Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi\n FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -host 127.0.0.1:9000 -appConnTimeout 900 -idle-timeout 900 -pass-header Authorization\n </IfModule>" > /etc/apache2/conf.d/php-fpm.conf
|
65
65
|
|
66
66
|
#apache2.4
|
67
67
|
sudo echo -e "<IfModule mod_fastcgi.c>\n AddHandler php5-fcgi .php\n Action php5-fcgi /php5-fcgi\n Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi\n FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -host 127.0.0.1:9000 -appConnTimeout 900 -idle-timeout 900 -pass-header Authorization\n <Directory />\nRequire all granted\n </Directory>\n </IfModule>" > /etc/apache2/conf-available/php-fpm.conf
|
68
|
-
a2enconf php-fpm.conf
|
68
|
+
sudo a2enconf php-fpm.conf
|
69
69
|
|
70
70
|
# Apache
|
71
71
|
# ------
|
@@ -93,7 +93,7 @@ sudo touch /etc/apache2/mods-available/passenger.conf
|
|
93
93
|
# Node.js related
|
94
94
|
# -----------------------------------------------------
|
95
95
|
|
96
|
-
npm install bower -g
|
96
|
+
sudo npm install bower -g
|
97
97
|
|
98
98
|
# -----------------------------------------------------
|
99
99
|
# Restart stuff
|
data/scripts/ubuntu_setup_2.4.sh
CHANGED
@@ -61,13 +61,16 @@ sudo apt-get install git ruby1.9.3 wkhtmltopdf nodejs npm
|
|
61
61
|
# " > /etc/apache2/conf.d/php-fpm.conf
|
62
62
|
# sed -i -e "s/listen = \/var\/run\/php5-fpm.sock/listen = 127.0.0.1:9000/g" /etc/php5/fpm/pool.d/www.conf
|
63
63
|
|
64
|
-
sed -i -e "s/listen = \/var\/run\/php5-fpm.sock/listen = 127.0.0.1:9000/g" /etc/php5/fpm/pool.d/www.conf
|
64
|
+
sudo sed -i -e "s/listen = \/var\/run\/php5-fpm.sock/listen = 127.0.0.1:9000/g" /etc/php5/fpm/pool.d/www.conf
|
65
65
|
# sudo echo -e "<IfModule mod_fastcgi.c>\n AddHandler php5-fcgi .php\n Action php5-fcgi /php5-fcgi\n Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi\n FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -host 127.0.0.1:9000 -idle-timeout 250 -pass-header Authorization\n </IfModule>" > /etc/apache2/conf.d/php-fpm.conf
|
66
66
|
|
67
67
|
#apache2.4
|
68
68
|
sudo echo -e "<IfModule mod_fastcgi.c>\n AddHandler php5-fcgi .php\n Action php5-fcgi /php5-fcgi\n Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi\n FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -host 127.0.0.1:9000 -idle-timeout 250 -pass-header Authorization\n <Directory />\nRequire all granted\n </Directory>\n </IfModule>" > /etc/apache2/conf-available/php-fpm.conf
|
69
69
|
sudo a2enconf php-fpm.conf
|
70
70
|
|
71
|
+
# symlink node to nodejs
|
72
|
+
sudo ln -s /usr/bin/nodejs /usr/bin/node
|
73
|
+
|
71
74
|
# Apache
|
72
75
|
# ------
|
73
76
|
|
@@ -75,8 +78,8 @@ sudo a2enconf php-fpm.conf
|
|
75
78
|
sudo a2enmod actions fastcgi alias rewrite headers
|
76
79
|
|
77
80
|
# phpmyadmin apache 2.4
|
78
|
-
cp /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
|
79
|
-
a2enconf phpmyadmin.conf
|
81
|
+
sudo cp /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
|
82
|
+
sudo a2enconf phpmyadmin.conf
|
80
83
|
|
81
84
|
# -----------------------------------------------------
|
82
85
|
# Install Gems
|
@@ -96,7 +99,7 @@ sudo touch /etc/apache2/mods-available/passenger.conf
|
|
96
99
|
# Node.js related
|
97
100
|
# -----------------------------------------------------
|
98
101
|
|
99
|
-
npm install bower -g
|
102
|
+
sudo npm install bower -g
|
100
103
|
|
101
104
|
# -----------------------------------------------------
|
102
105
|
# Restart stuff
|
@@ -80,7 +80,8 @@ class SS_LoadConf {
|
|
80
80
|
$cnf = Yaml::parse($base_dir . '/config/cnf.yml');
|
81
81
|
|
82
82
|
// expected urls
|
83
|
-
$
|
83
|
+
$vhost = empty($cnf['vhost']) ? $cnf['apache'] : $cnf['vhost'];
|
84
|
+
$url = 'http://' . $vhost[APPLICATION_ENV]['server_name'];
|
84
85
|
|
85
86
|
// load db settings
|
86
87
|
$db = (object) $cnf['dbs']['default'][APPLICATION_ENV];
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bonethug
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.83
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-06-
|
12
|
+
date: 2014-06-13 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -397,6 +397,8 @@ files:
|
|
397
397
|
- lib/bonethug/watcher.rb
|
398
398
|
- lib/init.rb
|
399
399
|
- lib/tasks/bonethug.rake
|
400
|
+
- scripts/mail
|
401
|
+
- scripts/ubuntu-14.04-dev.sh
|
400
402
|
- scripts/ubuntu_setup.sh
|
401
403
|
- scripts/ubuntu_setup_2.4.sh
|
402
404
|
- skel/base/.gitignore
|