1.Portal 名字显示顺序调整

文件路径

iTop\web\datamodels\2.x\itop-portal-base\portal\templates\layout.html.twig

修改前:
{% set sUserFullname = app['combodo.current_user'].Get('first_name') ~ ' ' ~ app['combodo.current_user'].Get('last_name') %}修改后:
{% set sUserFullname = app['combodo.current_user'].Get('last_name') ~ ' ' ~ app['combodo.current_user'].Get('first_name') %}

2.隐藏 Portal字段

文件路径

iTop\web\datamodels\2.x\itop-tickets\datamodel.itop-tickets.xml

修改前:
<div class="row"><div class="col-sm-6"><div class="form_field" data-field-id="impact"></div></div><div class="col-sm-6"><div class="form_field" data-field-id="urgency"></div></div>
</div>修改后:
<div class="row">
<!-- <div class="col-sm-6"><div class="form_field" data-field-id="impact"></div></div><div class="col-sm-6"><div class="form_field" data-field-id="urgency"></div></div> -->
</div>

3.SMTP 邮件设置

文件路径

iTop\web\conf\production\config-itop.php

'email_transport' => 'SMTP',
'email_transport_smtp.host' => 'IP地址',
'email_transport_smtp.port' => '25',

4.LDAP 域控访问设置

文件路径

iTop\web\conf\production\config-itop.php

'authent-ldap' => array ('host' => 'IP地址','port' => 389,'default_user' => '账户名','default_pwd' => '密码','base_dn' => 'dc=公司域名,dc=com','user_query' => '(SamAccountName=%1$s)','options' => array (17 => 3,8 => 0,),'start_tls' => false,'debug' => false,'servers' => array (),

5.数据库备份设置

文件路径

iTop\web\conf\production\config-itop.php

'itop-backup' => array ('mysql_bindir' => 'C:\wamp64\bin\mysql\mysql5.7.36\bin','week_days' => 'monday, tuesday, wednesday, thursday, friday','time' => '23:30','retention_count' => 5,'enabled' => true,'itop_backup_incident' => '',),

6.局域网访问设置

6.1把绝对路径改成相对路径,可以使局域网访问时,正常加载页面和图片

文件路径

iTop\web\conf\production\config-itop.php

修改前'app_root_url' => 'http://localhost/itop/web/',修改后'app_root_url' => '/itop/web/',

6.2 拒绝访问403错误

wamp64\bin\apache\apache2.4.51\conf\extra\httpd-vhosts.conf

把Deny from all 改为 Required all granted就可以解决

修改前
<VirtualHost *:80>ServerName localhostServerAlias localhostDocumentRoot "${INSTALL_DIR}/www"<Directory "${INSTALL_DIR}/www/">Options +Indexes +Includes +FollowSymLinks +MultiViewsAllowOverride AllDeny from all</Directory>
</VirtualHost>修改后
<VirtualHost *:80>ServerName localhostServerAlias localhostDocumentRoot "${INSTALL_DIR}/www"<Directory "${INSTALL_DIR}/www/">Options +Indexes +Includes +FollowSymLinks +MultiViewsAllowOverride AllRequire all granted</Directory>
</VirtualHost>

6.3 因为6.2改成相对路径,部分图片无法加载

文件路径

wamp64\www\iTop\web\data\cache-production\portals\itop-portal-prod\ContainerNmvmbxk\srcProdProjectContainer.php

删除http头,图片就可以正常加载。调试方法edge或是chrome,启用F12开发者工具,查看加载失败的URL,根据图片的名称在itop工程里搜索,即可找到对应的文件。

修改前
'logo' => 'http://localhost/itop/web/images/logo-itop-dark-bg.svg?t=1653041501.4401',修改后
'logo' => '/itop/web/images/logo-itop-dark-bg.svg?t=1653041501.4401',

6.4 忘记密码,邮件里的链接地址不完整,缺少http头部的处理方法

文件路径

wamp64\www\iTop\web\application\loginwebpage.class.inc.php

追加完整路径,http://ip地址 或者 http://域名

修改前
$sResetUrl = utils::GetAbsoluteUrlAppRoot().'pages/UI.php?loginop=reset_pwd&auth_user='.urlencode($oUser->Get('login')).'&token='.urlencode($sToken);修改后
$sResetUrl = 'http://ip地址'.utils::GetAbsoluteUrlAppRoot().'pages/UI.php?loginop=reset_pwd&auth_user='.urlencode($oUser->Get('login')).'&token='.urlencode($sToken);

7. Internet访问设置

IIS反向代理的核心设置代码

1.Internet访问地址http://域名/itop/web/pages/UI.php2.反向代理Rewrite URL:http://192.168.0.2/{R:1}Pattern:^(.*)Conditon:{HTTP_HOST} ^域名$3.局域网的访问URL:http://192.168.0.2/itop/web/pages/UI.php排错技巧,Rewrite写到哪里合适如果改成 Rewrite URL:http://192.168.0.2/itop/web/{R:1}
会出现,只能打开首页,css加载不正确,点击登录提示找不到页面的错误,
因为链接变成了,itop/web/itop/web 多了一层。

8. 为已有的类添加共有属性

8.1准备工作

下载iTopDataModelToolkit-2.3.zip

下载完成后解压至wamp64\www\iTop\web路径下
完整路径wamp64\www\iTop\web\toolkit

8.2业务需求

父类:物理设备(PhysicalDevice)

子类:电脑(PC),服务器类(Server)

共同业务需求:创建PC和Server时,需要添加发票号码Invoice,采购编号:OrderNo共有信息,

PC需要,再增加配置项:硬盘容量HDD,CD机规格,CPU速度

8.3生成数据模型模板

步骤1:创建空模板,用于向数据库添加新的字段

https://www.itophub.io/wiki/page?id=2_5_0%3Acustomization%3Adatamodel#creating_a_module

Company Name:随意输入

Extension Name:随意输入

Extension Label:随意输入,安装时会以该名字显示

Version:随意输入

Dependencies:依赖的模型,这里选择itop-endusers-devices,因为PC属于该数据模型下,后续需要再该模型中配置页面显示

输入完成后,点击Generate

Generate一个zip压缩文件,解压缩后放入wamp64\www\iTop\web\extensions
完整路径wamp64\www\iTop\web\extensions\itop-pd-ext

重复上述步骤,制作PC模块的模板zip,解压结果如下

wamp64\www\iTop\web\extensions\itop-pc-ext

8.4运行setup,添加扩展模块itop-pc-ext和itop-pd-ext,只需下一步下一步,在最后一页选择对应的扩展名称就可以。

http://localhost/itop/web/setup/

8.5配置XML文件

8.5.1添加PhysicalDevice的字段

在wamp64\www\iTop\web\extensions\itop-pd-ext路径下
打开datamodel.itop-pd-ext.xml文件

class id="PhysicalDevice" 指定需要修改的数据库对象

filed id = orderno 指定追加的字段orderno

filed id = invoice 指定追加的字段invoice

<?xml version="1.0" encoding="UTF-8"?>
<itop_design xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.6"><classes><class id="PhysicalDevice"><fields><field id="orderno" xsi:type="AttributeString" _delta="define"><sql>orderno</sql><defalut_value/><is_null_allowed>true</is_null_allowed></field><field id="invoice" xsi:type="AttributeString" _delta="define"><sql>invoice</sql><defalut_value/><is_null_allowed>true</is_null_allowed></field></class></classes>
</itop_design>

8.5.2添加PC字段

找到并打开datamodel文件

在wamp64\www\iTop\web\extensions\itop-pc-ext路径下
打开datamodel.itop-pc-ext.xml

修改XML内容如下

<?xml version="1.0" encoding="UTF-8"?>
<itop_design xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.6"><classes><class id="PC"><fields><field id="cpuspeed" xsi:type="AttributeString" _delta="define"><sql>cpuspeed</sql><defalut_value/><is_null_allowed>true</is_null_allowed></field><field id="hdd" xsi:type="AttributeString" _delta="define"><sql>hd</sql><defalut_value/><is_null_allowed>true</is_null_allowed></field><field id="cd" xsi:type="AttributeString" _delta="define"><sql>cd</sql><defalut_value/><is_null_allowed>true</is_null_allowed></field></fields></class></classes>
</itop_design>

8.5.3在各个画面显示

首先在PC画面显示,orderno,invoice,cpuspeed,hdd,cd,打开编辑下面的文件

wamp64\www\iTop\web\datamodels\2.x\itop-endusers-devices\datamodel.itop-enduser-devices.xml

找到PC类,找到presentation下的details下的items,添加cpuspeed,hdd等信息

  <item id="fieldset:Server:moreinfo"><rank>20</rank><items>             <item id="cpu"><rank>60</rank></item><item id="cpuspeed"><rank>60</rank></item><item id="ram"><rank>70</rank></item><item id="hdd"><rank>80</rank></item><item id="cd"><rank>90</rank></item>...<items> 

8.6 运行更新

http://localhost/itop/web/toolkit

先点击iTop update下的Check DB Schema,更新SQL字段(根据提示内容,复制SQL语句然后黏贴到数据库管理器运行),再点击UpdateiTopCode更新代码。

9.修改MYSQL的参数,避免同步时提示如下错误信息

mysql_error = Index column size too large. 

需要将default row format的值由campct改成dynamic

10.同步导入Persons

创建一个同步源,输入Name:任意,Target Class:必须,这里选择Person类,点击应用

设置:需要同步的字段,需要更新的字段,和同步后不允许手动修改的字段。

CSV文件

primary_key;first_name;name;org_id;email;function;mobile_phone
"admin";"wang";"haha";"IT-Department";"wanghaha@xx.cn";"Manager";"136XXXXXXXX"

执行语句

注意,这里data_source_id=4里面的数字4,是对应数据库的表

php synchro_import.php --auth_user=admin --auth_pwd=密码 --csvfile=persons.csv --data_source_id=4 --output=summary

完成后,可以查看记录,这里显示成功创建一条记录。

11.LDAP 同步

原文https://www.itophub.io/wiki/page?id=extensions%3Aldap-data-collector

下载Data collector for LDAP Extention扩展,解压后放在任意路径。

https://store.itophub.io/en_US/products/ldap-data-collector

复制params.distrib.xml,改名为params.local.xml

C:\wamp64\www\iTop\ldap-data-collector\conf\params.distrib.xml

给管理员添加REST角色

先添加组织,否则LDAP同步会失败

注意事项:

itop_login和itop_password写itop的管理眼账户和密码

ldapuri写ad服务器的ip地址,端口号默认389根据实际情况修改

ldapdn:根据实际AD目录填写,如

dc=com|-ou=user|-cn=zhangsan

关键点,根据实际需求填写过滤条件:

本项目的过滤条件说明:

(&amp;(objectClass=user)(objectCategory=person)(mail=*@xx.cn)(title=*)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))(objectClass=user) 对象是user   这里官方教程写的是person,这里需要避坑
(objectCategory=person) 目录是person
(mail=*@mxx.cn) 所有的邮件都是以@xx.cn结尾,因为存在代理商的账户,通过邮件过滤该账户
(title=*) 所有职责不为空的用户,因为有的用户有两个账户,子账户职责为空,过滤该账户
(userAccountControl:1.2.840.113556.1.4.803:=2)) 过滤停用的账户

完整版内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<!-- Default values for parameters. Do NOT alter this file, use params.local.xml instead -->
<parameters><itop_url>http://localhost/iTop/web/</itop_url><itop_login>admin</itop_login><itop_password>root</itop_password><contact_to_notify>admin@xx.cn</contact_to_notify><synchro_user>admin</synchro_user><ldapuri>ldap://192.168.0.2:389</ldapuri><ldapdn>DC=org,DC=com</ldapdn><ldaplogin>账户</ldaplogin><ldappassword>密码</ldappassword><page_size>1000</page_size><!-- Parameters for Person synchronization --><ldappersonfilter>(&amp;(objectClass=user)(objectCategory=person)(mail=*@xx.cn)(title=*)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))</ldappersonfilter><person_fields><!--  Mapping between LDAP fields and iTop Person's object fields --><primary_key>samaccountname</primary_key><name>sn</name><first_name>givenname</first_name><email>mail</email><phone>telephonenumber</phone><mobile_phone>mobile</mobile_phone><function>title</function><employee_number>employeenumber</employee_number><org_id>department</org_id></person_fields><person_defaults><!--  Default values for iTop Person's object fields --><org_id>MEACH</org_id><status>active</status></person_defaults><!-- Parameters for User synchronization --><collect_person_only>no</collect_person_only><ldapuserfilter>(&amp;(objectClass=user)(objectCategory=person)(mail=*@xx.cn)(title=*)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))</ldapuserfilter><synchronize_profiles>no</synchronize_profiles><user_fields><!--  Mapping between LDAP fields and iTop UserLDAP's object fields --><primary_key>samaccountname</primary_key><login>samaccountname</login><contactid>mail</contactid></user_fields><user_defaults><!--  Default values for iTop UserLDAP's object fields --><profile>Portal user</profile><language>EN US</language></user_defaults>
</parameters>

运行如下命令,模拟运行,查看预导入的LADP用户,会有两个csv文件。

php exec.php --console_log_level=9 --collect_only

运行如下命令,正式导入。

php exec.php

导入成功后,可以在person和users处看到相关的数据。

iTop 运维工具学习心得-持续更新 版本3.0.1相关推荐

  1. Linux服务器运维常用命令(持续更新)

    1.ip addr   查看本机IP地址 Windows上查看IP地址是ipconfig, Linux上是ifconfig,但是Linux上还有一个命令叫ip addr可以查看IP地址. 2.serv ...

  2. 运维常用单词-会持续更新

    bin普通目录 boot 内核启动程序 usr 安装linux时软件安装的位置 root 超级用户目录 home 可以存放自己的文件 etc 配置文件: interface:接口 administra ...

  3. 44学习自动化运维工具 Chef 的基本用法,包括厨师编写、节点管理

    Chef是一种自动化运维工具,它允许您定义基础设施的状态,并根据需要管理这些状态.在这里,我们将学习Chef的基本用法,包括如何编写和管理Cookbook和Node. 安装Chef 在使用Chef之前 ...

  4. Ansible自动化运维工具使用

    概述 本文描述自动化运维工具 Ansible 的安装及基础使用方法,包含: Centos 下的安装 主机配置 Ad-Hoc command(命令行执行) Playbook (任务剧本) Ansible ...

  5. 自动化运维工具Ansible详细部署

    一.基础介绍 ================================================================================= 1.简介 ansibl ...

  6. 自动化运维工具SaltStack详细部署

    2019独角兽企业重金招聘Python工程师标准>>> 自动化运维工具SaltStack详细部署 2014-12-28 17:30:34 标签:saltstack 原创作品,允许转载 ...

  7. 云计算论文集, Spark, 数据描述语言, 运维工具集

    https://antkillerfarm.github.io/ 云计算论文集 这里列出一些在这个领域产生重大影响的论文.仅作备忘,肯定不全,Google是其中的绝对主力. CAP <Towar ...

  8. IT运维面试问题总结-运维工具、开源应用(Ansible、Ceph、Docker、Apache、Nginx等)

    1.简述Ansible及其优势? Ansible是一款极其简单的开源的自动化运维工具,基于Python开发,集合了众多运维工具(puppet, cfengine, chef, func, fabric ...

  9. iis日志字段解析 网站运维工具使用iis日志分析工具分析iis日志(iis日志的配置)

    网站运维工具使用iis日志分析工具分析iis日志(iis日志的配置) https://www.cnblogs.com/fuqiang88/p/5870306.html 我们只能通过各种系统日志来分析网 ...

最新文章

  1. Docker学习(四)-----Docker容器常用命令
  2. 算法:不同二叉搜索树||
  3. Bootstrap3基础 下载bootstrap3压缩包和相应的jQuery文件
  4. 力争营收渠道多样化,Line 向自拍应用 Snow 投资 4500 万美元
  5. 分布式数据库一定会替代Oracle吗?
  6. Java虚拟机必学之四大知识要点,附学习资料
  7. Easyui+Spring+Mybatis完整示例(后台)
  8. php 上一页 下一页代码,php无限上一页,下一页,求完善代码??
  9. java期末考试编程题 界面_救急啊!!!期末考试!怎样用JAVA的GUI(图形用户界面)来设计一个小程序!...
  10. 关于hadoop2.4.1伪分布式系统的搭建
  11. (ZT)关于IAP防止破解的几点
  12. Horizon 桌面环境USB设备重定向问题
  13. robotframework-selenium2library-导入可选参数
  14. java-GUI实现汽车租赁管理系统
  15. 锂电池充电原理:充电电压电流的选择方法
  16. 思维▍决定你视野和眼光的16个顶级思维模型
  17. 制作你软盘镜像_codestorm_新浪博客
  18. 数组排序 - 长辈的年纪
  19. 最新PHP对接微信支付,发起商家转账API,商家转账到零钱
  20. 七款酷炫的 Mac 屏保

热门文章

  1. 性能优化与压测引擎一:压测框架gatling
  2. antlr4例子步骤
  3. 微信小程序实现标签栏
  4. Centos查询本机公网IP
  5. axios拦截器 config_axios拦截器的实现
  6. 家居建材商生意异常艰难,企业该如何走出困境?
  7. 基于Gradle的插件开发之【buildSrc】的使用教程【封装build.gradle.kts】
  8. java-php-python-ssm-预约健身私教网站-计算机毕业设计
  9. prim算法适用条件_prim算法
  10. 移动端web开发--开发选择、技术解决方案、常见布局