Thank you for selecting RackTables as your datacenter management
solution. Feel free to address your questions to the mailing list
before contacting the authors directly. The project web-site
(http://racktables.org/) is usually kept up to date with the
current version and URLs.

Mailing list: <racktables-users/=@=/freelists.org>
Bug tracker and Wiki: http://racktables.org/trac
Authors: <info/=@=/racktables.org>

*******************************************************
*                                                     *
*             INSTALLING RACKTABLES                   *
*                                                     *
*******************************************************

I. Install dependencies.

For database you must have a MySQL server installation
version 4.x or 5.x. InnoDB support must be enabled.
It is a good idea to make it use UTF-8 by default.

* Fedora 8/9: yum install mysql-server mysql
put "default-character-set=utf8" into /etc/my.cnf

* ALTLinux Desktop 4.0: apt-get install MySQL-server 
put "CHSET=utf8" into /etc/sysconfig/mysqld

* openSUSE 11.0: YaST -> Software -> software management -> Web and LAMP server -> mysql
put "default-character-set=utf8" into /etc/my.cnf

For web-frontend you must have Apache and PHP 5 with PDO and multibyte
extensions:

* Fedora 8/9: yum install httpd php php-mysql php-pdo php-gd php-snmp php-mbstring

* ALTLinux Server 4.0: apt-get install apache2-httpd-prefork php5-gd2 \
php5-pdo_mysql php5-pdo apache2-mod_php5 php5-mbstring

* openSUSE 11.0: use YaST to apache2-mod_php5, php5-gd, php5-mbstring, php5-mysql,
php5-snmp and php5-ldap

* FreeBSD 7:
# make -C /usr/ports/www/apache13-modssl install
# make -C /usr/ports/www/php5-session install
[X] CLI        Build CLI version
[X] APACHE     Build Apache module
[X] MULTIBYTE  Enable zend multibyte support
# make -C /usr/ports/graphics/php5-gd install
# make -C /usr/ports/databases/php5-pdo_mysql install
# make -C /usr/ports/devel/php5-pcre install
# make -C /usr/ports/converters/php5-mbstring install
[X] REGEX  Enable multibyte regex support

# make -C /usr/ports/net-mgmt/php5-snmp install
# make -C /usr/ports/net/php5-ldap install

II. Prepare the files and database.
1. Unpack the tarball and make it web-accessible, e.g. http://yourcompany.com/racktables
or http://racktables.mysite.org.
2. mysql> create database database_name; grant all privileges on database_name.* to XXX@YYY identified by 'ZZZ';


III. Finish the installation.
Open your RackTables URL and follow the instructions. In a suitable
environment everything should take a minute or so.

*******************************************************
*                                                     *
*              UPGRADING RACKTABLES                   *
*                                                     *
*******************************************************
RackTables (since 0.14.6) provides an automatic database upgrade feature.
If you already have a working installation, the following procedure
should be sufficient:

0. BACKUP YOUR DATABASE
1. Remove all existing files except inc/secret.php, gateways'
   configuration (in the gateways directory) and local mod (inc/local.php).
2. Unpack the new tarball into the place.
3. Open the RackTables page in your browser. The software detects version
   mismatch and displays a message telling to log in as admin to finish
   the upgrade.
4. Do that. Normally, everything should be Ok. If there are
   errors displayed, copy and send them to us for review.

*******************************************************
*                                                     *
*                   RELEASE NOTES                     *
*                                                     *
*******************************************************

*** Upgrading to 0.14.12 ***

The upgrade may show a failed query "alter database character set utf8", in
this case the user should issue the query manually from the mysql command
line.

*** Upgrading to 0.16.0 ***

This release features a completely new authorization system, RackCode,
which brings the tags feature (introduced in 0.15.0) to its full potential.
The old-style user permissions are converted during upgrade automatically,
but the result may appear not what you would expect. Review the RackCode
after upgrade (Main page -> Configuration -> Permissions) and adjust,
if necessary.

Another important change is a new dependency on "multibyte string" PHP
extension. Normally one should get it working before starting the upgrade,
this is typically achieved by installing a particular PHP RPM from the
standard package repository (and restarting Apache after that):

Fedora: yum install php-mbstring
ALTLinux: apt-get install php5-mbstring

*** Upgrading to 0.16.3 ***

This release fixes a missing UNIQUE KEY in a table. The upgrade script may
find it necessary first to transform some records. Because of this it is
normal to see several "update TagStorage ... Duplicate entry" failed queries
during the upgrade.

*** Upgrading to 0.17.0 ***

One can always install RackTables 0.17.0 from scratch. However, upgrading
an existing installation to 0.17.0 implies a certain upgrade path. If the
existing database version is less, than 0.16.4, it must first be upgraded
to version 0.16.4, 0.16.5 or 0.16.6 (at one's choice) using appropriate
tar.gz distribution. The resulting 0.16.4+ database can be upgraded to
0.17.0 (or later version) in a normal way (with tar.gz of the desired 0.17.x
release).

LDAP options have been moved to LDAP_options array. This means, that if you were
using LDAP authentication for users in version 0.16.x, it will break right after
upgrade to 0.17.0. To get things working again, adjust existing secret.php file
according to secret-sample.php file provided with 0.17.0 release.

This release is the first to take advantage of the foreign key support
provided by the InnoDB storage engine in MySQL.  The installer and
upgrader scripts check for InnoDB support and cannot complete without it.
If you have trouble, the first step is to make sure the 'skip-innodb'
option in my.cnf is commented out.

Another change is the addition of support for file uploads.  Files are stored
in the database.  There are several settings in php.ini which you may need to modify:
    file_uploads        - needs to be On
    upload_max_filesize - max size for uploaded files
    post_max_size       - max size of all form data submitted via POST (including files)

User accounts used to have 'enabled' flag, which allowed individual blocking and
unblocking of each. This flag was dropped in favor of existing mean of access
setup (RackCode). An unconditional denying rule is automatically added into RackCode
for such blocked account, so the effective security policy remains the same.
