-
Notifications
You must be signed in to change notification settings - Fork 15
Home
gnomet edited this page May 13, 2012
·
53 revisions
Welcome to the Kassi wiki!
NOTE: these installation instructionss are bit vague at the moment. If you try installing and encounter problems, please report them for example in Issues. And if you notice some steps missing, please edit the wiki and add them. We also try to keep enhancing the level of the documentation.
Below the installation instructions there is space for OS-specific tips, so if you have problems, check there, and if you get your problem solved, add instructions to the tips section.
- Install
- If want to use ASI (Aalto Social Interface) to manage user accounts, take a look at Kassi and ASI page. IF you don’t know about ASI, just ignore this one.
- Get the code (git clone is probably easiest way:
git clone git://github.com/sizzlelab/kassi.git
) cp config/database.example.yml config/database.yml
- You need to have a database available for Kassi. And a user that has access to it. (If you are going to do development you should have separate databases for development and testing also).
- You can download MySQL from here.
- These commands can help you in the making of the needed user and databases.
- Edit details according to your database to database.yml (if you are not going to develop Kassi, it’s enough to fill in the production database)
- Probably you only need to change the passwords to the same that you used when creating the databases.
cp config/config.example.yml config/config.yml
- Edit details according to your system configuration to config.yml. If there is something unclear, post a question for example to Issues.
- Install Sphinx. Version 0.9.9 is recommended as we haven’t tested Kassi with newer ones. See Sphinx installation instructions. (no need to start it yet. You can try running
searchd
command, but it should fail at this point complaining about missing config) - Install Imagemagick
- You can install optional Memcached if you want to enable faster caching in production environment.
- You may have more success installing the mysql gem manually at this point, particularly on Mac OS X 10.6 (see tips below)
gem install mysql
- run
bundle install
in the project root directory (kassi) to install required gems - (In the following 3 commands, leave out the
RAILS_ENV=production
part if you want to get Kassi running in development mode.) Load the database structure to your database:rake RAILS_ENV=production db:schema:load
- run sphinx index
rake RAILS_ENV=production thinking_sphinx:index
- start sphinx daemon
rake RAILS_ENV=production thinking_sphinx:start
- Kassi server can serve multiple Kassi communities that are separated by subdomains. You need at least one community to use Kassi. You can create communities currently by opening the rails console (with command
rails console production
(or leave the production away if you want to create a community for the develepment env)). In the console use commandCommunity.create({:name=>"name_of_your_community",:domain=>"ourcommunity"})
to create a community that can be accessed in http://ourcommunity.yourdomain.com. If you don’t have a separate domain, you can use lvh.me to point to localhost. (e.g. http://ourcommunity.lvh.me:3000 if server in default port 3000). - If you want to enable Kassi to send email locally (in the development environment), you might want to change the email settings in the config file. There is an example of configuring settings using a gmail account, but you can also use any other SMTP server. If you do not touch the settings, the development version works otherwise normally but might crash in instances where it tries to send email (like when sending a message to another user).
- Invoke the delayed job worker on your local machine: rake jobs:work . The worker processes tasks that are done in the background, like sending email notifications and assigning badges to people.
- Start the server. There are many options for this, lately we have been using Passenger, but the simplest way is to use command
rails server
which will start it on Mongrel, that is good option for development use.
- Note that the installation instructions are written for *nix-based systems so you need to change the commands a little to make them work in windows (e.g.
cp
becomescopy
in windows) - There is a separate guide for windows installation written by vbtdung
- If you are using MySQL, please note that Mac OS X 10.6 requires a 64-bit version of MySQL.
- Installing mysql gem might work better with this command:
env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
(you will need to make sure that the path to mysql_config is correct) - Paths and mysql-libs can cause problems with sphinx. At one computer running OS X we tried all kinds of trick to let sphinx know where the mysql libraries are, but none of them fixed the issue. The final and working method was to copy the missing library file directly to the project directory.. :D
Most of the management operations need to be done in the Rails console.Admin of kassi server page contains some help for that.
If you want to see what is currently being done by the core development team, you can take a look at the Pivotal Tracker
- Install git: instructions
- If you are a collaborator, see Collaborator guide otherwise fork the project.
- Check git instructions if needed from: learn.github.com
- Run all tests and make sure they all pass. (see bottom of the Coding Guidelines page for details.)
- Make changes to the code and do tests for your features. See our Coding Guidelines if you need guidance in this!
- Make sure the old and new tests pass.
- Commiting changes with informative english commit message that explains the changes you’ve made. This article gives nice example of how to format commit comments.
- if you are a collaborator, you can push directly, if you set the ssh-key on your profile
- otherwise make a push to your own forked repository and if you thing that the commit would be useful for the main Kassi branch, please make a pull request by clicking the “Pull request” button in your project or on the page of your commit. This github guide explains forking nicely.