A lesson in a working Dreamhost .htaccess 0

Posted by win
on Wednesday, March 19

# General Apache options
AddHandler fastcgi-script .fcgi
AddHandler cgi-script .cgi
Options +FollowSymLinks +ExecCGI

# If you don't want Rails to look in certain directories,
# use the following rewrite rules so that Apache won't rewrite certain requests
# 
# Example:
#   RewriteCond %{REQUEST_URI} ^/notrails.*
#   RewriteRule .* - [L]

# Redirect all requests not available on the filesystem to Rails
# By default the cgi dispatcher is used which is very slow
# 
# For better performance replace the dispatcher with the fastcgi one
#
# Example:
#   RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
RewriteEngine On

# If your Rails application is accessed via an Alias directive,
# then you MUST also set the RewriteBase in this htaccess file.
#
# Example:
#   Alias /myrailsapp /path/to/myrailsapp/public
#   RewriteBase /myrailsapp

RewriteRule ^$ index.html [QSA]
RewriteRule ^([^.]+)$ $1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]

# In case Rails experiences terminal errors
# Instead of displaying this message you can supply a file here which will be rendered instead
# 
# Example:
#   ErrorDocument 500 /500.html

ErrorDocument 500 "<h2>Application error</h2>Rails application failed to start properly"

Rebirth of the blog 0

Posted by win
on Tuesday, March 18

I had a blog before this one - not a good one, or even one worth talking about - but I've decided to change it up anyway. Its customary for curious neophytes of the geeky inclination to try out and explore the newest in technology so with this in mind I have traded in my Dreamhost-approved Wordpress for a brand-spanking new Ruby on Rails-powered supercool Mephisto blog. However, before taking on such a task my research left me a little more than just a little intimidated about installing Mephisto on my Dreamhost account.

Fortunately, braver and much smarter geeks ahead of me have decided to help us out by blogging their successes and more importantly their failures. Of the blogs chronicling the journey of installing Mephisto on Dreamhost Medeus made the installation about as smooth as any I'd ever tried - WITH THE ADDITION of creating a new Dreamhost user to get rid of the common error below:

FastCGI: incomplete headers (0 bytes) received from server

Follow the instructions and you should be sailing in no time.

Update:

I recently found out the Medeus blog I pointed to earlier in this post has gone to great beyond. However I did take the following scraps from the Google cache to replace my dead link



We all know Dreamhost is one of the best and cheapest solutions for all of your hosting needs. You can host unlimited domains with a ton of bandwidth and disk space for literally a couple of bucks a month. If you don't already have a Dreamhost account, you can get one here.

Wow what a pain... I was finally able to get this working after much trial and error and searching the internet.

I was following Yet Another Guide to Installing Mephisto on Dreamhost but was having a little difficulty mostly because it is using the most recent version of Mephisto. But this is where I found the most help.

So here is how I finally got Mephisto up on Dreamhost. Hopefully it helps somebody else to not have to deal with the problems I encountered.

    * Download 0.7.3 Noh-Varr (Bug fixes). There were issues checking out the most recent version using subversion so I reccomend to just grab the stable release. The stable release also comes with tzinfo in the vendor directory so no need to download it.
    * Upload it to your home directory on Dreamhost.
    * $ tar xzvf mephisto-0.7.3.tar.gz
    * $ cd mephisto-0.7.3
    * $ rake rails:freeze:edge TAG=rel_1-2-2
    * Use dreamhost panel to create mysql databases with username, password, etc. It's under Goodies - Manage MySQL
    * create config/database.yml and use information of mysql databases just created and don't forget not to use localhost for host but use what the Dreamhost panel tells you to use when you created the database
    * $ which ruby
    * whatever location ruby is in change public/dispatch.rb and public/dispatch.fcgi shebang to show this. Mine was #!/usr/bin/ruby
    * Edit public/.htaccess to use fcgi. Changes this line RewriteRule ^(.*)$ dispatch.cgi [QSA,L] to RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
    * Add DirectorySlash Off to public/.htaccess. This will fix the bug that doesn't allow more than one comment to be posted.
    * Edit config/environment.rb by uncommenting this line ENV['RAILS_ENV'] ||= 'production' so that you use your production database.
    * If there is no log directory, create it $ mkdir log
    * Change permissions - $ chmod -R u+rwX,go-w public log
    * $ rake RAILS_ENV=production db:bootstrap
    * Use dreamhost panel to use FastCGI and to create a link to your public directory of your mephisto folder. Domains - Manage domains and click Edit on your domain. Check FastCGI- support? and change web directory to /home/username/mephisto-0.7.3/public/

Everything should now work. Hopefully that helps someone...