passenger 4.0.17 → 4.0.18

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 (41) hide show
  1. data.tar.gz.asc +7 -7
  2. data/NEWS +21 -0
  3. data/bin/passenger +2 -0
  4. data/bin/passenger-config +2 -0
  5. data/bin/passenger-install-apache2-module +2 -0
  6. data/bin/passenger-install-nginx-module +2 -0
  7. data/bin/passenger-memory-stats +2 -0
  8. data/bin/passenger-status +2 -0
  9. data/build/debian.rb +3 -1
  10. data/build/packaging.rb +42 -2
  11. data/build/preprocessor.rb +7 -0
  12. data/debian.template/control.template +9 -3
  13. data/debian.template/rules.template +2 -1
  14. data/doc/Users guide Apache.idmap.txt +5 -1
  15. data/doc/Users guide Nginx.idmap.txt +5 -1
  16. data/doc/users_guide_snippets/installation.txt +71 -64
  17. data/ext/apache2/Hooks.cpp +17 -1
  18. data/ext/common/ApplicationPool2/Process.h +38 -2
  19. data/ext/common/Constants.h +5 -1
  20. data/ext/common/EventedClient.h +22 -1
  21. data/ext/common/EventedMessageServer.h +15 -0
  22. data/ext/common/UnionStation.h +2 -2
  23. data/ext/common/agents/HelperAgent/RequestHandler.h +24 -9
  24. data/ext/common/agents/LoggingAgent/LoggingServer.h +24 -11
  25. data/ext/oxt/backtrace.hpp +4 -6
  26. data/ext/oxt/detail/backtrace_disabled.hpp +1 -0
  27. data/ext/oxt/detail/backtrace_enabled.hpp +10 -4
  28. data/ext/oxt/detail/context.hpp +1 -0
  29. data/ext/oxt/implementation.cpp +21 -7
  30. data/helper-scripts/download_binaries/extconf.rb +1 -1
  31. data/lib/phusion_passenger.rb +1 -1
  32. data/lib/phusion_passenger/analytics_logger.rb +3 -3
  33. data/lib/phusion_passenger/constants.rb +2 -0
  34. data/lib/phusion_passenger/packaging.rb +16 -0
  35. data/lib/phusion_passenger/standalone/command.rb +3 -0
  36. data/lib/phusion_passenger/standalone/start_command.rb +40 -2
  37. data/resources/templates/standalone/config.erb +3 -0
  38. data/test/cxx/UnionStationTest.cpp +11 -11
  39. data/test/ruby/analytics_logger_spec.rb +1 -1
  40. metadata +2 -2
  41. metadata.gz.asc +7 -7
data.tar.gz.asc CHANGED
@@ -2,11 +2,11 @@
2
2
  Version: GnuPG/MacGPG2 v2.0.17 (Darwin)
3
3
  Comment: GPGTools - http://gpgtools.org
4
4
 
5
- iQEcBAABAgAGBQJSLtLBAAoJECrHRaUKISqMKaMIAIcjl+ySg+pTg2eXZ/VBZM1l
6
- go4SMxBUG+vBZvwnRUnFKPi1kR2uWcY9+kWnw92gMC0iRAQUKO/rgroN3FE4Igti
7
- mF9OPKGkacZUdzTHZxP60KbzWqT9GcAWiixC+6mX5WuzGUtzGpJUkmCWzghbhhxs
8
- baqJA86yn3RVF4qZ1weYBSIyZZJi2boC8Z/qEXW/RR0ebbcZ2SZj3JvcHEFY7sxi
9
- 0HmlLC+XifIJMEoubnQQeAz7urgTf5aVGn9nDYHu5ccuFGp1CEI81mlki35A2Q2f
10
- dJoagg6cdh46RYHLvYnAYAecWWL5m6zvLk+nSWTX82jW0Ak7DTSlUQc/LS9lNNc=
11
- =8iM+
5
+ iQEcBAABAgAGBQJSOKPwAAoJECrHRaUKISqMIWsIAI0gIk9gSi5obV1E6ZzujCtb
6
+ caa6QFENT8p9GY1w6V1vy1j8IX5fH4lVp5NpVpSfLUpebER0NLWChF53xSQ7pt2x
7
+ ai9grp2EWke0mc/U8xpV1b/JdP3+6aAaynk0Gn6aqAz8Oj4Z1L3KL6zaaG8p8HX/
8
+ wmlyjbkXvVxakyk+JIldGjZIsZIskEq2Z9uKfUGj4JVFHSq06d2g3u8tM8hA8QpY
9
+ 6DmXvd2d/VV4S/g3UsvDqh69wKIEX43k4PTIgsyOypThkkoEiXcFMniBtnohPTfB
10
+ ShqktUEJUUsTPPtuKaIw/LnrLhE8HscgSn6kSDpsLeLgKDO5P9DIJVEiYQ2V4mI=
11
+ =UqRe
12
12
  -----END PGP SIGNATURE-----
data/NEWS CHANGED
@@ -1,3 +1,24 @@
1
+ Release 4.0.18
2
+ --------------
3
+
4
+ * The Enterprise variant of Phusion Passenger Standalone now supports
5
+ customizing the concurrency model and thread count from the command line.
6
+ * On Nginx, the Enterprise license is now only checked if Phusion Passenger
7
+ is enabled in Nginx. This allows you to deploy Nginx binaries, that have
8
+ Phusion Passenger Enterprise compiled in, to servers that are not
9
+ actually running Phusion Passenger Enterprise.
10
+ * Fixed a performance bug in the Union Station support code. In certain cases
11
+ where a lot of data must be sent to Union Station, the code is now over
12
+ 100 times faster.
13
+ * `passenger-status --show=union_station` now displays all clients that
14
+ are connected to the LoggingAgent.
15
+ * Added a workaround for Heroku so that exited processes are properly detected
16
+ as such.
17
+ * When using Phusion Passenger Standalone with Foreman, pressing Ctrl-C
18
+ in Foreman no longer results in runaway Nginx processes.
19
+ * Fixed backtraces in the Apache module.
20
+
21
+
1
22
  Release 4.0.17
2
23
  --------------
3
24
 
@@ -22,6 +22,8 @@
22
22
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23
23
  # THE SOFTWARE.
24
24
 
25
+ ## Magic comment: set locations.ini ##
26
+
25
27
  source_root = File.expand_path("..", File.dirname(__FILE__))
26
28
  $LOAD_PATH.unshift("#{source_root}/lib")
27
29
  require 'phusion_passenger'
@@ -22,6 +22,8 @@
22
22
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23
23
  # THE SOFTWARE.
24
24
 
25
+ ## Magic comment: set locations.ini ##
26
+
25
27
  source_root = File.expand_path("..", File.dirname(__FILE__))
26
28
  $LOAD_PATH.unshift("#{source_root}/lib")
27
29
  require 'phusion_passenger'
@@ -22,6 +22,8 @@
22
22
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23
23
  # THE SOFTWARE.
24
24
 
25
+ ## Magic comment: set locations.ini ##
26
+
25
27
  PASSENGER_ROOT = File.expand_path(File.dirname(__FILE__) + "/..")
26
28
  $LOAD_PATH.unshift("#{PASSENGER_ROOT}/lib")
27
29
  require 'phusion_passenger'
@@ -22,6 +22,8 @@
22
22
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23
23
  # THE SOFTWARE.
24
24
 
25
+ ## Magic comment: set locations.ini ##
26
+
25
27
  source_root = File.expand_path("..", File.dirname(__FILE__))
26
28
  $LOAD_PATH.unshift("#{source_root}/lib")
27
29
  require 'phusion_passenger'
@@ -22,6 +22,8 @@
22
22
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23
23
  # THE SOFTWARE.
24
24
 
25
+ ## Magic comment: set locations.ini ##
26
+
25
27
  source_root = File.expand_path("..", File.dirname(__FILE__))
26
28
  $LOAD_PATH.unshift("#{source_root}/lib")
27
29
  require 'phusion_passenger'
@@ -22,6 +22,8 @@
22
22
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23
23
  # THE SOFTWARE.
24
24
 
25
+ ## Magic comment: set locations.ini ##
26
+
25
27
  source_root = File.expand_path("..", File.dirname(__FILE__))
26
28
  $LOAD_PATH.unshift("#{source_root}/lib")
27
29
  require 'phusion_passenger'
@@ -161,7 +161,9 @@ end
161
161
  def create_debian_binary_package_task(distribution, arch)
162
162
  task "debian:binary_package:#{distribution}_#{arch}" => 'debian:binary_packages:check' do
163
163
  base_name = "#{DEBIAN_NAME}_#{PACKAGE_VERSION}-1~#{distribution}1"
164
- sh "cd #{PKG_DIR}/official && pbuilder-dist #{distribution} #{arch} build #{base_name}.dsc"
164
+ sh "cd #{PKG_DIR}/official && " +
165
+ "pbuilder-dist #{distribution} #{arch} build #{base_name}.dsc " +
166
+ "2>&1 | tee #{PKG_DIR}/official/passenger_#{distribution}_#{arch}.log"
165
167
  end
166
168
  end
167
169
 
@@ -53,6 +53,24 @@ def recursive_copy_files(files, destination_dir, preprocess = false, variables =
53
53
  end
54
54
  end
55
55
 
56
+ def word_wrap(text, max = 72)
57
+ while index = (lines = text.split("\n")).find_index{ |line| line.size > max }
58
+ line = lines[index]
59
+ pos = max
60
+ while pos >= 0 && line[pos..pos] != " "
61
+ pos -= 1
62
+ end
63
+ if pos < 0
64
+ raise "Cannot wrap line: #{line}"
65
+ else
66
+ lines[index] = line[0 .. pos - 1]
67
+ lines.insert(index + 1, line[pos + 1 .. -1])
68
+ text = lines.join("\n")
69
+ end
70
+ end
71
+ return text
72
+ end
73
+
56
74
 
57
75
  task :clobber => 'package:clean'
58
76
 
@@ -140,6 +158,12 @@ task 'package:release' => ['package:set_official', 'package:gem', 'package:tarba
140
158
  abort("Unable to substitute Homebrew formula tarball filename")
141
159
  formula.gsub!(/sha1 .*/, "sha1 '#{sha1}'") ||
142
160
  abort("Unable to substitute Homebrew formula SHA-1")
161
+ necessary_dirs = ORIG_TARBALL_FILES.call.map{ |filename| filename.split("/").first }.uniq
162
+ necessary_dirs -= PhusionPassenger::Packaging::HOMEBREW_EXCLUDE
163
+ necessary_dirs += ["buildout"]
164
+ necessary_dirs_str = word_wrap(necessary_dirs.inspect).split("\n").join("\n ")
165
+ formula.sub!(/necessary_files = .*?\]/m, "necessary_files = Dir#{necessary_dirs_str}") ||
166
+ abort("Unable to substitute file whitelist")
143
167
  File.open("/tmp/homebrew/Library/Formula/passenger.rb", "w") do |f|
144
168
  f.write(formula)
145
169
  end
@@ -149,7 +173,7 @@ task 'package:release' => ['package:set_official', 'package:gem', 'package:tarba
149
173
 
150
174
  puts "Initiating building of Debian packages"
151
175
  command = "cd /srv/passenger_apt_automation && " +
152
- "chpst -L /tmp/passenger_apt_automation.lock " +
176
+ "chpst -l /tmp/passenger_apt_automation.lock " +
153
177
  "/tools/silence-unless-failed " +
154
178
  "./new_release https://github.com/phusion/passenger.git passenger.repo passenger.apt release-#{version}"
155
179
  sh "ssh psg_apt_automation@juvia-helper.phusion.nl at now <<<'#{command}'"
@@ -171,7 +195,7 @@ task 'package:release' => ['package:set_official', 'package:gem', 'package:tarba
171
195
  puts "Initiating building of Debian packages"
172
196
  git_url = `git config remote.origin.url`.strip
173
197
  command = "cd /srv/passenger_apt_automation && " +
174
- "chpst -L /tmp/passenger_apt_automation.lock " +
198
+ "chpst -l /tmp/passenger_apt_automation.lock " +
175
199
  "/tools/silence-unless-failed " +
176
200
  "./new_release #{git_url} passenger-enterprise.repo passenger-enterprise.apt enterprise-#{version}"
177
201
  sh "ssh psg_apt_automation@juvia-helper.phusion.nl at now <<<'#{command}'"
@@ -267,6 +291,16 @@ task 'package:clean' do
267
291
  sh "rm -f pkg/#{basename}.{gem,gem.asc,tar.gz,tar.gz.asc}"
268
292
  end
269
293
 
294
+ def change_shebang(filename, value)
295
+ contents = File.open(filename, "r") do |f|
296
+ f.read
297
+ end
298
+ contents.gsub!(/\A#\!.+$/, "#!#{value}")
299
+ File.open(filename, "w") do |f|
300
+ f.write(contents)
301
+ end
302
+ end
303
+
270
304
  desc "Create a fakeroot, useful for building native packages"
271
305
  task :fakeroot => [:apache2, :nginx, :doc] do
272
306
  require 'rbconfig'
@@ -357,12 +391,18 @@ task :fakeroot => [:apache2, :nginx, :doc] do
357
391
  sh "mkdir -p #{fake_bindir}"
358
392
  Packaging::USER_EXECUTABLES.each do |exe|
359
393
  sh "cp bin/#{exe} #{fake_bindir}/"
394
+ if !Packaging::EXECUTABLES_WITH_FREE_RUBY.include?(exe)
395
+ change_shebang("#{fake_bindir}/#{exe}", "/usr/bin/ruby")
396
+ end
360
397
  end
361
398
 
362
399
  # Superuser binaries
363
400
  sh "mkdir -p #{fake_sbindir}"
364
401
  Packaging::SUPER_USER_EXECUTABLES.each do |exe|
365
402
  sh "cp bin/#{exe} #{fake_sbindir}/"
403
+ if !Packaging::EXECUTABLES_WITH_FREE_RUBY.include?(exe)
404
+ change_shebang("#{fake_sbindir}/#{exe}", "/usr/bin/ruby")
405
+ end
366
406
  end
367
407
 
368
408
  # Apache 2 module
@@ -183,12 +183,18 @@ private
183
183
  "raring" => "13.04",
184
184
  "saucy" => "13.10"
185
185
  }
186
+ DEBIAN_DISTRIBUTIONS = {
187
+ "squeeze" => "20110206",
188
+ "wheezy" => "20130504"
189
+ }
186
190
 
187
191
  # Provides the DSL that's accessible within.
188
192
  class Evaluator
189
193
  def _infer_distro_table(name)
190
194
  if UBUNTU_DISTRIBUTIONS.has_key?(name)
191
195
  return UBUNTU_DISTRIBUTIONS
196
+ elsif DEBIAN_DISTRIBUTIONS.has_key?(name)
197
+ return DEBIAN_DISTRIBUTIONS
192
198
  end
193
199
  end
194
200
 
@@ -207,6 +213,7 @@ private
207
213
  table2 = _infer_distro_table(name)
208
214
  raise "Distribution name #{@distribution.inspect} not recognized" if !table1
209
215
  raise "Distribution name #{name.inspect} not recognized" if !table2
216
+ return false if table1 != table2
210
217
  v1 = table1[@distribution]
211
218
  v2 = table2[name]
212
219
 
@@ -8,9 +8,9 @@ Build-Depends: debhelper (>= 7.0.50~), rake,
8
8
  ruby1.9.1, ruby1.9.1-dev,
9
9
  apache2-mpm-worker | apache2-mpm, apache2-threaded-dev,
10
10
  #if is_distribution?('<= lucid')
11
- rubygems1.9,
11
+ rubygems1.9,
12
12
  #endif
13
- #if is_distribution?('>= precise')
13
+ #if is_distribution?('>= precise') || is_distribution?('>= wheezy')
14
14
  libev-dev (>= 1:4.0.0),
15
15
  #endif
16
16
  libapr1-dev, libcurl4-openssl-dev
@@ -23,7 +23,13 @@ XS-Ruby-Versions: all
23
23
  Package: passenger
24
24
  Architecture: any
25
25
  Depends: ${shlibs:Depends}, ${misc:Depends}, ruby | ruby-interpreter,
26
- rubygems (>= 1.2), ruby-rack, ruby-daemon-controller
26
+ rubygems (>= 1.2),
27
+ #if is_distribution?('<= lucid') || is_distribution?('<= squeeze')
28
+ librack-ruby,
29
+ #else
30
+ ruby-rack,
31
+ #endif
32
+ ruby-daemon-controller
27
33
  Recommends: passenger-doc (= ${binary:Version}), passenger-dev (= ${binary:Version}),
28
34
  crash-watch
29
35
  Suggests: python
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/make -f
2
2
  # export DH_VERBOSE=1
3
3
 
4
- #if is_distribution?('>= precise')
4
+ #if is_distribution?('>= precise') || is_distribution?('>= wheezy')
5
5
  export USE_VENDORED_LIBEV=false
6
6
  #endif
7
7
 
@@ -31,6 +31,7 @@ override_dh_auto_install:
31
31
  # Merge Ruby 1.8 and 1.9 files into a single directory.
32
32
  cp -a pkg/fakeroot1.8/* debian/tmp/
33
33
  cp -a pkg/fakeroot1.9.1/* debian/tmp/
34
+ sed -i 's|## Magic comment: set locations\.ini ##|ENV["PASSENGER_LOCATION_CONFIGURATION_FILE"] = "/usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini"|' debian/tmp/usr/bin/* debian/tmp/usr/sbin/*
34
35
  touch debian/tmp/usr/share/<%= PhusionPassenger::GLOBAL_NAMESPACE_DIRNAME %>/release.txt
35
36
 
36
37
  override_dh_auto_clean:
@@ -26,7 +26,11 @@
26
26
 
27
27
  2.3. Generic installation, upgrade and downgrade method: via tarball => installing-via-the-source-tarball-1cgxrqc
28
28
 
29
- 2.4. Installing or upgrading on Debian 6 or Ubuntu => installing-or-upgrading-on-ubuntu-1xg22xs
29
+ 2.4. Installing or upgrading on Debian or Ubuntu => installing-or-upgrading-on-ubuntu-1xg22xs
30
+
31
+ 2.4.1. Adding our APT repository => adding-our-apt-repository-1l8plxk
32
+
33
+ 2.4.2. Installing packages => installing-packages-1jxn722
30
34
 
31
35
  2.5. Installing or upgrading on Red Hat, Fedora, CentOS or ScientificLinux => installing-or-upgrading-on-red-hat-fedora-centos-or-scientificlinux-1y5ie8b
32
36
 
@@ -26,7 +26,11 @@
26
26
 
27
27
  2.3. Generic installation, upgrade and downgrade method: via tarball => generic-installation-upgrade-and-downgrade-method-via-tarball-2gkx43
28
28
 
29
- 2.4. Installing or upgrading on Debian 6 or Ubuntu => installing-or-upgrading-on-ubuntu-fw5fvp
29
+ 2.4. Installing or upgrading on Debian or Ubuntu => installing-or-upgrading-on-ubuntu-fw5fvp
30
+
31
+ 2.4.1. Adding our APT repository => adding-our-apt-repository-p60cki
32
+
33
+ 2.4.2. Installing packages => installing-packages-j9glez
30
34
 
31
35
  2.5. Installing or upgrading on Red Hat, Fedora, CentOS or ScientificLinux => installing-or-upgrading-on-red-hat-fedora-centos-or-scientificlinux-1uus5a1
32
36
 
@@ -344,101 +344,108 @@ Please refer to <<verify_passenger_running,this section>>. Note that all Phusion
344
344
 
345
345
 
346
346
  [[install_on_debian_ubuntu]]
347
- === Installing or upgrading on Debian 6 or Ubuntu
347
+ === Installing or upgrading on Debian or Ubuntu
348
348
 
349
- John Leach from Brightbox has kindly provided Ubuntu packages for Phusion Passenger. The Ubuntu Lucid packages are compatible with Debian 6. The packages are available from the link:http://wiki.brightbox.co.uk/docs:phusion-passenger[Brightbox repository]. Only packages for the open source version of Phusion Passenger are provided. link:https://www.phusionpassenger.com/enterprise[Phusion Passenger Enterprise] customers should use the <<rubygems_generic_install,generic RubyGems installation method>> or <<tarball_generic_install,the generic tarball installation method>> instead.
349
+ We provide and official Phusion Passenger APT repository. This APT repository contains Phusion Passenger packages for multiple versions of Debian and Ubuntu. These packages are automatically built by our build server after we push out a source release, and thus are always up to date with the official source releases.
350
350
 
351
351
  If you use these packages to install Phusion Passenger then you do not need to run `passenger-install-apache2-module` or `passenger-install-nginx-module`. These packages contain all the binaries that you need.
352
352
 
353
- .Apache
353
+ Packages are available for the x86 and x86_64 architectures. Our policy is to support all Ubuntu LTS releases that are still supported by Canonical, plus the latest non-LTS Ubuntu release, plus all Debian releases that are still supported by Debian.
354
354
 
355
- First register the Brightbox Apache PPA. Run this on Ubuntu:
355
+ ==== Adding our APT repository
356
356
 
357
- -----------------------------
358
- sudo apt-add-repository ppa:brightbox/passenger-experimental
359
- sudo apt-get update
360
- -----------------------------
357
+ Packages are signed by "Phusion Automated Software Signing (auto-software-signing@phusion.nl)", fingerprint 1637 8A33 A6EF 1676 2922 526E 561F 9B9C AC40 B2F7. Install our PGP key:
361
358
 
362
- On Debian, the `apt-add-repository` command isn't available so you have to install the repository and the key by hand:
359
+ --------------------------------------------------------------
360
+ gpg --keyserver keyserver.ubuntu.com --recv-keys 561F9B9CAC40B2F7
361
+ gpg --armor --export 561F9B9CAC40B2F7 | sudo apt-key add -
362
+ --------------------------------------------------------------
363
363
 
364
- -----------------------------
365
- echo deb http://ppa.launchpad.net/brightbox/passenger-experimental/ubuntu lucid main | sudo tee /etc/apt/sources.list.d/brightbox-passenger.list
366
- sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C3173AA6
367
- sudo apt-get update
368
- -----------------------------
364
+ Our APT repository is stored on an HTTPS server so you may need to add HTTPS support for APT:
369
365
 
370
- Once the PPA is added, you can proceed with installing Phusion Passenger for Apache by running:
366
+ --------------------------------------------------------------
367
+ sudo apt-get install apt-transport-https
368
+ --------------------------------------------------------------
371
369
 
372
- ---------------------------------------------
373
- sudo apt-get install libapache2-mod-passenger
374
- ---------------------------------------------
370
+ Next, create a file `/etc/apt/sources.list.d/passenger.list` and insert one of the following lines, depending on your distribution.
375
371
 
376
- The Apache package provides configuration snippets for you, so you don't need to modify any Apache configuration to get it to load Phusion Passenger.
372
+ Phusion Passenger open source:
377
373
 
378
- .Nginx
374
+ --------------------------------------------------------------
375
+ deb https://oss-binaries.phusionpassenger.com/apt/passenger lucid main
376
+ deb https://oss-binaries.phusionpassenger.com/apt/passenger precise main
377
+ deb https://oss-binaries.phusionpassenger.com/apt/passenger raring main
378
+ deb https://oss-binaries.phusionpassenger.com/apt/passenger squeeze main
379
+ deb https://oss-binaries.phusionpassenger.com/apt/passenger wheezy main
380
+ --------------------------------------------------------------
379
381
 
380
- First register the Brightbox Apache PPA. Run this on Ubuntu:
382
+ Phusion Passenger Enterprise:
381
383
 
382
- -----------------------------
383
- sudo apt-add-repository ppa:brightbox/passenger-experimental
384
- sudo apt-get update
385
- -----------------------------
384
+ --------------------------------------------------------------
385
+ deb https://YOUR_ORDER_REFERENCE:YOUR_PASSWORD@www.phusionpassenger.com/enterprise_apt lucid main
386
+ deb https://YOUR_ORDER_REFERENCE:YOUR_PASSWORD@www.phusionpassenger.com/enterprise_apt precise main
387
+ deb https://YOUR_ORDER_REFERENCE:YOUR_PASSWORD@www.phusionpassenger.com/enterprise_apt raring main
388
+ deb https://YOUR_ORDER_REFERENCE:YOUR_PASSWORD@www.phusionpassenger.com/enterprise_apt squeeze main
389
+ deb https://YOUR_ORDER_REFERENCE:YOUR_PASSWORD@www.phusionpassenger.com/enterprise_apt wheezy main
390
+ --------------------------------------------------------------
386
391
 
387
- On Debian, the `apt-add-repository` command isn't available so you have to install the repository and the key by hand:
392
+ Please replace 'YOUR_ORDER_REFERENCE' and 'YOUR_PASSWORD' with your link:https://www.phusionpassenger.com/orders[Customer Area] login credentials.
388
393
 
389
- -----------------------------
390
- echo deb http://ppa.launchpad.net/brightbox/passenger-experimental/ubuntu lucid main | sudo tee /etc/apt/sources.list.d/brightbox-passenger-nginx.list
391
- sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C3173AA6
394
+ After creating `/etc/apt/sources.list.d/passenger.list`, run:
395
+
396
+ --------------------------------------------------------------
397
+ sudo chown root: /etc/apt/sources.list.d/passenger.list
398
+ sudo chmod 600 /etc/apt/sources.list.d/passenger.list
392
399
  sudo apt-get update
393
- -----------------------------
400
+ --------------------------------------------------------------
394
401
 
395
- Once the PPA is added, you can proceed with installing Phusion Passenger for Nginx by running:
402
+ ==== Installing packages
396
403
 
397
- ---------------------------------------------
398
- sudo apt-get install nginx-full
399
- ---------------------------------------------
404
+ .Open source
400
405
 
401
- You'll then need to enable the Phusion Passenger module in Nginx by creating the following configuration file:
406
+ To install Phusion Passenger for Nginx:
402
407
 
403
- -----------------------------------------------
404
- echo "passenger_root /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini;" | sudo tee /etc/nginx/conf.d/passenger.conf
405
- -----------------------------------------------
408
+ --------------------------------------------------------------
409
+ sudo apt-get install nginx-full passenger
410
+ --------------------------------------------------------------
406
411
 
407
- Then restart Nginx to apply the changes:
412
+ Then edit `/etc/nginx/nginx.conf`, and uncomment `passenger_root` and `passenger_ruby`. Finally, run `sudo service nginx restart`.
408
413
 
409
- ----------------------------------------
410
- sudo /etc/init.d/nginx restart
411
- ----------------------------------------
414
+ To install Phusion Passenger for Apache:
412
415
 
413
- .Standalone
416
+ --------------------------------------------------------------
417
+ sudo apt-get install libapache2-mod-passenger
418
+ --------------------------------------------------------------
414
419
 
415
- First register the Brightbox Apache PPA. Run this on Ubuntu:
420
+ To install Phusion Passenger Standalone:
416
421
 
417
- -----------------------------
418
- sudo apt-add-repository ppa:brightbox/passenger-experimental
419
- sudo apt-get update
420
- -----------------------------
422
+ --------------------------------------------------------------
423
+ sudo apt-get install passenger
424
+ --------------------------------------------------------------
421
425
 
422
- On Debian, the `apt-add-repository` command isn't available so you have to install the repository and the key by hand:
426
+ .Enterprise
423
427
 
424
- -----------------------------
425
- echo deb http://ppa.launchpad.net/brightbox/passenger-experimental/ubuntu lucid main | sudo tee /etc/apt/sources.list.d/brightbox-passenger.list
426
- sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C3173AA6
427
- sudo apt-get update
428
- -----------------------------
428
+ Before installing packages, download your license key from the link:https://www.phusionpassenger.com/orders[Customer Area] and save it as `/etc/passenger-enterprise-license`.
429
429
 
430
- Once the PPA is added, you can proceed with installing Phusion Passenger for Apache by running:
430
+ To install Phusion Passenger for Nginx:
431
431
 
432
- ---------------------------------------------
433
- sudo apt-get install ruby-passenger
434
- ---------------------------------------------
432
+ --------------------------------------------------------------
433
+ sudo apt-get install nginx-full passenger-enterprise
434
+ --------------------------------------------------------------
435
435
 
436
- You can then proceed with starting Phusion Passenger Standalone:
436
+ Then edit `/etc/nginx/nginx.conf`, and uncomment `passenger_root` and `passenger_ruby`. Finally, run `sudo service nginx restart`.
437
437
 
438
- ---------------------------------------------
439
- cd /path-to-your-app
440
- passenger start
441
- ---------------------------------------------
438
+ To install Phusion Passenger for Apache:
439
+
440
+ --------------------------------------------------------------
441
+ sudo apt-get install libapache2-mod-passenger-enterprise
442
+ --------------------------------------------------------------
443
+
444
+ To install Phusion Passenger Standalone:
445
+
446
+ --------------------------------------------------------------
447
+ sudo apt-get install passenger-enterprise
448
+ --------------------------------------------------------------
442
449
 
443
450
 
444
451
  === Installing or upgrading on Red Hat, Fedora, CentOS or ScientificLinux
@@ -806,7 +813,7 @@ uninstalling the Phusion Passenger files, so that the web server behaves as if P
806
813
  Passenger was never installed in the first place. This might be useful to you if -
807
814
  for example - you seem to be experiencing a problem caused by Phusion Passenger,
808
815
  but you want to make sure whether that's actually the case without having
809
- to through the hassle of uninstalling Phusion Passenger completely. When disabled,
816
+ to go through the hassle of uninstalling Phusion Passenger completely. When disabled,
810
817
  Phusion Passenger will not occupy any memory or CPU or otherwise interfere with
811
818
  the web server.
812
819