fix spelling in release notes
[racktables] / README
CommitLineData
fedf925b
DO
1Thank you for selecting RackTables as your datacenter management solution!
2If you are looking for documentation or wish to send feedback, please
3look for the respective links at project's web-site (racktables.org).
de8695b2
DO
4
5*******************************************************
6* *
7* INSTALLING RACKTABLES *
8* *
9*******************************************************
10
fedf925b 11*** I. SERVER ***
de8695b2 12
fedf925b
DO
13RackTables requires a MySQL server version 5.x built with InnoDB and
14Unicode support and configured appropriately. It also requires an Apache
15httpd with PHP 5 module and several PHP extensions. Below is a list of
d1a9e5cf 16known-good distributions with respective setup notes.
3ebdbeed 17
570f1df4 18*** Fedora 8-16
fedf925b 19* MySQL: yum install mysql-server mysql
65ccc533
DO
20* Apache/PHP: yum install httpd php php-mysql php-pdo php-gd php-snmp \
21 php-mbstring php-bcmath
fedf925b
DO
22* To enable Unicode, add "character-set-server=utf8" line to "[mysqld]"
23section of "/etc/my.cnf" file and restart mysqld.
3ebdbeed 24
e8be2f81
DO
25*** Debian 6
26* MySQL: aptitude install mysql-server-5.1
27* Apache/PHP: aptitude install libapache2-mod-php5 php5-gd php5-mysql php5-snmp
28* To enable Unicode, add "character-set-server=utf8" line to "[mysqld]"
29section of "/etc/mysql/my.cnf" file and restart mysqld.
30
fedf925b
DO
31*** ALTLinux 4.0
32* MySQL: apt-get install MySQL-server
33* Apache/PHP: apt-get install apache2-httpd-prefork php5-gd2 \
9ddee5ea 34php5-pdo_mysql php5-pdo apache2-mod_php5 php5-mbstring
fedf925b
DO
35* To enable Unicode, add "CHSET=utf8" line to "/etc/sysconfig/mysqld" file
36and restart mysqld.
37
38*** openSUSE 11.0
39* MySQL: YaST -> Software -> software management -> Web and LAMP server -> mysql
40* Apache/PHP: use YaST to install apache2-mod_php5, php5-gd, php5-mbstring,
9dedb20f 41php5-mysql, php5-bcmath, php5-snmp and php5-ldap
fedf925b
DO
42* To enable Unicode, add "default-character-set=utf8" line to "[mysql]"
43section of "/etc/my.cnf" file and restart mysqld.
44
1c433d1e
DO
45*** Scientific Linux 6
46* MySQL: yum install mysql-server mysql
9dedb20f 47* Apache/PHP: httpd php php-mysql php-pdo php-gd php-mbstring php-bcmath
1c433d1e
DO
48* To enable Unicode, add "character-set-server=utf8" line to "[mysqld]"
49section of "/etc/my.cnf" file and restart mysqld.
50
fedf925b
DO
51*** FreeBSD 8
52* Apache/PHP:
a3bce64d
DO
53# make -C /usr/ports/www/apache13-modssl install
54# make -C /usr/ports/www/php5-session install
55[X] CLI Build CLI version
56[X] APACHE Build Apache module
57[X] MULTIBYTE Enable zend multibyte support
58# make -C /usr/ports/graphics/php5-gd install
59# make -C /usr/ports/databases/php5-pdo_mysql install
c20f01f4
DO
60# make -C /usr/ports/devel/pcre install
61!!! Enable UTF-8 support ............ : yes
62!!! Unicode properties .............. : yes
a3bce64d
DO
63# make -C /usr/ports/devel/php5-pcre install
64# make -C /usr/ports/converters/php5-mbstring install
65[X] REGEX Enable multibyte regex support
66
67# make -C /usr/ports/net-mgmt/php5-snmp install
68# make -C /usr/ports/net/php5-ldap install
d3372430 69
fedf925b 70*** II. FILES ***
d1a9e5cf 71Unpack distro files to any directory you want and configure Apache to "wwwroot"
65ccc533
DO
72subdirectory as DocumentRoot. Symlinks to wwwroot or even index.php from your
73web server root are also possible.
c2d46542 74
fedf925b
DO
75*** III. INSTALLER ***
76Open your configured RackTables URL and you will be prompted to configure
77and initialize the application.
c2d46542 78
de8695b2
DO
79*******************************************************
80* *
81* UPGRADING RACKTABLES *
82* *
83*******************************************************
d3372430
DO
84RackTables (since 0.14.6) provides an automatic database upgrade feature.
85If you already have a working installation, the following procedure
86should be sufficient:
de8695b2 87
fedf925b
DO
880. BACKUP YOUR DATABASE and check the release notes (below) before actually
89 starting the upgrade,.
dd14756b
AA
901. Remove all existing files except inc/secret.php and the gateways'
91 configuration (in the gateways directory).
de8695b2 922. Unpack the new tarball into the place.
fedf925b 933. Open your RackTables page in a browser. The software detects version
d3372430
DO
94 mismatch and displays a message telling to log in as admin to finish
95 the upgrade.
964. Do that. Normally, everything should be Ok. If there are
fedf925b 97 errors displayed, send these in a bug report.
7fc5565c 98
c2d46542
DO
99*******************************************************
100* *
101* RELEASE NOTES *
102* *
103*******************************************************
104
eacc0983
AA
105*** Upgrading to 0.20.5 ***
106
107This release introduces the VS groups feature. VS groups is a new way to store
108and display virtual services configuration. New realm 'ipvs' (VS group) is created.
109All the existing VS configuration is kept and displayed as-is, but user is free to convert
110it to the new format, which displays it in more natural way and allows to generate
ceea33a2 111virtual_server_group keepalived configs. To convert a virtual service to the new format,
eacc0983
AA
112you need to manually create the vs group object and assign IP addresses to it. Then, if you
113have the old-style VSes configured, the Migrate tab will be displayed on the particular VS group's
114page. After successfull migration, you can remove the old-style VS objects.
115
116Old-style VS configuration becomes DEPRECATED. Its support will be removed in one of the following
117major releases. So it is strongly recommended to convert it to the new format.
118
ef550f27
AA
119*** Upgrading to 0.20.4 ***
120
65ccc533
DO
121Please note that some dictionary items of Cisco Catalyst 2960 series switches
122were renamed to meet official Cisco classification:
ef550f27
AA
123 2960-48TT => 2960-48TT-L
124 2960-24TC => 2960-24TC-L
125 2960-24TT => 2960-24TT-L
126 2960-8TC => 2960-8TC-L
127 2960G-48TC => 2960G-48TC-L
128 2960G-24TC => 2960G-24TC-L
129 2960G-8TC => 2960G-8TC-L
130 C2960-24 => C2960-24-S
131 C2960G-24PC => C2960-24PC-L
132
2a943f85
DO
133The DATETIME_FORMAT configuration option used in setting date and time output
134format now uses a different [1] syntax. During upgrade the option is reset to
135the default value, which is now %Y-%m-%d (YYYY-MM-DD) per ISO 8601.
136
a7192a34
AA
137This release intoduces two new configuration options:
138REVERSED_RACKS_LISTSRC and NEAREST_RACKS_CHECKBOX.
139
2a943f85 140[1] http://php.net/manual/en/function.strftime.php
ef550f27 141
038739ac
AA
142*** Upgrading to 0.20.1 ***
143
65ccc533
DO
144The 0.20.0 release includes bug which breaks IP networks' capacity displaying on
14532-bit architecture machines. To fix this, this release makes use of PHP's BC
146Math module. It is a new reqiurement. Most PHP distributions have this module
147already enabled, but if yours does not - you need yo recompile PHP.
d76549bc 148
65ccc533
DO
149Security context of 'ipaddress' page now includes tags from the network
150containing an IP address. This means that you should audit your permission rules
151to check there is no unintended allows of changing IPs based on network's
152tagset. Example:
038739ac 153 allow {client network} and {New York}
65ccc533
DO
154This rule now not only allows any operation on NY client networks, but also any
155operation with IP addresses included in those networks. To fix this, you should
156change the rule this way:
038739ac
AA
157 allow {client network} and {New York} and not {$page_ipaddress}
158
9b8174d7
AD
159*** Upgrading to 0.20.0 ***
160
65ccc533
DO
161WARNING: This release have too many internal changes, some of them were waiting
162more than a year to be released. So this release is considered "BETA" and is
163recommended only to curiuos users, who agree to sacrifice the stability to the
164progress.
d1a9e5cf
AA
165
166Racks and Rows are now stored in the database as Objects. The RackObject table
167was renamed to Object. SQL views were created to ease the migration of custom
9b8174d7
AD
168reports and scripts.
169
65ccc533
DO
170New plugins engine instead of local.php file. To make your own code stored in
171local.php work, you must move the local.php file into the plugins/ directory.
172The name of this file does not matter any more. You also can store multiple
173files in that dir, separate your plugins by features, share them and try the
174plugins from other people just placing them into plugins/ dir, no more merging.
175
d1a9e5cf 176$path_to_local_php variable has no special meaning any more.
dd14756b 177$racktables_confdir variable is now used only to search for secret.php file.
65ccc533
DO
178$racktables_plugins_dir is a new overridable special variable pointing to
179 plugins/ directory.
dd14756b 180
65ccc533
DO
181Beginning with this version it is possible to delete IP prefixes, VLANs, Virtual
182services and RS pools from within theirs properties tab. So please inspect your
183permissions rules to assure there are no undesired allows for deletion of these
184objects. To ensure this, you could try this code in the beginning of permissions
185script:
d1a9e5cf
AA
186
187 allow {userid_1} and {$op_del}
188 deny {$op_del} and ({$tab_edit} or {$tab_properties})
189
65ccc533
DO
190Hardware gateways engine was rewritten in this version of RackTables. This means
191that the file gateways/deviceconfig/switch.secrets.php is not used any more. To
192get information about configuring connection properties and credentials in a new
193way please visit http://wiki.racktables.org/index.php/Gateways
d1a9e5cf 194
65ccc533
DO
195This also means that recently added features based on old API (D-Link switches
196and Linux gateway support contributed by Ilya Evseev) are not working any more
197and waiting to be forward-ported to new gateways API. Sorry for that.
d1a9e5cf
AA
198
199Two new config variables appeared in this version:
65ccc533
DO
200 - SEARCH_DOMAINS. Comma-separated list of DNS domains which are considered
201 "base" for your network. If RackTables search engine finds multiple objects
202 based on your search input, but there is only one which FQDN consists of
203 your input and one of these search domains, you will be redirected to this
204 object and other results will be discarded. Such behavior was unconditional
205 since 0.19.3, which caused many objections from users. So welcome this
206 config var.
207 - QUICK_LINK_PAGES. Comma-separated list of RackTables pages to display links
208 to them on top. Each user could have his own list.
d1a9e5cf
AA
209
210Also some of config variables have changed their default values in this version.
65ccc533
DO
211This means that upgrade script will change their values if you have them in
212previous default state. This could be inconvenient, but it is the most effective
213way to encourage users to use new features. If this behavior is not what you
214want, simply revert these variables' values:
d1a9e5cf 215 - SHOW_LAST_TAB no => yes
65ccc533
DO
216 - IPV4_TREE_SHOW_USAGE yes =>no (networks' usage is still available
217 by click)
d1a9e5cf 218 - IPV4LB_LISTSRC {$typeid_4} => false
65ccc533
DO
219 - FILTER_DEFAULT_ANDOR or => and (this implicitly enables the feature
220 of dynamic tree shrinking)
d1a9e5cf 221 - FILTER_SUGGEST_EXTRA no => yes (yes, we have extra logical filters!)
65ccc533
DO
222 - IPV4_TREE_RTR_AS_CELL yes => no (display routers as simple text, not
223 cell)
d1a9e5cf
AA
224
225Also please note that variable IPV4_TREE_RTR_AS_CELL now has third special value
65ccc533
DO
226besides 'yes' and 'no': 'none'. Use 'none' value if you are experiencing low
227performance on IP tree page. It will completely disable IP ranges scan for
228used/spare IPs and the speed of IP tree will increase radically. The price is
229you will not see the routers in IP tree at all.
7ec03062 230
86ff26ae 231*** Upgrading to 0.19.13 ***
65ccc533
DO
232A new "date" attribute type has been added. Existing date based fields ("HW
233warranty expiration", "support contract expiration" and "SW warranty
86ff26ae
DO
234expiration") will be converted to this new type but must be in the format
235"mm/dd/yyyy" otherwise the conversion will fail.
236
36efe434
DO
237*** Upgrading to 0.19.2 ***
238
65ccc533
DO
239This release is different in filesystem layout. The "gateways" directory has
240been moved from "wwwroot" directory. This improves security a bit. You can also
241separate your local settings and add-ons from the core RackTables code. To do
242that, put a single index.php file into the DocumentRoot of your http server:
4f5aea8a
AA
243
244<?php
65ccc533 245$racktables_confdir='/directory/with/secret.php/and/local.php/';
4f5aea8a
AA
246require '/directory_where_you_extracted_racktables_distro/wwwroot/index.php';
247?>
248
65ccc533
DO
249No more files are needed to be available directly over the HTTP. Full list of
250filesystem paths which could be specified in custom index.php or secret.php:
4f5aea8a 251 $racktables_gwdir: path to the gateways directory;
65ccc533
DO
252 $racktables_staticdir: path to the directory containing 'pix', 'js', 'css'
253 directories;
254 $racktables_confdir: path where secret.php and local.php are located. It is
255 not recommended to define it in secret.php, cause only
256 the path to local.php will be affected;
257 $path_to_secret_php: Ignore $racktables_confdir when locating secret.php and
258 use the specified path;
4f5aea8a 259 $path_to_local_php: idem for local.php.
36efe434 260
841a5b54 261*** Upgrading to 0.19.0 ***
6f542dde 262
65ccc533
DO
263The files, which are intended for the httpd (web-server) directory, are now in
264the "wwwroot" directory of the tar.gz archive. Files outside of that directory
265are not directly intended for httpd environment and should not be copied to the
266server.
65e557dd 267
65ccc533
DO
268This release incorporates ObjectLog functionality, which used to be available as
269a separate plugin. For the best results it is advised to disable (through
270local.php) external ObjectLog plugin permanently before the new version is
271installed. All previously accumulated ObjectLog records will be available
272through the updated standard interface.
8489d2af 273
65ccc533
DO
274RackTables is now using PHP JSON extension which is included in the PHP core
275since 5.2.0.
841a5b54 276
65ccc533
DO
277The barcode attribute was removed. The upgrade script attempts to preserve the
278data by moving it to either the 'OEM S/N 1' attribute or to a Log entry. You
279should backup your database beforehand anyway.
81659c05 280
1679ddbd
DO
281*** Upgrading to 0.18.x ***
282
65ccc533
DO
283RackTables from its version 0.18.0 and later is not compatible with RHEL/CentOS
284(at least with versions up to 5.5) Linux distributions in their default
285installation. There are yet options to work around that:
1679ddbd
DO
2861. Install RackTables on a server with a different distribution/OS.
2872. Request Linux distribution vendor to fix the bug with PCRE.
2883. Repair your RHEL/CentOS installation yourself by fixing its PCRE
65ccc533 289 RPM as explained here: http://bugs.centos.org/view.php?id=3252
30d0a2a3
DO
290
291*** Upgrading to 0.17.0 ***
292
65ccc533
DO
293One can always install RackTables 0.17.0 from scratch. However, upgrading an
294existing installation to 0.17.0 implies a certain upgrade path. If the existing
295database version is less, than 0.16.4, it must first be upgraded to version
2960.16.4, 0.16.5 or 0.16.6 (at one's choice) using appropriate tar.gz
297distribution. The resulting 0.16.4+ database can be upgraded to 0.17.0 (or later
298version) in a normal way (with tar.gz of the desired 0.17.x release).
d74ae24c 299
2c9fde3a
DO
300LDAP options have been moved to LDAP_options array. This means, that if you were
301using LDAP authentication for users in version 0.16.x, it will break right after
aca5a846 302upgrade to 0.17.0. To get things working again, adjust existing secret.php file
2c9fde3a
DO
303according to secret-sample.php file provided with 0.17.0 release.
304
65ccc533
DO
305This release is the first to take advantage of the foreign key support provided
306by the InnoDB storage engine in MySQL. The installer and upgrader scripts check
307for InnoDB support and cannot complete without it. If you have trouble, the
308first step is to make sure the 'skip-innodb' option in my.cnf is commented out.
e1ae3fb4 309
65ccc533
DO
310Another change is the addition of support for file uploads. Files are stored in
311the database. There are several settings in php.ini which you may need to
312modify:
e1ae3fb4
AD
313 file_uploads - needs to be On
314 upload_max_filesize - max size for uploaded files
65ccc533
DO
315 post_max_size - max size of all form data submitted via POST
316 (including files)
3e1c9c67 317
79b8ad1e 318User accounts used to have 'enabled' flag, which allowed individual blocking and
a476909e 319unblocking of each. This flag was dropped in favor of existing mean of access
65ccc533
DO
320setup (RackCode). An unconditional denying rule is automatically added into
321RackCode for such blocked account, so the effective security policy remains the
322same.