passenger 5.3.5 → 5.3.6

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.
Files changed (211) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +13 -0
  3. data/README.md +2 -1
  4. data/Rakefile +0 -5
  5. data/build/agent.rb +2 -1
  6. data/build/cxx_tests.rb +18 -20
  7. data/build/integration_tests.rb +6 -2
  8. data/build/support/cxx_dependency_map.rb +2019 -1966
  9. data/dev/colorize-logs +272 -0
  10. data/src/agent/Core/AdminPanelConnector.h +3 -3
  11. data/src/agent/Core/ApiServer.h +4 -4
  12. data/src/agent/Core/ApplicationPool/BasicProcessInfo.h +2 -2
  13. data/src/agent/Core/ApplicationPool/Group/OutOfBandWork.cpp +2 -2
  14. data/src/agent/Core/ApplicationPool/Implementation.cpp +5 -5
  15. data/src/agent/Core/ApplicationPool/Pool.h +4 -4
  16. data/src/agent/Core/ApplicationPool/Process.h +10 -15
  17. data/src/agent/Core/ApplicationPool/Socket.h +2 -2
  18. data/src/agent/Core/ApplicationPool/TestSession.h +3 -3
  19. data/src/agent/Core/Config.h +4 -2
  20. data/src/agent/Core/Controller.h +4 -4
  21. data/src/agent/Core/Controller/Config.h +1 -1
  22. data/src/agent/Core/Controller/SendRequest.cpp +2 -2
  23. data/src/agent/Core/Controller/TurboCaching.h +2 -2
  24. data/src/agent/Core/CoreMain.cpp +2 -2
  25. data/src/agent/Core/OptionParser.h +2 -2
  26. data/src/agent/Core/ResponseCache.h +3 -3
  27. data/src/agent/Core/SecurityUpdateChecker.h +2 -2
  28. data/src/agent/Core/SpawningKit/Config.h +2 -1
  29. data/src/agent/Core/SpawningKit/Config/AutoGeneratedCode.h +1 -1
  30. data/src/agent/Core/SpawningKit/Context.h +1 -1
  31. data/src/agent/Core/SpawningKit/DirectSpawner.h +3 -3
  32. data/src/agent/Core/SpawningKit/DummySpawner.h +3 -3
  33. data/src/agent/Core/SpawningKit/ErrorRenderer.h +1 -1
  34. data/src/agent/Core/SpawningKit/Exceptions.h +2 -2
  35. data/src/agent/Core/SpawningKit/Factory.h +1 -1
  36. data/src/agent/Core/SpawningKit/Handshake/BackgroundIOCapturer.h +1 -1
  37. data/src/agent/Core/SpawningKit/Handshake/Perform.h +13 -2
  38. data/src/agent/Core/SpawningKit/Handshake/Prepare.h +3 -3
  39. data/src/agent/Core/SpawningKit/Handshake/WorkDir.h +1 -1
  40. data/src/agent/Core/SpawningKit/Journey.h +4 -5
  41. data/src/agent/Core/SpawningKit/PipeWatcher.h +1 -1
  42. data/src/agent/Core/SpawningKit/Result.h +20 -8
  43. data/src/agent/Core/SpawningKit/Result/AutoGeneratedCode.h +1 -1
  44. data/src/agent/Core/SpawningKit/SmartSpawner.h +6 -6
  45. data/src/agent/Core/SpawningKit/Spawner.h +2 -2
  46. data/src/agent/Core/TelemetryCollector.h +13 -7
  47. data/src/agent/ExecHelper/ExecHelperMain.cpp +1 -1
  48. data/src/agent/README.md +1 -1
  49. data/src/agent/Shared/ApiAccountUtils.h +1 -1
  50. data/src/agent/Shared/ApiServerUtils.h +3 -3
  51. data/src/agent/Shared/ApplicationPoolApiKey.h +2 -2
  52. data/src/agent/Shared/Fundamentals/Initialization.cpp +4 -4
  53. data/src/agent/SpawnEnvSetupper/SpawnEnvSetupperMain.cpp +1 -1
  54. data/src/agent/SystemMetrics/SystemMetricsMain.cpp +4 -3
  55. data/src/agent/Watchdog/ApiServer.h +3 -3
  56. data/src/agent/Watchdog/Config.h +3 -2
  57. data/src/agent/Watchdog/CoreWatcher.cpp +2 -2
  58. data/src/agent/Watchdog/WatchdogMain.cpp +93 -27
  59. data/src/apache2_module/Config.cpp +14 -14
  60. data/src/apache2_module/Config.h +8 -16
  61. data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp +505 -491
  62. data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp.cxxcodebuilder +39 -17
  63. data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp +24 -1
  64. data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp.cxxcodebuilder +31 -1
  65. data/src/{cxx_supportlib/Utils/MemoryBarrier.h → apache2_module/ConfigGeneral/Common.h} +17 -25
  66. data/src/apache2_module/DirConfig/AutoGeneratedCreateFunction.cpp +12 -1
  67. data/src/apache2_module/DirConfig/AutoGeneratedCreateFunction.cpp.cxxcodebuilder +16 -1
  68. data/src/apache2_module/DirConfig/AutoGeneratedHeaderSerialization.cpp +19 -5
  69. data/src/apache2_module/DirConfig/AutoGeneratedHeaderSerialization.cpp.cxxcodebuilder +26 -9
  70. data/src/apache2_module/DirConfig/AutoGeneratedManifestGeneration.cpp +6 -1
  71. data/src/apache2_module/DirConfig/AutoGeneratedManifestGeneration.cpp.cxxcodebuilder +10 -1
  72. data/src/apache2_module/DirConfig/AutoGeneratedMergeFunction.cpp +7 -1
  73. data/src/apache2_module/DirConfig/AutoGeneratedMergeFunction.cpp.cxxcodebuilder +11 -1
  74. data/src/apache2_module/DirConfig/AutoGeneratedStruct.h +23 -1
  75. data/src/apache2_module/DirConfig/AutoGeneratedStruct.h.cxxcodebuilder +34 -1
  76. data/src/apache2_module/Hooks.cpp +3 -3
  77. data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h +24 -1
  78. data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h.cxxcodebuilder +36 -1
  79. data/src/cxx_supportlib/{Utils → Algorithms}/Hasher.cpp +2 -2
  80. data/src/cxx_supportlib/{Utils → Algorithms}/Hasher.h +4 -4
  81. data/src/cxx_supportlib/AppTypeDetector/Detector.h +1 -1
  82. data/src/cxx_supportlib/ConfigKit/Schema.h +2 -2
  83. data/src/cxx_supportlib/ConfigKit/Store.h +1 -1
  84. data/src/cxx_supportlib/Constants.h +1 -1
  85. data/src/cxx_supportlib/{Utils → DataStructures}/HashMap.h +4 -4
  86. data/src/cxx_supportlib/DataStructures/HashedStaticString.h +5 -5
  87. data/src/cxx_supportlib/DataStructures/LString.h +3 -3
  88. data/src/cxx_supportlib/{Utils → DataStructures}/StringMap.h +36 -36
  89. data/src/cxx_supportlib/FileTools/FileManip.cpp +1 -1
  90. data/src/cxx_supportlib/FileTools/PathManip.cpp +2 -2
  91. data/src/cxx_supportlib/FileTools/PathSecurityCheck.cpp +1 -1
  92. data/src/cxx_supportlib/Hooks.h +2 -2
  93. data/src/cxx_supportlib/{Utils → IOTools}/BufferedIO.h +5 -5
  94. data/src/cxx_supportlib/{Utils → IOTools}/IOUtils.cpp +2 -2
  95. data/src/cxx_supportlib/{Utils → IOTools}/IOUtils.h +3 -3
  96. data/src/cxx_supportlib/{Utils → IOTools}/MessageIO.h +7 -7
  97. data/src/cxx_supportlib/{MessageReadersWriters.h → IOTools/MessageSerialization.h} +5 -5
  98. data/src/cxx_supportlib/InstanceDirectory.h +4 -4
  99. data/src/cxx_supportlib/Integrations/LibevJsonUtils.h +3 -3
  100. data/src/cxx_supportlib/{Utils → JsonTools}/JsonUtils.h +5 -5
  101. data/src/cxx_supportlib/LoggingKit/Context.h +2 -2
  102. data/src/cxx_supportlib/LoggingKit/Implementation.cpp +3 -3
  103. data/src/cxx_supportlib/MemoryKit/mbuf.cpp +2 -2
  104. data/src/cxx_supportlib/ProcessManagement/Spawn.cpp +5 -5
  105. data/src/cxx_supportlib/ProcessManagement/Utils.h +10 -0
  106. data/src/cxx_supportlib/RandomGenerator.h +2 -2
  107. data/src/cxx_supportlib/{Crypto.cpp → SecurityKit/Crypto.cpp} +4 -4
  108. data/src/cxx_supportlib/{Crypto.h → SecurityKit/Crypto.h} +4 -4
  109. data/src/cxx_supportlib/{Utils → SecurityKit}/MemZeroGuard.h +0 -0
  110. data/src/cxx_supportlib/ServerKit/AcceptLoadBalancer.h +2 -2
  111. data/src/cxx_supportlib/ServerKit/Channel.h +1 -1
  112. data/src/cxx_supportlib/ServerKit/Context.h +2 -2
  113. data/src/cxx_supportlib/ServerKit/FileBufferedChannel.h +1 -1
  114. data/src/cxx_supportlib/ServerKit/HttpHeaderParser.h +3 -3
  115. data/src/cxx_supportlib/ServerKit/HttpHeaderParserState.h +2 -2
  116. data/src/cxx_supportlib/ServerKit/HttpServer.h +16 -10
  117. data/src/cxx_supportlib/ServerKit/Server.h +3 -3
  118. data/src/cxx_supportlib/{Utils → StrIntTools}/DateParsing.h +5 -5
  119. data/src/cxx_supportlib/{Utils → StrIntTools}/StrIntUtils.cpp +3 -3
  120. data/src/cxx_supportlib/{Utils → StrIntTools}/StrIntUtils.h +0 -0
  121. data/src/cxx_supportlib/{Utils → StrIntTools}/StrIntUtilsNoStrictAliasing.cpp +2 -2
  122. data/src/cxx_supportlib/{Utils → StrIntTools}/StringScanning.h +5 -5
  123. data/src/cxx_supportlib/{Utils → StrIntTools}/Template.h +30 -5
  124. data/src/cxx_supportlib/SystemTools/ContainerHelpers.h +34 -0
  125. data/src/cxx_supportlib/{Utils → SystemTools}/ProcessMetricsCollector.h +6 -6
  126. data/src/cxx_supportlib/{Utils → SystemTools}/SystemMetricsCollector.h +3 -3
  127. data/src/cxx_supportlib/{Utils → SystemTools}/SystemTime.cpp +1 -1
  128. data/src/cxx_supportlib/{Utils → SystemTools}/SystemTime.h +0 -0
  129. data/src/cxx_supportlib/SystemTools/UserDatabase.h +1 -1
  130. data/src/cxx_supportlib/Utils.cpp +2 -2
  131. data/src/cxx_supportlib/Utils/CachedFileStat.hpp +3 -3
  132. data/src/cxx_supportlib/Utils/Curl.h +2 -2
  133. data/src/cxx_supportlib/Utils/FileChangeChecker.h +2 -2
  134. data/src/cxx_supportlib/Utils/MessagePassing.h +1 -1
  135. data/src/cxx_supportlib/Utils/SpeedMeter.h +2 -2
  136. data/src/cxx_supportlib/Utils/Timer.h +2 -2
  137. data/src/cxx_supportlib/Utils/VariantMap.h +3 -3
  138. data/src/cxx_supportlib/WatchdogLauncher.h +3 -3
  139. data/src/cxx_supportlib/WebSocketCommandReverseServer.h +1 -1
  140. data/src/cxx_supportlib/WrapperRegistry/Registry.h +1 -1
  141. data/src/cxx_supportlib/vendor-modified/psg_sysqueue.h +3 -0
  142. data/src/ruby_supportlib/phusion_passenger.rb +1 -1
  143. data/src/ruby_supportlib/phusion_passenger/common_library.rb +11 -11
  144. data/src/ruby_supportlib/phusion_passenger/config/agent_compiler.rb +4 -4
  145. data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +1 -1
  146. data/src/ruby_supportlib/phusion_passenger/message_channel.rb +2 -2
  147. data/src/ruby_supportlib/phusion_passenger/packaging.rb +20 -19
  148. data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +22 -4
  149. data/src/ruby_supportlib/phusion_passenger/platform_info/ruby.rb +33 -13
  150. data/src/schema_printer/SchemaPrinterMain.cpp +2 -0
  151. metadata +28 -86
  152. data/.editorconfig +0 -134
  153. data/CODE_OF_CONDUCT.md +0 -52
  154. data/dev/boost-patches/0001-Patch-boost-thread-so-that-oxt-thread-can-use-it.patch +0 -48
  155. data/dev/boost-patches/0002-Make-boost-thread_interrupted-derive-from-oxt-tracab.patch +0 -33
  156. data/dev/boost-patches/0003-Disable-a-Clang-pragma-to-prevent-warnings-on-OS-X.patch +0 -25
  157. data/dev/ci/README.md +0 -134
  158. data/dev/ci/lib/functions.sh +0 -129
  159. data/dev/ci/lib/set-container-envvars.sh +0 -53
  160. data/dev/ci/lib/setup-container.sh +0 -46
  161. data/dev/ci/run-tests-natively +0 -24
  162. data/dev/ci/run-tests-with-docker +0 -42
  163. data/dev/ci/scripts/debug-console-wrapper.sh +0 -29
  164. data/dev/ci/scripts/docker-entrypoint-stage2.sh +0 -17
  165. data/dev/ci/scripts/docker-entrypoint.sh +0 -17
  166. data/dev/ci/scripts/inituidgid +0 -17
  167. data/dev/ci/scripts/run-tests-natively-stage2.sh +0 -17
  168. data/dev/ci/scripts/setup-host-natively.sh +0 -11
  169. data/dev/ci/setup-host +0 -56
  170. data/dev/ci/tests/apache2/run +0 -6
  171. data/dev/ci/tests/apache2/setup +0 -4
  172. data/dev/ci/tests/binaries/Jenkinsfile +0 -105
  173. data/dev/ci/tests/binaries/build-linux +0 -38
  174. data/dev/ci/tests/binaries/build-macos +0 -40
  175. data/dev/ci/tests/binaries/prepare-macos +0 -38
  176. data/dev/ci/tests/binaries/test-linux +0 -45
  177. data/dev/ci/tests/binaries/test-macos +0 -38
  178. data/dev/ci/tests/cxx/run +0 -9
  179. data/dev/ci/tests/cxx/setup +0 -4
  180. data/dev/ci/tests/debian/Jenkinsfile +0 -89
  181. data/dev/ci/tests/debian/run +0 -60
  182. data/dev/ci/tests/nginx-dynamic/run +0 -20
  183. data/dev/ci/tests/nginx-dynamic/setup +0 -4
  184. data/dev/ci/tests/nginx/run +0 -5
  185. data/dev/ci/tests/nginx/setup +0 -4
  186. data/dev/ci/tests/nodejs/run +0 -4
  187. data/dev/ci/tests/nodejs/setup +0 -4
  188. data/dev/ci/tests/rpm/Jenkinsfile +0 -68
  189. data/dev/ci/tests/rpm/run +0 -63
  190. data/dev/ci/tests/ruby/run +0 -4
  191. data/dev/ci/tests/ruby/setup +0 -4
  192. data/dev/ci/tests/source-packaging/run +0 -4
  193. data/dev/ci/tests/source-packaging/setup +0 -4
  194. data/dev/ci/tests/standalone/run +0 -4
  195. data/dev/ci/tests/standalone/setup +0 -4
  196. data/dev/configkit-schemas/index.json +0 -1850
  197. data/dev/configkit-schemas/update_schema_inline_comments.rb +0 -118
  198. data/dev/rack.test/config.ru +0 -5
  199. data/dev/rack.test/public/asset.txt +0 -1
  200. data/dev/vagrant/apache_default_site.conf +0 -35
  201. data/dev/vagrant/apache_passenger.conf +0 -5
  202. data/dev/vagrant/apache_passenger.load +0 -1
  203. data/dev/vagrant/apache_ports.conf +0 -24
  204. data/dev/vagrant/apache_rack_test.conf +0 -9
  205. data/dev/vagrant/bashrc +0 -23
  206. data/dev/vagrant/nginx.conf +0 -39
  207. data/dev/vagrant/nginx_rakefile +0 -33
  208. data/dev/vagrant/nginx_start +0 -32
  209. data/dev/vagrant/provision.sh +0 -117
  210. data/dev/vagrant/sudoers.conf +0 -5
  211. data/resources/templates/error_renderer/.editorconfig +0 -19
@@ -1,118 +0,0 @@
1
- #!/usr/bin/env ruby
2
- require_relative '../../src/ruby_supportlib/phusion_passenger/utils/json'
3
-
4
- SimpleJSON = PhusionPassenger::Utils::JSON
5
-
6
- FILES = Dir['src/**/*.{h,cpp}']
7
- SCHEMAS = SimpleJSON.parse(File.read('dev/configkit-schemas/index.json'))
8
-
9
- def main
10
- FILES.each do |path|
11
- update_file(path)
12
- end
13
- end
14
-
15
- def update_file(path)
16
- content = File.open(path, 'r:utf-8') do |f|
17
- f.read
18
- end
19
- orig_content = content.dup
20
-
21
- pos = 0
22
-
23
- while match_begin = /^(.*?)BEGIN ConfigKit schema: (.+)/.match(content, pos)
24
- if match_end = /END/.match(content, match_begin.end(0))
25
- prefix = match_begin.captures[0]
26
- class_name = match_begin.captures[1]
27
- replacement = format_inline_comment_for_schema(prefix, class_name)
28
-
29
- content[match_begin.begin(0) .. match_end.end(0) - 1] = replacement
30
- pos = match_begin.begin(0) + replacement.size
31
- else
32
- break
33
- end
34
- end
35
-
36
- if content != orig_content
37
- puts "Updating #{path}"
38
- File.open(path, 'w:utf-8') do |f|
39
- f.write(content)
40
- end
41
- end
42
- end
43
-
44
- def format_inline_comment_for_schema(prefix, class_name)
45
- lines = [
46
- "BEGIN ConfigKit schema: #{class_name}",
47
- "(do not edit: following text is automatically generated",
48
- "by 'rake configkit_schemas_inline_comments')",
49
- ""
50
- ]
51
-
52
- if schema = SCHEMAS[class_name]
53
- table = []
54
- schema.each_pair do |key, info|
55
- table << [
56
- key,
57
- info['type'],
58
- info['required'] ? 'required' : '-',
59
- format_option_names(info)
60
- ]
61
- end
62
-
63
- column_lengths = find_max_column_lengths(table)
64
- table.each do |row|
65
- fmt = " %-#{column_lengths[0]}s %-#{column_lengths[1]}s %-#{column_lengths[2]}s %-#{column_lengths[3]}s"
66
- lines << sprintf(fmt, *row)
67
- end
68
- else
69
- lines << "(unknown: #{class_name} not in dev/configkit-schemas/index.json"
70
- lines << " Please run:"
71
- lines << " touch src/schema_printer/SchemaPrinterMain.cpp.cxxcodebuilder"
72
- lines << " rake configkit_schemas_inline_comments"
73
- lines << ")"
74
- end
75
-
76
- lines << ""
77
- lines << "END"
78
- lines.map{ |x| "#{prefix}#{x}".rstrip }.join("\n")
79
- end
80
-
81
- def format_option_names(schema_entry)
82
- options = []
83
- if schema_entry['has_default_value']
84
- if schema_entry['has_default_value'] == 'static'
85
- desc = format_default_value_desc(schema_entry['default_value'])
86
- options << "default(#{desc})"
87
- else
88
- options << 'default'
89
- end
90
- end
91
- options << 'secret' if schema_entry['secret']
92
- options << 'read_only' if schema_entry['read_only']
93
- result = options.join(',')
94
- result = '-' if result.empty?
95
- result
96
- end
97
-
98
- def format_default_value_desc(value)
99
- if value.is_a?(Array) || value.is_a?(Hash)
100
- SimpleJSON.generate(value)
101
- else
102
- SimpleJSON.generate([value]).sub(/\A\[/, '').sub(/\]\Z/, '')
103
- end
104
- end
105
-
106
- def find_max_column_lengths(table)
107
- lengths = []
108
- table.each do |row|
109
- row.each_with_index do |col, i|
110
- if lengths[i].nil? || lengths[i] < col.size
111
- lengths[i] = col.size
112
- end
113
- end
114
- end
115
- lengths
116
- end
117
-
118
- main
@@ -1,5 +0,0 @@
1
- app = lambda do |env|
2
- [200, { "Content-Type" => "text/plain" }, ["ok\n"]]
3
- end
4
-
5
- run app
@@ -1 +0,0 @@
1
- This is a static asset.
@@ -1,35 +0,0 @@
1
- # This file is overwritten by 'vagrant provision'. For the source,
2
- # see dev/vagrant/apache_default_site.conf in the Phusion Passenger source
3
- # tree.
4
-
5
- <VirtualHost *:8000>
6
- # The ServerName directive sets the request scheme, hostname and port that
7
- # the server uses to identify itself. This is used when creating
8
- # redirection URLs. In the context of virtual hosts, the ServerName
9
- # specifies what hostname must appear in the request's Host: header to
10
- # match this virtual host. For the default virtual host (this file) this
11
- # value is not decisive as it is used as a last resort host regardless.
12
- # However, you must set it for any further virtual host explicitly.
13
- #ServerName www.example.com
14
-
15
- ServerAdmin webmaster@localhost
16
- DocumentRoot /var/www/html
17
-
18
- # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
19
- # error, crit, alert, emerg.
20
- # It is also possible to configure the loglevel for particular
21
- # modules, e.g.
22
- #LogLevel info ssl:warn
23
-
24
- ErrorLog ${APACHE_LOG_DIR}/error.log
25
- CustomLog ${APACHE_LOG_DIR}/access.log combined
26
-
27
- # For most configuration files from conf-available/, which are
28
- # enabled or disabled at a global level, it is possible to
29
- # include a line for only one particular virtual host. For example the
30
- # following line enables the CGI configuration for this host only
31
- # after it has been globally disabled with "a2disconf".
32
- #Include conf-available/serve-cgi-bin.conf
33
- </VirtualHost>
34
-
35
- # vim: syntax=apache ts=4 sw=4 sts=4 sr noet
@@ -1,5 +0,0 @@
1
- <IfModule mod_passenger.c>
2
- PassengerRoot /vagrant
3
- PassengerDefaultRuby /usr/bin/ruby
4
- PassengerLogLevel 1
5
- </IfModule>
@@ -1 +0,0 @@
1
- LoadModule passenger_module /vagrant/buildout/apache2/mod_passenger.so
@@ -1,24 +0,0 @@
1
- # This file is overwritten by 'vagrant provision'. For the source,
2
- # see dev/vagrant/apache_ports.conf in the Phusion Passenger source
3
- # tree.
4
-
5
- # If you just change the port or add more ports here, you will likely also
6
- # have to change the VirtualHost statement in
7
- # /etc/apache2/sites-enabled/000-default.conf
8
-
9
- Listen 8000
10
- Listen 8001
11
- Listen 8002
12
- Listen 8003
13
- Listen 8004
14
- Listen 8005
15
-
16
- <IfModule ssl_module>
17
- Listen 8010
18
- </IfModule>
19
-
20
- <IfModule mod_gnutls.c>
21
- Listen 8010
22
- </IfModule>
23
-
24
- # vim: syntax=apache ts=4 sw=4 sts=4 sr noet
@@ -1,9 +0,0 @@
1
- <VirtualHost *:8001>
2
- ServerName rack.test
3
- DocumentRoot /vagrant/dev/rack.test/public
4
- <Directory /vagrant/dev/rack.test/public>
5
- Allow from all
6
- Options -MultiViews
7
- Require all granted
8
- </Directory>
9
- </VirtualHost>
@@ -1,23 +0,0 @@
1
- # This file is overwritten by 'vagrant provision'. For the source,
2
- # see dev/vagrant/bashrc in the Phusion Passenger source
3
- # tree.
4
-
5
- # Display git branch in bash prompt.
6
- export PS1='\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w$(__git_ps1 " (%s)")]\$ '
7
-
8
- # Add Phusion Passenger command line tools to PATH.
9
- export PATH=/vagrant/bin:$PATH
10
-
11
- # Tell Phusion Passenger's build system to use ccache.
12
- export USE_CCACHE=1
13
- export CCACHE_COMPRESS=1
14
-
15
- # Tell Phusion Passenger Standalone to run in debug mode.
16
- export PASSENGER_DEBUG=1
17
-
18
- export PASSENGER_VAGRANT_ENVIRONMENT=1
19
-
20
- alias ls='ls -Fh --color'
21
- alias dir='ls -l'
22
- alias free='free -m'
23
- alias df='df -h'
@@ -1,39 +0,0 @@
1
- daemon off;
2
- worker_processes 1;
3
- #user nobody;
4
- #error_log logs/error.log debug;
5
- #pid logs/nginx.pid;
6
-
7
-
8
- events {
9
- worker_connections 1024;
10
- }
11
-
12
-
13
- http {
14
- include mime.types;
15
- default_type application/octet-stream;
16
- sendfile on;
17
- keepalive_timeout 65;
18
- #gzip on;
19
-
20
- passenger_root /vagrant;
21
- passenger_ruby /usr/bin/ruby;
22
- passenger_log_level 1;
23
-
24
- server {
25
- listen 8100;
26
- server_name localhost;
27
- location / {
28
- root html;
29
- index index.html index.htm;
30
- }
31
- }
32
-
33
- server {
34
- listen 8101;
35
- server_name rack.test;
36
- root /vagrant/dev/rack.test/public;
37
- passenger_enabled on;
38
- }
39
- }
@@ -1,33 +0,0 @@
1
- ENV['CC'] ||= 'ccache cc'
2
- ENV['CXX'] ||= 'ccache c++'
3
-
4
- desc "Bootstrap Nginx for the first time"
5
- task :bootstrap => :configure do
6
- sh "make -j2"
7
- sh "make install"
8
- sh "rm -f inst/sbin/nginx"
9
- puts
10
- puts "--------------------------"
11
- puts "You're all set! You can start Nginx by running:"
12
- puts
13
- puts " ./start"
14
- puts
15
- puts "Nginx can be reached from the host machine on http://127.0.0.1:8100/"
16
- puts
17
- puts "You never have to run `rake bootstrap` again. You also never have to " +
18
- "run `make install`. If you've made changes to the Passenger Nginx module, " +
19
- "simply run `make && ./start` in /home/vagrant/nginx. The `start` script " +
20
- "will start the newly compiled Nginx binary directly."
21
- end
22
-
23
- desc "Configure Nginx source tree"
24
- task :configure do
25
- sh "./configure --prefix=/home/vagrant/nginx/inst" +
26
- " --add-module=/vagrant/src/nginx_module" +
27
- " --with-http_ssl_module" +
28
- " --with-http_gzip_static_module" +
29
- " --with-http_stub_status_module" +
30
- " --with-http_v2_module" +
31
- " --with-debug"
32
- sh "sed", "-E", "-i", 's/ -O[0-9]? / -ggdb /g', "objs/Makefile"
33
- end
@@ -1,32 +0,0 @@
1
- #!/usr/bin/ruby
2
- # This file is overwritten by 'vagrant provision'. For the source,
3
- # see dev/vagrant/nginx_start in the Phusion Passenger source
4
- # tree.
5
-
6
- ENV['PASSENGER_BEEP_ON_ABORT'] = '1'
7
-
8
- def run_in_bg(*command)
9
- return fork do
10
- Process.setsid
11
- exec(*command)
12
- end
13
- end
14
-
15
- File.open('inst/logs/error.log', 'a') do |f|
16
- f.write("\n\n\n\n-------------- NGINX START #{Time.now} --------------\n\n\n\n")
17
- end
18
-
19
- tail_pid = run_in_bg("tail -n 0 -f inst/logs/error.log")
20
- nginx_pid = run_in_bg("./objs/nginx", *ARGV)
21
- begin
22
- Process.waitpid(nginx_pid)
23
- nginx_pid = nil
24
- rescue Interrupt
25
- ensure
26
- Process.kill('INT', tail_pid)
27
- Process.waitpid(tail_pid)
28
- if nginx_pid
29
- Process.kill('INT', nginx_pid)
30
- Process.waitpid(nginx_pid)
31
- end
32
- end
@@ -1,117 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -ex
3
- set -o pipefail
4
-
5
-
6
- ### Update /etc/hosts
7
-
8
- if ! grep -q passenger.test /etc/hosts; then
9
- cat >>/etc/hosts <<-EOF
10
-
11
- 127.0.0.1 passenger.test
12
- 127.0.0.1 mycook.passenger.test
13
- 127.0.0.1 zsfa.passenger.test
14
- 127.0.0.1 norails.passenger.test
15
- 127.0.0.1 1.passenger.test 2.passenger.test 3.passenger.test
16
- 127.0.0.1 4.passenger.test 5.passenger.test 6.passenger.test
17
- 127.0.0.1 7.passenger.test 8.passenger.test 9.passenger.test
18
- 127.0.0.1 rack.test foobar.test
19
- EOF
20
- fi
21
-
22
-
23
- ### Update bashrc and bash profile
24
-
25
- if ! grep -q bashrc.mine /etc/bash.bashrc; then
26
- echo ". /etc/bash.bashrc.mine" >> /etc/bash.bashrc
27
- fi
28
- if ! grep -q bashrc.mine /home/vagrant/.bashrc; then
29
- echo ". /etc/bash.bashrc.mine" >> /home/vagrant/.bashrc
30
- fi
31
- if ! grep -q /vagrant /home/vagrant/.profile; then
32
- echo "if tty -s; then cd /vagrant; fi" >> /home/vagrant/.profile
33
- fi
34
- cp /vagrant/dev/vagrant/bashrc /etc/bash.bashrc.mine
35
- cp /vagrant/dev/vagrant/sudoers.conf /etc/sudoers.d/passenger
36
- chmod 440 /etc/sudoers.d/passenger
37
-
38
-
39
- ### Install native dependencies
40
-
41
- apt-get update
42
- apt-get install -y build-essential git bash-completion ccache wget \
43
- libxml2-dev libxslt1-dev libsqlite3-dev libcurl4-openssl-dev libpcre3-dev \
44
- ruby ruby-dev nodejs npm \
45
- apache2-mpm-worker apache2-threaded-dev
46
-
47
-
48
- ### Install basic gems
49
-
50
- if [[ ! -e /usr/local/bin/rake ]]; then
51
- gem install rake --no-rdoc --no-ri
52
- fi
53
- if [[ ! -e /usr/local/bin/drake ]]; then
54
- gem install drake --no-rdoc --no-ri
55
- fi
56
- if [[ ! -e /usr/local/bin/bundler ]]; then
57
- gem install bundler --no-rdoc --no-ri
58
- fi
59
-
60
-
61
- ### Install Phusion Passenger development dependencies
62
-
63
- pushd /vagrant
64
- if [[ ! -e ~/.test_deps_installed ]]; then
65
- rake test:install_deps SUDO=1 DEPS_TARGET=~/bundle
66
- touch ~/.test_deps_installed
67
- else
68
- bundle install --path ~/bundle
69
- fi
70
- popd
71
-
72
-
73
- ### Install Nginx source code
74
-
75
- pushd /home/vagrant
76
- if [[ ! -e nginx ]]; then
77
- sudo -u vagrant -H git clone -b branches/stable-1.6 https://github.com/nginx/nginx.git
78
- fi
79
- sudo -u vagrant -H mkdir -p nginx/inst/conf
80
- sudo -u vagrant -H cp /vagrant/dev/vagrant/nginx_start nginx/start
81
- if [[ ! -e nginx/Rakefile ]]; then
82
- sudo -u vagrant -H cp /vagrant/dev/vagrant/nginx_rakefile nginx/Rakefile
83
- fi
84
- if [[ ! -e nginx/inst/conf/nginx.conf ]]; then
85
- sudo -u vagrant -H cp /vagrant/dev/vagrant/nginx.conf nginx/inst/conf/
86
- fi
87
- if [[ ! -e nginx/nginx.conf && ! -h nginx/nginx.conf ]]; then
88
- sudo -u vagrant -H ln -s inst/conf/nginx.conf nginx/nginx.conf
89
- fi
90
- if [[ ! -e nginx/access.log && ! -h nginx/access.log ]]; then
91
- sudo -u vagrant -H ln -s inst/logs/access.log nginx/access.log
92
- fi
93
- if [[ ! -e nginx/error.log && ! -h nginx/error.log ]]; then
94
- sudo -u vagrant -H ln -s inst/logs/error.log nginx/error.log
95
- fi
96
- popd
97
-
98
-
99
- ### Set up Apache
100
-
101
- should_restart_apache=false
102
- cp /vagrant/dev/vagrant/apache_ports.conf /etc/apache2/ports.conf
103
- cp /vagrant/dev/vagrant/apache_default_site.conf /etc/apache2/sites-available/000-default.conf
104
- if [[ ! -e /etc/apache2/mods-available/passenger.conf ]]; then
105
- cp /vagrant/dev/vagrant/apache_passenger.conf /etc/apache2/mods-available/passenger.conf
106
- fi
107
- if [[ ! -e /etc/apache2/mods-available/passenger.load ]]; then
108
- cp /vagrant/dev/vagrant/apache_passenger.load /etc/apache2/mods-available/passenger.load
109
- fi
110
- if [[ ! -e /etc/apache2/sites-available/010-rack.test.conf ]]; then
111
- cp /vagrant/dev/vagrant/apache_rack_test.conf /etc/apache2/sites-available/010-rack.test.conf
112
- a2ensite 010-rack.test
113
- should_restart_apache=true
114
- fi
115
- if $should_restart_apache; then
116
- service apache2 restart
117
- fi