| 本帖最后由 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_READONLY | 0 | 应用对所有用户都是只读的。用户可以浏览应用,但不会将任何内容写入MySQL数据库。 |  | ACCESS_ADMIN_WRITE | 2 | 只有管理员用户可以写入数据库。应用对所有其他用户处于只读模式。 |  | ACCESS_FULL | 3 | 所有用户都可以写入数据库。这是默认模式。 | 
 
 例: 'access_mode' => ACCESS_ADMIN_WRITE,'access_message' => '(maintenance until 2PM)',
 
 这样会在iTop中显示以下内容: 
 
 从2.0开始,客户门户将该模式带入账号并显示完全相同的消息。 从不同的URL访问iTop
 
 在某些情况下,从不同的URL访问相同的iTop实例可能会有所帮助。 (例如,对于公司内用户而言,是从网络中获得的;对于客户而言,则是来自网络中的)。 
 一种可能性是安装两个指向同一数据库的iTop实例。这样就可以在所有参数上拥有完整的控制,但是会增加维护的工作量,以使两个实例保持同步(iTop的版本,相同的参数……)。 
 另一种可能性是在配置文件中放置一些代码,以调整某些服务器参数上的设置依赖。由于配置文件是在每个“页面”上加载(即评估)的PHP文件,因此设置可以是完全动态的。 
 例如,假设您有一个反向代理来控制对iTop的访问,并且希望所有Internet用户使用HTTPS(安全)访问iTop,并希望Intranet用户通过http(更快)进行连接。您可以执行以下操作: 
 从互联网:
 添加规则以重定向HTTPS上的所有HTTP通信在HTTPS virtualhost配置中添加特定的标头:APACHE:RequestHeader将HTTPS设置为OnNGINX:proxy_set_header HTTPS开启;
从内部网:
在app_root_url的配置文件中设置以下价值:
 
 'app_root_url' => (isset($_SERVER['HTTP_HTTPS']) && ($_SERVER['HTTP_HTTPS'] == 'On')) ? '' : 'http://itop.yourdomain/'
 
 
 其他组合也是可能的:在PHP中,可以访问$_SERVER 和$_COOKIES变量。 
 例如:如果您可以从以下任一位置访问iTop[  /itop]itop[/url] 要么[  /itop]itop[/url],您可以 
 将以下PHP代码放入配置文件中: 
 'app_root_url' => 'https://'.(isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : 'itop.company.com').'/itop',
 
 
 需要回退价值(如果未设置$_SERVER['HTTP_HOST']),因为从命令行(cron.php)运行的脚本也可能使用配置文件来检索“根”  
 URL,以便生成绝对的URls指向到iTop(例如,生成通知时)。 
 警告:运行设置向导将覆盖这些设置,在这种情况下,必须手动重新输入 
 
 |