Ruby and Rails setup script for Linux and Polipo
- CentOS 6 (utilizes the Fedora EPEL repo)
Run this on a fresh install. It WILL update your system!
- If behind a firewall, set http_proxy and https_proxy.
- For Dell, you can use your build VM's ntlmap as a proxy.
- /etc/ntlmaps/server.cfg and add the new vm's ip to the allowed clients
- restart the ntlmaps
- set http_proxy and https_proxy to
http://<ip of build vm>:5865/
wget --no-check-certificate -O crowbar.sh https://raw.github.com/galthaus/railsready/master/crowbar.sh && bash crowbar.sh
The script will ask if you want to build Ruby from source or install RVM
What this gives you:
- An updated system (Linux only)
- Homebrew (OSX only)
- Ruby 1.9.3 latest patch level (installed to /usr/local/bin/ruby) or RVM running 1.9.3 latest patch level
- libs needed to run Rails (sqlite, mysql, etc)
- Bundler, Passenger, and Rails gems
Please note: If you are running on a super slow connection your sudo session may timeout and you'll have to enter your password again. If you're running this on an EC2 or RS instance it shouldn't be problem.
Just install either NGINX or Apache, run passenger-install-nginx-module or passenger-install-apache-module, upload your app, point your vhost config to your apps public dir and go!
A note about RVM+passenger+nginx: Passenger installed via RVM can't locate the OpenSSL package installed on Ubuntu. A user contributed fix is as follows:
rvm remove 1.9.3 rvm pkg install openssl rvm install 1.9.3 --with-openssl-dir=$HOME/.rvm/usr rvmsudo passenger-install-nginx-module
Rails Ready now supports a "plugin" type system. The distro is detected and a corresponding "recipe" file is pulled down to run the distro specific setup steps. Check the recipes dir to see if your distro is supported. If you would like to add support for a system fork the repo, write a recipe, and submit a pull request. Take a look at recipes/ubuntu.sh for an idea of what to model your recipe after.
If you use this or have any suggestions let me know email@example.com or @joshfng on Twitter