Skip to content

yuanxiaoming8899/racktables

 
 

Repository files navigation

欢迎!

感谢您选择 RackTables 作为您的数据中心管理解决方案!如果您正在寻找文档或希望发送反馈,请在项目网站上查找相应的链接。

如何安装机架表

1. 准备服务器

RackTables 使用带有 PHP 的 Web 服务器(7.0 是最低要求版本,7.1 是最低测试版本,7.3 是推荐版本)作为前端,并使用 MySQL/MariaDB 服务器版本 5 或更高版本作为后端。RackTables 最常用的 Web 服务器是 Apache httpd。

1.1. 安装 MySQL/MariaDB 服务器

分配 怎么做
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

1.2. 在 MySQL/MariaDB 服务器中启用 Unicode

分配 怎么做
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

1.3. 安装 PHP 和 Apache httpd(或 nginx)

分配 怎么做
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

1.3.a. [已编辑]

1.3.b. [已编辑]

1.3.c. 自由BSD 10

您可以通过 3 种不同的方式在 FreeBSD 上安装 RackTables 及其依赖项。

A.使用pkg(二进制包管理)(并不总是最新版本)
# 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)。

B. 使用 ports 系统(可能比 pkg 更新)
# 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)。

C.使用说明书(最新版本)

使用 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

1.3.d. RHEL 7

Apache 配置和 webroot 位于 /opt/rh/httpd24/root/ 下

2.复制文件

将 tar.gz/zip 存档解压到您选择的目录,并将 Apache httpd 配置为使用wwwroot子目录作为新的 DocumentRoot。另外,到现有 DocumentRootwwwroot或什至index.php从现有 DocumentRoot 建立符号链接也是可能的,并且通常是可取的(请参阅 参考资料README.Fedora)。

3.运行安装程序

打开配置的 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

如何升级 RackTables

  1. 在实际开始升级之前,备份您的数据库并检查下面的发行说明。
  2. inc/secret.php删除除配置(文件)和本地插件(目录中)之外的所有现有文件plugins/
  3. 将新的 tar.gz/zip 存档的内容放入该位置。
  4. 在浏览器中打开 RackTables 页面。软件将检测版本不匹配并显示一条消息,告知您以管理员身份登录以完成升级。
  5. 执行此操作并向错误跟踪器或邮件列表报告任何错误。

发行说明

升级到0.22.0

自此版本起,支持的最低 PHP 版本为 7.0。

升级到0.21.2

此版本放弃了对$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”(真)。

升级到0.21.0

从现在开始,可以运行 RackTables 的最低(最旧)PHP 版本是 5.5.0。

此版本引入了新的插件架构。如果升级后遇到问题,请尝试禁用插件。请参阅http://wiki.racktables.org/index.php/Plugins 了解更多信息。

升级到 0.20.11

引入了新的IPV4_TREE_SHOW_UNALLOCATED配置选项,以禁用在 IPv4 空间树中显示未分配的网络。设置它也会禁用“骑士”功能。

升级到0.20.7

从现在开始,可以运行 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 查询,并显示“重复条目”错误消息。请随意继续使用您的安装。如果需要,您可以消除大小写重复的行并重新应用失败的查询。

升级到0.20.6

新的MGMT_PROTOS配置选项取代了TELNET_OBJS_LISTSRCSSH_OBJS_LISTSRCRDP_OBJS_LISTSRC选项(根据需要转换现有设置)。MGMT_PROTOS允许使用 RackCode 过滤器为特定设备列表指定任何管理协议。默认值 ( )为服务器和网络交换机ssh: {$typeid_4}, telnet: {$typeid_8}生成。ssh://server.fqdntelnet://switch.fqdn

升级到0.20.5

此版本引入了 VS 组功能。VS 组是一种存储和显示虚拟服务配置的新方法。有一个新的“ipvs”(VS 组)领域。所有以前存在的 VS 配置仍然有效,用户可以自由地将其转换为新格式,以更自然的方式显示它并允许生成 virtual_server_group keepalived 配置。要将虚拟服务转换为新格式,需要手动创建VS组对象并为其分配IP地址。VS组将显示“迁移”选项卡以转换旧式VS对象,转换成功后可以将其删除。

旧式 VS 配置已被弃用。它的支持将在未来的主要版本中删除。因此强烈建议将其转换为新格式。

升级到0.20.4

请注意,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_LISTSRCNEAREST_RACKS_CHECKBOX

升级到0.20.1

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}

升级到0.20.0

警告:此版本有太多内部更改,其中一些更改等待了一年多才发布。因此,这个版本被认为是“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树中的路由器。

About

RackTables 当前开发存储库

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 80.8%
  • JavaScript 16.9%
  • CSS 1.2%
  • Shell 0.6%
  • Perl 0.3%
  • Python 0.1%
  • Makefile 0.1%