passenger 5.0.7 → 5.0.8

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 (50) hide show
  1. checksums.yaml +8 -8
  2. checksums.yaml.gz.asc +7 -7
  3. data.tar.gz.asc +7 -7
  4. data/CHANGELOG +17 -0
  5. data/bin/passenger-install-apache2-module +37 -5
  6. data/build/basics.rb +4 -1
  7. data/build/integration_tests.rb +6 -3
  8. data/build/packaging.rb +64 -4
  9. data/dev/ci/run_jenkins.sh +1 -7
  10. data/dev/ci/run_travis.sh +2 -34
  11. data/doc/Users guide Apache.html +184 -96
  12. data/doc/Users guide Apache.idmap.txt +9 -3
  13. data/doc/Users guide Apache.txt +11 -31
  14. data/doc/Users guide Nginx.html +192 -53
  15. data/doc/Users guide Nginx.idmap.txt +9 -3
  16. data/doc/Users guide Nginx.txt +7 -2
  17. data/doc/Users guide Standalone.html +113 -55
  18. data/doc/Users guide Standalone.idmap.txt +5 -1
  19. data/doc/users_guide_snippets/installation.txt +130 -66
  20. data/doc/users_guide_snippets/tips.txt +38 -0
  21. data/ext/apache2/Hooks.cpp +28 -2
  22. data/ext/common/AgentsStarter.h +6 -0
  23. data/ext/common/ApplicationPool2/AppTypes.h +1 -1
  24. data/ext/common/ApplicationPool2/Group.h +25 -3
  25. data/ext/common/ApplicationPool2/Options.h +1 -1
  26. data/ext/common/ApplicationPool2/Pool/GarbageCollection.h +6 -3
  27. data/ext/common/Constants.h +3 -1
  28. data/ext/common/ServerKit/http_parser.cpp +7 -1
  29. data/ext/common/agents/HelperAgent/Main.cpp +53 -0
  30. data/ext/common/agents/HelperAgent/RequestHandler.h +4 -0
  31. data/ext/common/agents/HelperAgent/RequestHandler/ForwardResponse.cpp +6 -0
  32. data/ext/nginx/ngx_http_passenger_module.c +2 -2
  33. data/lib/phusion_passenger.rb +15 -2
  34. data/lib/phusion_passenger/admin_tools/instance_registry.rb +40 -27
  35. data/lib/phusion_passenger/config/install_agent_command.rb +4 -0
  36. data/lib/phusion_passenger/config/install_standalone_runtime_command.rb +6 -0
  37. data/lib/phusion_passenger/config/installation_utils.rb +8 -2
  38. data/lib/phusion_passenger/config/nginx_engine_compiler.rb +16 -7
  39. data/lib/phusion_passenger/config/validate_install_command.rb +87 -11
  40. data/lib/phusion_passenger/constants.rb +2 -0
  41. data/lib/phusion_passenger/platform_info/apache.rb +114 -33
  42. data/lib/phusion_passenger/platform_info/apache_detector.rb +28 -4
  43. data/lib/phusion_passenger/platform_info/compiler.rb +22 -27
  44. data/lib/phusion_passenger/standalone/start_command.rb +16 -3
  45. data/lib/phusion_passenger/standalone/start_command/builtin_engine.rb +1 -0
  46. data/resources/templates/apache2/rpm_installation_recommended.txt.erb +19 -0
  47. data/resources/templates/standalone/config.erb +3 -2
  48. metadata +3 -3
  49. metadata.gz.asc +7 -7
  50. data/dev/ci/run_rpm_tests.sh +0 -80
@@ -32,7 +32,11 @@
32
32
 
33
33
  2.3.3. Inserting passenger_root into nginx.conf => inserting-passenger-root-into-nginx-conf--1pmj19o
34
34
 
35
- 2.4. Installing or upgrading on Red Hat, Fedora, CentOS or ScientificLinux => installing-or-upgrading-on-red-hat-fedora-centos-or-scientificlinux-1uus5a1
35
+ 2.4. Installing or upgrading on Red Hat or CentOS => installing-or-upgrading-on-red-hat-fedora-centos-or-scientificlinux-1uus5a1
36
+
37
+ 2.4.1. Adding our YUM repository => adding-our-yum-repository-2i9z9o
38
+
39
+ 2.4.2. Installing packages => installing-packages-1actlet
36
40
 
37
41
  2.5. Installing or upgrading on Heroku => installing-or-upgrading-on-heroku-jh07kr
38
42
 
@@ -242,7 +246,7 @@
242
246
 
243
247
  7.6.15. passenger_buffers => passenger-busy-buffers
244
248
 
245
- 7.6.16. passenger_busy_buffer_size => passenger-busy-buffer-size-124sj61
249
+ 7.6.16. passenger_busy_buffers_size => passenger-busy-buffer-size-124sj61
246
250
 
247
251
  7.7. Logging and debugging options => logging-and-debugging-options-14e91ni
248
252
 
@@ -310,7 +314,9 @@
310
314
 
311
315
  10.1.3. Caveats & troubleshooting => caveats-troubleshooting-mbw582
312
316
 
313
- 10.1.4. Finding out what user an application is running as => finding-out-what-user-an-application-is-running-as-1ni7zk6
317
+ 10.1.4. Red Hat and CentOS caveats => red-hat-and-centos-caveats-ilqxyl
318
+
319
+ 10.1.5. Finding out what user an application is running as => finding-out-what-user-an-application-is-running-as-1ni7zk6
314
320
 
315
321
  10.2. Copy-on-write memory support (reducing memory consumption of Ruby applications) => reducing-memory-consumption-of-ruby-on-rails-applications-by-33--1o3z66q
316
322
 
@@ -977,6 +977,8 @@ The default value is 'on'.
977
977
 
978
978
  NOTE: This option has no effect when you are using <<flying_passenger,Flying Passenger>>. You can disable user switching for Flying Passenger by starting the Flying Passenger daemon as a non-root user.
979
979
 
980
+ WARNING: If you're on Red Hat or CentOS, be sure to read <<user_switching_rpm_caveats,the Red Hat and CentOS user switching caveats>>.
981
+
980
982
  [[PassengerUser]]
981
983
  ==== passenger_user <username> ====
982
984
  If <<user_switching,user switching support>> is enabled, then Phusion Passenger will
@@ -1974,7 +1976,7 @@ This option may only occur once, in the 'http' configuration block. The default
1974
1976
 
1975
1977
  ==== passenger_buffer_size ====
1976
1978
  ==== passenger_buffers ====
1977
- ==== passenger_busy_buffer_size ====
1979
+ ==== passenger_busy_buffers_size ====
1978
1980
  These options have the same effect as ngx_http_proxy_module's similarly named options.
1979
1981
  They can be used to modify the maximum allowed HTTP header size.
1980
1982
 
@@ -2074,7 +2076,10 @@ This option is also useful if the partition that the temporary directory lives o
2074
2076
 
2075
2077
  The instance directory is automatically removed when Nginx shuts down.
2076
2078
 
2077
- This option may be specified once, in the `http` configuration block. The default value is the value of the `$TMPDIR` environment variable. Or, if `$TMPDIR` is not set, `/tmp`.
2079
+ This option may be specified once, in the `http` configuration block. The default value is as follows:
2080
+
2081
+ * If you are on Red Hat and CentOS, and installed Passenger through the RPMs provided by Phusion, then the default value is `/var/run/passenger-instreg`.
2082
+ * Otherwise, the default value is the value of the `$TMPDIR` environment variable. Or, if `$TMPDIR` is not set, `/tmp`.
2078
2083
 
2079
2084
  :option: `--instance-registry-dir`
2080
2085
  include::users_guide_snippets/alternative_for_flying_passenger.txt[]
@@ -1105,7 +1105,9 @@ pre {
1105
1105
  <div class="foo toclevel3"><a href="#install_on_debian_ubuntu">2.3. Installing or upgrading on Debian or Ubuntu</a></div>
1106
1106
  <div class="foo toclevel4"><a href="#install_add_apt_repo">2.3.1. Adding our APT repository</a></div>
1107
1107
  <div class="foo toclevel4"><a href="#_installing_packages">2.3.2. Installing packages</a></div>
1108
- <div class="foo toclevel3"><a href="#_installing_or_upgrading_on_red_hat_fedora_centos_or_scientificlinux">2.4. Installing or upgrading on Red Hat, Fedora, CentOS or ScientificLinux</a></div>
1108
+ <div class="foo toclevel3"><a href="#installing_or_upgrading_on_red_hat">2.4. Installing or upgrading on Red Hat or CentOS</a></div>
1109
+ <div class="foo toclevel4"><a href="#install_add_yum_repo">2.4.1. Adding our YUM repository</a></div>
1110
+ <div class="foo toclevel4"><a href="#_installing_packages_2">2.4.2. Installing packages</a></div>
1109
1111
  <div class="foo toclevel3"><a href="#_installing_or_upgrading_on_heroku">2.5. Installing or upgrading on Heroku</a></div>
1110
1112
  <div class="foo toclevel3"><a href="#rubygems_generic_install">2.6. Generic installation, upgrade and downgrade method: via RubyGems</a></div>
1111
1113
  <div class="foo toclevel3"><a href="#tarball_generic_install">2.7. Generic installation, upgrade and downgrade method: via tarball</a></div>
@@ -1419,12 +1421,14 @@ by Lorenzo Bettini
1419
1421
  http://www.lorenzobettini.it
1420
1422
  http://www.gnu.org/software/src-highlite -->
1421
1423
  <pre><tt><span style="font-style: italic"><span style="color: #9A1900">##### !!!! Only add ONE of these lines, not all of them !!!! #####</span></span>
1424
+ <span style="font-style: italic"><span style="color: #9A1900"># Ubuntu 15.04</span></span>
1425
+ deb https<span style="color: #990000">:</span>//oss-binaries<span style="color: #990000">.</span>phusionpassenger<span style="color: #990000">.</span>com/apt/passenger vivid main
1422
1426
  <span style="font-style: italic"><span style="color: #9A1900"># Ubuntu 14.04</span></span>
1423
1427
  deb https<span style="color: #990000">:</span>//oss-binaries<span style="color: #990000">.</span>phusionpassenger<span style="color: #990000">.</span>com/apt/passenger trusty main
1424
1428
  <span style="font-style: italic"><span style="color: #9A1900"># Ubuntu 12.04</span></span>
1425
1429
  deb https<span style="color: #990000">:</span>//oss-binaries<span style="color: #990000">.</span>phusionpassenger<span style="color: #990000">.</span>com/apt/passenger precise main
1426
- <span style="font-style: italic"><span style="color: #9A1900"># Ubuntu 10.04</span></span>
1427
- deb https<span style="color: #990000">:</span>//oss-binaries<span style="color: #990000">.</span>phusionpassenger<span style="color: #990000">.</span>com/apt/passenger lucid main
1430
+ <span style="font-style: italic"><span style="color: #9A1900"># Debian 8</span></span>
1431
+ deb https<span style="color: #990000">:</span>//oss-binaries<span style="color: #990000">.</span>phusionpassenger<span style="color: #990000">.</span>com/apt/passenger jessie main
1428
1432
  <span style="font-style: italic"><span style="color: #9A1900"># Debian 7</span></span>
1429
1433
  deb https<span style="color: #990000">:</span>//oss-binaries<span style="color: #990000">.</span>phusionpassenger<span style="color: #990000">.</span>com/apt/passenger wheezy main
1430
1434
  <span style="font-style: italic"><span style="color: #9A1900"># Debian 6</span></span>
@@ -1443,12 +1447,14 @@ by Lorenzo Bettini
1443
1447
  http://www.lorenzobettini.it
1444
1448
  http://www.gnu.org/software/src-highlite -->
1445
1449
  <pre><tt><span style="font-style: italic"><span style="color: #9A1900">##### !!!! Only add ONE of these lines, not all of them !!!! #####</span></span>
1450
+ <span style="font-style: italic"><span style="color: #9A1900"># Ubuntu 15.04</span></span>
1451
+ deb https<span style="color: #990000">:</span>//download<span style="color: #990000">:</span>YOUR_DOWNLOAD_TOKEN@www<span style="color: #990000">.</span>phusionpassenger<span style="color: #990000">.</span>com/enterprise_apt vivid main
1446
1452
  <span style="font-style: italic"><span style="color: #9A1900"># Ubuntu 14.04</span></span>
1447
1453
  deb https<span style="color: #990000">:</span>//download<span style="color: #990000">:</span>YOUR_DOWNLOAD_TOKEN@www<span style="color: #990000">.</span>phusionpassenger<span style="color: #990000">.</span>com/enterprise_apt trusty main
1448
1454
  <span style="font-style: italic"><span style="color: #9A1900"># Ubuntu 12.04</span></span>
1449
1455
  deb https<span style="color: #990000">:</span>//download<span style="color: #990000">:</span>YOUR_DOWNLOAD_TOKEN@www<span style="color: #990000">.</span>phusionpassenger<span style="color: #990000">.</span>com/enterprise_apt precise main
1450
- <span style="font-style: italic"><span style="color: #9A1900"># Ubuntu 10.04</span></span>
1451
- deb https<span style="color: #990000">:</span>//download<span style="color: #990000">:</span>YOUR_DOWNLOAD_TOKEN@www<span style="color: #990000">.</span>phusionpassenger<span style="color: #990000">.</span>com/enterprise_apt lucid main
1456
+ <span style="font-style: italic"><span style="color: #9A1900"># Debian 8</span></span>
1457
+ deb https<span style="color: #990000">:</span>//download<span style="color: #990000">:</span>YOUR_DOWNLOAD_TOKEN@www<span style="color: #990000">.</span>phusionpassenger<span style="color: #990000">.</span>com/enterprise_apt jessie main
1452
1458
  <span style="font-style: italic"><span style="color: #9A1900"># Debian 7</span></span>
1453
1459
  deb https<span style="color: #990000">:</span>//download<span style="color: #990000">:</span>YOUR_DOWNLOAD_TOKEN@www<span style="color: #990000">.</span>phusionpassenger<span style="color: #990000">.</span>com/enterprise_apt wheezy main
1454
1460
  <span style="font-style: italic"><span style="color: #9A1900"># Debian 6</span></span>
@@ -1549,83 +1555,135 @@ Install the packages:
1549
1555
  </div>
1550
1556
  </div>
1551
1557
  <div class="sect2">
1552
- <a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><span class="anchor_helper" id="_installing_or_upgrading_on_red_hat_fedora_centos_or_scientificlinux"></span><h3 data-comment-topic="installing-or-upgrading-on-red-hat-fedora-centos-or-scientificlinux-16cek45" data-anchor="_installing_or_upgrading_on_red_hat_fedora_centos_or_scientificlinux">2.4. Installing or upgrading on Red Hat, Fedora, CentOS or ScientificLinux</h3>
1553
- <div class="admonitionblock">
1554
- <table><tr>
1555
- <td class="icon">
1556
- <img src="./images/icons/warning.png" alt="Warning">
1557
- </td>
1558
- <td class="content">The RPMs are currently unmaintained. As such, the repository only contains Phusion Passenger 3.x (the latest version is 4.x), which did not support Node.js, Meteor, multiple Rubies, etc. For more recent versions of Phusion Passenger, you are suggested to install from gem or tarball instead.</td>
1559
- </tr></table>
1560
- </div>
1561
- <div class="paragraph"><p>YUM repositories with RPMs are maintained by <a href="https://github.com/erikogan/passenger">Erik Ogan</a> and <a href="http://stealthymonkeys.com/">Stealthy Monkeys Consulting</a>. Only packages for the open source version of Phusion Passenger are provided. <a href="https://www.phusionpassenger.com/enterprise">Phusion Passenger Enterprise</a> customers should use the <a href="#rubygems_generic_install">generic RubyGems installation method</a> or <a href="#tarball_generic_install">the generic tarball installation method</a> instead.</p></div>
1562
- <div class="paragraph"><p>If you use YUM to install Phusion Passenger then you do not need to run <span class="monospaced">passenger-install-apache2-module</span> or <span class="monospaced">passenger-install-nginx-module</span>. The YUM packages contain all the binaries that you need. You also don’t need to modify any Apache or Nginx configuration to get them to load Phusion Passenger, the packages provide configuration snippets for you as well.</p></div>
1563
- <span class="anchor_helper" id="_step_1_import_the_stealthy_monkeys_consulting_8217_s_gpg_key"></span><h4 class="float" data-anchor="_step_1_import_the_stealthy_monkeys_consulting_8217_s_gpg_key">Step 1: Import the Stealthy Monkeys Consulting’s GPG key</h4>
1564
- <div class="listingblock">
1565
- <div class="content monospaced">
1566
- <pre>rpm --import http://passenger.stealthymonkeys.com/RPM-GPG-KEY-stealthymonkeys.asc</pre>
1567
- </div>
1568
- </div>
1569
- <span class="anchor_helper" id="_step_2_install_the_release_package"></span><h4 class="float" data-anchor="_step_2_install_the_release_package">Step 2: Install the release package</h4>
1570
- <div class="paragraph"><p>Install the passenger-release package from the <a href="http://passenger.stealthymonkeys.com/">main repository</a>.</p></div>
1571
- <div class="paragraph"><p>Fedora Core 17:</p></div>
1558
+ <a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><span class="anchor_helper" id="installing_or_upgrading_on_red_hat"></span><h3 data-comment-topic="installing-or-upgrading-on-red-hat-fedora-centos-or-scientificlinux-16cek45" data-anchor="installing_or_upgrading_on_red_hat">2.4. Installing or upgrading on Red Hat or CentOS</h3>
1559
+ <div class="paragraph"><p>We provide an official Phusion Passenger YUM repository with packages for Red Hat Enterprise Linux and CentOS. 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.</p></div>
1560
+ <div class="paragraph"><p>If you use these packages to install Phusion Passenger then you do not need to run <span class="monospaced">passenger-install-apache2-module</span> or <span class="monospaced">passenger-install-nginx-module</span>. These packages contain all the binaries that you need. These packages also come with SELinux policy modules so that Passenger works nicely with SELinux.</p></div>
1561
+ <div class="paragraph"><p>Packages are available for the x86 and x86_64 architectures. Our policy is to support all Red Hat and CentOS releases that still receive full updates by their vendors. The earliest Red Hat and CentOS version we support is version 5.</p></div>
1562
+ <div class="sect3">
1563
+ <a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><span class="anchor_helper" id="install_add_yum_repo"></span><h4 data-comment-topic="adding-our-yum-repository-7c3y3z" data-anchor="install_add_yum_repo">2.4.1. Adding our YUM repository</h4>
1564
+ <div class="olist arabic"><ol class="arabic">
1565
+ <li>
1566
+ <p>
1567
+ Install <a href="https://fedoraproject.org/wiki/EPEL">EPEL</a> and a few other prerequisites.
1568
+ </p>
1572
1569
  <div class="listingblock">
1573
1570
  <div class="content monospaced">
1574
- <pre>yum install http://passenger.stealthymonkeys.com/fedora/17/passenger-release.noarch.rpm</pre>
1571
+ <pre>sudo yum install epel-release pygpgme curl</pre>
1575
1572
  </div>
1576
1573
  </div>
1577
- <div class="paragraph"><p>Fedora Core 16:</p></div>
1574
+ </li>
1575
+ <li>
1576
+ <p>
1577
+ Download the Passenger YUM repository definition.
1578
+ </p>
1579
+ <div class="dlist"><dl>
1580
+ <dt class="hdlist1">
1581
+ <strong>Open source</strong>
1582
+ </dt>
1583
+ <dd>
1578
1584
  <div class="listingblock">
1579
1585
  <div class="content monospaced">
1580
- <pre>yum install http://passenger.stealthymonkeys.com/fedora/16/passenger-release.noarch.rpm</pre>
1586
+ <pre>sudo curl --fail -sSLo /etc/yum.repos.d/passenger.repo https://oss-binaries.phusionpassenger.com/yum/definitions/el-passenger.repo</pre>
1581
1587
  </div>
1582
1588
  </div>
1583
- <div class="paragraph"><p>Fedora Core 15:</p></div>
1589
+ </dd>
1590
+ <dt class="hdlist1">
1591
+ <strong>Enterprise</strong>
1592
+ </dt>
1593
+ <dd>
1584
1594
  <div class="listingblock">
1585
1595
  <div class="content monospaced">
1586
- <pre>yum install http://passenger.stealthymonkeys.com/fedora/15/passenger-release.noarch.rpm</pre>
1596
+ <pre>unset HISTFILE
1597
+ sudo curl --fail -sSLo -u download:YOUR_DOWNLOAD_TOKEN /etc/yum.repos.d/passenger.repo https://www.phusionpassenger.com/enterprise_yum/el-passenger-enterprise.repo</pre>
1587
1598
  </div>
1588
1599
  </div>
1589
- <div class="paragraph"><p>Fedora Core 14:</p></div>
1600
+ <div class="paragraph"><p>The <span class="monospaced">unset HISTFILE</span> command ensures that your download token isn’t saved to the Bash history file.</p></div>
1601
+ <div class="paragraph"><p>You can find the correct value for <em>YOUR_DOWNLOAD_TOKEN</em> in the <a href="https://www.phusionpassenger.com/orders">Customer Area</a>.</p></div>
1602
+ </dd>
1603
+ </dl></div>
1604
+ </li>
1605
+ <li>
1606
+ <p>
1607
+ Secure <span class="monospaced">passenger.repo</span>:
1608
+ </p>
1590
1609
  <div class="listingblock">
1591
1610
  <div class="content monospaced">
1592
- <pre>yum install http://passenger.stealthymonkeys.com/fedora/14/passenger-release.noarch.rpm</pre>
1611
+ <pre>sudo chown root: /etc/yum.repos.d/passenger.repo
1612
+ sudo chmod 600 /etc/yum.repos.d/passenger.repo</pre>
1593
1613
  </div>
1594
1614
  </div>
1595
- <div class="paragraph"><p>RHEL 6 / CentOS 6 / ScientificLinux 6: (Note: these packages depend on <a href="http://fedoraproject.org/wiki/EPEL">EPEL</a>.)</p></div>
1596
- <div class="listingblock">
1597
- <div class="content monospaced">
1598
- <pre>yum install http://passenger.stealthymonkeys.com/rhel/6/passenger-release.noarch.rpm</pre>
1599
- </div>
1615
+ </li>
1616
+ </ol></div>
1600
1617
  </div>
1601
- <div class="paragraph"><p>RHEL 5 / CentOS 5 / ScientificLinux 5: (Note: these packages depend on <a href="http://fedoraproject.org/wiki/EPEL">EPEL</a>.)</p></div>
1602
- <div class="listingblock">
1603
- <div class="content monospaced">
1604
- <pre>rpm -Uvh http://passenger.stealthymonkeys.com/rhel/5/passenger-release.noarch.rpm</pre>
1605
- </div>
1618
+ <div class="sect3">
1619
+ <a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><span class="anchor_helper" id="_installing_packages_2"></span><h4 data-comment-topic="installing-packages-1i5z60y" data-anchor="_installing_packages_2">2.4.2. Installing packages</h4>
1620
+ <div class="admonitionblock">
1621
+ <table><tr>
1622
+ <td class="icon">
1623
+ <img src="./images/icons/note.png" alt="Note">
1624
+ </td>
1625
+ <td class="content">
1626
+ <div class="title">Notes about SELinux on Red Hat 6 and CentOS 6</div>
1627
+ <div class="paragraph"><p>If you are on Red Hat 6 or CentOS 6, and you are also using SELinux in enforcing mode, then Passenger requires kernel &gt;= 2.6.39.</p></div>
1628
+ <div class="paragraph"><p>If you want to install Passenger on Red Hat 6 or CentOS 6, without upgrading your kernel, then you must <strong>disable</strong> SELinux completely. Edit <span class="monospaced">/etc/selinux/config</span>, set <span class="monospaced">SELINUX=disabled</span> and reboot. Note that merely setting SELinux to permissive mode is not enough.</p></div>
1629
+ <div class="paragraph"><p>This issue does not apply to Red Hat &gt;= 7 and CentOS &gt;= 7, because these OS versions supply recent enough kernel versions.</p></div>
1630
+ </td>
1631
+ </tr></table>
1606
1632
  </div>
1607
- <span class="anchor_helper" id="_step_3_install_the_right_phusion_passenger_package"></span><h4 class="float" data-anchor="_step_3_install_the_right_phusion_passenger_package">Step 3: Install the right Phusion Passenger package</h4>
1608
- <div class="paragraph"><p>From there you can use <a href="http://prefetch.net/articles/yum.html">YUM</a> to install packages. For example, try one of these:</p></div>
1609
- <div class="paragraph"><p>Phusion Passenger for Apache:</p></div>
1633
+ <div class="paragraph"><p>You can install the Passenger packages as follows.</p></div>
1634
+ <div class="dlist"><dl>
1635
+ <dt class="hdlist1">
1636
+ <strong>Open source</strong>
1637
+ </dt>
1638
+ <dd>
1639
+ <div class="olist arabic"><ol class="arabic">
1640
+ <li>
1641
+ <p>
1642
+ <a href="#install_add_yum_repo">Add our YUM repository.</a>
1643
+ </p>
1644
+ </li>
1645
+ <li>
1646
+ <p>
1647
+ Install the package:
1648
+ </p>
1610
1649
  <div class="listingblock">
1611
1650
  <div class="content monospaced">
1612
- <pre>yum install mod_passenger</pre>
1651
+ <pre>sudo yum install passenger</pre>
1613
1652
  </div>
1614
1653
  </div>
1615
- <div class="paragraph"><p>Phusion Passenger for Nginx:</p></div>
1654
+ </li>
1655
+ </ol></div>
1656
+ </dd>
1657
+ <dt class="hdlist1">
1658
+ <strong>Enterprise</strong>
1659
+ </dt>
1660
+ <dd>
1661
+ <div class="olist arabic"><ol class="arabic">
1662
+ <li>
1663
+ <p>
1664
+ Download your license key from the <a href="https://www.phusionpassenger.com/orders">Customer Area</a> and save it as <span class="monospaced">/etc/passenger-enterprise-license</span>.
1665
+ </p>
1666
+ </li>
1667
+ <li>
1668
+ <p>
1669
+ <a href="#install_add_yum_repo">Add our YUM repository.</a>
1670
+ </p>
1671
+ </li>
1672
+ <li>
1673
+ <p>
1674
+ Install the packages:
1675
+ </p>
1616
1676
  <div class="listingblock">
1617
1677
  <div class="content monospaced">
1618
- <pre>yum install nginx-passenger</pre>
1678
+ <pre>sudo yum install passenger-enterprise</pre>
1619
1679
  </div>
1620
1680
  </div>
1621
- <div class="paragraph"><p>Phusion Passenger Standalone:</p></div>
1622
- <div class="listingblock">
1623
- <div class="content monospaced">
1624
- <pre>yum install passenger-standalone</pre>
1625
- </div>
1681
+ </li>
1682
+ </ol></div>
1683
+ </dd>
1684
+ </dl></div>
1685
+ <div class="paragraph"><p>You can now proceed with a chapter for Deploying your (specific type of) application.</p></div>
1626
1686
  </div>
1627
- <span class="anchor_helper" id="_building_your_own_packages"></span><h4 class="float" data-anchor="_building_your_own_packages">Building your own packages</h4>
1628
- <div class="paragraph"><p>There are instructions for building your own packages and Yum repositories in the <a href="https://github.com/phusion/passenger/tree/master/rpm#readme">rpm directory ReadMe</a> within the <a href="https://github.com/phusion/passenger">GitHub repository</a>.</p></div>
1629
1687
  </div>
1630
1688
  <div class="sect2">
1631
1689
  <a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><span class="anchor_helper" id="_installing_or_upgrading_on_heroku"></span><h3 data-comment-topic="installing-or-upgrading-on-heroku-rspclc" data-anchor="_installing_or_upgrading_on_heroku">2.5. Installing or upgrading on Heroku</h3>
@@ -30,7 +30,11 @@
30
30
 
31
31
  2.3.2. Installing packages => installing-packages-k1zxbg
32
32
 
33
- 2.4. Installing or upgrading on Red Hat, Fedora, CentOS or ScientificLinux => installing-or-upgrading-on-red-hat-fedora-centos-or-scientificlinux-16cek45
33
+ 2.4. Installing or upgrading on Red Hat or CentOS => installing-or-upgrading-on-red-hat-fedora-centos-or-scientificlinux-16cek45
34
+
35
+ 2.4.1. Adding our YUM repository => adding-our-yum-repository-7c3y3z
36
+
37
+ 2.4.2. Installing packages => installing-packages-1i5z60y
34
38
 
35
39
  2.5. Installing or upgrading on Heroku => installing-or-upgrading-on-heroku-rspclc
36
40
 
@@ -85,12 +85,14 @@ sudo apt-get install apt-transport-https ca-certificates
85
85
  [source,sh]
86
86
  --------------------------------------------------------------
87
87
  ##### !!!! Only add ONE of these lines, not all of them !!!! #####
88
+ # Ubuntu 15.04
89
+ deb https://oss-binaries.phusionpassenger.com/apt/passenger vivid main
88
90
  # Ubuntu 14.04
89
91
  deb https://oss-binaries.phusionpassenger.com/apt/passenger trusty main
90
92
  # Ubuntu 12.04
91
93
  deb https://oss-binaries.phusionpassenger.com/apt/passenger precise main
92
- # Ubuntu 10.04
93
- deb https://oss-binaries.phusionpassenger.com/apt/passenger lucid main
94
+ # Debian 8
95
+ deb https://oss-binaries.phusionpassenger.com/apt/passenger jessie main
94
96
  # Debian 7
95
97
  deb https://oss-binaries.phusionpassenger.com/apt/passenger wheezy main
96
98
  # Debian 6
@@ -102,12 +104,14 @@ deb https://oss-binaries.phusionpassenger.com/apt/passenger squeeze main
102
104
  [source,sh]
103
105
  --------------------------------------------------------------
104
106
  ##### !!!! Only add ONE of these lines, not all of them !!!! #####
107
+ # Ubuntu 15.04
108
+ deb https://download:YOUR_DOWNLOAD_TOKEN@www.phusionpassenger.com/enterprise_apt vivid main
105
109
  # Ubuntu 14.04
106
110
  deb https://download:YOUR_DOWNLOAD_TOKEN@www.phusionpassenger.com/enterprise_apt trusty main
107
111
  # Ubuntu 12.04
108
112
  deb https://download:YOUR_DOWNLOAD_TOKEN@www.phusionpassenger.com/enterprise_apt precise main
109
- # Ubuntu 10.04
110
- deb https://download:YOUR_DOWNLOAD_TOKEN@www.phusionpassenger.com/enterprise_apt lucid main
113
+ # Debian 8
114
+ deb https://download:YOUR_DOWNLOAD_TOKEN@www.phusionpassenger.com/enterprise_apt jessie main
111
115
  # Debian 7
112
116
  deb https://download:YOUR_DOWNLOAD_TOKEN@www.phusionpassenger.com/enterprise_apt wheezy main
113
117
  # Debian 6
@@ -256,83 +260,143 @@ http {
256
260
  endif::nginx[]
257
261
 
258
262
 
259
- === Installing or upgrading on Red Hat, Fedora, CentOS or ScientificLinux
263
+ [[installing_or_upgrading_on_red_hat]]
264
+ === Installing or upgrading on Red Hat or CentOS
260
265
 
261
- WARNING: The RPMs are currently unmaintained. As such, the repository only contains Phusion Passenger 3.x (the latest version is 4.x), which did not support Node.js, Meteor, multiple Rubies, etc. For more recent versions of Phusion Passenger, you are suggested to install from gem or tarball instead.
266
+ We provide an official Phusion Passenger YUM repository with packages for Red Hat Enterprise Linux and CentOS. 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.
262
267
 
263
- YUM repositories with RPMs are maintained by link:https://github.com/erikogan/passenger[Erik Ogan] and link:http://stealthymonkeys.com/[Stealthy Monkeys Consulting]. 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.
268
+ 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. These packages also come with SELinux policy modules so that Passenger works nicely with SELinux.
264
269
 
265
- If you use YUM to install Phusion Passenger then you do not need to run `passenger-install-apache2-module` or `passenger-install-nginx-module`. The YUM packages contain all the binaries that you need. You also don't need to modify any Apache or Nginx configuration to get them to load Phusion Passenger, the packages provide configuration snippets for you as well.
270
+ Packages are available for the x86 and x86_64 architectures. Our policy is to support all Red Hat and CentOS releases that still receive full updates by their vendors. The earliest Red Hat and CentOS version we support is version 5.
266
271
 
267
- [float]
268
- ==== Step 1: Import the Stealthy Monkeys Consulting's GPG key
269
-
270
- ---------------------------------------------
271
- rpm --import http://passenger.stealthymonkeys.com/RPM-GPG-KEY-stealthymonkeys.asc
272
- ---------------------------------------------
272
+ [[install_add_yum_repo]]
273
+ ==== Adding our YUM repository
273
274
 
274
- [float]
275
- ==== Step 2: Install the release package
276
-
277
- Install the passenger-release package from the link:http://passenger.stealthymonkeys.com/[main repository].
278
-
279
- Fedora Core 17:
280
- ---------------------------------------------
281
- yum install http://passenger.stealthymonkeys.com/fedora/17/passenger-release.noarch.rpm
282
- ---------------------------------------------
283
-
284
- Fedora Core 16:
285
- ---------------------------------------------
286
- yum install http://passenger.stealthymonkeys.com/fedora/16/passenger-release.noarch.rpm
287
- ---------------------------------------------
288
-
289
- Fedora Core 15:
290
- ---------------------------------------------
291
- yum install http://passenger.stealthymonkeys.com/fedora/15/passenger-release.noarch.rpm
292
- ---------------------------------------------
293
-
294
- Fedora Core 14:
295
- ---------------------------------------------
296
- yum install http://passenger.stealthymonkeys.com/fedora/14/passenger-release.noarch.rpm
297
- ---------------------------------------------
298
-
299
- RHEL 6 / CentOS 6 / ScientificLinux 6: (Note: these packages depend on link:http://fedoraproject.org/wiki/EPEL[EPEL].)
300
- ---------------------------------------------
301
- yum install http://passenger.stealthymonkeys.com/rhel/6/passenger-release.noarch.rpm
302
- ---------------------------------------------
303
-
304
- RHEL 5 / CentOS 5 / ScientificLinux 5: (Note: these packages depend on link:http://fedoraproject.org/wiki/EPEL[EPEL].)
305
- ---------------------------------------------
306
- rpm -Uvh http://passenger.stealthymonkeys.com/rhel/5/passenger-release.noarch.rpm
307
- ---------------------------------------------
275
+ 1. Install link:https://fedoraproject.org/wiki/EPEL[EPEL] and a few other prerequisites.
276
+ +
277
+ --------------------------------------------------------------
278
+ sudo yum install epel-release pygpgme curl
279
+ --------------------------------------------------------------
308
280
 
309
- [float]
310
- ==== Step 3: Install the right Phusion Passenger package
281
+ 2. Download the Passenger YUM repository definition.
282
+ +
283
+ **Open source**::
284
+ +
285
+ --------------------------------------------------------------
286
+ sudo curl --fail -sSLo /etc/yum.repos.d/passenger.repo https://oss-binaries.phusionpassenger.com/yum/definitions/el-passenger.repo
287
+ --------------------------------------------------------------
288
+ +
289
+ **Enterprise**::
290
+ +
291
+ --------------------------------------------------------------
292
+ unset HISTFILE
293
+ sudo curl --fail -sSLo -u download:YOUR_DOWNLOAD_TOKEN /etc/yum.repos.d/passenger.repo https://www.phusionpassenger.com/enterprise_yum/el-passenger-enterprise.repo
294
+ --------------------------------------------------------------
295
+ +
296
+ The `unset HISTFILE` command ensures that your download token isn't saved to the Bash history file.
297
+ +
298
+ You can find the correct value for 'YOUR_DOWNLOAD_TOKEN' in the link:https://www.phusionpassenger.com/orders[Customer Area].
311
299
 
312
- From there you can use link:http://prefetch.net/articles/yum.html[YUM] to install packages. For example, try one of these:
300
+ 3. Secure `passenger.repo`:
301
+ +
302
+ --------------------------------------------------------------
303
+ sudo chown root: /etc/yum.repos.d/passenger.repo
304
+ sudo chmod 600 /etc/yum.repos.d/passenger.repo
305
+ --------------------------------------------------------------
313
306
 
314
- Phusion Passenger for Apache:
307
+ ==== Installing packages
315
308
 
316
- ---------------------------------------------
317
- yum install mod_passenger
318
- ---------------------------------------------
309
+ .Notes about SELinux on Red Hat 6 and CentOS 6
310
+ [NOTE]
311
+ ====================================================
312
+ If you are on Red Hat 6 or CentOS 6, and you are also using SELinux in enforcing mode, then Passenger requires kernel >= 2.6.39.
319
313
 
320
- Phusion Passenger for Nginx:
314
+ If you want to install Passenger on Red Hat 6 or CentOS 6, without upgrading your kernel, then you must *disable* SELinux completely. Edit `/etc/selinux/config`, set `SELINUX=disabled` and reboot. Note that merely setting SELinux to permissive mode is not enough.
321
315
 
322
- ---------------------------------------------
323
- yum install nginx-passenger
324
- ---------------------------------------------
316
+ This issue does not apply to Red Hat >= 7 and CentOS >= 7, because these OS versions supply recent enough kernel versions.
317
+ ====================================================
325
318
 
326
- Phusion Passenger Standalone:
319
+ You can install the Passenger packages as follows.
327
320
 
328
- ---------------------------------------------
329
- yum install passenger-standalone
330
- ---------------------------------------------
321
+ **Open source**::
322
+ +
323
+ 1. <<install_add_yum_repo,Add our YUM repository.>>
324
+ ifdef::nginx[]
325
+ 2. Install the packages:
326
+ +
327
+ --------------------------------------------------------------
328
+ sudo yum install nginx passenger
329
+ --------------------------------------------------------------
330
+ +
331
+ 3. Edit `/etc/nginx/conf.d/passenger.conf` and uncomment `passenger_root`, `passenger_ruby` and `passenger_instance_registry_dir`.
332
+ +
333
+ Especially <<PassengerRoot,passenger_root>> is important: Phusion Passenger won't work without it!
334
+ +
335
+ 4. Restart Nginx:
336
+ +
337
+ --------------------------------------------------------------
338
+ sudo service nginx restart
339
+ --------------------------------------------------------------
340
+ endif::[]
341
+ ifdef::apache[]
342
+ 2. Install the package:
343
+ +
344
+ --------------------------------------------------------------
345
+ sudo yum install mod_passenger
346
+ --------------------------------------------------------------
347
+ +
348
+ 3. Stop/start Apache (reload or restart is not enough when upgrading):
349
+ +
350
+ --------------------------------------------------------------
351
+ sudo service httpd stop; sudo service httpd start
352
+ --------------------------------------------------------------
353
+ endif::[]
354
+ ifdef::standalone[]
355
+ 2. Install the package:
356
+ +
357
+ --------------------------------------------------------------
358
+ sudo yum install passenger
359
+ --------------------------------------------------------------
360
+ endif::[]
331
361
 
332
- [float]
333
- ==== Building your own packages
362
+ **Enterprise**::
363
+ +
364
+ 1. Download your license key from the link:https://www.phusionpassenger.com/orders[Customer Area] and save it as `/etc/passenger-enterprise-license`.
365
+ 2. <<install_add_yum_repo,Add our YUM repository.>>
366
+ 3. Install the packages:
367
+ +
368
+ ifdef::nginx[]
369
+ --------------------------------------------------------------
370
+ sudo yum install nginx passenger-enterprise
371
+ --------------------------------------------------------------
372
+ 4. Edit `/etc/nginx/conf.d/passenger.conf` and uncomment `passenger_root`, `passenger_ruby` and `passenger_instance_registry_dir`.
373
+ +
374
+ Especially <<PassengerRoot,passenger_root>> is important: Phusion Passenger won't work without it!
375
+ +
376
+ 5. Restart Nginx:
377
+ +
378
+ --------------------------------------------------------------
379
+ sudo service nginx restart
380
+ --------------------------------------------------------------
381
+ endif::[]
382
+ ifdef::apache[]
383
+ --------------------------------------------------------------
384
+ sudo yum install mod_passenger_enterprise
385
+ --------------------------------------------------------------
386
+ +
387
+ 4. Stop/start Apache (reload or restart is not enough when upgrading):
388
+ +
389
+ --------------------------------------------------------------
390
+ sudo service httpd stop; sudo service httpd start
391
+ --------------------------------------------------------------
392
+ endif::[]
393
+ ifdef::standalone[]
394
+ --------------------------------------------------------------
395
+ sudo yum install passenger-enterprise
396
+ --------------------------------------------------------------
397
+ endif::[]
334
398
 
335
- There are instructions for building your own packages and Yum repositories in the link:https://github.com/phusion/passenger/tree/master/rpm#readme[rpm directory ReadMe] within the link:https://github.com/phusion/passenger[GitHub repository].
399
+ You can now proceed with a chapter for Deploying your (specific type of) application.
336
400
 
337
401
 
338
402
  === Installing or upgrading on Heroku