Install Guide
Requirements
- PHP >= 5.0
- A Relational Database such as...
- MySQL >= 4
- PostgreSQL >= 8.1
- Oracle 9i/10g might actually work with a few changes (grep the includes/ directory for @rdbms-specific to see what you need to change).
- MS SQL >= 2003 may work too - ActiveTable hasn't been tested extensively on MS SQL. Again, grep the includes/ directory for @rdbms-specific to find the handful of queries you'd need to rewrite.
- Apache + mod_rewrite
- If you want to write lighttpd rewrite rules, PLEASE SEND THEM TO ME!
- Microsoft IIS is not supported. If you have any skill with ISAPI_Rewrite (or a similar mod_rewrite-like thing for IIS), please feel free to write a set of rules and send them to me.
- The Windows XAMPP software is capable of running Kitto, but you must enable mod_rewrite for it to work.
- Unzip the package and transmit its contents to your webserver.
- Visit yoursite.com/path/to/kitto/system_check.php to run the compatibility check program.
- This will let you know if your webserver will work with KittoKittoKitto, and if not, exactly why it will not work.
- Chmod the /cache/ dir so that it is writable by the webserver.
- Chmod the /template/cache, /template/config/, and /template/templates_c directories to be writable by the webserver. However, DO NOT DO THIS TO /template/templates - that is insecure.
- Edit /includes/config.inc.php. You need to specify your database/user/pw, the base path (on the filesystem), and the public directory (the base URL), at the minimum. There are lots more options to play with in there, though. Don't fret - there's lots of in-line documentation.
- Rename the _htaccess file to .htaccess. Without the mod_rewrite rules provided by this file, your installation will not work.
- Open this file and change the line 'RewriteBase /kittokittokitto' to what is appropriate for your installation. The /kittokittokitto is the base path of your installation. Examples:
- http://demo.kittokittokitto.yasashiisyndicate.org/ = /
- http://bell.owl.ys/kittokittokitto = /kittokittokitto
- http://example.org/apps/kitto = /apps/kitto
- Load the db/mysql_ddl.sql file into your MySQL database. It contains all of the table structures needed by this app.
- You're out of luck if you want Oracle/MSSQL DDL. If you port it, please send the SQL to me!
- Load some SQL files from db/mysql_data (or db/pgsql_data for Postgres) in to your database. These contain seed data. To load all of the seed data at once, load in the db/data/_all.sql file.
- You can opt to load in some data instead of all of it by loading the tables in file-by-file. If you want to do this instead of using _all.sql, note that the following files are required to have your site work. If these files are not loaded, it will cause your installation to be inoperable.
- jump_pages.sql
- datetime_format.sql
- timezone.sql
- staff_permission.sql
- Unless you are an advanced Kitto developer and know *exactly* what you are doing, you will need to load these files to have your site be useful:
- cron_tab.sql
- item_class.sql
- staff_group.sql
- You can opt to load in some data instead of all of it by loading the tables in file-by-file. If you want to do this instead of using _all.sql, note that the following files are required to have your site work. If these files are not loaded, it will cause your installation to be inoperable.
- Sign up through the register page to create your user. You can check this by clicking on your username - the number at the end of the URL is your user ID. I will use 3 in this example.
- If you have loaded the staff_group.sql data file, you can run these two queries to give your account admin rights:
-- Put your user (keeping with our example, user ID 3) to group ID 1 - Administrators. INSERT INTO user_staff_group (user_id,staff_group_id) VALUES (3,1); -- And assign all permissions to the Administrators group - you shouldn't need to modify this query. INSERT INTO staff_group_staff_permission (staff_group_id,staff_permission_id) SELECT 1 AS group_id, staff_permission_id FROM staff_permission;
If you're looking to purchase hosting for Kitto, you're probably looking for hosting on Linux, not Windows. While it is possible to install Apache on Windows, I do not know of any hosting providers who offer Apache on Windows - they usually have IIS.
For shared hosting, Kitto recommends Dreamhost. For more technical-minded folks who can set up their own server, a VPS from Linode is a great choice.
Prep Work
Code Setup
Database Setup
Note: If you are new to Kitto, I strongly advise you load *all* of the sample data in, and not just those few files. Even if you intend to delete the pets and item_types as soon as your installation is complete, they will provide you with an idea of how everything fits together in the admin panel.
Create An Admin User
There is nothing special done by the registration page for the first user created. It will be a normal user account. Since there are no other admin accounts, you will need to take some action to make the user an administrator. Once this bootstrapping is done, you can change a user's permissions through the admin panel.
Finalizing
Once you have verified your Kitto install works, you can disable access (read as: delete) to the system_check.php file.