感谢您选择 RackTables 作为您的数据中心管理解决方案!如果您正在寻找文档或希望发送反馈,请在项目网站上查找相应的链接。
RackTables 使用带有 PHP 的 Web 服务器(7.0 是最低要求版本,7.1 是最低测试版本,7.3 是推荐版本)作为前端,并使用 MySQL/MariaDB 服务器版本 5 或更高版本作为后端。RackTables 最常用的 Web 服务器是 Apache httpd。
分配 | 怎么做 |
---|---|
Debian 11 | apt-get install mariadb-server |
软呢帽26 | dnf install mariadb-server mariadb |
软呢帽 32 | dnf install mariadb-server |
自由BSD 10 | pkg install mysql56-server |
开放SUSE 42.1 | zypper install mysql-community-server |
科学Linux 6 | yum install mysql-server mysql |
乌班图18.04 | apt-get install mysql-server |
乌班图20.04 | apt-get install mariadb-server |
乌班图22.04 | apt-get install mariadb-server |
RHEL 7 | yum install -y mariadb-server mariadb |
分配 | 怎么做 |
---|---|
Debian 11 | 无需执行任何操作,默认配置为 UTF-8。 |
软呢帽 26-32 | printf "[mysqld]\ncharacter-set-server=utf8\n" > /etc/my.cnf.d/mysqld-charset.cnf; systemctl restart mariadb |
开放SUSE 42.1 | 无需执行任何操作,默认配置为 UTF-8。 |
科学Linux 6 | 将行添加character-set-server=utf8 到文件[mysqld] 部分/etc/my.cnf 并重新启动 mysqld |
乌班图18.04 | printf "[mysqld]\ncharacter-set-server=utf8\n" > /etc/mysql/conf.d/charset.cnf; service mysql restart |
乌班图20.04 | 无需执行任何操作,默认配置为 UTF-8。 |
RHEL 7 | 将行添加character-set-server=utf8 到文件[server] 部分/etc/my.cnf.d/server.cnf 并重新启动 mysqld |
分配 | 怎么做 |
---|---|
Debian 11 | apt-get install apache2-bin libapache2-mod-php php-gd php-mysql php-mbstring php-bcmath php-json php-snmp && systemctl restart apache2 |
软呢帽 26-32 | dnf install httpd php php-mysqlnd php-pdo php-gd php-snmp php-mbstring php-bcmath |
自由BSD 10 | 见注释1.3.c |
开放SUSE 42.1 | zypper install apache2-mod_php5 php5-gd php5-mbstring php5-mysql php5-bcmath |
科学Linux 6 | yum install httpd php php-mysql php-pdo php-gd php-mbstring php-bcmath |
Ubuntu 任何版本 | apt-get install apache2-bin libapache2-mod-php php-gd php-mysql php-mbstring php-bcmath php-json php-snmp |
RHEL 7 | subscription-manager repos --enable=rhel-server-rhscl-7-rpms |
yum install httpd24 rh-php70 rh-php70-php-mysqlnd rh-php70-php-pdo rh-php70-php-gd rh-php70-php-snmp rh-php70-php-mbstring rh-php70-php-bcmath rh-php70-php-ldap rh-php70-php |
您可以通过 3 种不同的方式在 FreeBSD 上安装 RackTables 及其依赖项。
# pkg install racktables
# pkg install mod_php56 mysql56-server
截至 2017 年 3 月,这将安装 RackTables 版本 0.20.11 及其依赖项(php 5.6、mysql-server 5.6 和 apache 2.4)。
# cd /usr/ports/sysutils/racktables
# make install
# pkg install mod_php56 mysql56-server
截至 2017 年 3 月,这将安装 RackTables 版本 0.20.11 并构建和安装其依赖项(php 5.6、mysql-server 5.6 和 apache 2.4)。
使用 pkg 安装依赖项:
# pkg install php70-bcmath php70-curl php70-filter php70-gd php70-gmp php70-json php70-mbstring php70-openssl php70-pdo php70-pdo_mysql php70-session php70-simplexml php70-snmp php70-sockets
# pkg install mod_php70 mysql56-server
将 tar.gz/zip 存档解压至/usr/local/www
符号链接机架表目录
# cd /usr/local/www
# ln -s RackTables-0.20.xx racktables
<path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path>
Apache 用户应在其 apache Includes 目录下创建一个racktables.conf 文件,其中包含以下内容:
AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps
<Directory /usr/local/www/racktables/wwwroot> DirectoryIndex index.php Require all granted </Directory> Alias /racktables /usr/local/www/racktables/wwwroot
启动服务:
# echo 'apache24_enable="YES"' >> /etc/rc.conf
# service apache24 start
# echo 'mysql_enable="YES"' >> /etc/rc.conf
# service mysql-server start
浏览至http://address.to.your.server/racktables/index.php并按照说明进行操作。
注意:secret.php
根据提示设置权限。
# chown www:www /usr/local/www/racktables/wwwroot/inc/secret.php
# chmod 400 /usr/local/www/racktables/wwwroot/inc/secret.php
Apache 配置和 webroot 位于 /opt/rh/httpd24/root/ 下
将 tar.gz/zip 存档解压到您选择的目录,并将 Apache httpd 配置为使用wwwroot
子目录作为新的 DocumentRoot。另外,到现有 DocumentRootwwwroot
或什至index.php
从现有 DocumentRoot 建立符号链接也是可能的,并且通常是可取的(请参阅 参考资料README.Fedora
)。
打开配置的 RackTables URL,系统将提示您配置和初始化应用程序。
分配 | Apache httpd UID:GID | MySQL/MariaDB UNIX 套接字路径 |
---|---|---|
Debian 11 | www-data:www-data |
/run/mysqld/mysqld.sock |
软呢帽 26-32 | apache:apache |
/var/lib/mysql/mysql.sock |
开放SUSE 42.1 | wwwrun:www |
/var/run/mysql/mysql.sock |
乌班图18.04 | www-data:www-data |
/var/run/mysqld/mysqld.sock |
乌班图20.04 | www-data:www-data |
/var/run/mysqld/mysqld.sock |
- 在实际开始升级之前,备份您的数据库并检查下面的发行说明。
inc/secret.php
删除除配置(文件)和本地插件(目录中)之外的所有现有文件plugins/
。- 将新的 tar.gz/zip 存档的内容放入该位置。
- 在浏览器中打开 RackTables 页面。软件将检测版本不匹配并显示一条消息,告知您以管理员身份登录以完成升级。
- 执行此操作并向错误跟踪器或邮件列表报告任何错误。
自此版本起,支持的最低 PHP 版本为 7.0。
此版本放弃了对$localreports
全局变量的支持,如果需要,在本地插件中替换该全局变量很简单。
addJS()
和功能已分离,addCSS()
可以轻松识别资源使用情况。原来的addJS()
和addCSS()
函数很可能会在 0.22.0 中被删除,因为它们已被弃用。
-
addJSText()
/addCSSText()
这些函数应用于添加未在单独文件中定义的内联 JS/CSS。
-
addJSInternal()
/addCSSInternal()
这些函数应用于添加对 JS/CSS 文件的内部引用,该文件可使用
?module=chrome&uri=
自托管 JS/CSS 文件进行访问。这可以被核心和插件使用。 -
addJSExternal()
/addCSSExternal()
这些函数应用于向托管在外部站点或 CDN 上的 JS/CSS 文件添加外部引用。这可以被核心和插件使用。
这些函数中的每一个都期望第一个参数是数据或 URI,第二个参数是可选组。默认情况下,该组设置为“默认”,并且组按字母顺序排序。需要注意的是,该addJSInternal()
函数在使用时,还会添加 jQuery 和 RackTables 常用 JavaScript 函数。
由于这种分离,您将不再需要提供 TRUE 或 FALSE 来识别参数值是文本还是 URI。如果重命名现有的addJS()
/addCSS()
函数调用,请务必删除此参数。如果不这样做,则意味着您实际上是在说组名称为“”(假)或“1”(真)。
从现在开始,可以运行 RackTables 的最低(最旧)PHP 版本是 5.5.0。
此版本引入了新的插件架构。如果升级后遇到问题,请尝试禁用插件。请参阅http://wiki.racktables.org/index.php/Plugins 了解更多信息。
引入了新的IPV4_TREE_SHOW_UNALLOCATED
配置选项,以禁用在 IPv4 空间树中显示未分配的网络。设置它也会禁用“骑士”功能。
从现在开始,可以运行 RackTables 的最低(最旧)PHP 版本是 5.2.10。特别是,要继续在 CentOS 5 上运行 RackTables,需要在升级之前将其 php* RPM 软件包替换为相应的 php53* 软件包(PHP 5.3 内部提供的 JSON 软件包除外)。
数据库触发器用于某些数据一致性措施。数据库用户帐户必须具有“TRIGGER”权限,该权限是在 MySQL 5.1.7 中引入的。
配置IPV4OBJ_LISTSRC
选项被重置为一个表达式,该表达式可为除列出的对象类型之外的所有对象类型启用 IP 寻址功能。
现在可以使用具有自动完成功能的文本输入在“编辑/属性”选项卡上分配标签。输入星号“*”可在自动完成菜单中查看完整的标签树。如果不再需要老式的“标签”选项卡,则值得将以下行添加到权限脚本中:
deny {$tab_tags} # this hides 'Tags' tab
此版本将所有数据库字段的排序规则转换为utf8_unicode_ci
. 此过程可能需要一些时间,并且如果存在仅字母大小写不同的行,则可能会失败。如果发生这种情况,您将在升级报告中看到失败的 SQL 查询,并显示“重复条目”错误消息。请随意继续使用您的安装。如果需要,您可以消除大小写重复的行并重新应用失败的查询。
新的MGMT_PROTOS
配置选项取代了TELNET_OBJS_LISTSRC
、
SSH_OBJS_LISTSRC
和RDP_OBJS_LISTSRC
选项(根据需要转换现有设置)。MGMT_PROTOS
允许使用 RackCode 过滤器为特定设备列表指定任何管理协议。默认值 ( )为服务器和网络交换机ssh: {$typeid_4}, telnet: {$typeid_8}
生成。ssh://server.fqdn
telnet://switch.fqdn
此版本引入了 VS 组功能。VS 组是一种存储和显示虚拟服务配置的新方法。有一个新的“ipvs”(VS 组)领域。所有以前存在的 VS 配置仍然有效,用户可以自由地将其转换为新格式,以更自然的方式显示它并允许生成 virtual_server_group keepalived 配置。要将虚拟服务转换为新格式,需要手动创建VS组对象并为其分配IP地址。VS组将显示“迁移”选项卡以转换旧式VS对象,转换成功后可以将其删除。
旧式 VS 配置已被弃用。它的支持将在未来的主要版本中删除。因此强烈建议将其转换为新格式。
请注意,Cisco Catalyst 2960 系列交换机的一些字典项目已重命名,以满足官方 Cisco 分类:
旧名 | 新名字 |
---|---|
2960-48TT | 2960-48TT-L |
2960-24TC | 2960-24TC-L |
2960-24TT | 2960-24TT-L |
2960-8TC | 2960-8TC-L |
2960G-48TC | 2960G-48TC-L |
2960G-24TC | 2960G-24TC-L |
2960G-8TC | 2960G-8TC-L |
C2960-24 | C2960-24-S |
C2960G-24PC | C2960-24PC-L |
DATETIME_FORMAT
用于设置日期和时间输出格式的配置选项现在使用不同的
语法。升级期间,该选项将重置为默认值,根据 ISO 8601,该值现在为 %Y-%m-%d (YYYY-MM-DD)。
此版本引入了两个新的配置选项:
REVERSED_RACKS_LISTSRC
和NEAREST_RACKS_CHECKBOX
。
0.20.0 版本包含一个错误,该错误会破坏 32 位架构计算机上显示的 IP 网络容量。为了解决这个问题,此版本使用了 PHP 的 BC Math 模块。这是一个新的要求。大多数 PHP 发行版都已启用此模块,但如果您的发行版没有启用 - 您需要重新编译 PHP。
“ipaddress”页面的安全上下文现在包括来自包含 IP 地址的网络的标签。这意味着您应该审核您的权限规则,以检查是否存在意外允许基于网络标记集更改 IP 的情况。例子:
allow {client network} and {New York}
此规则现在不仅允许在 NY 客户端网络上进行任何操作,还允许使用这些网络中包含的 IP 地址进行任何操作。要解决此问题,您应该这样更改规则:
allow {client network} and {New York} and not {$page_ipaddress}
警告:此版本有太多内部更改,其中一些更改等待了一年多才发布。因此,这个版本被认为是“BETA”,并且仅推荐给同意牺牲稳定性以换取进步的好奇用户。
机架和行现在作为对象存储在数据库中。RackObject 表已重命名为 Object。创建 SQL 视图是为了简化自定义报告和脚本的迁移。
新的插件引擎而不是local.php
文件。要使自己的代码存储在
local.php
工作中,必须将local.php
文件移动到该plugins/
目录中。该文件的名称不再重要。您还可以在该目录中存储多个文件,按功能分离插件,共享它们并尝试其他人的插件,只需将它们放入plugins/
目录中,不再合并。
$path_to_local_php
变量不再具有特殊含义。$racktables_confdir
变量现在仅用于搜索secret.php
文件。$racktables_plugins_dir
是一个指向plugins/
目录的新的可重写特殊变量。
从该版本开始,可以从其属性选项卡中删除 IP 前缀、VLAN、虚拟服务和 RS 池。因此,请检查您的权限规则,以确保不会出现不需要的删除这些对象的情况。为了确保这一点,您可以在权限脚本的开头尝试以下代码:
allow {userid_1} and {$op_del}
deny {$op_del} and ({$tab_edit} or {$tab_properties})
在此版本的 RackTables 中重写了硬件网关引擎。这意味着该文件gateways/deviceconfig/switch.secrets.php
不再被使用。要获取有关以新方式配置连接属性和凭据的信息,请阅读此内容。
这也意味着最近基于旧 API(由 Ilya Evseev 贡献的 D-Link 交换机和 Linux 网关支持)添加的功能不再起作用,并等待向前移植到新网关 API。对此感到抱歉。
此版本中出现了两个新的配置变量:
SEARCH_DOMAINS
。以逗号分隔的 DNS 域列表,这些域被视为网络的“基础”。如果 RackTables 搜索引擎根据您的搜索输入找到多个对象,但只有一个对象的 FQDN 由您的输入和这些搜索域之一组成,您将被重定向到该对象,并且其他结果将被丢弃。这种行为从0.19.3开始是无条件的,引起了很多用户的反对。所以欢迎这个配置变量。QUICK_LINK_PAGES
。以逗号分隔的 RackTables 页面列表,在顶部显示指向它们的链接。每个用户都可以有自己的列表。
此外,一些配置变量在此版本中更改了其默认值。这意味着如果您将它们设置为以前的默认状态,升级脚本将更改它们的值。这可能会带来不便,但却是鼓励用户使用新功能的最有效方法。如果这种行为不是您想要的,只需恢复这些变量的值:
多变的 | 老的 | 新的 | 评论 |
---|---|---|---|
SHOW_LAST_TAB |
不 | 是的 | |
IPV4_TREE_SHOW_USAGE |
是的 | 不 | 网络的使用仍然可以通过点击进行。 |
IPV4LB_LISTSRC |
{$typeid_4} | 错误的 | |
FILTER_DEFAULT_ANDOR |
或者 | 和 | 这隐式地启用了动态树收缩的功能。 |
FILTER_SUGGEST_EXTRA |
不 | 是的 | 是的,我们有额外的逻辑过滤器! |
IPV4_TREE_RTR_AS_CELL |
是的 | 不 | 将路由器显示为简单文本,而不是单元格。 |
另请注意,IPV4_TREE_RTR_AS_CELL
除了“yes”和“no”之外,变量现在还有第三个特殊值:“none”。如果您在 IP 树页面上遇到性能低下的情况,请使用“无”值。它将完全禁用对已用/备用 IP 的 IP 范围扫描,并且 IP 树的速度将从根本上提高。代价是你根本看不到IP树中的路由器。