ezmobius
May 27th, 2005, 12:30 PM
Install the complete Ruby on Rails and Lighttpd/fastcgi/php Stack from source with the fastcgi dev kit and the pcre's. This has been tested on RHEL4, Debian Sarge, Ubuntu and OSX. It should work on most Linux Distro's and probably BSD as well(not tested)
__________________________________________________ ______________
Get Ruby1.8.2
wget http://rubyforge.org/frs/download.php/2338/ruby-1.8.2.tar.gz
tar xvzf ruby-*
cd ruby-1.8.2
./configure
make
make test
sudo make install
__________________________________________________ ______________
Get Ruby gems
wget http://rubyforge.org/frs/download.php/3700/rubygems-0.8.10.tgz
tar xvzf rubygems*
cd rubygems*
sudo ruby setup.rb
__________________________________________________ ______________
Get Rails and a few other gems
sudo gem install rails RedCloth search_generator salted_login_generator production_log_analyzer
answer yes to all dependencies
__________________________________________________ ______________
Get mysql-ruby C bindings (the pure ruby ones suck)
wget http://www.tmtm.org/en/mysql/ruby/mysql-ruby-2.6.tar.gz
tar zxvf mysql-ruby-*
cd mysql-ruby-*
ruby extconf.rb --with-mysql-config
make
sudo make install
__________________________________________________ ______________
download fastcgi developers kit
wget http://fastcgi.com/dist/fcgi.tar.gz
tar xvzf fcgi-2.4.0.tar.gz
cd fcgi*
./configure
make
sudo make install
__________________________________________________ ______________
Get the new non memory leaking ruby-fastcgi bindings
wget http://sugi.nemui.org/pub/ruby/fcgi/ruby-fcgi-0.8.6.tar.gz
tar xzvf ruby-fcgi*
ruby install.rb config --without-ext
ruby install.rb setup
sudo ruby install.rb install
__________________________________________________ ______________
We need the correct pcre .so’s for lighttpd to work correctly
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-5.0.tar.gz
tar xzvf pcre-5.0.tar.gz
cd pcre-*
./configure
make
sudo make install
__________________________________________________ ______________
Get lighttpd
wget http://www.lighttpd.net/download/lighttpd-1.3.13.tar.gz
tar xzvf lighttpd-1.3.13.tar.gz
cd lighttpd-*
./configure
make
sudo make install
__________________________________________________ ______________
Compile php as a fast-cgi binary The main thing here is the following configure options. You can add whatever else you like to your php binary but these are needed for fast-cgi support.
$ ./configure \
--enable-fastcgi \
--enable-discard-path \
--enable-force-cgi-redirect \
__________________________________________________ ______________
Lighttpd Launcher Script
Here is a link for a sweet enhancement. Put this script in your RAILS_ROOT/script folder and put the lighttpd.conf file in RAILS_ROOT/config. Now you can launch your rails app by cd’ing into your RAILS_ROOT for your app and typing:
$ruby script/lighty -p 7500 -e development (or whatever port & env you want to use)
Now you can hit http://localhost:7500/ and you will get your app running on lighttpd no muss no fuss. Very sweet for development. Here is the link: http://www.bigbold.com/snippets/posts/show/303 . Name the first ruby script lighty and name the config file lighttpd.conf. Now every time you start your app this way is creates a new lighttpd.conf in /tmp and starts lighttpd up with that file. This way you can give it command line options as to what port to bind to and others. I’m using this for development and it is sweet!
__________________________________________________ ______________
Get Ruby1.8.2
wget http://rubyforge.org/frs/download.php/2338/ruby-1.8.2.tar.gz
tar xvzf ruby-*
cd ruby-1.8.2
./configure
make
make test
sudo make install
__________________________________________________ ______________
Get Ruby gems
wget http://rubyforge.org/frs/download.php/3700/rubygems-0.8.10.tgz
tar xvzf rubygems*
cd rubygems*
sudo ruby setup.rb
__________________________________________________ ______________
Get Rails and a few other gems
sudo gem install rails RedCloth search_generator salted_login_generator production_log_analyzer
answer yes to all dependencies
__________________________________________________ ______________
Get mysql-ruby C bindings (the pure ruby ones suck)
wget http://www.tmtm.org/en/mysql/ruby/mysql-ruby-2.6.tar.gz
tar zxvf mysql-ruby-*
cd mysql-ruby-*
ruby extconf.rb --with-mysql-config
make
sudo make install
__________________________________________________ ______________
download fastcgi developers kit
wget http://fastcgi.com/dist/fcgi.tar.gz
tar xvzf fcgi-2.4.0.tar.gz
cd fcgi*
./configure
make
sudo make install
__________________________________________________ ______________
Get the new non memory leaking ruby-fastcgi bindings
wget http://sugi.nemui.org/pub/ruby/fcgi/ruby-fcgi-0.8.6.tar.gz
tar xzvf ruby-fcgi*
ruby install.rb config --without-ext
ruby install.rb setup
sudo ruby install.rb install
__________________________________________________ ______________
We need the correct pcre .so’s for lighttpd to work correctly
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-5.0.tar.gz
tar xzvf pcre-5.0.tar.gz
cd pcre-*
./configure
make
sudo make install
__________________________________________________ ______________
Get lighttpd
wget http://www.lighttpd.net/download/lighttpd-1.3.13.tar.gz
tar xzvf lighttpd-1.3.13.tar.gz
cd lighttpd-*
./configure
make
sudo make install
__________________________________________________ ______________
Compile php as a fast-cgi binary The main thing here is the following configure options. You can add whatever else you like to your php binary but these are needed for fast-cgi support.
$ ./configure \
--enable-fastcgi \
--enable-discard-path \
--enable-force-cgi-redirect \
__________________________________________________ ______________
Lighttpd Launcher Script
Here is a link for a sweet enhancement. Put this script in your RAILS_ROOT/script folder and put the lighttpd.conf file in RAILS_ROOT/config. Now you can launch your rails app by cd’ing into your RAILS_ROOT for your app and typing:
$ruby script/lighty -p 7500 -e development (or whatever port & env you want to use)
Now you can hit http://localhost:7500/ and you will get your app running on lighttpd no muss no fuss. Very sweet for development. Here is the link: http://www.bigbold.com/snippets/posts/show/303 . Name the first ruby script lighty and name the config file lighttpd.conf. Now every time you start your app this way is creates a new lighttpd.conf in /tmp and starts lighttpd up with that file. This way you can give it command line options as to what port to bind to and others. I’m using this for development and it is sweet!