## Pre-Flight - Installation was on a 32-bit CentOS 5.6 box. - I'm assuming that you have a MySQL database already set up. - The Snorby Root is `/opt/snorby` ## Compiling ImageMagick Snorby requires a version that the yum repos do not (predictably) have. Your best option is to compile from the source ([or from an SRPM](http://www.imagemagick.org/Usage/api/#building) [\[2](http://en.citizendium.org/wiki/User:Dan_Nessett/Technical/Upgrade_to_1.16#ImageMagick_6.6.2-10)\]): yum -y groupinstall "Development Tools" wget -O - ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick.tar.gz | tar -xzvf - cd ImageMagick-6.6.9 ./configure make make install ## Installation Log # Install Git & Development Libs yum -y install git gcc gcc-c++ curl-devel httpd-devel \ apr-devel apr-util-devel zlib-devel \ libxml2 libxml2-devel libxslt \ libxslt-devel expat-devel gettext-devel \ mysql-devel readline-devel # Compile and Install Ruby wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p0.tar.gz tar -xvzf ruby-1.9.2-p0.tar.gz cd ruby-1.9.2-p0 ./configure make && make install cd .. rm -rf ruby-1.9.2-p0* # Get Snorby 2 cd /opt git clone git://github.com/Snorby/snorby.git cd snorby/ git pull # Some required gems gem install rails mysql # Install the Gem Bundler (yum for Ruby) gem install bundler cd /opt/snorby bundle install # Symlink to Apache site root ln -s /opt/snorby/public /var/www/html/snorby # Install Passenger (Ruby Server) gem install passenger –-no-rdoc –-no-ri # PDF export support wget http://wkhtmltopdf.googlecode.com/files/wkhtmltopdf-0.9.9-static-amd64.tar.bz2 tar -xjvf wkhtmltopdf-0.9.9-static-amd64.tar.bz2 mv wkhtmltopdf-amd64 /usr/local/bin/wkhtmltopdf # Now edit /opt/snorby/config/snorby_config.yml to match the location of this file ### Preparing Apache # Start the extremely friendly Passenger Apache Module Installer passenger-install-apache2-module Now add this to `/etc/httpd/conf.d/passenger.conf`: LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.7/ext/apache2/mod_passenger.so PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.7 PassengerRuby /usr/local/bin/ruby Now add this to `/opt/snorby/public/.htaccess`: RailsBaseURI /snorby PassengerAppRoot /opt/snorby ### Preparing MySQL Edit `/opt/snorby/config/database.yml` to match your MySQL connection params. * **Maintaining spacing is bloody important** and will save you a lot of grief. * **Use the `root` account** to your MySQL Instance for the *initial* setup. ### Initialize Snorby Go to `/opt/snorby` and set up the databases: rake snorby:setup RAILS_ENV=production ### Reconfiguring MySQL You can now remove `root` from the database config. Create a user (I called mine "snorby") and a password with full privileges to the "snorby" database. ## Errors ### EZPrint error "http://github.com/mephux/ezprint.git (at rails3) is not checked out.  Please run bundle install (Bundler::GitError)" This [has been documented](https://github.com/Snorby/snorby/issues/6). Go to the Snorby root and do this: cd /opt/snorby bundle pack bundle install --path vender/cache Take note that it's vend**e**r and not vend**o**r. I'm guessing this was a developer typo. ### undefined method [] for nil:NilClass [root@example snorby]# rake snorby:setup RAILS_ENV=production (in /opt/snorby) rake aborted!  undefined method []' for nil:NilClass This went away after I actually indented `config/database.yml` properly. ### Worker doesn't start via Web Interface * Make sure you have Rails installed (`gem install rails`) * Make sure that `readline` compiled and installed with Ruby * I had errors like `` `require': no such file to load -- readline `` when trying to start the Rails console ```bash # Install the correct yum package yum -y install readline-devel # Download, extract Ruby and head into the readline folder wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p0.tar.gz tar -xvzf ruby-1.9.2-p0.tar.gz  cd ruby-1.9.2-p0/ext/readline # Now compile and install it ruby extconf.rb make make install ``` When you go to `/opt/snorby` and pull up the Rails console, you shouldn't have any errors: [root@example snorby]# rails c Loading development environment (Rails 3.0.5) irb(main):001:0> You can manually start the worker using these commands: Snorby::Worker.stop      # Stop The Snorby Worker Snorby::Worker.start     # Start The Snorby Worker Snorby::Worker.restart   # Restart The Snorby Worker If you have Rails installed, the application should automagically start the worker threads.