The following are notes I took while setting up a local, self-contained version of MushroomObserver.org on an installation of Ubuntu 6.10, Edgy Eft. Please send us an updated version of this document if you find errors or differences for your platform of choice. Feel free to get in touch if you get stuck. Get software using Synaptic Package Manager (System -> Administration -> Synaptic Package Manager) Ruby (1.8.4 - Ubuntu) MySQL (Ver 14.12 Distrib 5.0.24a - Ubuntu) svn (version 1.3.2 (r19776) - Ubuntu) ImageMagick (6.2.4 - Ubuntu) Downloaded rubygems from rubyonrails.com (0.9.1) [No synaptic package] shell> cd shell> sudo ruby setup.rb Rails: (first tried synaptic package, but got complaints) shell> sudo gem install rails --include-dependencies # 1.2.1 RedCloth: (ruby gem for doing simplified markup) shell> sudo gem install RedCloth Setup MySQL The Ubuntu Synaptic install got alot of stuff running. The server was already running and it automatically restarts after a reboot. Couldn't get the User Administration section of MySQL Administrator to work for me, so reverted to raw mysql: shell> mysql -u root Secured automatically created accounts: mysql> select user, host from mysql.user; mysql> SET PASSWORD FOR ''@'' = PASSWORD(''); Get Mushroom Observer source shell> svn checkout http://svn.collectivesource.com/mushroom_sightings/trunk Create database.yml from database.yml-template shell> cd trunk/config shell> cp database.yml-template database.yml Edit the passwords in database.yml. You can also change the usernames and databases if you want, but the rest of this will assume the names in the template. I needed to change the socket: line as well as documented in the template. Other options include /var/lib/mysql/mysql.sock and /tmp/mysql.sock. Create databases: shell> mysql -u root -p mysql> create database observer_development; mysql> create database observer_test; mysql> create database observer_production; Create 'mo' user: mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER,LOCK TABLES on observer_development.* to 'mo'@'localhost' identified by ''; mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER,LOCK TABLES on observer_test.* to 'mo'@'localhost' identified by ''; mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER,LOCK TABLES on observer_production.* to 'mo'@'localhost' identified by ''; Test user: shell> mysql -u mo -p observer_development Create environment.rb from environment.rb-template: shell> cp environment.rb-template environment.rb If you want to test email, you'll need to edit environment.rb and provide a username and password, but otherwise you can leave it as it is. Setup image directories: shell> cd ../public/images shell> mkdir 640 orig thumb Setup .htaccess shell> cd .. shell> ln -s .htaccess-dev .htaccess Get database checkpoint and corresponding images Load database: shell> cd .. shell> mysql -u mo -p observer_development mysql> source db/checkpoints/checkpoint Update the database: shell> rake db:migrate Start server: shell> script/server Point web browser at: http://localhost:3000