Posted by Dhaval Parikh on Jun 23, 2010
Are you getting cookie overflow error when you are loading a lot of flash[:notices] ??
Something like CGI::Session::CookieStore::CookieOverflow
if so here is a solution for it
Just write this method in ur controller
before_filter :session_cleanup
def session_cleanup
backup = session.data.clone
reset_session
backup.each { |k, v| session[k] = v unless k.is_a?(String) && k
=~ /^as:/ }
end
What this will do is it will clear old data thats already there in the session and restore this one.
The above method wont work if your data size is >= 4k in that case the only solution is to use another session store.
Hope this helps
… Njoi
Tags: cookie overflow, flash notice overflow error, handle cookie over flow + rails
Posted by Dhaval Parikh on Jun 16, 2010
Here is a small post on how to read an xml file using Hpricot in your Rails application.
First of all you need to install hpricot with the following command
gem install hpricot
Here is a sample xml file which I want to read. You can just paste the following code and create .xml file
<profiles>
<profile>
<name> test </name>
<user_ids>
<user_id>39</user_id>
</user_ids>
</profile>
<profile>
<name> test 123</name>
<user_ids>
<user_id>39</user_id>
<user_id>46</user_id>
</user_ids>
</profile>
</profiles>
Now here comes the code to read this file. Don’t forget to add require ‘hpricot’ in the controller where you are putting this code.
test = Hpricot::XML(File.open(“test.xml”, “r”))
(test/:profile).each do |pro| render :text=>(((pro.at(“name”).innerHTML.strip).to_s)+”=>”+(pro.at(“ _id”).innerHTML.strip).to_s).inspect and return false
end
Remove .inspect and return false once u get the required output
Hope this helps. If you have any doubts just post a message and I will try to reply.
Tags: hpricot + rails, read xml + rails, xml + hpricot + rails
Posted by Dhaval Parikh on Nov 5, 2009
Recently I was given a task to configure FTP server so that the user can upload files through FTP. I found VSFTPD really a good solution for it. Its very simple to configure Here are the steps
1) Install vsftpd using the following command
sudo apt-get install vsftpd
2) On doing so it will get installed in /etc path by default. To confirm the same go to /etc/vsftpd.conf using
sudo nano /etc/vsftpd.conf
Now if you want to allow local users to login find local_enable=YES and uncomment it
To disable anonymous ftp change anonymous_enable=YES to anonymous_enable=NO
Uncommenting the line (write_enable=YES) will let ftp users upload content to the server. (Thats what I wanted to do)
Thats all its done. Restart the server using
sudo /etc/init.d/vsftpd restart
This is how you will be able to allow ftp login.
But if u have many sites hosted on a server and you want to allow to access only one particular site to a certain user you need to do the following
1) create groups for specific sites using
groupadd site1
chgrp -R site1 /var/www/site1
2) Add user to that group
useradd -G site1 username
3) Give permission to a particular group
chmod -R g+w /var/www/site1/*
I think thats all. You should be able to access your server using ftp and even upload content on it.
Oh yes one more thing was I wanted the user to go directly to the folder where i wanted him to upload the file. So for that you need to change the root path/home path. For this u need to open passwd file in /etc using
nano /etc/passwd
Looks for the ftp access and the username You will find the current path. In most cases it will be /home change that to your preferred one.
Hmm Thats it..
Tags: sftp server, sftp slicehost, vsftpd, vsftpd slicehost, vsftpd ubuntu
Posted by Dhaval Parikh on Sep 9, 2009
I have configured many servers till now on different OS. Like CentOs, Fedora and Ubuntu. From all the Operating systems Ubuntu is my favorite. The reason is its rails friendly according to me. Also Fedora is also good but I like Ubuntu more might be just bcoz I am more used to it
Talking about configuring rails app on an Ubuntu server takes following steps on a plain slice
1) Step 1 will be to install basic ruby gems and other packages
If its a blank slice you might also need to update ur repos using
apt-get update before u start installing ruby and other required libraries
sudo aptitude install ruby1.8-dev ruby1.8 ri1.8 rdoc1.8 irb1.8 libreadline-ruby1.8 libruby1.8 libopenssl-ruby sqlite3 libsqlite3-ruby1.8.
2) Create simlinks
sudo ln -s /usr/bin/ruby1.8 /usr/bin/ruby
sudo ln -s /usr/bin/ri1.8 /usr/bin/ri
sudo ln -s /usr/bin/rdoc1.8 /usr/bin/rdoc
sudo ln -s /usr/bin/irb1.8 /usr/bin/irb
3) Install Ruby gems (Make sure you have the latest version from http://rubyforge.org/frs/?group_id=126
We will use the 1.3.2 version. Get the tar version from http://rubyforge.org/frs/download.php/55066/rubygems-1.3.2.tgz using wget http://rubyforge.org/frs/download.php/55066/rubygems-1.3.2.tgz.
Then do tar xzvf rubygems-1.3.2.tgz
cd rubygems-1.3.2
sudo ruby setup.rb (to install the setup)
then do simlink sudo ln -s /usr/bin/gem1.8 /usr/bin/gem
4) Then install rails (most important
)
gem install rails -v 2.2.2 (make sure u specify the version u want to install else it will install the latest one)
5) Next step will be database. I use MySql and so here is the procedure for it
sudo aptitude install mysql-server mysql-client libmysqlclient15-dev
You will be prompted to enter password 2-3 times while the installation is on. Don’t forget to setup a password.
6) Then comes one important part which is mysql-ruby library. Most people forget this and then MySql don’t work for them.
sudo aptitude install libmysql-ruby1.8
I think that’s all for Ruby + Rails + Ruby gems + Mysql
7) Since you are using Ubuntu make sure u have installed all the essentials things using
aptitude install build-essential.
This will install cc, gcc and other core required libraries. which will help u in installing gems and configuring them.
8 ) Like I said before you will now also require gem. And the most common one is ImageMagick and Rmagick you can install them using
sudo apt-get install imagemagick
sudo apt-get install libmagick9-dev
sudo gem install rmagick
These 3 steps works in most cases. If it doesn’t work for you let me know via comment and I shall help u in solving it. You may also visit my previously written blog post on http://blog.dhavalparikh.co.in/2008/02/rmagick-installation-on-ubuntu/
9) Some other important ones are capistrano and git which u might require to install. Not covering them as of now.
10) You might also require nginx for webserver (I use Nginx so I am writing about it).
sudo aptitude install nginx
This will install nginx. For more information about nginx and its configuration you may visit my previous posts on
http://blog.dhavalparikh.co.in/2008/11/nginx-configuration-expiry-headers-and-gzip-component-with-rails-nginxconf/
That’s more than what you need to run a basic rails apps. But I think these are essentials for a good rails app deployment.
You can even read more about Mongrel Clustering with Nginx on my posts which could be again a part of server configuration
http://blog.dhavalparikh.co.in/2008/11/mongrel-clustering-with-rails/
I think thats all. If you have any doubts or problems write me a comment and I shall reply u ASAP.
Tags: configur rails on ubuntu, deploy rails application, rails + ubuntu + mysql + nginx, rails on ubuntu
Posted by Dhaval Parikh on Aug 9, 2009
Well if that’s the problem you are facing then its not ur fault or nothing is wrong with your pc. Something is wrong with Gmail. Especially when you are using Firefox 3.5 you are sure to face this issue unless ur lucky.
Last month when i upgraded my browser to FF 3.5 I started facing the issue and realized that the issue was with Firefox and not Gmail since it was working properly in safari and other browsers. So as usual I googled and found this http://groups.google.com/group/mozilla.support.firefox/browse_thread/thread/805c8e689b64b8d2/adf482dcb49bb423
So I came to know that I am not the only one facing the issue. Then I tried couple of suggestions given in the thread and finally I have the list and solution for solving this problem. Here are the steps which you need to follow to get things working properly.
1) Clear history, cache every thing using the Clear history option in your browser
2) Next step is open GMail go to settings and check the last option Browser connection: Select Don’t always use https. Using Https will make things secure but slow. so let Gmail manage it on its own.
3) Look if you are using Firebug (A Mozilla Addon especially used by web developers) . If you are using that Disable it dont keep it running all the time.
4) Now finally the labs section. Gmail has many new features in the lab section. Try to disable the ones you don’t need.
5) Remove all unwanted add-ons
I think thats all restart Firefox and things should be alrite. If you are still facing issues Post me a comment and I shall help you out.
Tags: gmail issue with firefox, slow gmail