bonethug 0.0.82 → 0.0.83
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|