11 Jul 2007

How to make arrow keys working in irb in Linux/Ubuntu

feisty fawn, irb, linux, rails, ruby, ubuntu posted by SUR

It was ruining all my mood and concentration when i was trying some sample ruby code in irb and again and again i had to retype the things because the arrow keys were not working there. I searched the problem on net and found that i need to have readline library on my linux and in ruby as well. Now the point is readline should be available on the linux before you compile ruby so as you can give the readline option while compiling ruby. BUT we have ruby already installed !! Now What ?

Now, first you will need to install system based readline libraries as

If you are not able to install linux based readline with the above method the refer this for more details.

Now you will need to compile the ruby based readline interface to let you readline library available in irb.
Do it by this…

thats it, all done!!
Try your tips on arrow keys in irb, it should work now.
enjoy!!

04 Jul 2007

How to install RMagick Gem on Linux/Ubuntu

RubyonRails, feisty fawn, gem, linux, rails, ror, ruby, ubuntu posted by SUR

While installing RMagick on Linux, if you are getting errors like this
“GraphicsMagick-config… no configure: error: Can’t install RMagick. Can’t find Magick-config or GraphicsMagick-config program. …”,
below is the solution for this error.

RMagick requires ImageMagick and which further requires loads of dependencies already available to get installed and work properly. I was figuring out of those all, and thank god got a quite simple and elegant way to do all that in just three commands.
First you will have to install imagemagick then libmagick9-dev and then finally you can install rmagick.

Here are the commands…

08 Feb 2007

Ruby script for creating new rails project and initial SVN import (with ignoring/removing log/other files)

RubyonRails, linux, rails, ruby, subversion posted by Akhil Bansal

Some days go I wrote a bash script for creating new rails project and initial SVN import (with ignoring/removing log/other files). And I received many comments if I could write a ruby script for this stuff. Hence here is the ruby script for creating new rails project and initial SVN import (with ignoring/removing log/other files) (4). Copy this script to any of your directory as “create_rails_with_subversion.rb” and execute by issuing “ruby create_rails_with_subversion.rb ”
You may need command line subversion for windows.

I have tested it at my windows and linux machine, if it not work for you please let me know.

Also I love to have your comments…. :)

04 Feb 2007

apache proxy balancer + mongrel clusters and deploying application with capistrano

linux, rails, web development posted by Akhil Bansal

So you want to setup production server with mongrel clusters and apache proxy balancer, also wants to use capistrano for deployment, huh. Take it easy, its very simple.

You need Apache 2.2 or later on your production server, and the following ruby gems on your both machine(server and local):

  • capistrano
  • mongrel
  • mongrel_cluster

I haven’t mentioned rails and rake gem as we are deploying a rails application so these gems are obvious.

Lets install above gems (if not installed) by issuing:

Now make sure that the following modules are enabled (they are disabled by default) :

  • mod-rewrite
  • mod-proxy
  • mod-proxy-http
  • mod-proxy-balancer

to check if they are enabled issue ” /etc/init.d/apachectl -M ” on server, it will list all the enabled modules. For Debian systems all enabled modules are in /etc/apache2/mods-enabled directory and all available modules are in /etc/apache2/mods-available directory, to enable them issue ” a2enmod MOD_NAME “.

Now create the production database(on server) and update database.yml for production database settings.

After this configure mongrel by issuing ” mongrel_rails cluster::configure -e production -p 8000 -a 127.0.0.1 -N 2 -c ./ ” inside the rails application root directory(on client machine). This will create mongrel_cluster.yml in config directory. You can change parameters in this command, as -p 8000 specifies that mongrel instances will start up on port number starting 8000, -a 127.0.0.1 specifies that mongrel instances will listen to the localhost, -N specifies the number of mongrel instances and -c specifies the rails root directory.

Now its time to capistranize rails application, issue ” cap –apply-to ./ APP_NAME ” inside rails application root directory(on client machine), this will add two files(config/deploy.rb and lib/tasks/capistrano.rake) to the rails application. Edit deploy.rb according to your requirements. Also add the following code to deploy.rb :

Now on your local machine issue these two commands in only once ” rake remote:setup ” and ” rake remote:cold_deploy “, when you issue ” rake remote:setup ” it will prompt for the server password and create necessary directories on the server and ” rake remote:cold_deploy ” will deploy your code to the server. Next time whenever you want to deploy to the server you just need to issue ” rake remote:deploy ” not ” rake remote:cold_deploy “.

Now we are just one step back, we need to configure apache proxy balancer for mongrel instances. Add the following code to the httpd.conf file:

you need to change the above code according to you requirement. Also you need to restart apache server by issuing ” /etc/init.d/apachectl restart “. Now you are done.

But we also need to add a script to start mongrel instances when the server restarts, otherwise whenever the server restart there will no mongrel instance running.

Just create a file named mongrel_clusters (you can choose any name) in /etc/init.d directory with the following code:

You need to change the BASEDIR in the above code. Make this file executable by ” chmod +x /etc/init.d/mongrel_clusters
Issue these commands to add this script at system startup:

Debian: /usr/sbin/update-rc.d /etc/init.d/mongrel_clusters defaults
RedHat: /usr/sbin/chkconfig –add /etc/init.d/mongrel_clusters and /usr/sbin/chkconfig –level 2 /etc/init.d/mongrel_clusters on

Note: Use above instructions at your own risk, if your computer explodes its not my fault :-)

10 Jan 2007

Bash script for creating new rails project and initial SVN import (with ignoring/removing log/other files)

RubyonRails, linux, rails, subversion, web development posted by Akhil Bansal

Many times we need to create a new rails project and import it to SVN repository. Each time we have to repeat same commands for creating new rails project, Initial import to SVN, Ignoring *.log files, move database.yml to database.example, ignoring tmp/sessions etc.. etc..

So I have written a bash script that do all this stuff, all you need to do is copy this file to any of your directory and execute this script by issuing ./create_rails_with_subversion & follow screen instructions.

This will:

  • create a new rails project
  • initial import to SVN
  • remove and ignore all log files from svn
  • remove and ignore sessions, cache sockets files from tmp dir
  • move database.yml to database.example
  • ignore database.yml

Download script from here.

I also love to have your feedbacks…

Next Page »