INSTALLING OATS 2.0 =================== OBTAINING OATS --------------- OATS can be obtained from http://www.rustyparts.com/oats.php PREREQUISITES ------------- The following prerequisites are REQUIRED for Horde to function properly. 1. A webserver that supports PHP. 2. PHP 4.1.0 or above PHP is the interpreted language in which OATS is written. You can obtain PHP at http://www.php.net/ a. OATS applications store user preferences in a MySQL database. For MySQL database preferences storage, use the compile option (--with-mysql) b. IMAP and POP3 support (--with-imap) is needed if you want that method of authentication INSTALLING OATS ---------------- OATS is written in PHP, and must be installed in a web-accessible directory. The precise location of this directory will differ from system to system. If you have no idea where you should be installing OATS, install it directly under the root of your webserver's document tree. Since OATS is written in PHP, there is no compilation necessary; simply expand the distribution where you want it to reside and rename the root directory of the distribution to whatever you wish to appear in the URL. For example, with the Apache webserver's default document root of '/usr/local/apache/htdocs', you would type: cd /usr/local/apache/htdocs tar zxvf /path/to/oats-2.0.tar.gz mv oats-2.0 oats and would then find OATS at the URL http://your-server/oats/ CONFIGURING OATS ----------------- 1. Configuring the web server OATS requires the following webserver settings. Examples shown are for Apache; other webservers' configurations will differ. a. PHP interpretation for files matching "*.php" AddType application/x-httpd-php .php b. "index.php" as an index file (brought up when a user requests a URL for a directory) DirectoryIndex index.php 2. Creating databases First, cd into the scripts/db/ folder. This contains the mysql_create.sql script which will create all the oats tables. They are all prefixed with oats_, so you can add them to an already existing database if you like. You would execute the script in the following format: mysql -u username -p < mysql_create.sql Note that this will also create a default user 'admin', with password of 'admin' so that you can log in. Be sure to change the password for that user once OATS is set up. Note that the "mysql_drop" scripts in the scripts/db/ directory remove the changes made by the "mysql_create" script. 3. Configuring OATS To configure OATS, change to the config/ directory of the installed distribution, and make copies of all of the configuration "dist" files without the "dist" suffix: cd config/ for foo in *.dist; do cp $foo `basename $foo .dist`; done Documentation on the format of those files can be found in each file. You must edit the defaults.php file which contains the settings for OATS. Lastly, make sure that the print/ directory is writable by the webserver. This is where OATS stores timecards for printing after they have been submitted. This can be done by: chown user.www print chmod 770 print You may also want to look in the scripts/ directory at a cleanup script which can be installed in your crontab to periodically get rid of timecards stored in this directory. 4. Securing OATS a. Passwords Some of OATS' configuration files contain passwords which local users could use to access your database. It is recommended to ensure that at least the OATS configuration files (in config/) are not readable to system users. There are .htaccess files restricting access to directories that do not need to be accessed directly; before relying on those, ensure that your webserver supports .htaccess and is configured to use them, and that the files in those directories are in fact inaccessible via the browser. An additional approach is to make OATS' configuration files owned by the user 'root' and by a group which only the webserver user belongs to, and then making them readable only to owner and group. For example, if your webserver runs as www.www, do as follows: chown root.www config/* chmod 0440 config/* 5. Testing OATS Once you have configured your webserver, PHP, and OATS, bring up the index page. It would look something like: http://your-server/oats/index.php You should be able to log in as 'admin' (pass 'admin') if you are using the 'db' auth_method. If you are using 'imap' or 'pop3' auth_method you must log in with a valid user/pass combination that your mail server will accept (this would likely be the same as your e-mail user/pass combo that you use for that server). Thanks for using OATS!