Skip to content

Instantly share code, notes, and snippets.

@iamjohnnym
Created January 13, 2015 17:32
Show Gist options
  • Select an option

  • Save iamjohnnym/0a2fd4cc1117ee7bb8d4 to your computer and use it in GitHub Desktop.

Select an option

Save iamjohnnym/0a2fd4cc1117ee7bb8d4 to your computer and use it in GitHub Desktop.

Revisions

  1. iamjohnnym created this gist Jan 13, 2015.
    211 changes: 211 additions & 0 deletions gistfile1.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,211 @@
    I'm looking to point load the passenger library from my local users home directory:

    /home/rails/.rvm/gems/gems/passenger-4.0.57

    In my applications virtualhost, I have this block:

    <IfModule mod_passenger.c>
    PassengerRoot /home/rails/.rvm/gems/gems/passenger-4.0.57
    PassengerDefaultRuby /home/rails/.rvm/gems/ruby-2.1.0/wrappers/ruby
    </IfModule>

    This is what seems to break it due to PassengerWatchdog:

    Passenger could not be initialized because of this error: Unable to start the Phusion Passenger watchdog because its executable (/home/rails/.rvm/gems/gems/passenger-4.0.57/buildout/agents/PassengerWatchdog) does not exist.

    There is no buildout directory in '/rails/.rvm/gems/gems/passenger-4.0.57', nor is there a filename to match 'PassengerWatchdog', anywhere in my ~/.rvm directory.

    Here's my .rvmrc

    $ cat ~/.rvmrc
    export rvm_environments_path="${HOME}/.rvm/environments"
    export rvm_gems_path="${HOME}/.rvm/gems"
    export rvm_gems_cache_path="${HOME}/.rvm/gems_cache"
    export rvm_wrappers_path="${HOME}/.rvm/wrappers"
    export rvm_create_flag="1"
    export rvm_user_path="${HOME}/.rvm/user"
    export rvm_log_path="${HOME}/.rvm/log"

    My ~/.gemrc

    $ cat ~/.gemrc
    gem: --no-ri --no-rdoc
    gemhome: /home/rails/.rvm/gems
    gempath:
    - /home/rails/.rvm/rubies/ruby-2.1.0/lib/ruby/gems/2.1.0
    - $HOME/.rvm

    $ gem env
    RubyGems Environment:
    - RUBYGEMS VERSION: 2.4.5
    - RUBY VERSION: 2.1.0 (2013-12-25 patchlevel 0) [x86_64-linux]
    - INSTALLATION DIRECTORY: /home/rails/.rvm/gems
    - RUBY EXECUTABLE: /home/rails/.rvm/rubies/ruby-2.1.0/bin/ruby
    - EXECUTABLE DIRECTORY: /home/rails/.rvm/gems/bin
    - SPEC CACHE DIRECTORY: /home/rails/.gem/specs
    - SYSTEM CONFIGURATION DIRECTORY: /home/rails/.rvm/rubies/ruby-2.1.0/etc
    - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-linux
    - GEM PATHS:
    - /home/rails/.rvm/gems
    - /home/rails/.rvm/rubies/ruby-2.1.0/lib/ruby/gems/2.1.0
    - $HOME/.rvm
    - GEM CONFIGURATION:
    - :update_sources => true
    - :verbose => true
    - :backtrace => false
    - :bulk_threshold => 1000
    - "gem" => "--no-ri --no-rdoc"
    - "gemhome" => "/home/rails/.rvm/gems"
    - "gempath" => ["/home/rails/.rvm/rubies/ruby-2.1.0/lib/ruby/gems/2.1.0", "$HOME/.rvm"]
    - REMOTE SOURCES:
    - https://rubygems.org/
    - SHELL PATH:
    - /home/rails/.rvm/gems/ruby-2.1.0/bin
    - /home/rails/.rvm/gems/ruby-2.1.0@global/bin
    - /home/rails/.rvm/rubies/ruby-2.1.0/bin
    - /home/rails/.rvm/bin
    - /usr/local/bin
    - /usr/bin
    - /bin
    - /usr/local/games
    - /usr/games
    - /home/rails/.gems/bin

    VirtualHost:

    $ cat /etc/apache2/sites-enabled/000-domain.com.conf
    <VirtualHost *:443>
    ServerName domain.com

    SSLEngine on
    SSLProtocol all -SSLv2
    SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
    SSLCertificateFile /etc/ssl/certs/2014.domain.com.crt
    SSLCertificateKeyFile /etc/ssl/private/2014.domain.com.key
    SSLCertificateChainFile /etc/ssl/certs/2014.domain.com.ca.crt

    <IfModule mod_passenger.c>
    PassengerRoot /home/rails/.rvm/gems/gems/passenger-4.0.57
    PassengerDefaultRuby /home/rails/.rvm/gems/ruby-2.1.0/wrappers/ruby
    </IfModule>

    RailsEnv development
    DocumentRoot /home/rails/app/public
    <Directory /home/rails/app/public>
    Require all granted
    SSLRequireSSL
    SSLOptions +StdEnvVars
    # This relaxes Apache security settings.
    AllowOverride all
    # MultiViews must be turned off.
    Options -MultiViews
    </Directory>
    <LocationMatch "^/assets/.*$">
    FileETag None
    </LocationMatch>
    </VirtualHost>

    Here's the rvms passenger-config

    $ /home/rails/.rvm/gems/gems/passenger-4.0.57/bin/passenger-config --root
    /home/rails/.rvm/gems/gems/passenger-4.0.57

    $ /home/rails/.rvm/gems/gems/passenger-4.0.57/bin/passenger-install-apache2-module
    Welcome to the Phusion Passenger Apache 2 module installer, v4.0.57.

    This installer will guide you through the entire installation process. It
    shouldn't take more than 3 minutes in total.

    Here's what you can expect from the installation process:

    1. The Apache 2 module will be installed for you.
    2. You'll learn how to configure Apache.
    3. You'll learn how to deploy a Ruby on Rails application.

    Don't worry if anything goes wrong. This installer will advise you on how to
    solve any problems.

    Press Enter to continue, or Ctrl-C to abort.


    --------------------------------------------

    Which languages are you interested in?

    Use <space> to select.
    If the menu doesn't display correctly, press '!'

    ⬢ Ruby
    ‣ ⬡ Python
    ⬡ Node.js
    ⬡ Meteor

    --------------------------------------------

    Checking for required software...

    * Checking for C compiler...
    Found: yes
    Location: /usr/bin/cc
    * Checking for C++ compiler...
    Found: yes
    Location: /usr/bin/c++
    * Checking for Curl development headers with SSL support...
    Found: yes
    curl-config location: /usr/bin/curl-config
    Header location: /usr/include/curl/curl.h
    Version: libcurl 7.35.0
    Usable: yes
    Supports SSL: yes
    * Checking for OpenSSL development headers...
    Found: yes
    Location: /usr/include/openssl/ssl.h
    * Checking for Zlib development headers...
    Found: yes
    Location: /usr/include/zlib.h
    * Checking for Apache 2...
    Found: yes
    Location of httpd: /usr/sbin/apache2
    Apache version: 2.4.7
    * Checking for Apache 2 development headers...
    Found: yes
    Location of apxs2: /usr/bin/apxs2
    * Checking for Rake (associated with /home/rails/.rvm/gems/ruby-2.1.0/wrappers/ruby)...
    Found: yes
    Location: /home/rails/.rvm/gems/ruby-2.1.0/wrappers/rake
    * Checking for OpenSSL support for Ruby...
    Found: yes
    * Checking for RubyGems...
    Found: yes
    * Checking for Ruby development headers...
    Found: yes
    Location: /home/rails/.rvm/rubies/ruby-2.1.0/include/ruby-2.1.0/ruby.h
    * Checking for rack...
    Found: no
    * Checking for Apache Portable Runtime (APR) development headers...
    Found: yes
    Location: /usr/bin/apr-1-config
    Version: 1.5.1
    * Checking for Apache Portable Runtime Utility (APU) development headers...
    Found: yes
    Location: /usr/bin/apu-1-config
    Version: 1.5.3

    Some required software is not installed.
    But don't worry, this installer will tell you how to install them.
    Press Enter to continue, or Ctrl-C to abort.

    --------------------------------------------

    Installation instructions for required software

    * To install rack:
    Please make sure RubyGems is installed, then run /home/rails/.rvm/gems/ruby-2.1.0/wrappers/gem install rack

    If the aforementioned instructions didn't solve your problem, then please take
    a look at the Users Guide:

    /home/rails/.rvm/gems/gems/passenger-4.0.57/doc/Users guide Apache.html
    https://www.phusionpassenger.com/documentation/Users%20guide%20Apache.html