r3389 2nd round of PCRE work (#262), fix regexps
[racktables] / README
1 Thank you for selecting RackTables as your datacenter management
2 solution. Feel free to address your questions to the mailing list
3 before contacting the developers directly.
4
5 Project homepage: http://racktables.org/
6 Project SF page: http://sourceforge.net/projects/racktables/
7 Documentation: http://sourceforge.net/apps/mediawiki/racktables/index.php?title=Main_Page
8 Users mailing list: <racktables-users/=@=/freelists.org>
9 Mailing list archive: http://www.freelists.org/archive/racktables-users
10 Developers: <info/=@=/racktables.org>
11
12 *******************************************************
13 * *
14 * INSTALLING RACKTABLES *
15 * *
16 *******************************************************
17
18 I. Install dependencies.
19
20 For database you must have a MySQL server installation
21 version 4.x or 5.x. InnoDB support must be enabled.
22 It is a good idea to make it use UTF-8 by default.
23
24 * Fedora 8/9: yum install mysql-server mysql
25 put "default-character-set=utf8" into /etc/my.cnf
26
27 * ALTLinux Desktop 4.0: apt-get install MySQL-server
28 put "CHSET=utf8" into /etc/sysconfig/mysqld
29
30 * openSUSE 11.0: YaST -> Software -> software management -> Web and LAMP server -> mysql
31 put "default-character-set=utf8" into /etc/my.cnf
32
33 For web-frontend you must have Apache and PHP 5 with PDO and multibyte
34 extensions:
35
36 * Fedora 8/9: yum install httpd php php-mysql php-pdo php-gd php-snmp php-mbstring
37
38 * ALTLinux Server 4.0: apt-get install apache2-httpd-prefork php5-gd2 \
39 php5-pdo_mysql php5-pdo apache2-mod_php5 php5-mbstring
40
41 * openSUSE 11.0: use YaST to apache2-mod_php5, php5-gd, php5-mbstring, php5-mysql,
42 php5-snmp and php5-ldap
43
44 * FreeBSD 7:
45 # make -C /usr/ports/www/apache13-modssl install
46 # make -C /usr/ports/www/php5-session install
47 [X] CLI Build CLI version
48 [X] APACHE Build Apache module
49 [X] MULTIBYTE Enable zend multibyte support
50 # make -C /usr/ports/graphics/php5-gd install
51 # make -C /usr/ports/databases/php5-pdo_mysql install
52 # make -C /usr/ports/devel/php5-pcre install
53 # make -C /usr/ports/converters/php5-mbstring install
54 [X] REGEX Enable multibyte regex support
55
56 # make -C /usr/ports/net-mgmt/php5-snmp install
57 # make -C /usr/ports/net/php5-ldap install
58
59 II. Prepare the files and database.
60 1. Unpack the tarball and make it web-accessible, e.g. http://yourcompany.com/racktables
61 or http://racktables.mysite.org.
62
63 2. Setup MySQL database:
64 mysql> CREATE DATABASE racktables_db CHARACTER SET utf8 COLLATE utf8_general_ci;
65 mysql> grant all privileges on racktables_db.* to XXX@YYY identified by 'ZZZ';
66
67
68 III. Finish the installation.
69 Open your RackTables URL and follow the instructions. In a suitable
70 environment everything should take a minute or so.
71
72 *******************************************************
73 * *
74 * UPGRADING RACKTABLES *
75 * *
76 *******************************************************
77 RackTables (since 0.14.6) provides an automatic database upgrade feature.
78 If you already have a working installation, the following procedure
79 should be sufficient:
80
81 0. BACKUP YOUR DATABASE
82 1. Remove all existing files except inc/secret.php, gateways'
83 configuration (in the gateways directory) and local mod (inc/local.php).
84 2. Unpack the new tarball into the place.
85 3. Open the RackTables page in your browser. The software detects version
86 mismatch and displays a message telling to log in as admin to finish
87 the upgrade.
88 4. Do that. Normally, everything should be Ok. If there are
89 errors displayed, copy and send them to us for review.
90
91 *******************************************************
92 * *
93 * RELEASE NOTES *
94 * *
95 *******************************************************
96
97 *** Upgrading to 0.14.12 ***
98
99 The upgrade may show a failed query "alter database character set utf8", in
100 this case the user should issue the query manually from the mysql command
101 line.
102
103 *** Upgrading to 0.16.0 ***
104
105 This release features a completely new authorization system, RackCode,
106 which brings the tags feature (introduced in 0.15.0) to its full potential.
107 The old-style user permissions are converted during upgrade automatically,
108 but the result may appear not what you would expect. Review the RackCode
109 after upgrade (Main page -> Configuration -> Permissions) and adjust,
110 if necessary.
111
112 Another important change is a new dependency on "multibyte string" PHP
113 extension. Normally one should get it working before starting the upgrade,
114 this is typically achieved by installing a particular PHP RPM from the
115 standard package repository (and restarting Apache after that):
116
117 Fedora: yum install php-mbstring
118 ALTLinux: apt-get install php5-mbstring
119
120 *** Upgrading to 0.16.3 ***
121
122 This release fixes a missing UNIQUE KEY in a table. The upgrade script may
123 find it necessary first to transform some records. Because of this it is
124 normal to see several "update TagStorage ... Duplicate entry" failed queries
125 during the upgrade.
126
127 *** Upgrading to 0.17.0 ***
128
129 One can always install RackTables 0.17.0 from scratch. However, upgrading
130 an existing installation to 0.17.0 implies a certain upgrade path. If the
131 existing database version is less, than 0.16.4, it must first be upgraded
132 to version 0.16.4, 0.16.5 or 0.16.6 (at one's choice) using appropriate
133 tar.gz distribution. The resulting 0.16.4+ database can be upgraded to
134 0.17.0 (or later version) in a normal way (with tar.gz of the desired 0.17.x
135 release).
136
137 LDAP options have been moved to LDAP_options array. This means, that if you were
138 using LDAP authentication for users in version 0.16.x, it will break right after
139 upgrade to 0.17.0. To get things working again, adjust existing secret.php file
140 according to secret-sample.php file provided with 0.17.0 release.
141
142 This release is the first to take advantage of the foreign key support
143 provided by the InnoDB storage engine in MySQL. The installer and
144 upgrader scripts check for InnoDB support and cannot complete without it.
145 If you have trouble, the first step is to make sure the 'skip-innodb'
146 option in my.cnf is commented out.
147
148 Another change is the addition of support for file uploads. Files are stored
149 in the database. There are several settings in php.ini which you may need to modify:
150 file_uploads - needs to be On
151 upload_max_filesize - max size for uploaded files
152 post_max_size - max size of all form data submitted via POST (including files)
153
154 User accounts used to have 'enabled' flag, which allowed individual blocking and
155 unblocking of each. This flag was dropped in favor of existing mean of access
156 setup (RackCode). An unconditional denying rule is automatically added into RackCode
157 for such blocked account, so the effective security policy remains the same.