passenger 4.0.10 → 4.0.13

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of passenger might be problematic. Click here for more details.

Files changed (224) hide show
  1. data.tar.gz.asc +7 -7
  2. data/.gitignore +66 -0
  3. data/.travis.yml +2 -5
  4. data/CONTRIBUTORS +2 -1
  5. data/NEWS +24 -0
  6. data/README.md +5 -10
  7. data/bin/passenger +1 -0
  8. data/bin/passenger-config +29 -3
  9. data/bin/passenger-install-nginx-module +1 -1
  10. data/build/basics.rb +8 -2
  11. data/build/debian.rb +22 -0
  12. data/build/integration_tests.rb +16 -2
  13. data/build/misc.rb +3 -0
  14. data/build/packaging.rb +77 -29
  15. data/build/preprocessor.rb +13 -10
  16. data/build/test_basics.rb +6 -0
  17. data/debian.template/locations.ini.template +13 -0
  18. data/debian.template/ruby-passenger-dev.install.template +3 -0
  19. data/debian.template/ruby-passenger-doc.install.template +2 -0
  20. data/debian.template/ruby-passenger.install.template +12 -0
  21. data/debian.template/rules.template +1 -0
  22. data/dev/run_travis.sh +46 -14
  23. data/doc/Architectural overview.html +25 -34
  24. data/doc/Packaging.html +31 -23
  25. data/doc/Packaging.txt.md +32 -23
  26. data/doc/Security of user switching support.html +16 -18
  27. data/doc/Users guide Apache.html +231 -239
  28. data/doc/Users guide Nginx.html +219 -227
  29. data/doc/Users guide Standalone.html +12 -15
  30. data/doc/users_guide_snippets/installation.txt +3 -2
  31. data/ext/common/ApplicationPool2/Implementation.cpp +6 -16
  32. data/ext/common/Constants.h +1 -1
  33. data/ext/common/ResourceLocator.h +6 -6
  34. data/ext/common/UnionStation.h +11 -15
  35. data/ext/common/Utils/ProcessMetricsCollector.h +7 -4
  36. data/ext/common/agents/HelperAgent/AgentOptions.h +6 -0
  37. data/ext/common/agents/HelperAgent/Main.cpp +5 -0
  38. data/ext/common/agents/HelperAgent/RequestHandler.h +9 -1
  39. data/ext/common/agents/LoggingAgent/Main.cpp +4 -0
  40. data/ext/common/agents/Watchdog/Main.cpp +7 -0
  41. data/ext/nginx/config +1 -1
  42. data/ext/oxt/Readme.txt +15 -0
  43. data/helper-scripts/download_binaries/extconf.rb +83 -0
  44. data/lib/phusion_passenger.rb +78 -80
  45. data/lib/phusion_passenger/abstract_installer.rb +22 -8
  46. data/lib/phusion_passenger/console_text_template.rb +1 -1
  47. data/lib/phusion_passenger/loader_shared_helpers.rb +2 -1
  48. data/lib/phusion_passenger/native_support.rb +22 -9
  49. data/lib/phusion_passenger/packaging.rb +7 -2
  50. data/lib/phusion_passenger/platform_info.rb +28 -1
  51. data/lib/phusion_passenger/platform_info/apache.rb +246 -26
  52. data/lib/phusion_passenger/platform_info/apache_detector.rb +232 -0
  53. data/lib/phusion_passenger/platform_info/depcheck_specs/ruby.rb +4 -0
  54. data/lib/phusion_passenger/platform_info/linux.rb +7 -0
  55. data/lib/phusion_passenger/public_api.rb +11 -2
  56. data/lib/phusion_passenger/standalone/command.rb +11 -14
  57. data/lib/phusion_passenger/standalone/runtime_installer.rb +313 -275
  58. data/lib/phusion_passenger/standalone/runtime_locator.rb +163 -0
  59. data/lib/phusion_passenger/standalone/start_command.rb +38 -46
  60. data/lib/phusion_passenger/utils/json.rb +329 -0
  61. data/lib/phusion_passenger/utils/tmpio.rb +1 -0
  62. data/passenger.gemspec +4 -0
  63. data/resources/mime.types +1 -0
  64. data/resources/oss-binaries.phusionpassenger.com.crt +84 -0
  65. data/resources/release.txt +0 -0
  66. data/resources/templates/standalone/download_tool_missing.txt.erb +18 -0
  67. data/rpm/README.rdoc +117 -0
  68. data/rpm/config/apache-passenger.conf.in +19 -0
  69. data/rpm/config/nginx-passenger.conf.in +10 -0
  70. data/rpm/config/rubygem-passenger.te +10 -0
  71. data/rpm/doc/README.nginx-alternatives +5 -0
  72. data/rpm/doc/example_yum_repository_htaccess +5 -0
  73. data/rpm/doc/footer.shtml +12 -0
  74. data/rpm/doc/header.shtml +156 -0
  75. data/rpm/nginx-alternatives.spec +97 -0
  76. data/rpm/passenger-release.spec +91 -0
  77. data/rpm/passenger.spec +667 -0
  78. data/rpm/patches/passenger-force-native.patch +63 -0
  79. data/rpm/release/RPM-GPG-KEY-stealthymonkeys +33 -0
  80. data/rpm/release/build-release.sh +35 -0
  81. data/rpm/release/build.rb +301 -0
  82. data/rpm/release/create-mirrors.sh +16 -0
  83. data/rpm/release/mirrors +1 -0
  84. data/rpm/release/mock-repo/comps.xml +21 -0
  85. data/rpm/release/mock-repo/rubygem-daemon_controller-0.2.5-1.noarch.rpm +0 -0
  86. data/rpm/release/mock-repo/rubygem-file-tail-1.0.5-1.noarch.rpm +0 -0
  87. data/rpm/release/mock-repo/rubygem-spruz-0.2.2-1.noarch.rpm +0 -0
  88. data/rpm/release/mocksetup-first.sh +102 -0
  89. data/rpm/release/mocksetup.sh +67 -0
  90. data/test/integration_tests/apache2_tests.rb +1 -1
  91. data/test/integration_tests/downloaded_binaries_tests.rb +76 -0
  92. data/test/integration_tests/native_packaging_spec.rb +38 -6
  93. data/test/integration_tests/source_packaging_test.rb +198 -0
  94. data/test/integration_tests/standalone_tests.rb +275 -0
  95. data/test/ruby/admin_tools_spec.rb +1 -1
  96. data/test/ruby/rails4.0/loader_spec.rb +28 -0
  97. data/test/ruby/rails4.0/preloader_spec.rb +34 -0
  98. data/test/ruby/spec_helper.rb +5 -1
  99. data/test/ruby/standalone/runtime_installer_spec.rb +399 -0
  100. data/test/ruby/standalone/runtime_locator_spec.rb +214 -0
  101. data/test/stub/apache2/httpd.conf.erb +18 -1
  102. data/test/stub/rack/tmp/.gitignore +0 -0
  103. data/test/stub/rails2.3/log/.gitignore +1 -0
  104. data/test/stub/rails2.3/public/.gitignore +1 -0
  105. data/test/stub/rails2.3/tmp/cache/.gitignore +1 -0
  106. data/test/stub/rails2.3/tmp/pids/.gitignore +1 -0
  107. data/test/stub/rails2.3/tmp/sessions/.gitignore +1 -0
  108. data/test/stub/rails2.3/tmp/sockets/.gitignore +1 -0
  109. data/test/stub/rails3.0/.gitignore +4 -0
  110. data/test/stub/rails3.0/Gemfile +1 -1
  111. data/test/stub/rails3.0/Gemfile.lock +1 -1
  112. data/test/stub/rails3.0/lib/tasks/.gitkeep +0 -0
  113. data/test/stub/rails3.0/log/.gitignore +0 -0
  114. data/test/stub/rails3.0/public/stylesheets/.gitkeep +0 -0
  115. data/test/stub/rails3.0/vendor/plugins/.gitkeep +0 -0
  116. data/test/stub/rails3.1/.gitignore +15 -0
  117. data/test/stub/rails3.1/Gemfile +1 -1
  118. data/test/stub/rails3.1/Gemfile.lock +1 -1
  119. data/test/stub/rails3.1/app/mailers/.gitkeep +0 -0
  120. data/test/stub/rails3.1/app/models/.gitkeep +0 -0
  121. data/test/stub/rails3.1/lib/assets/.gitkeep +0 -0
  122. data/test/stub/rails3.1/lib/tasks/.gitkeep +0 -0
  123. data/test/stub/rails3.1/log/.gitkeep +0 -0
  124. data/test/stub/rails3.1/test/fixtures/.gitkeep +0 -0
  125. data/test/stub/rails3.1/test/functional/.gitkeep +0 -0
  126. data/test/stub/rails3.1/test/integration/.gitkeep +0 -0
  127. data/test/stub/rails3.1/test/unit/.gitkeep +0 -0
  128. data/test/stub/rails3.1/vendor/assets/stylesheets/.gitkeep +0 -0
  129. data/test/stub/rails3.1/vendor/plugins/.gitkeep +0 -0
  130. data/test/stub/rails3.2/.gitignore +15 -0
  131. data/test/stub/rails3.2/app/mailers/.gitkeep +0 -0
  132. data/test/stub/rails3.2/app/models/.gitkeep +0 -0
  133. data/test/stub/rails3.2/lib/assets/.gitkeep +0 -0
  134. data/test/stub/rails3.2/lib/tasks/.gitkeep +0 -0
  135. data/test/stub/rails3.2/log/.gitkeep +0 -0
  136. data/test/stub/rails3.2/test/fixtures/.gitkeep +0 -0
  137. data/test/stub/rails3.2/test/functional/.gitkeep +0 -0
  138. data/test/stub/rails3.2/test/integration/.gitkeep +0 -0
  139. data/test/stub/rails3.2/test/unit/.gitkeep +0 -0
  140. data/test/stub/rails3.2/vendor/assets/stylesheets/.gitkeep +0 -0
  141. data/test/stub/rails3.2/vendor/plugins/.gitkeep +0 -0
  142. data/test/stub/rails4.0/.gitignore +16 -0
  143. data/test/stub/rails4.0/Gemfile +45 -0
  144. data/test/stub/rails4.0/Gemfile.lock +126 -0
  145. data/test/stub/rails4.0/README.rdoc +28 -0
  146. data/test/stub/rails4.0/Rakefile +6 -0
  147. data/test/stub/rails4.0/app/assets/images/.keep +0 -0
  148. data/test/stub/rails4.0/app/assets/javascripts/application.js +16 -0
  149. data/test/stub/rails4.0/app/assets/stylesheets/application.css +13 -0
  150. data/test/stub/rails4.0/app/controllers/application_controller.rb +5 -0
  151. data/test/stub/rails4.0/app/controllers/concerns/.keep +0 -0
  152. data/test/stub/rails4.0/app/helpers/application_helper.rb +2 -0
  153. data/test/stub/rails4.0/app/mailers/.keep +0 -0
  154. data/test/stub/rails4.0/app/models/.keep +0 -0
  155. data/test/stub/rails4.0/app/models/concerns/.keep +0 -0
  156. data/test/stub/rails4.0/app/views/layouts/application.html.erb +14 -0
  157. data/test/stub/rails4.0/bin/bundle +3 -0
  158. data/test/stub/rails4.0/bin/rails +4 -0
  159. data/test/stub/rails4.0/bin/rake +4 -0
  160. data/test/stub/rails4.0/config.ru +4 -0
  161. data/test/stub/rails4.0/config/application.rb +23 -0
  162. data/test/stub/rails4.0/config/boot.rb +4 -0
  163. data/test/stub/rails4.0/config/database.yml +25 -0
  164. data/test/stub/rails4.0/config/environment.rb +5 -0
  165. data/test/stub/rails4.0/config/environments/development.rb +29 -0
  166. data/test/stub/rails4.0/config/environments/production.rb +80 -0
  167. data/test/stub/rails4.0/config/environments/test.rb +36 -0
  168. data/test/stub/rails4.0/config/initializers/backtrace_silencers.rb +7 -0
  169. data/test/stub/rails4.0/config/initializers/filter_parameter_logging.rb +4 -0
  170. data/test/stub/rails4.0/config/initializers/inflections.rb +16 -0
  171. data/test/stub/rails4.0/config/initializers/mime_types.rb +5 -0
  172. data/test/stub/rails4.0/config/initializers/passenger.rb +1 -0
  173. data/test/stub/rails4.0/config/initializers/secret_token.rb +12 -0
  174. data/test/stub/rails4.0/config/initializers/session_store.rb +3 -0
  175. data/test/stub/rails4.0/config/initializers/wrap_parameters.rb +14 -0
  176. data/test/stub/rails4.0/config/locales/en.yml +23 -0
  177. data/test/stub/rails4.0/config/routes.rb +57 -0
  178. data/test/stub/rails4.0/db/seeds.rb +7 -0
  179. data/test/stub/rails4.0/lib/assets/.keep +0 -0
  180. data/test/stub/rails4.0/lib/tasks/.keep +0 -0
  181. data/test/stub/rails4.0/log/.keep +0 -0
  182. data/test/stub/rails4.0/public/404.html +58 -0
  183. data/test/stub/rails4.0/public/422.html +58 -0
  184. data/test/stub/rails4.0/public/500.html +57 -0
  185. data/test/stub/rails4.0/public/favicon.ico +0 -0
  186. data/test/stub/rails4.0/public/robots.txt +5 -0
  187. data/test/stub/rails4.0/test/controllers/.keep +0 -0
  188. data/test/stub/rails4.0/test/fixtures/.keep +0 -0
  189. data/test/stub/rails4.0/test/helpers/.keep +0 -0
  190. data/test/stub/rails4.0/test/integration/.keep +0 -0
  191. data/test/stub/rails4.0/test/mailers/.keep +0 -0
  192. data/test/stub/rails4.0/test/models/.keep +0 -0
  193. data/test/stub/rails4.0/test/test_helper.rb +15 -0
  194. data/test/stub/rails4.0/vendor/assets/javascripts/.keep +0 -0
  195. data/test/stub/rails4.0/vendor/assets/stylesheets/.keep +0 -0
  196. data/test/stub/rails_apps/1.2/empty/.gitignore +3 -0
  197. data/test/stub/rails_apps/1.2/empty/app/models/.gitignore +0 -0
  198. data/test/stub/rails_apps/1.2/empty/db/.gitignore +0 -0
  199. data/test/stub/rails_apps/1.2/empty/public/.htaccess +40 -0
  200. data/test/stub/rails_apps/1.2/empty/public/stylesheets/.gitignore +0 -0
  201. data/test/stub/rails_apps/2.0/empty/.gitignore +3 -0
  202. data/test/stub/rails_apps/2.0/empty/app/models/.gitignore +0 -0
  203. data/test/stub/rails_apps/2.0/empty/db/.gitignore +0 -0
  204. data/test/stub/rails_apps/2.0/empty/public/.htaccess +40 -0
  205. data/test/stub/rails_apps/2.0/empty/public/stylesheets/.gitignore +0 -0
  206. data/test/stub/rails_apps/2.2/empty/.gitignore +3 -0
  207. data/test/stub/rails_apps/2.2/empty/app/models/.gitignore +0 -0
  208. data/test/stub/rails_apps/2.2/empty/db/.gitignore +0 -0
  209. data/test/stub/rails_apps/2.2/empty/public/stylesheets/.gitignore +0 -0
  210. data/test/stub/rails_apps/2.3/empty/.gitignore +3 -0
  211. data/test/stub/rails_apps/2.3/empty/app/models/.gitignore +0 -0
  212. data/test/stub/rails_apps/2.3/empty/db/.gitignore +0 -0
  213. data/test/stub/rails_apps/2.3/empty/public/stylesheets/.gitignore +0 -0
  214. data/test/stub/rails_apps/2.3/mycook/public/.htaccess +42 -0
  215. data/test/stub/rails_apps/2.3/mycook/public/uploads/.gitignore +0 -0
  216. data/test/stub/wsgi/tmp/.gitignore +0 -0
  217. data/test/valgrind-osx.supp +7 -0
  218. metadata +162 -8
  219. metadata.gz.asc +7 -7
  220. data/debian.template/locations.ini +0 -12
  221. data/debian.template/ruby-passenger-dev.install +0 -3
  222. data/debian.template/ruby-passenger-doc.install +0 -2
  223. data/debian.template/ruby-passenger.install +0 -11
  224. data/resources/templates/installer_common/freebsd9_broken_cxx_runtime.txt.erb +0 -19
@@ -0,0 +1,214 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
+ require 'phusion_passenger/standalone/runtime_locator'
3
+ require 'tmpdir'
4
+ require 'fileutils'
5
+ require 'json'
6
+
7
+ module PhusionPassenger
8
+ module Standalone
9
+
10
+ describe RuntimeLocator do
11
+ before :each do
12
+ @temp_dir = Dir.mktmpdir
13
+ @locator = RuntimeLocator.new(@temp_dir)
14
+ end
15
+
16
+ after :each do
17
+ FileUtils.remove_entry_secure(@temp_dir)
18
+ end
19
+
20
+ def create_file(filename, contents = nil)
21
+ File.open(filename, "w") do |f|
22
+ f.write(contents) if contents
23
+ end
24
+ end
25
+
26
+ def create_nginx(nginx_version)
27
+ version = PhusionPassenger::VERSION_STRING
28
+ cxx_compat_id = PlatformInfo.cxx_binary_compatibility_id
29
+ nginx_dir = "#{@temp_dir}/#{version}/nginx-#{nginx_version}-#{cxx_compat_id}"
30
+ FileUtils.mkdir_p(nginx_dir)
31
+ @nginx_filename = "#{nginx_dir}/nginx"
32
+ create_file(@nginx_filename)
33
+ File.chmod(0755, @nginx_filename)
34
+ end
35
+
36
+ context "when originally packaged" do
37
+ before :each do
38
+ PhusionPassenger.stub(:originally_packaged?).and_return(true)
39
+ PhusionPassenger.stub(:natively_packaged?).and_return(false)
40
+ end
41
+
42
+ context "if PASSENGER_DEBUG is set" do
43
+ before :each do
44
+ ENV['PASSENGER_DEBUG'] = '1'
45
+ end
46
+
47
+ after :each do
48
+ ENV.delete('PASSENGER_DEBUG')
49
+ end
50
+
51
+ it "returns SOURCE_ROOT/buildout as the support directory" do
52
+ @locator.find_support_dir.should == "#{PhusionPassenger.source_root}/buildout"
53
+ end
54
+ end
55
+
56
+ context "if no PASSENGER_DEBUG is set" do
57
+ context "if there is a support directory in the home directory" do
58
+ before :each do
59
+ version = PhusionPassenger::VERSION_STRING
60
+ cxx_compat_id = PlatformInfo.cxx_binary_compatibility_id
61
+ @support_dir = "#{@temp_dir}/#{version}/support-#{cxx_compat_id}"
62
+ FileUtils.mkdir_p("#{@support_dir}/agents")
63
+ FileUtils.mkdir_p("#{@support_dir}/common/libpassenger_common/ApplicationPool2")
64
+ create_file("#{@support_dir}/agents/PassengerWatchdog")
65
+ create_file("#{@support_dir}/common/libboost_oxt.a")
66
+ create_file("#{@support_dir}/common/libpassenger_common/ApplicationPool2/Implementation.o")
67
+ end
68
+
69
+ it "returns that directory" do
70
+ @locator.find_support_dir.should == @support_dir
71
+ end
72
+ end
73
+
74
+ context "if there is no support directory in the home directory" do
75
+ it "returns nil" do
76
+ @locator.find_support_dir.should be_nil
77
+ end
78
+ end
79
+ end
80
+
81
+ context "if a custom Nginx binary is specified in the Standalone config" do
82
+ before :each do
83
+ create_file("#{@temp_dir}/config.json",
84
+ JSON.dump("nginx_binary" => "/somewhere/nginx"))
85
+ end
86
+
87
+ it "returns that binary" do
88
+ @locator.find_nginx_binary.should == "/somewhere/nginx"
89
+ end
90
+ end
91
+
92
+ context "if no custom Nginx binary is specified in the Standalone config" do
93
+ context "if there is an Nginx binary with the requested version in the home directory" do
94
+ before :each do
95
+ create_nginx(PhusionPassenger::PREFERRED_NGINX_VERSION)
96
+ end
97
+
98
+ it "returns that binary" do
99
+ @locator.find_nginx_binary.should == @nginx_filename
100
+ end
101
+ end
102
+
103
+ it "returns nil if there is no Nginx binary with the requested version in the home directory" do
104
+ @locator.find_nginx_binary.should be_nil
105
+ end
106
+
107
+ it "returns nil if there is only an Nginx binary with a different version in the home directory" do
108
+ create_nginx("0.0.1")
109
+ @locator.find_nginx_binary.should be_nil
110
+ end
111
+ end
112
+
113
+ describe "#support_dir_install_destination" do
114
+ it "returns a directory under the home dir" do
115
+ @locator.support_dir_install_destination.start_with?("#{@temp_dir}/").should be_true
116
+ end
117
+ end
118
+
119
+ describe "#nginx_binary_install_destionation" do
120
+ it "returns a directory under the home dir" do
121
+ @locator.nginx_binary_install_destination.start_with?("#{@temp_dir}/").should be_true
122
+ end
123
+ end
124
+ end
125
+
126
+ context "when natively packaged" do
127
+ before :each do
128
+ PhusionPassenger.stub(:source_root).and_return("/locations.ini")
129
+ PhusionPassenger.stub(:originally_packaged?).and_return(false)
130
+ PhusionPassenger.stub(:natively_packaged?).and_return(true)
131
+ end
132
+
133
+ shared_examples_for "when no PASSENGER_DEBUG is set" do
134
+ it "returns the packaged lib dir" do
135
+ @locator.find_support_dir.should == PhusionPassenger.lib_dir
136
+ end
137
+ end
138
+
139
+ context "if PASSENGER_DEBUG is set" do
140
+ before :each do
141
+ ENV['PASSENGER_DEBUG'] = '1'
142
+ end
143
+
144
+ after :each do
145
+ ENV.delete('PASSENGER_DEBUG')
146
+ end
147
+
148
+ it_behaves_like "when no PASSENGER_DEBUG is set"
149
+ end
150
+
151
+ context "if no PASSENGER_DEBUG is set" do
152
+ it_behaves_like "when no PASSENGER_DEBUG is set"
153
+ end
154
+
155
+ context "if a custom Nginx binary is specified in the Standalone config" do
156
+ before :each do
157
+ create_file("#{@temp_dir}/config.json",
158
+ JSON.dump("nginx_binary" => "/somewhere/nginx"))
159
+ end
160
+
161
+ it "returns that binary" do
162
+ @locator.find_nginx_binary.should == "/somewhere/nginx"
163
+ end
164
+ end
165
+
166
+ context "if no custom Nginx binary is specified in the Standalone config" do
167
+ context "if the default Nginx version is requested" do
168
+ it "returns the location of the packaged Nginx binary" do
169
+ @locator.find_nginx_binary.should == "#{PhusionPassenger.lib_dir}/nginx"
170
+ end
171
+ end
172
+
173
+ context "if a non-default Nginx version is requested" do
174
+ before :each do
175
+ @locator = RuntimeLocator.new(@temp_dir, "0.0.1")
176
+ end
177
+
178
+ context "if there is an Nginx binary with the requested version in the home directory" do
179
+ before :each do
180
+ create_nginx("0.0.1")
181
+ end
182
+
183
+ it "returns that binary" do
184
+ @locator.find_nginx_binary.should == @nginx_filename
185
+ end
186
+ end
187
+
188
+ it "returns nil if there is no Nginx binary with the requested version in the home directory" do
189
+ @locator.find_nginx_binary.should be_nil
190
+ end
191
+
192
+ it "returns nil if there is only an Nginx binary with a different version in the home directory" do
193
+ create_nginx("0.0.2")
194
+ @locator.find_nginx_binary.should be_nil
195
+ end
196
+ end
197
+ end
198
+
199
+ describe "#support_dir_install_destination" do
200
+ it "returns nil" do
201
+ @locator.support_dir_install_destination.should be_nil
202
+ end
203
+ end
204
+
205
+ describe "#nginx_binary_install_destionation" do
206
+ it "returns a directory under the home dir" do
207
+ @locator.nginx_binary_install_destination.start_with?("#{@temp_dir}/").should be_true
208
+ end
209
+ end
210
+ end
211
+ end
212
+
213
+ end # module Standalone
214
+ end # module PhusionPassenger
@@ -31,8 +31,25 @@ Listen 127.0.0.1:<%= @port %>
31
31
  <% end %>
32
32
  <% if PlatformInfo.httpd_version >= '2.4.0' %>
33
33
  LoadModule authz_core_module "<%= modules_dir %>/mod_authz_core.so"
34
- LoadModule unixd_module "<%= modules_dir %>/mod_unixd.so"
34
+ <% if !has_builtin_module?('mod_unixd.c') %>
35
+ LoadModule unixd_module "<%= modules_dir %>/mod_unixd.so"
36
+ <% end %>
35
37
  <% end %>
38
+
39
+ <% if !has_builtin_module?('prefork.c') &&
40
+ !has_builtin_module?('worker.c') &&
41
+ !has_builtin_module?('event.c') %>
42
+ <% if has_module?('mod_mpm_event.so') %>
43
+ LoadModule mpm_event_module "<%= modules_dir %>/mod_mpm_event.so"
44
+ <% elsif has_module?('mod_mpm_worker.so') %>
45
+ LoadModule mpm_worker_module "<%= modules_dir %>/mod_mpm_worker.so"
46
+ <% elsif has_module?('mod_mpm_prefork.so') %>
47
+ LoadModule mpm_prefork_module "<%= modules_dir %>/mod_mpm_event.so"
48
+ <% else %>
49
+ <% raise "Could not find any mpm module in: #{Dir.entries(modules_dir).inspect}" %>
50
+ <% end %>
51
+ <% end %>
52
+
36
53
  LoadModule passenger_module "<%= @mod_passenger %>"
37
54
 
38
55
  PassengerRoot "<%= @passenger_root %>"
File without changes
@@ -0,0 +1 @@
1
+ This useless file prevents git from removing this directory.
@@ -0,0 +1 @@
1
+ This useless file prevents git from removing this directory.
@@ -0,0 +1 @@
1
+ This useless file prevents git from removing this directory.
@@ -0,0 +1 @@
1
+ This useless file prevents git from removing this directory.
@@ -0,0 +1 @@
1
+ This useless file prevents git from removing this directory.
@@ -0,0 +1 @@
1
+ This useless file prevents git from removing this directory.
@@ -0,0 +1,4 @@
1
+ .bundle
2
+ db/*.sqlite3
3
+ log/*.log
4
+ tmp/**/*
@@ -1,4 +1,4 @@
1
- source 'http://rubygems.org'
1
+ source 'https://rubygems.org'
2
2
 
3
3
  gem 'rails', '~> 3.0.0'
4
4
  gem 'sqlite3-ruby', :require => 'sqlite3'
@@ -1,5 +1,5 @@
1
1
  GEM
2
- remote: http://rubygems.org/
2
+ remote: https://rubygems.org/
3
3
  specs:
4
4
  abstract (1.0.0)
5
5
  actionmailer (3.0.20)
File without changes
File without changes
@@ -0,0 +1,15 @@
1
+ # See http://help.github.com/ignore-files/ for more about ignoring files.
2
+ #
3
+ # If you find yourself ignoring temporary files generated by your text editor
4
+ # or operating system, you probably want to add a global ignore instead:
5
+ # git config --global core.excludesfile ~/.gitignore_global
6
+
7
+ # Ignore bundler config
8
+ /.bundle
9
+
10
+ # Ignore the default SQLite database.
11
+ /db/*.sqlite3
12
+
13
+ # Ignore all logfiles and tempfiles.
14
+ /log/*.log
15
+ /tmp
@@ -1,4 +1,4 @@
1
- source 'http://rubygems.org'
1
+ source 'https://rubygems.org'
2
2
 
3
3
  gem 'rails', '~> 3.1.10'
4
4
 
@@ -1,5 +1,5 @@
1
1
  GEM
2
- remote: http://rubygems.org/
2
+ remote: https://rubygems.org/
3
3
  specs:
4
4
  actionmailer (3.1.10)
5
5
  actionpack (= 3.1.10)
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -0,0 +1,15 @@
1
+ # See http://help.github.com/ignore-files/ for more about ignoring files.
2
+ #
3
+ # If you find yourself ignoring temporary files generated by your text editor
4
+ # or operating system, you probably want to add a global ignore instead:
5
+ # git config --global core.excludesfile ~/.gitignore_global
6
+
7
+ # Ignore bundler config
8
+ /.bundle
9
+
10
+ # Ignore the default SQLite database.
11
+ /db/*.sqlite3
12
+
13
+ # Ignore all logfiles and tempfiles.
14
+ /log/*.log
15
+ /tmp
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -0,0 +1,16 @@
1
+ # See http://help.github.com/ignore-files/ for more about ignoring files.
2
+ #
3
+ # If you find yourself ignoring temporary files generated by your text editor
4
+ # or operating system, you probably want to add a global ignore instead:
5
+ # git config --global core.excludesfile '~/.gitignore_global'
6
+
7
+ # Ignore bundler config.
8
+ /.bundle
9
+
10
+ # Ignore the default SQLite database.
11
+ /db/*.sqlite3
12
+ /db/*.sqlite3-journal
13
+
14
+ # Ignore all logfiles and tempfiles.
15
+ /log/*.log
16
+ /tmp
@@ -0,0 +1,45 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
4
+ gem 'rails', '4.0.0'
5
+
6
+ # Use sqlite3 as the database for Active Record
7
+ gem 'sqlite3'
8
+
9
+ # Use SCSS for stylesheets
10
+ gem 'sass-rails', '~> 4.0.0'
11
+
12
+ # Use Uglifier as compressor for JavaScript assets
13
+ gem 'uglifier', '>= 1.3.0'
14
+
15
+ # Use CoffeeScript for .js.coffee assets and views
16
+ gem 'coffee-rails', '~> 4.0.0'
17
+
18
+ # See https://github.com/sstephenson/execjs#readme for more supported runtimes
19
+ gem 'therubyracer', platforms: :ruby
20
+
21
+ # Use jquery as the JavaScript library
22
+ gem 'jquery-rails'
23
+
24
+ # Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
25
+ gem 'turbolinks'
26
+
27
+ # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
28
+ gem 'jbuilder', '~> 1.2'
29
+
30
+ group :doc do
31
+ # bundle exec rake doc:rails generates the API under doc/api.
32
+ gem 'sdoc', require: false
33
+ end
34
+
35
+ # Use ActiveModel has_secure_password
36
+ # gem 'bcrypt-ruby', '~> 3.0.0'
37
+
38
+ # Use unicorn as the app server
39
+ # gem 'unicorn'
40
+
41
+ # Use Capistrano for deployment
42
+ # gem 'capistrano', group: :development
43
+
44
+ # Use debugger
45
+ # gem 'debugger', group: [:development, :test]