passenger 4.0.20 → 4.0.21

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 (496) hide show
  1. checksums.yaml +8 -8
  2. checksums.yaml.gz.asc +7 -7
  3. data.tar.gz.asc +7 -7
  4. data/.gitignore +1 -0
  5. data/.travis.yml +1 -1
  6. data/NEWS +15 -0
  7. data/README.md +5 -3
  8. data/Rakefile +1 -0
  9. data/bin/passenger-config +1 -5
  10. data/bin/passenger-install-apache2-module +53 -5
  11. data/bin/passenger-install-nginx-module +19 -6
  12. data/bin/passenger-memory-stats +3 -3
  13. data/build/agents.rb +11 -8
  14. data/build/apache2.rb +9 -5
  15. data/build/basics.rb +15 -21
  16. data/build/common_library.rb +16 -6
  17. data/build/cplusplus_support.rb +5 -5
  18. data/build/cxx_tests.rb +3 -3
  19. data/build/documentation.rb +1 -1
  20. data/build/misc.rb +4 -37
  21. data/build/node_tests.rb +29 -0
  22. data/build/oxt_tests.rb +1 -1
  23. data/build/packaging.rb +29 -10
  24. data/build/preprocessor.rb +2 -1
  25. data/build/test_basics.rb +15 -6
  26. data/debian.template/locations.ini.template +1 -0
  27. data/debian.template/passenger.install.template +1 -0
  28. data/dev/copy_boost_headers.rb +7 -3
  29. data/dev/run_travis.sh +32 -16
  30. data/doc/Users guide Apache.idmap.txt +22 -34
  31. data/doc/Users guide Apache.txt +20 -234
  32. data/doc/Users guide Nginx.idmap.txt +84 -66
  33. data/doc/Users guide Nginx.txt +50 -1
  34. data/doc/Users guide Standalone.idmap.txt +74 -0
  35. data/doc/Users guide Standalone.txt +22 -9
  36. data/doc/Users guide.txt +51 -0
  37. data/doc/users_guide_snippets/environment_variables.txt +0 -3
  38. data/doc/users_guide_snippets/installation.txt +337 -380
  39. data/doc/users_guide_snippets/installation/run_installer.txt +58 -0
  40. data/doc/users_guide_snippets/installation/verify_running_epilogue.txt +6 -0
  41. data/doc/users_guide_snippets/support_information.txt +2 -9
  42. data/doc/users_guide_snippets/troubleshooting/default.txt +112 -0
  43. data/doc/users_guide_snippets/troubleshooting/rails.txt +56 -0
  44. data/doc/users_guide_snippets/where_to_get_support.txt +9 -0
  45. data/ext/apache2/Bucket.h +1 -1
  46. data/ext/apache2/Configuration.hpp +0 -44
  47. data/ext/apache2/CreateDirConfig.cpp +1 -1
  48. data/ext/apache2/CreateDirConfig.cpp.erb +1 -1
  49. data/ext/apache2/Hooks.cpp +28 -21
  50. data/ext/apache2/MergeDirConfig.cpp +1 -0
  51. data/ext/apache2/MergeDirConfig.cpp.erb +1 -1
  52. data/ext/apache2/SetHeaders.cpp +73 -0
  53. data/ext/apache2/SetHeaders.cpp.erb +88 -0
  54. data/ext/boost/algorithm/string/detail/find_format.hpp +5 -5
  55. data/ext/boost/algorithm/string/detail/find_format_all.hpp +5 -5
  56. data/ext/boost/algorithm/string/detail/finder.hpp +1 -1
  57. data/ext/boost/algorithm/string/formatter.hpp +2 -2
  58. data/ext/boost/assert.hpp +6 -1
  59. data/ext/boost/atomic.hpp +18 -0
  60. data/ext/boost/atomic/atomic.hpp +241 -0
  61. data/ext/boost/atomic/detail/base.hpp +585 -0
  62. data/ext/boost/atomic/detail/cas32strong.hpp +885 -0
  63. data/ext/boost/atomic/detail/cas32weak.hpp +947 -0
  64. data/ext/boost/atomic/detail/cas64strong.hpp +443 -0
  65. data/ext/boost/atomic/detail/config.hpp +54 -0
  66. data/ext/boost/atomic/detail/gcc-alpha.hpp +368 -0
  67. data/ext/boost/atomic/detail/gcc-armv6plus.hpp +252 -0
  68. data/ext/boost/atomic/detail/gcc-cas.hpp +157 -0
  69. data/ext/boost/atomic/detail/gcc-ppc.hpp +2850 -0
  70. data/ext/boost/atomic/detail/gcc-sparcv9.hpp +1259 -0
  71. data/ext/boost/atomic/detail/gcc-x86.hpp +1766 -0
  72. data/ext/boost/atomic/detail/generic-cas.hpp +206 -0
  73. data/ext/boost/atomic/detail/interlocked.hpp +200 -0
  74. data/ext/boost/atomic/detail/linux-arm.hpp +189 -0
  75. data/ext/boost/atomic/detail/lockpool.hpp +97 -0
  76. data/ext/boost/atomic/detail/platform.hpp +62 -0
  77. data/ext/boost/atomic/detail/type-classification.hpp +45 -0
  78. data/ext/boost/chrono/config.hpp +8 -3
  79. data/ext/boost/chrono/duration.hpp +9 -10
  80. data/ext/boost/chrono/system_clocks.hpp +1 -1
  81. data/ext/boost/chrono/time_point.hpp +4 -3
  82. data/ext/boost/config/auto_link.hpp +53 -52
  83. data/ext/boost/config/compiler/borland.hpp +1 -0
  84. data/ext/boost/config/compiler/clang.hpp +24 -1
  85. data/ext/boost/config/compiler/codegear.hpp +1 -0
  86. data/ext/boost/config/compiler/common_edg.hpp +1 -0
  87. data/ext/boost/config/compiler/cray.hpp +1 -0
  88. data/ext/boost/config/compiler/digitalmars.hpp +1 -0
  89. data/ext/boost/config/compiler/gcc.hpp +29 -3
  90. data/ext/boost/config/compiler/gcc_xml.hpp +2 -1
  91. data/ext/boost/config/compiler/hp_acc.hpp +1 -0
  92. data/ext/boost/config/compiler/intel.hpp +1 -1
  93. data/ext/boost/config/compiler/metrowerks.hpp +1 -0
  94. data/ext/boost/config/compiler/mpw.hpp +1 -0
  95. data/ext/boost/config/compiler/pathscale.hpp +1 -0
  96. data/ext/boost/config/compiler/pgi.hpp +1 -0
  97. data/ext/boost/config/compiler/sunpro_cc.hpp +1 -0
  98. data/ext/boost/config/compiler/vacpp.hpp +3 -2
  99. data/ext/boost/config/compiler/visualc.hpp +25 -11
  100. data/ext/boost/config/platform/vxworks.hpp +353 -15
  101. data/ext/boost/config/select_compiler_config.hpp +4 -4
  102. data/ext/boost/config/stdlib/dinkumware.hpp +10 -3
  103. data/ext/boost/config/stdlib/libstdcpp3.hpp +2 -1
  104. data/ext/boost/config/suffix.hpp +45 -19
  105. data/ext/boost/date_time/format_date_parser.hpp +1 -11
  106. data/ext/boost/date_time/strings_from_facet.hpp +5 -3
  107. data/ext/boost/detail/atomic_redef_macros.hpp +19 -0
  108. data/ext/boost/detail/atomic_undef_macros.hpp +39 -0
  109. data/ext/boost/detail/endian.hpp +52 -4
  110. data/ext/boost/detail/scoped_enum_emulation.hpp +10 -10
  111. data/ext/boost/detail/select_type.hpp +36 -0
  112. data/ext/boost/exception/current_exception_cast.hpp +1 -1
  113. data/ext/boost/exception/detail/error_info_impl.hpp +3 -5
  114. data/ext/boost/exception/detail/exception_ptr.hpp +3 -3
  115. data/ext/boost/exception/detail/is_output_streamable.hpp +1 -1
  116. data/ext/boost/exception/detail/object_hex_dump.hpp +1 -1
  117. data/ext/boost/exception/detail/type_info.hpp +1 -1
  118. data/ext/boost/exception/diagnostic_information.hpp +15 -14
  119. data/ext/boost/exception/exception.hpp +1 -1
  120. data/ext/boost/exception/get_error_info.hpp +1 -1
  121. data/ext/boost/exception/info.hpp +12 -13
  122. data/ext/boost/exception/to_string.hpp +6 -1
  123. data/ext/boost/exception/to_string_stub.hpp +9 -1
  124. data/ext/boost/foreach.hpp +5 -5
  125. data/ext/boost/function/function_template.hpp +6 -6
  126. data/ext/boost/functional/hash/detail/float_functions.hpp +90 -0
  127. data/ext/boost/functional/hash/detail/hash_float.hpp +11 -2
  128. data/ext/boost/functional/hash/extensions.hpp +14 -2
  129. data/ext/boost/functional/hash/hash.hpp +26 -5
  130. data/ext/boost/get_pointer.hpp +17 -2
  131. data/ext/boost/integer_traits.hpp +1 -1
  132. data/ext/boost/lexical_cast.hpp +615 -395
  133. data/ext/boost/libs/atomic/lockpool.cpp +24 -0
  134. data/ext/boost/libs/system/src/error_code.cpp +25 -18
  135. data/ext/boost/libs/thread/src/future.cpp +7 -5
  136. data/ext/boost/libs/thread/src/pthread/once.cpp +9 -3
  137. data/ext/boost/libs/thread/src/pthread/once_atomic.cpp +90 -0
  138. data/ext/boost/libs/thread/src/pthread/thread.cpp +129 -95
  139. data/ext/boost/libs/thread/src/pthread/timeconv.inl +20 -1
  140. data/ext/boost/limits.hpp +1 -1
  141. data/ext/boost/math/policies/policy.hpp +10 -0
  142. data/ext/boost/math/special_functions/detail/round_fwd.hpp +17 -4
  143. data/ext/boost/math/special_functions/fpclassify.hpp +114 -45
  144. data/ext/boost/math/special_functions/math_fwd.hpp +195 -83
  145. data/ext/boost/math/special_functions/sign.hpp +13 -8
  146. data/ext/boost/math/tools/config.hpp +38 -16
  147. data/ext/boost/move/algorithm.hpp +275 -0
  148. data/ext/boost/move/core.hpp +332 -0
  149. data/ext/boost/move/detail/config_begin.hpp +23 -0
  150. data/ext/boost/move/detail/config_end.hpp +20 -0
  151. data/ext/boost/move/detail/meta_utils.hpp +158 -0
  152. data/ext/boost/move/iterator.hpp +298 -0
  153. data/ext/boost/move/move.hpp +10 -1256
  154. data/ext/boost/move/traits.hpp +142 -0
  155. data/ext/boost/move/utility.hpp +194 -0
  156. data/ext/boost/mpl/assert.hpp +72 -4
  157. data/ext/boost/noncopyable.hpp +15 -3
  158. data/ext/boost/pointer_to_other.hpp +55 -0
  159. data/ext/boost/range/concepts.hpp +4 -4
  160. data/ext/boost/range/detail/extract_optional_type.hpp +1 -1
  161. data/ext/boost/range/empty.hpp +1 -1
  162. data/ext/boost/range/iterator_range_core.hpp +4 -1
  163. data/ext/boost/range/iterator_range_io.hpp +2 -2
  164. data/ext/boost/ratio/config.hpp +6 -0
  165. data/ext/boost/ratio/detail/overflow_helpers.hpp +2 -2
  166. data/ext/boost/smart_ptr/allocate_shared_array.hpp +250 -0
  167. data/ext/boost/smart_ptr/detail/allocate_array_helper.hpp +169 -0
  168. data/ext/boost/smart_ptr/detail/array_deleter.hpp +124 -0
  169. data/ext/boost/smart_ptr/detail/array_traits.hpp +53 -0
  170. data/ext/boost/smart_ptr/detail/array_utility.hpp +178 -0
  171. data/ext/boost/smart_ptr/detail/make_array_helper.hpp +157 -0
  172. data/ext/boost/smart_ptr/detail/operator_bool.hpp +16 -9
  173. data/ext/boost/smart_ptr/detail/shared_count.hpp +78 -7
  174. data/ext/boost/smart_ptr/detail/sp_convertible.hpp +15 -0
  175. data/ext/boost/smart_ptr/detail/sp_counted_base.hpp +12 -6
  176. data/ext/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp +1 -0
  177. data/ext/boost/smart_ptr/detail/sp_counted_base_aix.hpp +1 -0
  178. data/ext/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp +1 -0
  179. data/ext/boost/smart_ptr/detail/sp_counted_base_cw_x86.hpp +1 -0
  180. data/ext/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp +1 -0
  181. data/ext/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp +1 -0
  182. data/ext/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp +1 -0
  183. data/ext/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp +1 -0
  184. data/ext/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp +1 -0
  185. data/ext/boost/smart_ptr/detail/sp_counted_base_nt.hpp +1 -0
  186. data/ext/boost/smart_ptr/detail/sp_counted_base_pt.hpp +1 -0
  187. data/ext/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp +162 -0
  188. data/ext/boost/smart_ptr/detail/sp_counted_base_solaris.hpp +1 -0
  189. data/ext/boost/smart_ptr/detail/sp_counted_base_spin.hpp +1 -0
  190. data/ext/boost/smart_ptr/detail/sp_counted_base_sync.hpp +1 -0
  191. data/ext/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp +1 -0
  192. data/ext/boost/smart_ptr/detail/sp_counted_impl.hpp +15 -0
  193. data/ext/boost/smart_ptr/detail/sp_forward.hpp +39 -0
  194. data/ext/boost/smart_ptr/detail/sp_has_sync.hpp +19 -3
  195. data/ext/boost/smart_ptr/detail/sp_if_array.hpp +31 -0
  196. data/ext/boost/smart_ptr/detail/sp_nullptr_t.hpp +45 -0
  197. data/ext/boost/smart_ptr/detail/spinlock_gcc_arm.hpp +5 -12
  198. data/ext/boost/smart_ptr/enable_shared_from_this.hpp +4 -4
  199. data/ext/boost/smart_ptr/make_shared.hpp +5 -1060
  200. data/ext/boost/smart_ptr/make_shared_array.hpp +247 -0
  201. data/ext/boost/smart_ptr/make_shared_object.hpp +1128 -0
  202. data/ext/boost/smart_ptr/scoped_array.hpp +32 -7
  203. data/ext/boost/smart_ptr/scoped_ptr.hpp +31 -5
  204. data/ext/boost/smart_ptr/shared_array.hpp +135 -20
  205. data/ext/boost/smart_ptr/shared_ptr.hpp +444 -126
  206. data/ext/boost/smart_ptr/weak_ptr.hpp +39 -28
  207. data/ext/boost/static_assert.hpp +74 -17
  208. data/ext/boost/system/error_code.hpp +76 -68
  209. data/ext/boost/system/system_error.hpp +5 -1
  210. data/ext/boost/thread/barrier.hpp +6 -2
  211. data/ext/boost/thread/completion_latch.hpp +233 -0
  212. data/ext/boost/thread/condition.hpp +6 -1
  213. data/ext/boost/thread/detail/async_func.hpp +571 -0
  214. data/ext/boost/thread/detail/config.hpp +248 -40
  215. data/ext/boost/thread/detail/counter.hpp +93 -0
  216. data/ext/boost/thread/detail/delete.hpp +12 -0
  217. data/ext/boost/thread/detail/invoke.hpp +1351 -0
  218. data/ext/boost/thread/detail/is_convertible.hpp +48 -0
  219. data/ext/boost/thread/detail/lockable_wrapper.hpp +45 -0
  220. data/ext/boost/thread/detail/log.hpp +83 -0
  221. data/ext/boost/thread/detail/make_tuple_indices.hpp +224 -0
  222. data/ext/boost/thread/detail/move.hpp +32 -16
  223. data/ext/boost/thread/detail/thread.hpp +236 -41
  224. data/ext/boost/thread/detail/thread_group.hpp +55 -9
  225. data/ext/boost/thread/detail/thread_interruption.hpp +4 -1
  226. data/ext/boost/thread/exceptions.hpp +2 -0
  227. data/ext/boost/thread/externally_locked.hpp +351 -0
  228. data/ext/boost/thread/externally_locked_stream.hpp +170 -0
  229. data/ext/boost/thread/future.hpp +2517 -455
  230. data/ext/boost/thread/future_error_code.hpp +61 -0
  231. data/ext/boost/thread/is_locked_by_this_thread.hpp +39 -0
  232. data/ext/boost/thread/latch.hpp +142 -0
  233. data/ext/boost/thread/lock_algorithms.hpp +468 -0
  234. data/ext/boost/thread/lock_concepts.hpp +197 -0
  235. data/ext/boost/thread/lock_factories.hpp +78 -0
  236. data/ext/boost/thread/lock_guard.hpp +88 -0
  237. data/ext/boost/thread/lock_options.hpp +31 -0
  238. data/ext/boost/thread/lock_traits.hpp +45 -0
  239. data/ext/boost/thread/lock_types.hpp +1226 -0
  240. data/ext/boost/thread/lockable_adapter.hpp +226 -0
  241. data/ext/boost/thread/lockable_concepts.hpp +157 -0
  242. data/ext/boost/thread/lockable_traits.hpp +207 -0
  243. data/ext/boost/thread/locks.hpp +5 -1816
  244. data/ext/boost/thread/mutex.hpp +33 -1
  245. data/ext/boost/thread/null_mutex.hpp +243 -0
  246. data/ext/boost/thread/once.hpp +10 -1
  247. data/ext/boost/thread/poly_lockable.hpp +68 -0
  248. data/ext/boost/thread/poly_lockable_adapter.hpp +89 -0
  249. data/ext/boost/thread/poly_shared_lockable.hpp +135 -0
  250. data/ext/boost/thread/poly_shared_lockable_adapter.hpp +170 -0
  251. data/ext/boost/thread/pthread/condition_variable.hpp +74 -26
  252. data/ext/boost/thread/pthread/condition_variable_fwd.hpp +54 -27
  253. data/ext/boost/thread/pthread/mutex.hpp +101 -38
  254. data/ext/boost/thread/pthread/once.hpp +459 -44
  255. data/ext/boost/thread/pthread/once_atomic.hpp +313 -0
  256. data/ext/boost/thread/pthread/recursive_mutex.hpp +19 -10
  257. data/ext/boost/thread/pthread/shared_mutex.hpp +226 -61
  258. data/ext/boost/thread/pthread/shared_mutex_assert.hpp +724 -0
  259. data/ext/boost/thread/pthread/thread_data.hpp +53 -50
  260. data/ext/boost/thread/pthread/timespec.hpp +96 -12
  261. data/ext/boost/thread/recursive_mutex.hpp +44 -1
  262. data/ext/boost/thread/reverse_lock.hpp +3 -2
  263. data/ext/boost/thread/scoped_thread.hpp +285 -0
  264. data/ext/boost/thread/shared_lock_guard.hpp +2 -1
  265. data/ext/boost/thread/shared_mutex.hpp +23 -0
  266. data/ext/boost/thread/strict_lock.hpp +235 -0
  267. data/ext/boost/thread/sync_bounded_queue.hpp +594 -0
  268. data/ext/boost/thread/sync_queue.hpp +516 -0
  269. data/ext/boost/thread/synchronized_value.hpp +1001 -0
  270. data/ext/boost/thread/testable_mutex.hpp +148 -0
  271. data/ext/boost/thread/thread.hpp +1 -13
  272. data/ext/boost/thread/thread_functors.hpp +57 -0
  273. data/ext/boost/thread/thread_guard.hpp +46 -0
  274. data/ext/boost/thread/thread_only.hpp +29 -0
  275. data/ext/boost/thread/v2/shared_mutex.hpp +1062 -0
  276. data/ext/boost/thread/v2/thread.hpp +37 -10
  277. data/ext/boost/thread/xtime.hpp +2 -1
  278. data/ext/boost/token_functions.hpp +16 -16
  279. data/ext/boost/type_traits/add_lvalue_reference.hpp +26 -0
  280. data/ext/boost/type_traits/add_reference.hpp +1 -1
  281. data/ext/boost/type_traits/add_rvalue_reference.hpp +4 -4
  282. data/ext/boost/type_traits/aligned_storage.hpp +13 -0
  283. data/ext/boost/type_traits/common_type.hpp +11 -12
  284. data/ext/boost/type_traits/config.hpp +1 -1
  285. data/ext/boost/type_traits/detail/common_type_imp.hpp +1 -1
  286. data/ext/boost/type_traits/detail/has_binary_operator.hpp +1 -1
  287. data/ext/boost/type_traits/detail/is_function_ptr_tester.hpp +1 -1
  288. data/ext/boost/type_traits/has_left_shift.hpp +49 -0
  289. data/ext/boost/type_traits/has_right_shift.hpp +49 -0
  290. data/ext/boost/type_traits/has_trivial_move_assign.hpp +57 -0
  291. data/ext/boost/type_traits/has_trivial_move_constructor.hpp +57 -0
  292. data/ext/boost/type_traits/intrinsics.hpp +18 -2
  293. data/ext/boost/type_traits/is_abstract.hpp +1 -1
  294. data/ext/boost/type_traits/is_array.hpp +1 -1
  295. data/ext/boost/type_traits/is_const.hpp +1 -1
  296. data/ext/boost/type_traits/is_convertible.hpp +78 -17
  297. data/ext/boost/type_traits/is_function.hpp +6 -1
  298. data/ext/boost/type_traits/is_integral.hpp +6 -1
  299. data/ext/boost/type_traits/is_nothrow_move_assignable.hpp +84 -0
  300. data/ext/boost/type_traits/is_nothrow_move_constructible.hpp +84 -0
  301. data/ext/boost/type_traits/is_pod.hpp +3 -1
  302. data/ext/boost/type_traits/is_rvalue_reference.hpp +1 -1
  303. data/ext/boost/type_traits/is_volatile.hpp +1 -1
  304. data/ext/boost/type_traits/make_signed.hpp +153 -0
  305. data/ext/boost/type_traits/make_unsigned.hpp +16 -0
  306. data/ext/boost/type_traits/remove_const.hpp +1 -1
  307. data/ext/boost/type_traits/remove_cv.hpp +1 -1
  308. data/ext/boost/type_traits/remove_reference.hpp +1 -1
  309. data/ext/boost/type_traits/remove_volatile.hpp +1 -1
  310. data/ext/boost/unordered/detail/allocate.hpp +1120 -0
  311. data/ext/boost/unordered/detail/buckets.hpp +876 -0
  312. data/ext/boost/unordered/detail/equivalent.hpp +680 -0
  313. data/ext/boost/unordered/detail/extract_key.hpp +183 -0
  314. data/ext/boost/unordered/detail/fwd.hpp +23 -0
  315. data/ext/boost/unordered/detail/table.hpp +861 -0
  316. data/ext/boost/unordered/detail/unique.hpp +622 -0
  317. data/ext/boost/unordered/detail/util.hpp +260 -0
  318. data/ext/boost/unordered/unordered_map.hpp +1652 -0
  319. data/ext/boost/unordered/unordered_map_fwd.hpp +65 -0
  320. data/ext/boost/unordered/unordered_set.hpp +1549 -0
  321. data/ext/boost/unordered/unordered_set_fwd.hpp +63 -0
  322. data/ext/boost/unordered_map.hpp +18 -0
  323. data/ext/boost/unordered_set.hpp +18 -0
  324. data/ext/boost/utility/addressof.hpp +2 -2
  325. data/ext/boost/utility/result_of.hpp +8 -1
  326. data/ext/boost/version.hpp +2 -2
  327. data/ext/common/Account.h +1 -1
  328. data/ext/common/AccountsDatabase.h +1 -1
  329. data/ext/common/AgentsStarter.cpp +3 -1
  330. data/ext/common/AgentsStarter.h +2 -2
  331. data/ext/common/ApplicationPool2/AppTypes.cpp +24 -6
  332. data/ext/common/ApplicationPool2/AppTypes.h +17 -8
  333. data/ext/common/ApplicationPool2/Common.h +12 -12
  334. data/ext/common/ApplicationPool2/DirectSpawner.h +2 -2
  335. data/ext/common/ApplicationPool2/DummySpawner.h +3 -3
  336. data/ext/common/ApplicationPool2/Group.h +6 -6
  337. data/ext/common/ApplicationPool2/Implementation.cpp +19 -19
  338. data/ext/common/ApplicationPool2/PipeWatcher.h +5 -5
  339. data/ext/common/ApplicationPool2/Pool.h +21 -21
  340. data/ext/common/ApplicationPool2/Process.h +6 -6
  341. data/ext/common/ApplicationPool2/Session.h +1 -1
  342. data/ext/common/ApplicationPool2/SmartSpawner.h +24 -12
  343. data/ext/common/ApplicationPool2/Socket.h +2 -2
  344. data/ext/common/ApplicationPool2/Spawner.h +64 -14
  345. data/ext/common/ApplicationPool2/SpawnerFactory.h +7 -7
  346. data/ext/common/ApplicationPool2/SuperGroup.h +5 -5
  347. data/ext/common/BackgroundEventLoop.cpp +4 -4
  348. data/ext/common/BackgroundEventLoop.h +1 -1
  349. data/ext/common/Constants.h +13 -1
  350. data/ext/common/EventedBufferedInput.h +8 -8
  351. data/ext/common/Exceptions.cpp +71 -0
  352. data/ext/common/Exceptions.h +60 -7
  353. data/ext/common/FileDescriptor.h +4 -4
  354. data/ext/common/MessageClient.h +1 -1
  355. data/ext/common/MessageServer.h +5 -5
  356. data/ext/common/MultiLibeio.cpp +3 -3
  357. data/ext/common/MultiLibeio.h +2 -2
  358. data/ext/common/RandomGenerator.h +11 -11
  359. data/ext/common/ResourceLocator.h +8 -1
  360. data/ext/common/SafeLibev.h +12 -12
  361. data/ext/common/ServerInstanceDir.h +11 -3
  362. data/ext/common/UnionStation.h +10 -10
  363. data/ext/common/Utils.cpp +11 -13
  364. data/ext/common/Utils.h +9 -9
  365. data/ext/common/Utils/BlockingQueue.h +10 -10
  366. data/ext/common/Utils/BufferedIO.h +1 -1
  367. data/ext/common/Utils/CachedFileStat.hpp +2 -2
  368. data/ext/common/Utils/FileChangeChecker.h +1 -1
  369. data/ext/common/Utils/HashMap.h +13 -4
  370. data/ext/common/Utils/IOUtils.cpp +33 -10
  371. data/ext/common/Utils/IniFile.h +3 -3
  372. data/ext/common/Utils/Lock.h +2 -2
  373. data/ext/common/Utils/MessagePassing.h +10 -10
  374. data/ext/common/Utils/ProcessMetricsCollector.h +24 -6
  375. data/ext/common/Utils/ScopeGuard.h +5 -5
  376. data/ext/common/Utils/jsoncpp.cpp +2 -0
  377. data/ext/common/agents/HelperAgent/FileBackedPipe.h +26 -26
  378. data/ext/common/agents/HelperAgent/Main.cpp +18 -18
  379. data/ext/common/agents/HelperAgent/RequestHandler.cpp +4 -4
  380. data/ext/common/agents/HelperAgent/RequestHandler.h +30 -21
  381. data/ext/common/agents/LoggingAgent/AdminController.h +1 -1
  382. data/ext/common/agents/LoggingAgent/FilterSupport.h +13 -11
  383. data/ext/common/agents/LoggingAgent/LoggingServer.h +11 -11
  384. data/ext/common/agents/LoggingAgent/Main.cpp +9 -9
  385. data/ext/common/agents/LoggingAgent/RemoteSender.h +3 -3
  386. data/ext/common/agents/SpawnPreparer.cpp +1 -0
  387. data/ext/common/agents/Watchdog/AgentWatcher.cpp +8 -7
  388. data/ext/common/agents/Watchdog/Main.cpp +81 -73
  389. data/ext/common/agents/Watchdog/ServerInstanceDirToucher.cpp +1 -1
  390. data/ext/libev/Changes +57 -0
  391. data/ext/libev/LICENSE +2 -1
  392. data/ext/libev/Makefile.in +110 -50
  393. data/ext/libev/README +8 -8
  394. data/ext/libev/aclocal.m4 +1503 -861
  395. data/ext/libev/config.guess +290 -304
  396. data/ext/libev/config.sub +77 -198
  397. data/ext/libev/configure +1735 -890
  398. data/ext/libev/configure.ac +3 -2
  399. data/ext/libev/ev++.h +6 -6
  400. data/ext/libev/ev.c +541 -214
  401. data/ext/libev/ev.h +106 -100
  402. data/ext/libev/ev_epoll.c +1 -1
  403. data/ext/libev/ev_kqueue.c +20 -4
  404. data/ext/libev/ev_vars.h +15 -16
  405. data/ext/libev/ev_win32.c +12 -2
  406. data/ext/libev/ev_wrap.h +162 -160
  407. data/ext/libev/event.c +29 -6
  408. data/ext/libev/event.h +9 -2
  409. data/ext/libev/ltmain.sh +2632 -1384
  410. data/ext/nginx/ConfigurationCommands.c +1 -1
  411. data/ext/nginx/ConfigurationCommands.c.erb +3 -1
  412. data/ext/nginx/ContentHandler.c +25 -2
  413. data/ext/nginx/CreateLocationConfig.c +1 -0
  414. data/ext/nginx/CreateLocationConfig.c.erb +1 -1
  415. data/ext/nginx/MergeLocationConfig.c +1 -0
  416. data/ext/nginx/MergeLocationConfig.c.erb +1 -1
  417. data/ext/nginx/config +12 -0
  418. data/ext/oxt/dynamic_thread_group.hpp +7 -4
  419. data/ext/oxt/system_calls.cpp +5 -1
  420. data/ext/oxt/system_calls.hpp +3 -0
  421. data/helper-scripts/node-loader.js +117 -249
  422. data/lib/phusion_passenger.rb +27 -5
  423. data/lib/phusion_passenger/abstract_installer.rb +104 -9
  424. data/lib/phusion_passenger/admin_tools/memory_stats.rb +10 -9
  425. data/lib/phusion_passenger/apache2/config_options.rb +6 -3
  426. data/lib/phusion_passenger/common_library.rb +7 -1
  427. data/lib/phusion_passenger/constants.rb +6 -0
  428. data/lib/phusion_passenger/loader_shared_helpers.rb +7 -4
  429. data/lib/phusion_passenger/nginx/config_options.rb +2 -1
  430. data/lib/phusion_passenger/packaging.rb +3 -0
  431. data/lib/phusion_passenger/platform_info/apache.rb +43 -6
  432. data/lib/phusion_passenger/platform_info/apache_detector.rb +15 -5
  433. data/lib/phusion_passenger/platform_info/compiler.rb +167 -32
  434. data/lib/phusion_passenger/platform_info/cxx_portability.rb +133 -77
  435. data/lib/phusion_passenger/platform_info/depcheck.rb +17 -7
  436. data/lib/phusion_passenger/platform_info/depcheck_specs/apache2.rb +3 -3
  437. data/lib/phusion_passenger/platform_info/depcheck_specs/compiler_toolchain.rb +4 -4
  438. data/lib/phusion_passenger/platform_info/depcheck_specs/ruby.rb +5 -6
  439. data/lib/phusion_passenger/platform_info/linux.rb +2 -1
  440. data/lib/phusion_passenger/platform_info/operating_system.rb +1 -1
  441. data/lib/phusion_passenger/platform_info/ruby.rb +18 -3
  442. data/lib/phusion_passenger/standalone/runtime_installer.rb +6 -2
  443. data/lib/phusion_passenger/standalone/start_command.rb +8 -2
  444. data/lib/phusion_passenger/utils/ansi_colors.rb +9 -0
  445. data/lib/phusion_passenger/utils/hosts_file_parser.rb +4 -2
  446. data/node_lib/phusion_passenger/httplib_emulation.js +141 -0
  447. data/node_lib/phusion_passenger/line_reader.js +154 -0
  448. data/node_lib/phusion_passenger/request_handler.js +65 -0
  449. data/node_lib/phusion_passenger/session_protocol_parser.js +113 -0
  450. data/resources/templates/apache2/deployment_example.txt.erb +2 -1
  451. data/resources/templates/apache2/installing_against_a_different_apache.txt.erb +14 -0
  452. data/resources/templates/apache2/multiple_apache_installations_detected.txt.erb +15 -0
  453. data/resources/templates/apache2/possible_solutions_for_compilation_and_installation_problems.txt.erb +4 -5
  454. data/resources/templates/general_error_with_html.html.template +1 -1
  455. data/resources/templates/installer_common/gem_install_permission_problems.txt.erb +17 -0
  456. data/resources/templates/installer_common/low_amount_of_memory_warning.txt.erb +6 -4
  457. data/resources/templates/installer_common/world_inaccessible_directories.txt.erb +16 -0
  458. data/resources/templates/nginx/deployment_example.txt.erb +2 -1
  459. data/resources/templates/nginx/possible_solutions_for_compilation_and_installation_problems.txt.erb +4 -5
  460. data/resources/templates/standalone/config.erb +1 -0
  461. data/test/cxx/ApplicationPool2/DirectSpawnerTest.cpp +3 -3
  462. data/test/cxx/ApplicationPool2/PoolTest.cpp +4 -4
  463. data/test/cxx/ApplicationPool2/ProcessTest.cpp +5 -5
  464. data/test/cxx/ApplicationPool2/SmartSpawnerTest.cpp +5 -5
  465. data/test/cxx/ApplicationPool2/SpawnerTestCases.cpp +1 -1
  466. data/test/cxx/EventedBufferedInputTest.cpp +6 -6
  467. data/test/cxx/FileBackedPipeTest.cpp +1 -1
  468. data/test/cxx/MessagePassingTest.cpp +1 -1
  469. data/test/cxx/MessageServerTest.cpp +4 -4
  470. data/test/cxx/RequestHandlerTest.cpp +7 -7
  471. data/test/cxx/UnionStationTest.cpp +2 -2
  472. data/test/node/line_reader_spec.js +338 -0
  473. data/test/node/spec_helper.js +27 -0
  474. data/test/ruby/standalone/runtime_installer_spec.rb +2 -1
  475. metadata +131 -22
  476. metadata.gz.asc +7 -7
  477. data/ext/boost/functional/hash/detail/container_fwd_0x.hpp +0 -29
  478. data/ext/boost/lambda/core.hpp +0 -79
  479. data/ext/boost/lambda/detail/actions.hpp +0 -174
  480. data/ext/boost/lambda/detail/arity_code.hpp +0 -110
  481. data/ext/boost/lambda/detail/function_adaptors.hpp +0 -789
  482. data/ext/boost/lambda/detail/is_instance_of.hpp +0 -104
  483. data/ext/boost/lambda/detail/lambda_config.hpp +0 -48
  484. data/ext/boost/lambda/detail/lambda_functor_base.hpp +0 -615
  485. data/ext/boost/lambda/detail/lambda_functors.hpp +0 -324
  486. data/ext/boost/lambda/detail/lambda_fwd.hpp +0 -74
  487. data/ext/boost/lambda/detail/lambda_traits.hpp +0 -578
  488. data/ext/boost/lambda/detail/member_ptr.hpp +0 -737
  489. data/ext/boost/lambda/detail/operator_actions.hpp +0 -139
  490. data/ext/boost/lambda/detail/operator_lambda_func_base.hpp +0 -271
  491. data/ext/boost/lambda/detail/operator_return_type_traits.hpp +0 -917
  492. data/ext/boost/lambda/detail/operators.hpp +0 -370
  493. data/ext/boost/lambda/detail/ret.hpp +0 -325
  494. data/ext/boost/lambda/detail/return_type_traits.hpp +0 -282
  495. data/ext/boost/lambda/detail/select_functions.hpp +0 -74
  496. data/ext/boost/lambda/lambda.hpp +0 -34
@@ -22,19 +22,19 @@
22
22
 
23
23
  2.1. Synopsis => synopsis-l0om5d
24
24
 
25
- 2.2. Generic installation, upgrade and downgrade method: via RubyGems => installing-via-the-gem-39jw1u
25
+ 2.2. Installing or upgrading on Mac OS X with Homebrew => installing-or-upgrading-on-mac-os-x-with-homebrew-1pia1cx
26
26
 
27
- 2.3. Generic installation, upgrade and downgrade method: via tarball => installing-via-the-source-tarball-1cgxrqc
27
+ 2.3. Installing or upgrading on Debian or Ubuntu => installing-or-upgrading-on-ubuntu-1xg22xs
28
28
 
29
- 2.4. Installing or upgrading on Debian or Ubuntu => installing-or-upgrading-on-ubuntu-1xg22xs
29
+ 2.3.1. Adding our APT repository => adding-our-apt-repository-1l8plxk
30
30
 
31
- 2.4.1. Adding our APT repository => adding-our-apt-repository-1l8plxk
31
+ 2.3.2. Installing packages => installing-packages-1jxn722
32
32
 
33
- 2.4.2. Installing packages => installing-packages-1jxn722
33
+ 2.4. Installing or upgrading on Red Hat, Fedora, CentOS or ScientificLinux => installing-or-upgrading-on-red-hat-fedora-centos-or-scientificlinux-1y5ie8b
34
34
 
35
- 2.5. Installing or upgrading on Red Hat, Fedora, CentOS or ScientificLinux => installing-or-upgrading-on-red-hat-fedora-centos-or-scientificlinux-1y5ie8b
35
+ 2.5. Generic installation, upgrade and downgrade method: via RubyGems => installing-via-the-gem-39jw1u
36
36
 
37
- 2.6. Installing or upgrading on Mac OS X with Homebrew => installing-or-upgrading-on-mac-os-x-with-homebrew-1pia1cx
37
+ 2.6. Generic installation, upgrade and downgrade method: via tarball => installing-via-the-source-tarball-1cgxrqc
38
38
 
39
39
  2.7. Upgrading from open source to Enterprise => upgrading-from-open-source-to-enterprise-b17h8g
40
40
 
@@ -242,47 +242,35 @@
242
242
 
243
243
  7. Troubleshooting => troubleshooting-2ihihi
244
244
 
245
- 7.1. Operating system-specific problems => operating-system-specific-problems-327gbk
245
+ 7.1. Generic troubleshooting tips => generic-troubleshooting-tips-130iuhe
246
246
 
247
- 7.1.1. MacOS X: The installer cannot locate MAMP’s Apache => macos-x-the-installer-cannot-locate-mamp-s-apache-or908n
247
+ 7.2. Why does the first request take a long time? => why-does-the-first-request-take-a-long-time--12mg452
248
248
 
249
- 7.2. Problems during installation => problems-during-installation-q1vlsu
249
+ 7.3. OS X: The installer cannot locate MAMP’s Apache => macos-x-the-installer-cannot-locate-mamp-s-apache-or908n
250
250
 
251
- 7.2.1. Ruby development headers aren’t installed => ruby-development-headers-aren-t-installed-1yqrom8
251
+ 7.4. Apache reports a "403 Forbidden" error => apache-reports-a-403-forbidden-error-140tb4p
252
252
 
253
- 7.2.2. Apache development headers aren’t installed => apache-development-headers-aren-t-installed-x2473y
253
+ 7.5. Static assets such as images and stylesheets aren’t being displayed => static-assets-such-as-images-and-stylesheets-aren-t-being-displayed-uaptpi
254
254
 
255
- 7.2.3. APR development headers aren’t installed => apr-development-headers-aren-t-installed-13bk976
255
+ 7.6. The Apache error log says that the spawn manager script does not exist, or that it does not have permission to execute it => the-apache-error-log-says-that-the-spawn-manager-script-does-not-exist-or-that-it-does-not-have-permission-to-execute-it-1fmoozk
256
256
 
257
- 7.2.4. Phusion Passenger is using the wrong Apache during installation => phusion-passenger-is-using-the-wrong-apache-during-installation-82qnt4
257
+ 7.7. The application thinks its not on SSL even though it is => the-application-thinks-its-not-on-ssl-even-though-it-is-u9fcp1
258
258
 
259
- 7.2.5. Phusion Passenger is using the wrong Ruby during installation => phusion-passenger-is-using-the-wrong-ruby-during-installation-1nh3zml
259
+ 7.8. Ruby on Rails-specific troubleshooting => ruby-on-rails-specific-problems-6umss5
260
260
 
261
- 7.3. Problems after installation => problems-after-installation-fwd23q
261
+ 7.8.1. The "About your application’s environment" link does not work => the-about-your-application-s-environment-link-does-not-work-7k4tlm
262
262
 
263
- 7.3.1. My Rails application works on Mongrel, but not on Phusion Passenger => my-rails-application-works-on-mongrel-but-not-on-phusion-passenger-1f28drx
263
+ 7.8.2. The Rails application reports that it’s unable to start because of a permission error => the-rails-application-reports-that-it-s-unable-to-start-because-of-a-permission-error-v53i6s
264
264
 
265
- 7.3.2. Phusion Passenger has been compiled against the wrong Apache installation => phusion-passenger-has-been-compiled-against-the-wrong-apache-installation-n74ce0
265
+ 7.8.3. The Rails application’s log file is not being written to => my-rails-application-s-log-file-is-not-being-written-to-3i747l
266
266
 
267
- 7.3.3. I get a "403 Forbidden" error => i-get-a-403-forbidden-error-m0rlay
267
+ 7.9. Conflicting Apache modules => conflicting-apache-modules-1uwpixk
268
268
 
269
- 7.3.4. Static assets such as images and stylesheets aren’t being displayed => static-assets-such-as-images-and-stylesheets-aren-t-being-displayed-uaptpi
269
+ 7.9.1. mod_userdir => mod-userdir-x5e2te
270
270
 
271
- 7.3.5. The Apache error log says that the spawn manager script does not exist, or that it does not have permission to execute it => the-apache-error-log-says-that-the-spawn-manager-script-does-not-exist-or-that-it-does-not-have-permission-to-execute-it-1fmoozk
271
+ 7.9.2. MultiViews (mod_negotiation) => multiviews-mod-negotiation--zchfg0
272
272
 
273
- 7.3.6. The Rails application reports that it’s unable to start because of a permission error => the-rails-application-reports-that-it-s-unable-to-start-because-of-a-permission-error-v53i6s
274
-
275
- 7.3.7. My Rails application’s log file is not being written to => my-rails-application-s-log-file-is-not-being-written-to-3i747l
276
-
277
- 7.3.8. I’ve deployed my app on SSL, but the app thinks its not on SSL => i-ve-deployed-my-app-on-ssl-but-the-app-thinks-its-not-on-ssl-10rvgnr
278
-
279
- 7.4. Conflicting Apache modules => conflicting-apache-modules-1uwpixk
280
-
281
- 7.4.1. mod_userdir => mod-userdir-x5e2te
282
-
283
- 7.4.2. MultiViews (mod_negotiation) => multiviews-mod-negotiation--zchfg0
284
-
285
- 7.4.3. VirtualDocumentRoot => virtualdocumentroot-14cwd7l
273
+ 7.9.3. VirtualDocumentRoot => virtualdocumentroot-14cwd7l
286
274
 
287
275
  8. Analysis and system maintenance => analysis-and-system-maintenance-qvkwzr
288
276
 
@@ -22,6 +22,7 @@ using the command line.
22
22
 
23
23
  include::users_guide_snippets/support_information.txt[]
24
24
 
25
+ [[installation]]
25
26
  == Installation
26
27
 
27
28
  include::users_guide_snippets/installation.txt[]
@@ -1925,217 +1926,31 @@ This option is no longer available in version 4.0.0. There is no alternative bec
1925
1926
 
1926
1927
 
1927
1928
  [[troubleshooting]]
1928
- == Troubleshooting ==
1929
+ == Troubleshooting
1929
1930
 
1930
- === Operating system-specific problems ===
1931
+ include::users_guide_snippets/troubleshooting/default.txt[]
1931
1932
 
1932
- ==== MacOS X: The installer cannot locate MAMP's Apache ====
1933
+ === OS X: The installer cannot locate MAMP's Apache
1933
1934
 
1934
- .Symptoms
1935
- *******************************************************************************
1936
- The installer finds Apache 2 development headers at `/Applications/MAMP/Library/bin/apxs`.
1937
- However, Apache cannot be found. The installer also outputs the following error:
1935
+ **Symptoms**::
1936
+ The installer finds Apache 2 development headers at `/Applications/MAMP/Library/bin/apxs`. However, Apache cannot be found. The installer also outputs the following error:
1937
+ +
1938
1938
  ------------------------------------
1939
1939
  cannot open /Applications/MAMP/Library/build/config_vars.mk:
1940
1940
  No such file or directory at /Applications/MAMP/Library/bin/apxs line 218.
1941
1941
  ------------------------------------
1942
- *******************************************************************************
1943
-
1944
- Your MAMP installation seems to be broken. In particular, 'config_vars.mk' is missing.
1945
- Please read link:http://forum.mamp.info/viewtopic.php?t=1866[this forum topic] to learn how
1946
- to fix this problem.
1947
-
1948
- See also link:http://code.google.com/p/phusion-passenger/issues/detail?id=12[this bug report].
1949
-
1950
-
1951
- === Problems during installation ===
1952
-
1953
- [[installing_ruby_dev]]
1954
- ==== Ruby development headers aren't installed ====
1955
-
1956
- .Symptoms
1957
- *******************************************************************************
1958
- Installing Phusion Passenger fails because of one of the following errors:
1959
-
1960
- - The Phusion Passenger installer tells you that the Ruby development headers
1961
- aren't installed.
1962
- - The error message ``'no such file to load -- mkmf''' occurs.
1963
- - The error message ``'ruby.h: No such file or directory''' occurs.
1964
- *******************************************************************************
1965
-
1966
- Phusion Passenger makes use of a native extension, so the Ruby development headers
1967
- must be installed. On most Linux systems, Ruby and the Ruby development headers
1968
- are contained in separate packages, so having Ruby installed does not
1969
- automatically imply having the development headers installed.
1970
-
1971
- Here's how you can install the development headers:
1972
-
1973
- Ubuntu/Debian::
1974
- Please type:
1975
- +
1976
- -----------------------------------------
1977
- sudo apt-get install ruby1.8-dev
1978
- -----------------------------------------
1979
-
1980
- Fedora/CentOS/RHEL::
1981
- Please type:
1982
- +
1983
- -----------------------------------------
1984
- su -c 'yum install ruby-devel'
1985
- -----------------------------------------
1986
-
1987
- FreeBSD::
1988
- Please install Ruby from 'ports' or with `pkg_add`. If that fails,
1989
- please install Ruby from source.
1990
-
1991
- MacOS X::
1992
- Please install Ruby from source.
1993
-
1994
- Other operating systems::
1995
- Please consult your operating system's native package database.
1996
- There should be a package containing the Ruby development headers.
1997
- If that fails, please install Ruby from source.
1998
-
1999
- NOTE: If you've installed a new Ruby version (i.e. your system now contains
2000
- multiple Ruby installations), then you will need to tell Phusion Passenger
2001
- which Ruby installation you want to use. Please read
2002
- <<specifying_ruby_installation,Specifying the correct Ruby installation>>.
2003
-
2004
- ==== Apache development headers aren't installed ====
2005
-
2006
- .Symptoms
2007
- *******************************************************************************
2008
- Installing Phusion Passenger fails because of one of the following errors:
2009
-
2010
- - The installer says that the Apache development headers aren't installed.
2011
- - The error message ``'httpd.h: No such file or directory''' occurs.
2012
- +
2013
- (Instead of 'httpd.h', the message might also be 'http_config.h' or something
2014
- else similar to 'http_*.h'.)
2015
- *******************************************************************************
2016
-
2017
- Ubuntu::
2018
- Please type:
2019
- +
2020
- -----------------------------------------
2021
- sudo apt-get install apache2-prefork-dev
2022
- -----------------------------------------
2023
-
2024
- Debian::
2025
- Please type:
2026
- +
2027
- -----------------------------------------
2028
- sudo apt-get install apache2-dev
2029
- -----------------------------------------
2030
-
2031
- Fedora/CentOS/RHEL::
2032
- Please type:
2033
- +
2034
- --------------------------------
2035
- su -c 'yum install httpd-devel'
2036
- --------------------------------
2037
-
2038
- FreeBSD::
2039
- Please install Apache from 'ports' or with `pkg_add`. If that fails,
2040
- please install Apache from source.
2041
-
2042
- MacOS X::
2043
- Please install Apache from source.
2044
-
2045
- Other operating systems::
2046
- Please consult your operating system's native package database.
2047
- There should be a package containing the Apache development headers.
2048
- If that fails, please install Apache from source.
2049
-
2050
-
2051
- ==== APR development headers aren't installed ====
2052
1942
 
2053
- .Symptoms
2054
- *******************************************************************************
2055
- Installing Phusion Passenger fails because one of the following errors:
1943
+ **Cause**::
1944
+ Your MAMP installation seems to be broken. In particular, 'config_vars.mk' is missing.
2056
1945
 
2057
- - The installer tells you that APR development headers aren't installed.
2058
- - The error message ``'apr_pools.h: No such file or directory''' occurs.
2059
- - The error message ``'apr_strings.h: No such file or directory''' occurs.
2060
- *******************************************************************************
1946
+ **Solution**::
1947
+ Please read link:http://forum.mamp.info/viewtopic.php?t=1866[this forum topic] to learn how to fix this problem. See also link:http://code.google.com/p/phusion-passenger/issues/detail?id=12[this bug report].
2061
1948
 
2062
- Ubuntu::
2063
- Please type:
2064
- +
2065
- -----------------------------------------
2066
- sudo apt-get install libapr1-dev
2067
- -----------------------------------------
2068
-
2069
- Debian::
2070
- Please type:
2071
- +
2072
- -----------------------------------------
2073
- sudo apt-get install libapr1-dev
2074
- -----------------------------------------
2075
-
2076
- Fedora/CentOS/RHEL::
2077
- Please type:
2078
- +
2079
- --------------------------------
2080
- su -c 'yum install apr-devel'
2081
- --------------------------------
2082
-
2083
- Other Linux distributions::
2084
- Please consult your distribution's package database. There should be a
2085
- package which provides APR development headers.
2086
-
2087
- Other operating systems::
2088
- The APR development are bundled with Apache. If the APR headers aren't,
2089
- then it probably means that they have been removed after Apache's been
2090
- installed. Please reinstall Apache to get back the APR headers.
2091
-
2092
-
2093
- ==== Phusion Passenger is using the wrong Apache during installation ====
2094
-
2095
- Please <<specifying_correct_apache_install,Specifying the correct Apache
2096
- installation>>, and re-run the Phusion Passenger installer.
2097
-
2098
-
2099
- ==== Phusion Passenger is using the wrong Ruby during installation ====
2100
-
2101
- Please <<specifying_ruby_installation,Specifying the correct Ruby
2102
- installation>>, and re-run the Phusion Passenger installer.
2103
-
2104
-
2105
- === Problems after installation ===
2106
-
2107
- [TIP]
2108
- .The golden tip: read your Apache error logs!
2109
- =====================================================
2110
- 'mod_passenger' will write all errors to the Apache error log. So if
2111
- you're experiencing post-installation problems, please look
2112
- inside the Apache error logs. It will tell you what exactly went wrong.
2113
- =====================================================
2114
-
2115
- ==== My Rails application works on Mongrel, but not on Phusion Passenger ====
2116
-
2117
- Please try setting <<PassengerSpawnMethod,PassengerSpawnMethod>> to 'conservative'.
2118
-
2119
- ==== Phusion Passenger has been compiled against the wrong Apache installation ====
2120
-
2121
- .Symptoms
2122
- *******************************************************************************
2123
- Apache crashes during startup (after being daemonized). The Apache error log
2124
- says ``'seg fault or similar nasty error detected in the parent process'''.
2125
- *******************************************************************************
2126
-
2127
- This problem is most likely to occur on MacOS X. Most OS X users have multiple
2128
- Apache installations on their system.
2129
-
2130
- To solve this problem, please <<specifying_correct_apache_install,specify the
2131
- correct Apache installation>>, and <<install_passenger,reinstall Phusion
2132
- Passenger>>.
2133
-
2134
- ==== I get a "403 Forbidden" error ====
1949
+ === Apache reports a "403 Forbidden" error
2135
1950
 
2136
1951
  See next subsection.
2137
1952
 
2138
- ==== Static assets such as images and stylesheets aren't being displayed ====
1953
+ === Static assets such as images and stylesheets aren't being displayed
2139
1954
 
2140
1955
  Static assets are accelerated, i.e. they are served directly by Apache and do not
2141
1956
  go through the Rails stack. There are two reasons why Apache doesn't serve static
@@ -2160,7 +1975,7 @@ See also link:http://groups.google.com/group/phusion-passenger/browse_thread/thr
2160
1975
  Please make sure that the Rails application's folder, as well as all of its parent folders,
2161
1976
  have the correct permissions and/or ownerships.
2162
1977
 
2163
- ==== The Apache error log says that the spawn manager script does not exist, or that it does not have permission to execute it ====
1978
+ === The Apache error log says that the spawn manager script does not exist, or that it does not have permission to execute it
2164
1979
 
2165
1980
  If you are sure that the 'PassengerRoot' configuration option is set correctly,
2166
1981
  then this problem is most likely caused by the fact that you're running Apache
@@ -2195,41 +2010,7 @@ chcon -R -h -t httpd_sys_content_t /path/to/passenger/folder
2195
2010
 
2196
2011
  Once the permissions are fixed, restart Apache.
2197
2012
 
2198
- ==== The Rails application reports that it's unable to start because of a permission error ====
2199
-
2200
- Please check whether your Rails application's folder has the correct
2201
- permissions. By default, Rails applications are started as the owner of the
2202
- file 'config/environment.rb', except if the file is owned by root. If the
2203
- file is owned by root, then the Rails application will be started as 'nobody'
2204
- (or as the user specify by <<RailsDefaultUser,RailsDefaultUser>>, if that's
2205
- specified).
2206
-
2207
- Please read <<user_switching,User switching (security)>> for details.
2208
-
2209
- ==== My Rails application's log file is not being written to ====
2210
-
2211
- There are a couple things that you should be aware of:
2212
-
2213
- - By default, Phusion Passenger runs Rails applications in 'production' mode,
2214
- so please be sure to check 'production.log' instead of 'development.log'. See
2215
- <<RailsEnv,RailsEnv>> for configuration.
2216
- - By default, Phusion Passenger runs Rails applications as the owner of 'environment.rb'.
2217
- So the log file can only be written to if that user has write permission to the
2218
- log file. Please 'chmod' or 'chown' your log file accordingly.
2219
- +
2220
- See <<User_switching,User switching (security)>> for details.
2221
-
2222
- If you're using a RedHat-derived Linux distribution (such as Fedora or CentOS)
2223
- then it is link:http://code.google.com/p/phusion-passenger/issues/detail?id=4[possible
2224
- that SELinux is interfering]. RedHat's SELinux policy only allows Apache to read/write
2225
- directories that have the 'httpd_sys_content_t' security context. Please run the
2226
- following command to give your Rails application folder that context:
2227
-
2228
- -----------------------------------------------------------
2229
- chcon -R -h -t httpd_sys_content_t /path/to/your/rails/app
2230
- -----------------------------------------------------------
2231
-
2232
- ==== I've deployed my app on SSL, but the app thinks its not on SSL ====
2013
+ === The application thinks its not on SSL even though it is
2233
2014
 
2234
2015
  Rails and many other frameworks infers whether it's running on SSL through the CGI
2235
2016
  environment variable `HTTPS`. Apache always sets this variable when on SSL,
@@ -2270,6 +2051,8 @@ Include conf/extra/httpd-ssl.conf
2270
2051
  --------------------------------------
2271
2052
 
2272
2053
 
2054
+ include::users_guide_snippets/troubleshooting/rails.txt[]
2055
+
2273
2056
  [[conflicting_apache_modules]]
2274
2057
  === Conflicting Apache modules ===
2275
2058
 
@@ -2387,4 +2170,7 @@ include::users_guide_snippets/appendix_b_terminology.txt[]
2387
2170
 
2388
2171
  include::users_guide_snippets/appendix_c_spawning_methods.txt[]
2389
2172
 
2173
+ [[about_environment_variables]]
2174
+ == Appendix D: About environment variables
2175
+
2390
2176
  include::users_guide_snippets/environment_variables.txt[]
@@ -22,19 +22,19 @@
22
22
 
23
23
  2.1. Synopsis => synopsis-1uu3sqp
24
24
 
25
- 2.2. Generic installation, upgrade and downgrade method: via RubyGems => generic-installation-upgrade-and-downgrade-method-via-rubygems-76uol7
25
+ 2.2. Installing or upgrading on Mac OS X with Homebrew => installing-or-upgrading-on-mac-os-x-with-homebrew-13ovvy9
26
26
 
27
- 2.3. Generic installation, upgrade and downgrade method: via tarball => generic-installation-upgrade-and-downgrade-method-via-tarball-2gkx43
27
+ 2.3. Installing or upgrading on Debian or Ubuntu => installing-or-upgrading-on-ubuntu-fw5fvp
28
28
 
29
- 2.4. Installing or upgrading on Debian or Ubuntu => installing-or-upgrading-on-ubuntu-fw5fvp
29
+ 2.3.1. Adding our APT repository => adding-our-apt-repository-p60cki
30
30
 
31
- 2.4.1. Adding our APT repository => adding-our-apt-repository-p60cki
31
+ 2.3.2. Installing packages => installing-packages-j9glez
32
32
 
33
- 2.4.2. Installing packages => installing-packages-j9glez
33
+ 2.4. Installing or upgrading on Red Hat, Fedora, CentOS or ScientificLinux => installing-or-upgrading-on-red-hat-fedora-centos-or-scientificlinux-1uus5a1
34
34
 
35
- 2.5. Installing or upgrading on Red Hat, Fedora, CentOS or ScientificLinux => installing-or-upgrading-on-red-hat-fedora-centos-or-scientificlinux-1uus5a1
35
+ 2.5. Generic installation, upgrade and downgrade method: via RubyGems => generic-installation-upgrade-and-downgrade-method-via-rubygems-76uol7
36
36
 
37
- 2.6. Installing or upgrading on Mac OS X with Homebrew => installing-or-upgrading-on-mac-os-x-with-homebrew-13ovvy9
37
+ 2.6. Generic installation, upgrade and downgrade method: via tarball => generic-installation-upgrade-and-downgrade-method-via-tarball-2gkx43
38
38
 
39
39
  2.7. Upgrading from open source to Enterprise => upgrading-from-open-source-to-enterprise-1a58c2b
40
40
 
@@ -232,121 +232,139 @@
232
232
 
233
233
  6.18.1. rails_spawn_method => rails-spawn-method-17vdnpt
234
234
 
235
- 7. Analysis and system maintenance => analysis-and-system-maintenance-1nnlnj8
235
+ 7. Troubleshooting => troubleshooting-1pt0c76
236
236
 
237
- 7.1. Inspecting memory usage => inspecting-memory-usage-1k6y8v0
237
+ 7.1. Generic troubleshooting tips => generic-troubleshooting-tips-xhe4nu
238
238
 
239
- 7.2. Inspecting Phusion Passenger’s internal status => inspecting-phusion-passenger-s-internal-status-v36wbc
239
+ 7.2. Why does the first request take a long time? => why-does-the-first-request-take-a-long-time--1knj9fp
240
240
 
241
- 7.3. Debugging frozen applications => debugging-frozen-applications-qoctl8
241
+ 7.3. Upon accessing the web app, Nginx reports a "Permission denied" error => upon-accessing-the-web-app-nginx-reports-a-permission-denied-error-1wgatlk
242
242
 
243
- 7.4. Accessing individual application processes => accessing-individual-application-processes-1qe4fqk
243
+ 7.4. The application thinks its not on SSL even though it is => the-application-thinks-its-not-on-ssl-even-though-it-is-1e2m21h
244
244
 
245
- 7.5. Attaching an IRB console to an application process => attaching-an-irb-console-to-an-application-process-d36enw
245
+ 7.5. Ruby on Rails-specific troubleshooting => ruby-on-rails-specific-troubleshooting-n8u5u1
246
246
 
247
- 8. Tips => tips-n4c22d
247
+ 7.5.1. The "About your application’s environment" link does not work => the-about-your-application-s-environment-link-does-not-work-9p7b2g
248
248
 
249
- 8.1. User Switching (security feature) => user-switching-security--zmsy9o
249
+ 7.5.2. The Rails application reports that it’s unable to start because of a permission error => the-rails-application-reports-that-it-s-unable-to-start-because-of-a-permission-error-58ww8s
250
250
 
251
- 8.1.1. Requirements => requirements-15ozqdj
251
+ 7.5.3. The Rails application’s log file is not being written to => the-rails-application-s-log-file-is-not-being-written-to-9m2i5h
252
252
 
253
- 8.1.2. Effects => effects-nd2m44
253
+ 8. Analysis and system maintenance => analysis-and-system-maintenance-1nnlnj8
254
254
 
255
- 8.1.3. Caveats & troubleshooting => caveats-troubleshooting-mbw582
255
+ 8.1. Inspecting memory usage => inspecting-memory-usage-1k6y8v0
256
256
 
257
- 8.1.4. Finding out what user an application is running as => finding-out-what-user-an-application-is-running-as-1ni7zk6
257
+ 8.2. Inspecting Phusion Passenger’s internal status => inspecting-phusion-passenger-s-internal-status-v36wbc
258
258
 
259
- 8.2. Copy-on-write memory support (reducing memory consumption of Ruby applications) => reducing-memory-consumption-of-ruby-on-rails-applications-by-33--1o3z66q
259
+ 8.3. Debugging frozen applications => debugging-frozen-applications-qoctl8
260
260
 
261
- 8.3. Capistrano recipe => capistrano-recipe-pfn4qu
261
+ 8.4. Accessing individual application processes => accessing-individual-application-processes-1qe4fqk
262
262
 
263
- 8.4. Bundler support => bundler-support-19v1h43
263
+ 8.5. Attaching an IRB console to an application process => attaching-an-irb-console-to-an-application-process-d36enw
264
264
 
265
- 8.4.1. Does Phusion Passenger itself need to be added to the Gemfile? => does-phusion-passenger-itself-need-to-be-added-to-the-gemfile--xn1a11
265
+ 9. Tips => tips-n4c22d
266
266
 
267
- 8.5. Installing multiple Ruby on Rails versions => installing-multiple-ruby-on-rails-versions-1bp1fff
267
+ 9.1. User Switching (security feature) => user-switching-security--zmsy9o
268
268
 
269
- 8.6. Making the application restart after each request => making-the-application-restart-after-each-request-vimy48
269
+ 9.1.1. Requirements => requirements-15ozqdj
270
270
 
271
- 8.7. How to fix broken images/CSS/JavaScript URIs in sub-URI deployments => how-to-fix-broken-images-css-javascript-uris-in-sub-uri-deployments-11mzwt6
271
+ 9.1.2. Effects => effects-nd2m44
272
272
 
273
- 8.8. Out-of-Band Work and Out-of-Band Garbage Collection => out-of-band-work-and-out-of-band-garbage-collection-v89lu2
273
+ 9.1.3. Caveats & troubleshooting => caveats-troubleshooting-mbw582
274
274
 
275
- 8.9. Flying Passenger => flying-passenger-137qg5e
275
+ 9.1.4. Finding out what user an application is running as => finding-out-what-user-an-application-is-running-as-1ni7zk6
276
276
 
277
- 8.9.1. Requirements => requirements-194ysj6
277
+ 9.2. Copy-on-write memory support (reducing memory consumption of Ruby applications) => reducing-memory-consumption-of-ruby-on-rails-applications-by-33--1o3z66q
278
278
 
279
- 8.9.2. Basic usage => basic-usage-1qtgvwx
279
+ 9.3. Capistrano recipe => capistrano-recipe-pfn4qu
280
280
 
281
- 8.9.3. Configuring Flying Passenger => configuring-flying-passenger-n558np
281
+ 9.4. Bundler support => bundler-support-19v1h43
282
282
 
283
- 8.9.4. Managing the Flying Passenger daemon => managing-the-flying-passenger-daemon-vjmzdh
283
+ 9.4.1. Does Phusion Passenger itself need to be added to the Gemfile? => does-phusion-passenger-itself-need-to-be-added-to-the-gemfile--xn1a11
284
284
 
285
- 8.9.5. Using Flying Passenger with MRI 1.8 or JRuby => using-flying-passenger-with-mri-1-8-or-jruby-pxho35
285
+ 9.5. Installing multiple Ruby on Rails versions => installing-multiple-ruby-on-rails-versions-1bp1fff
286
286
 
287
- 8.9.6. Caveats and limitations => caveats-and-limitations-15wakf
287
+ 9.6. Making the application restart after each request => making-the-application-restart-after-each-request-vimy48
288
288
 
289
- 9. Under the hood => under-the-hood-8uney
289
+ 9.7. How to fix broken images/CSS/JavaScript URIs in sub-URI deployments => how-to-fix-broken-images-css-javascript-uris-in-sub-uri-deployments-11mzwt6
290
290
 
291
- 9.1. Page caching support => page-caching-support-nafhf6
291
+ 9.8. Out-of-Band Work and Out-of-Band Garbage Collection => out-of-band-work-and-out-of-band-garbage-collection-v89lu2
292
292
 
293
- 9.2. Phusion Passenger and its relationship with Ruby => phusion-passenger-and-its-relationship-with-ruby-1hub1pa
293
+ 9.9. Flying Passenger => flying-passenger-137qg5e
294
294
 
295
- 9.2.1. How Ruby is used => how-ruby-is-used-j7g2a4
295
+ 9.9.1. Requirements => requirements-194ysj6
296
296
 
297
- 9.2.2. When the system has multiple Ruby interpreters => when-the-system-has-multiple-ruby-interpreters-fwn3t
297
+ 9.9.2. Basic usage => basic-usage-1qtgvwx
298
298
 
299
- 9.3. How Phusion Passenger detects whether a virtual host is a web application => how-phusion-passenger-detects-whether-a-virtual-host-is-a-web-application-13qbmhn
299
+ 9.9.3. Configuring Flying Passenger => configuring-flying-passenger-n558np
300
300
 
301
- 10. Appendix A: About this document => appendix-a-about-this-document-zfvixm
301
+ 9.9.4. Managing the Flying Passenger daemon => managing-the-flying-passenger-daemon-vjmzdh
302
302
 
303
- 11. Appendix B: Terminology => appendix-b-terminology-wzv5ro
303
+ 9.9.5. Using Flying Passenger with MRI 1.8 or JRuby => using-flying-passenger-with-mri-1-8-or-jruby-pxho35
304
304
 
305
- 11.1. Application root => application-root-1fd6bqv
305
+ 9.9.6. Caveats and limitations => caveats-and-limitations-15wakf
306
306
 
307
- 11.2. Idle process => idle-process-13byfw9
307
+ 10. Under the hood => under-the-hood-8uney
308
308
 
309
- 11.3. Inactive process => inactive-process-1d2h0po
309
+ 10.1. Page caching support => page-caching-support-nafhf6
310
310
 
311
- 12. Appendix C: Spawning methods explained => appendix-c-spawning-methods-explained-tcp8e6
311
+ 10.2. Phusion Passenger and its relationship with Ruby => phusion-passenger-and-its-relationship-with-ruby-1hub1pa
312
312
 
313
- 12.1. The most straightforward and traditional way: direct spawning => the-most-straightforward-and-traditional-way-conservative-spawning-civ29z
313
+ 10.2.1. How Ruby is used => how-ruby-is-used-j7g2a4
314
314
 
315
- 12.2. The smart spawning method => the-smart-spawning-method-7nhgtj
315
+ 10.2.2. When the system has multiple Ruby interpreters => when-the-system-has-multiple-ruby-interpreters-fwn3t
316
316
 
317
- 12.2.1. How it works => how-it-works-f9umga
317
+ 10.3. How Phusion Passenger detects whether a virtual host is a web application => how-phusion-passenger-detects-whether-a-virtual-host-is-a-web-application-13qbmhn
318
318
 
319
- 12.2.2. Summary of benefits => summary-of-benefits-qovyvk
319
+ 11. Appendix A: About this document => appendix-a-about-this-document-zfvixm
320
320
 
321
- 12.3. Smart spawning gotcha #1: unintentional file descriptor sharing => smart-spawning-gotcha-1-unintentional-file-descriptor-sharing-cebw6q
321
+ 12. Appendix B: Terminology => appendix-b-terminology-wzv5ro
322
322
 
323
- 12.3.1. Example 1: Memcached connection sharing (harmful) => example-1-memcached-connection-sharing-harmful--1wfs3ad
323
+ 12.1. Application root => application-root-1fd6bqv
324
324
 
325
- 12.3.2. Example 2: Log file sharing (not harmful) => example-2-log-file-sharing-not-harmful--ox4yfy
325
+ 12.2. Idle process => idle-process-13byfw9
326
326
 
327
- 12.4. Smart spawning gotcha #2: the need to revive threads => smart-spawning-gotcha-2-the-need-to-revive-threads-1ey176o
327
+ 12.3. Inactive process => inactive-process-1d2h0po
328
328
 
329
- 12.5. Smart spawning gotcha #3: code load order => smart-spawning-gotcha-3-code-load-order-12ydsn8
329
+ 13. Appendix C: Spawning methods explained => appendix-c-spawning-methods-explained-tcp8e6
330
330
 
331
- 13. Appendix D: About environment variables => appendix-d-about-environment-variables-1t2cuff
331
+ 13.1. The most straightforward and traditional way: direct spawning => the-most-straightforward-and-traditional-way-conservative-spawning-civ29z
332
332
 
333
- 13.1. Working with environment variables => working-with-environment-variables-1kmvq8w
333
+ 13.2. The smart spawning method => the-smart-spawning-method-7nhgtj
334
334
 
335
- 13.2. The PATH environment variable => the-path-environment-variable-vlp05e
335
+ 13.2.1. How it works => how-it-works-f9umga
336
336
 
337
- 13.2.1. Adding Phusion Passenger’s administration tools to PATH => adding-phusion-passenger-s-administration-tools-to-path-1flz2tu
337
+ 13.2.2. Summary of benefits => summary-of-benefits-qovyvk
338
338
 
339
- 13.3. Making environment variables permanent => making-environment-variables-permanent-1wjyhzt
339
+ 13.3. Smart spawning gotcha #1: unintentional file descriptor sharing => smart-spawning-gotcha-1-unintentional-file-descriptor-sharing-cebw6q
340
340
 
341
- 13.3.1. bash => bash-19xsxec
341
+ 13.3.1. Example 1: Memcached connection sharing (harmful) => example-1-memcached-connection-sharing-harmful--1wfs3ad
342
342
 
343
- 13.3.2. Apache => apache-9hqtyj
343
+ 13.3.2. Example 2: Log file sharing (not harmful) => example-2-log-file-sharing-not-harmful--ox4yfy
344
344
 
345
- 13.3.3. Nginx => nginx-157dpwy
345
+ 13.4. Smart spawning gotcha #2: the need to revive threads => smart-spawning-gotcha-2-the-need-to-revive-threads-1ey176o
346
346
 
347
- 13.3.4. cron => cron-1nuc9cz
347
+ 13.5. Smart spawning gotcha #3: code load order => smart-spawning-gotcha-3-code-load-order-12ydsn8
348
348
 
349
- 13.3.5. Phusion Passenger-served apps => phusion-passenger-served-apps-uiewl5
349
+ 14. Appendix D: About environment variables => appendix-d-about-environment-variables-1t2cuff
350
350
 
351
- 13.4. Environment variables and sudo => environment-variables-and-sudo-10lphxn
351
+ 14.1. Working with environment variables => working-with-environment-variables-1kmvq8w
352
+
353
+ 14.2. The PATH environment variable => the-path-environment-variable-vlp05e
354
+
355
+ 14.2.1. Adding Phusion Passenger’s administration tools to PATH => adding-phusion-passenger-s-administration-tools-to-path-1flz2tu
356
+
357
+ 14.3. Making environment variables permanent => making-environment-variables-permanent-1wjyhzt
358
+
359
+ 14.3.1. bash => bash-19xsxec
360
+
361
+ 14.3.2. Apache => apache-9hqtyj
362
+
363
+ 14.3.3. Nginx => nginx-157dpwy
364
+
365
+ 14.3.4. cron => cron-1nuc9cz
366
+
367
+ 14.3.5. Phusion Passenger-served apps => phusion-passenger-served-apps-uiewl5
368
+
369
+ 14.4. Environment variables and sudo => environment-variables-and-sudo-10lphxn
352
370