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