mikea 发表于 2020-12-5 16:45:52

系统管理-优化进阶-将iTop设置为只读

本帖最后由 adminlily 于 2020-12-5 16:49 编辑



将iTop设置为只读
所有iTop配置设置都存储在iTo​​p安装目录内conf/production目录中的config-itop.php文件中。更改参数在iTop上具有立竿见影的效果,无需重新启动Web服务器,只需在浏览器中刷新iTop网页即可将新的参数纳入账号。
请参阅“参数配置以获取参数配置的完整列表。
下文描述了参数配置的几种用法。
将iTop设置为仅就绪模式有时希望(例如,在执行一些维护任务时)将iTop应用设为只读。从版本1.0.2开始,两个参数可以用于控制:

[*]应用是否为只读(以及针对谁)
[*]应用为只读时显示哪个消息。

这两个参数是:access_mode和access_message。
参数access_mode可以采用以下值之一:

Access_mode价值实际的价值影响
ACCESS_READONLY0应用对所有用户都是只读的。用户可以浏览应用,但不会将任何内容写入MySQL数据库。
ACCESS_ADMIN_WRITE2只有管理员用户可以写入数据库。应用对所有其他用户处于只读模式。
ACCESS_FULL3所有用户都可以写入数据库。这是默认模式。

例:
'access_mode' => ACCESS_ADMIN_WRITE,'access_message' => '(maintenance until 2PM)',
这样会在iTop中显示以下内容:
https://www.itophub.io/wiki/media?w=650&tok=b496a8&media=2_7_0%3Aadmin%3Amaintenance-message.png
从2.0开始,客户门户将该模式带入账号并显示完全相同的消息。
从不同的URL访问iTop
在某些情况下,从不同的URL访问相同的iTop实例可能会有所帮助。 (例如,对于公司内用户而言,是从网络中获得的;对于客户而言,则是来自网络中的)。
一种可能性是安装两个指向同一数据库的iTop实例。这样就可以在所有参数上拥有完整的控制,但是会增加维护的工作量,以使两个实例保持同步(iTop的版本,相同的参数……)。
另一种可能性是在配置文件中放置一些代码,以调整某些服务器参数上的设置依赖。由于配置文件是在每个“页面”上加载(即评估)的PHP文件,因此设置可以是完全动态的。
例如,假设您有一个反向代理来控制对iTop的访问,并且希望所有Internet用户使用HTTPS(安全)访问iTop,并希望Intranet用户通过http(更快)进行连接。您可以执行以下操作:

[*]从互联网:

[*]添加规则以重定向HTTPS上的所有HTTP通信
[*]在HTTPS virtualhost配置中添加特定的标头:
[*]APACHE:RequestHeader将HTTPS设置为On
[*]NGINX:proxy_set_header HTTPS开启;
[*]从内部网:

[*]添加规则以重定向HTTP上的所有HTTPS流量
[*]在app_root_url的配置文件中设置以下价值:


'app_root_url' => (isset($_SERVER['HTTP_HTTPS']) && ($_SERVER['HTTP_HTTPS'] == 'On')) ? '' : 'http://itop.yourdomain/'

其他组合也是可能的:在PHP中,可以访问$_SERVER 和$_COOKIES变量。
例如:如果您可以从以下任一位置访问iTopitop 要么itop,您可以
将以下PHP代码放入配置文件中:

'app_root_url' => 'https://'.(isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : 'itop.company.com').'/itop',

需要回退价值(如果未设置$_SERVER['HTTP_HOST']),因为从命令行(cron.php)运行的脚本也可能使用配置文件来检索“根”
URL,以便生成绝对的URls指向到iTop(例如,生成通知时)。
警告:运行设置向导将覆盖这些设置,在这种情况下,必须手动重新输入

页: [1]
查看完整版本: 系统管理-优化进阶-将iTop设置为只读