環境說明 :
操作系統centos 7、itop版本 iTop-2.5.0-3935、數據庫:mariadb
iTop 2.5只支持PHP5.6以上版本,本例安裝的是php72w版本
1、下載鏈接:
2.5.1版本:https://jaist.dl.sourceforge.net/project/itop/itop/2.5.1/iTop-2.5.1-4123.zip 這里找到一個漢化比較全的包:https://pan.baidu.com/s/1u-UEJC84Xm2svKdNcSf0iQ 安裝完成后替換掉/env-production/dictionaries/zh-cn.dict.php
2.6.0版本:https://nchc.dl.sourceforge.net/project/itop/itop/2.6.0/iTop-2.6.0-4294.zip 中文比較全,不需要換字典
2.6.1版本:https://jaist.dl.sourceforge.net/project/itop/itop/2.6.1/iTop-2.6.1-4463.zip 中文比較全,不需要換字典
2.7.0版本:https://nchc.dl.sourceforge.net/project/itop/itop/2.7.0-1/iTop-2.7.0-1-5541.zip 中文比較全,不需要換字典
2、安裝lamp及相關軟件
yum -y install epel-release
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
yum -y install httpd graphviz unzip mod_ssl mariadb-server php72w php72w-gd php72w-mysql php72w-imap php72w-soap php72w-ldap php72w-mbstring php72w-pecl-zendopcache php72w-xml php72w-cli
3、開啟防火牆、關閉SELinux
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
vi /etc/selinux/config
#修改為SELINUX=disabled,重啟后生效
SELINUX=disabled
4、創建PHP會話目錄,配置目錄權限。
mkdir -p /var/lib/php/session
chown apache:apache -R /var/lib/php/session/
5、啟動httpd、mariadb服務
systemctl start httpd
systemctl start mariadb
systemctl enable httpd
systemctl enable mariadb
6、創建數據庫、創建庫用戶、用戶授權、修改數據配置(密碼請根據需求自行修改)
create database itop DEFAULT CHARACTER SET utf8;
create user itop@localhost identified by 'itop';
grant all privileges on *.* to itop@'localhost' identified by 'itop';
flush privileges;
exit
vi /etc/my.conf
max_allowed_packet=1048576
7、上傳iTop網站程序 /var/www/iTop目錄(可以通過xftp或者直接在此目錄wget)
mkdir -p /var/www/html/{conf,data,log,env-production}
chown -R apache:apache /var/www/html
cd /var/www/html
unzip iTop-2.5.1-4123.zip
mv /var/www/html/web/* /var/www/html
8、WEB安裝過程:
瀏覽器打開 http://IP/setup/
環境檢查,警告可以忽略,但如何處理這個警告還有等研究,因為安裝的時候沒有找到php72w-mcrypt模塊
點擊安裝模式,全新安裝還是升級安裝
接受Licenses
配置數據庫
設置管理員密碼
設置URL和安裝模式
安裝就緒,點擊install!
安裝完成
自動登錄到歡迎界面
9、配置ldap集成:
vi /etc/hosts
#添加ladp Server的解析
172.17.10.143 2012r2core.mct.com
#修改配置文件
vi /var/www/html/conf/production/config-itop.php
#user和pwd是經先在AD里面建立的,用於服務器之間的驗證
'authent-ldap' => array ( 'host' => '服務器IP', 'port' => 389, 'default_user' => 'CN=Administrator,CN=Users,DC=rongtai,DC=local', 'default_pwd' => 'user的密碼', 'base_dn' => '查詢的根組織', 'user_query' => '(&(samaccountname=%1$s))', // 與AD域集成,這里改成samaccountname=%1$s,也就是用戶名與samaccountname對應 'options' => array ( 17 => 3, 8 => 0, ), 'start_tls' => false, 'debug' => false, ),
配置完成的事例
#導入AD用戶
參考鏈接:https://blog.51cto.com/purplegrape/1893014
#由於microsoft Active director默認最大同步用戶為1000個,如果你的用戶總數超過了這個限制,請在域控制器上面做哪下配置:
在DC上運行ntdsutil
ldap policies
connections
connect to domain xxx.com.hk
quit
show values #確認maxpagesize默認值為1000
set maxpagesize to 10000
show values #確認當前顯示:1000(10000)
commit changes
show values #確認當前值為10000
兩次quit
10、啟用HTTPS
#建立證書存放目錄,並上傳經申請的公網證書
mkdir -p /etc/httpd/cert
chown apache:apache -R /etc/httpd/cert
chmod 700 /etc/httpd/cert
chmod 600 /etc/httpd/cert/*
#修改ssl.conf配置文件,修改第60、100、107行,修改為域名和正確的證書文件路徑即可
vi /etc/httpd/conf.d/ssl.conf
vi /var/www/html/conf/production/config-itop.php
# 如果安裝的時候寫的IP地址,后面要變更為域名,請在此修改
vi /etc/httpd/conf/httpd.conf
#配置http強制跳轉至https,完成以以上步驟如果不強制跳轉,則HTTP和HTTPS都可以訪問
RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*) https://%{SERVER_NAME}$1 [L,R]
配置完成需要重啟httpd服務:
systemctl restart httpd
11、去掉左下角的combodo廣告logo
vi /var/www/html/application/itopwebpage.class.inc.php
#注釋掉1083和1084行,即可
vi /var/www/html/core/config.class.inc.php
# 修改第113和349行,添加自己想要的鏈接,或者直接注釋掉
vi /var/www/html/conf/production/config-itop.php
#修改第172和173行,添加在線幫助的鏈接,默認的https://www.combodo/itop網頁無法打開
12、性能優化:
12.1、修改php文件大小限制
vi /etc/php.ini
;找到:max_execution_time = 30 ,這個是每個腳本運行的最長時間,單位秒,修改為:
max_execution_time = 1200
;找到:max_input_time = 60,這是每個腳本可以消耗的時間,單位也是秒,修改為:
max_input_time = 2400
;找到:memory_limit = 128M,這個是腳本運行最大消耗的內存,根據你的需求更改數值,這里修改為:
memory_limit = 512M
;找到:post_max_size = 8M,表單提交最大數據為 8M,此項不是限制上傳單個文件的大小,而是針對整個表單的提交數據進行限制的。限制范 圍包括表單 提交的所有內容.例如:發表貼子時,貼子標題,內容,附件等…這里修改為:
post_max_size = 100M
;找到:upload_max_filesize = 2M,上載文件的最大許可大小 ,請根據業務需要自行修改,我這里修改為:
upload_max_filesize = 25M
12.2.修改apache上傳文件大小限制
vi /etc/httpd/conf.d/php.conf
# LimitRequestBody 524288將524288(=512x1024)改大,比如30M(=30x1024x1024)(如果沒有,可以添加到配置文件末尾)
LimitRequestBody 31457280
13、常用維護處理:
13.1 清空緩存 rm -rf /var/www/html/data/cache-production/*
13.2 漢化包文件路徑:/var/www/html/env-production/dictionaries/zh-cn.dict.php
13.3 角色用戶描述翻譯 :修改數據庫的priv_urp_profiles表:
14、與zabbix集成,實現接入zabbix的報警郵件,自動創建服務單:
14.1 插件安裝:
方法1:離線安裝:
cd /var/www/html/extensions
wget https://store.itophub.io/serve-uploaded-file/120 /v
http://ip/setup #根據向導一路下一步,到插件選擇界面,選擇插件再一路點一步即可。
方法2:在線安裝(需要有itop hub賬號):
https://store.itophub.io/en_US/
14.2. 插件配置:
這是設置好的,按照這個設置即可,
需要特別說明的地方:
(1)這里的郵件password是163郵箱申請的POP/IMAP的授權碼,不能填你登錄網頁郵箱的密碼。
(2)這里的郵箱地址要和admin的用戶的郵箱地址一致。
(3)用戶發郵件過來的郵箱地址,必須要是在ITOP用戶配置里面存在的郵箱,我這里設置的不存在就丟掉,你也可以設置成創建賬號,但不建議這么做。
在此界面收到郵件說明插件鏈接配置成功
如果郵件收不下來,登錄網頁郵箱查看你的郵箱里面是否收到了下面這封郵件:
解決辦法是:http://config.mail.163.com/settings/imap/index.jsp?uid=xxxxxx@163.com 把UID=后面的郵件地址修改為你自己的郵箱地址,根據頁面提示解除禁止即可。
14.3 腳本及定時任務的創建:
14.3.1 創建運行腳本:
vi /var/www/html/webservices/exce_mail_import.sh
#下面的用戶名和密碼是在itop系統里面具有管理員權限的賬號和密碼
php /var/www/html/webservices/cron.php --auth_user=admin --auth_pwd=admin --verbose=1
14.3.2 為腳本添加執行權限(建議此腳本不要用root運行,用apache運行即可。):
chmod +x /var/www/html/webservices/exce_mail_import.sh
chown -R apache:apache /var/www/html/webservices/exce_mail_import.sh
14.3.3 創建計划任務,我這里是每5分鍾執行一次收郵件的運作,如果你對crontab不熟,請參考:https://www.cnblogs.com/aminxu/p/5993769.html
crontab -e
*/5 * * * * /var/www/html/webservices/exce_mail_import.sh
14.3.4配置成功后,你將會看到debug信息和已經創建的工單情況:
15、配置郵件通知:
15.1 修改配置文件
vi /var/www/html/conf/production/config-itop.php 添加如下內容:
'email_default_sender_address' => 'XXXXX@163.com',
'email_transport' => 'SMTP',
'email_transport_smtp.host' => 'smtp.163.com',
'email_transport_smtp.password' => 'XXXXX',
'email_transport_smtp.username' => 'xxxx@163.com',
'forgot_password_from' => xxxx@163.com',
15.2 測試郵件配置是否正常:http://IP/setup/email.test.php
15.3 新建操作(這里可以理解為動作,即做什么事情)
這里的發件人地址必須要是 /conf/production/config-itop.php配置文件里面的郵件通知的郵件地址
下面幾個參數描述
郵件通知主題:$this->ref$ 這里是在UserRequest表里面的工單號過來,
工單發起人: $this->html(caller_id_friendlyname)$
工單標題: $this->html(title)$
服務請求描述: $this->html(description)$
15.4 新建觸發器(這里可以理解為滿足什么條件觸發動作):
工單狀態可以在數據模型里去查詢:
發送自動審批郵件的URL字段名稱:$approval_link$
發達工單號的URL鏈接:$this->hyperlink()$
16、修改解決方案代碼:
16.1 修改/var/www/html/datamodels/2.x/itop-request-mgmtg下的兩個文件:
16.2 第一個文件插入自己想的解決方案代碼,
16.3 第二個文件是漢化包,插入第一個文件對應的中文代碼(請注意對應關系),如果你的環境還有用到其它語言,也要一並修改。
16.4 toolkit的安裝 :
mkdir /var/www/html/env-toolkit
mkdir /var/www/html/toolkit
壓縮文件解壓后,直接上傳至/var/www/html/toolkit
安裝完成訪問方式:http://172.17.10.233/toolkit/index.php
16.5 修改完成后,要使用 toolkit更新代碼、否則不會生效。
17、時間控件不能選擇時間:
需要修改網站根目錄下application目錄下的itopwebpage.class.inc和portalwebpage.class.inc兩個文件
搜索
if ($sJSLangShort != '"en"')
改為
if ($sJSLangShort == 'NULL')
修改完成后,清空一下緩存。
18、自動關閉工單:
18.1安裝Autoclose Ticket 插件:
18.2 查看配置文件是否有以下配置(默認是7天):前提是工單已標記為已解決
18.3 創建任務和支持腳本,請參考14.3
18.4 檢查此服務是否正常,請運行
php /var/www/html/webservices/cron.php --auth_user=admin --auth_pwd=admin --verbose=1