`
catrose
  • 浏览: 6516 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

Ubuntu 8.04 Rails Server Using Passenger

阅读更多
Ubuntu 8.04 Rails Server Using Passenger
May 6th, 2008
Introduction
So before my monstrous OpenSolaris 2008.05 post on setting up a Ruby on Rails server I decided to write a guide on setting up a Ubuntu 8.04 server guide for all you Slicehost users! I decided to write this guide because of the new optimized kernel that was added to Ubuntu Server 8.04 for virtualized environments. I also wanted a complete guide that would be a solid reference and now just have bits and pieces for upcoming sysadmins will get lost when reading.

For simplicity I will start with a black machine and build upon that. Use the comments section for specific questions or starting points. I will try to do my best at answering any and all questions.

Requirements
This section will go over the simple requirements of the entire setup.

Hardware
Ubuntu 8.04 Server - This could be anything below:

Slicehost
VMware
Bare Metal Install
Software
Apache 2.2.8
MySQL/PostgreSQL/SQLite3
Git
Ruby
Rubygems
Rails
Capistrano
RSpec
Passenger
Installation of Software
First thing before we start installing anything on this machine we must update the server. This is very simple with Ubuntu, it is two simple commands and you are all set. You only need to reboot the machine if a kernel was installed.


sudo apt-get update
sudo apt-get dist-upgrade
Now that the machine is updated we must install some essential tools in order to build software on this server. Once we are done with the setup it would be a good idea to remove these tools to increase security on our server.


sudo apt-get install build-essential
Now we are all set with the preparation of the server and we can start installing the software we need to get going.

Web Server
For the web server I chose to use Apache 2 because of the new Passenger gem or (mod_rails). This gem is great because of the simplicity to deploy new applications.


sudo apt-get install apache2 apache2-threaded-dev
Database Server
The database server that should be used is completely up to your preference. My recommendation is PostgreSQL. PostgreSQL is a very robust and fast database server that is rock solid. It does use a lot of resources so for Slicehost it may not be the best choice. A major player for a slim and fast database for Slicehost should be SQLite3. It is a wonderful database and should be thrown out so quickly because of its lack of a client/server architecture.

For this tutorial I will install MySQL because of its popularity with the Rails community.


sudo apt-get install mysql-server mysql-client libmysqlclient15-dev
When prompted enter a root password, make this complex and write it down.

Version Control
Git is the most sexy version control system every created. I will never look back to subversion again. Now that capistraon and redmine both support git I have no reason to even thing about those awful three letters.

To install git is yet another apt-get command away. Run the following command in the terminal of your new server.


sudo apt-get install git-core curl gitweb
gitweb is an optional web frontend for your applications. I do not use it because I use GitNub a RubyCocoa application for the Mac.

Once that finishes git is completely installed and ready to go.

Ruby
Installing Ruby on Ubuntu 8.04 is quite simple. Just another apt-get and you are all set... almost. Since the inception of Ruby 1.9.0 distributions have been naming the current stable release of ruby "ruby1.8" That being said we will make a couple symlinks.

Ruby 1.8.6
To install all the tools you will want on this server run the following command:


sudo apt-get install ruby rdoc ri irb libopenssl-ruby1.8 ruby1.8-dev
Rubygems
I refuse to install Rubygems with apt-get. This is such a terrible idea in my opinion. There is no reason to install rubygems with a package manager because it can update itself. I will go over how to update rubygems later in this howto.


cd /usr/local/src/
sudo wget http://rubyforge.org/frs/download.php/38646/rubygems-1.2.0.tgz
sudo tar -xzf rubygems-1.2.0.tgz
cd rubygems-1.2.0
sudo ruby setup.rb
Optional: Once you are done with install just run the next three commands to make using gems and Rubygems just as before.


sudo ln -s /usr/bin/gem1.8 /usr/bin/gem
Recommended Gems
Here is a list of recommended gems that should be installed once rubygems is installed. At the very least you must install rails and passenger.


sudo gem install rails capistrano rspec passenger mysql rdoc

上海基方太阳能
Part Two
Next week I will go over how to connect all the pieces together and get a sexy Ruby on Rails server running smoothly. I will go over configuring git on your local computer as well as setting up passenger and capistrano to function with all of the above sexy applications we just installed.
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

Global site tag (gtag.js) - Google Analytics