Just a heads up... I'm testing on a local vagrant/virtualbox VM updates
which will upgrade cronjobs, cgi scripts, and rack applications to ruby
2.3.1:
https://github.com/apache/infrastructure-puppet/compare/deployment...rubys:rubys/whimsy-ruby2.3.1?expand=1
The key line is:
SetEnv PATH /usr/local/rvm/wrappers/ruby-2.3.1:${PATH}
This allows cgi scripts that make use of "#!/usr/bin/env ruby" to use
ruby 2.3.1; and does so without changing the default version of ruby
which would break things like puppet.
vagrant@whimsy-vm3:~$ curl http://localhost/test.cgi
CONTEXT_DOCUMENT_ROOT /x1/srv/whimsy/www
CONTEXT_PREFIX
DOCUMENT_ROOT /x1/srv/whimsy/www
GATEWAY_INTERFACE CGI/1.1
GEM_HOME /usr/local/rvm/gems/ruby-2.3.1
GEM_PATH
/usr/local/rvm/gems/ruby-2.3.1:/usr/local/rvm/gems/ruby-2.3.1@global
HTTP_ACCEPT */*
HTTP_AUTHORIZATION
HTTP_HOST localhost
HTTP_USER_AGENT curl/7.35.0
IRBRC /usr/local/rvm/rubies/ruby-2.3.1/.irbrc
MY_RUBY_HOME /usr/local/rvm/rubies/ruby-2.3.1
PATH
/usr/local/rvm/gems/ruby-2.3.1/bin:/usr/local/rvm/gems/ruby-2.3.1@global/bin:/usr/local/rvm/rubies/ruby-2.3.1/bin:/usr/local/rvm/wrappers/ruby-2.3.1:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD /x1/srv/whimsy/www
QUERY_STRING
REMOTE_ADDR 127.0.0.1
REMOTE_PORT 37863
REQUEST_METHOD GET
REQUEST_SCHEME http
REQUEST_URI /test.cgi
RUBY_VERSION ruby-2.3.1
SCRIPT_FILENAME /x1/srv/whimsy/www/test.cgi
SCRIPT_NAME /test.cgi
SCRIPT_URI http://localhost/test.cgi
SCRIPT_URL /test.cgi
SERVER_ADDR 127.0.0.1
SERVER_ADMIN [no address given]
SERVER_NAME localhost
SERVER_PORT 80
SERVER_PROTOCOL HTTP/1.1
SERVER_SIGNATURE
SERVER_SOFTWARE Apache/2.4.7 (Ubuntu)
SHLVL 0
- Sam Ruby