iT邦幫忙

2024 iThome 鐵人賽

DAY 3
0
IT 管理

iTop:開源 ITSM 與 CMDB 解決方案 系列 第 3

如何在 Ubuntu 20.04 安裝開源 ITSM & CMDB:iTop

  • 分享至 

  • xImage
  •  

在安裝 iTop 之前,假設您至少具備以下的基本知識:

  • 設定您的 Apache 伺服器
  • PHP 安裝和配置
  • 了解 MySQL 跟一般的 SQL 語法。

最低硬體需求
建議使用 Debian 9 或 Ubuntu 20.04 LTS 的虛擬機來運行,硬體的規格可以參考每月的工單數量、上線人數與 CMDB 的配置項(CIs)數量來決定。

我們採用具有 2 個 vCPU 和 4 GB 記憶體的伺服器,並使用 All-in-One 安裝方式進行演示。

iTop 相容性列表
我們安裝的版本為 3.1.1 注意 PHP 與 MariaDB 的版本是否相容,建議使用 PHP 8.1 與 MariaDB 10.6 這兩個版本,將來升級到 3.2 才不會遇到相容的問題。

安裝 PHP、Web 伺服器和資料庫
我們需要先安裝一些先決條件。

sudo apt install ca-certificates apt-transport-https software-properties-common

添加 Ondrej PHP 軟體庫,它提供最新的 PHP 版本。

sudo add-apt-repository ppa:ondrej/php
sudo apt update

透過下列指令安裝 PHP 8.1 與延伸套件

sudo apt install php8.1 php8.1-mysql php8.1-ldap php8.1-cli php8.1-soap \
                 php8.1-xml php8.1-gd php8.1-zip php8.1-fpm \
                 php8.1-mbstring php8.1-curl graphviz acl

透過下列指令安裝 Apache 伺服器

sudo apt install apache2 libapache2-mod-php8.1

透過下列指令安裝 MariaDB 10.6

curl -LsS -O https://downloads.mariadb.com/MariaDB/mariadb_repo_setup
sudo bash mariadb_repo_setup --mariadb-server-version=10.6
sudo apt update
sudo apt install mariadb-server

取得 iTop 套件

  • iTop Community:從 SourceForge 下載 iTop 套件
  • iTop Professional or Essential:從 ITSM Designer 下載軟體套件

https://sourceforge.net/projects/itop/files/itop/3.1.1-1/

下載 iTop 3.1.1

wget https://sourceforge.net/projects/itop/files/itop/3.1.1-1/iTop-3.1.1-1-12561.zip/download -O /tmp/itop.zip

sudo apt install unzip
sudo unzip /tmp/itop.zip "web/*" -d /var/www/html/itop
sudo mv /var/www/html/itop/web/*  /var/www/html/itop
sudo rmdir /var/www/html/itop/web

sudo setfacl -dR -m u:"www-data":rwX /var/www/html/itop/data /var/www/html/itop/log
sudo setfacl -R -m u:"www-data":rwX /var/www/html/itop/data /var/www/html/itop/log
sudo mkdir /var/www/html/itop/env-production /var/www/html/itop/env-production-build
sudo chown www-data: /var/www/html/itop/conf /var/www/html/itop/env-production /var/www/html/itop/env-production-build
sudo chown :www-data /var/www/html/itop
sudo chmod g+w /var/www/html/itop

配置 PHP
以下是 iTop 對於 php.ini 的建議值

sudo vi /etc/php/8.1/apache2/php.ini

設定 memory_limit 來調整效能,避免記憶體不足問題。

memory_limit = 256M ; 如果需要可以增加

設定 max_input_vars 定義傳送到伺服器的資料大小,由於 iTop 會透過 XHR 物件的方式來存取伺服器端的資料,這對於具有許多欄位的自訂物件來說可能不夠。

max_input_vars = 5000

由於 iTop 能夠上傳檔案作為各種配置項(CIs)的附件,並以二進位 BLOB 儲存於資料庫中。為了安全地上傳和儲存文檔,必須在 PHP 和 MySQL 中一致地調整多個設定。

upload_max_filesize = 50M
post_max_size = 58M

控制檔案上傳的相關變數如下,請依照您的喜好調整數值。

  • file_uploads:是否允許檔案上傳,預設為 On。
  • upload_tmp_dir:指向具有寫入存取權限的目錄,預設為 /tmp。
  • upload_max_filesize:允許上傳的檔案的最大大小
  • max_file_uploads:單一網頁中可以同時上傳的最大檔案數, iTop 通常一次只能上傳一個檔案,您可以安全地使用預設值。
  • post_max_size:可以透過 POST 請求傳送到伺服器的最大資料量,該值必須大於 upload_max_filesize。
  • memory_limit:檔案上傳到伺服器後,會在記憶體中讀取,然後儲存到資料庫中。請確保該值至少大於 upload_max_filesize 的 5 倍。
  • max_input_time:允許輸入的最長時間,包括上傳文件所花費的時間,預設為 60 秒。

各種設定之間的最佳實踐如下

記得重啟 Apache 服務

sudo service apache2 restart

配置資料庫
從 MySQL 5.7 開始,root 使用者在 MySQL 中沒有明確的密碼,因此您必須建立一個帶有密碼的使用者帳戶來安裝 iTop。

sudo mysql
MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'iTop'@'%' IDENTIFIED BY 'your_password';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> quit

以下是 iTop 對於 MariaDB 的建議值

sudo vi /etc/mysql/mariadb.conf.d/50-server.cnf

設定資料庫允許最大封包的大小,應大於 PHP 允許上傳的檔案的大小。

max_allowed_packet = 64M

query_cache_size = 32M
query_cache_limit = 1M

innodb_buffer_pool_size = 512M
innodb_default_row_format = DYNAMIC
innodb_large_prefix = true

記得重啟 MariaDB 服務

sudo service mariadb restart

iTop 安裝精靈
透過以下 URL 從 Web 瀏覽器啟動安裝

http://your_server.your_domain.com/itop/setup

Security issue: iTop is bundled with directory-level configuration files. You must check that those files will be read by your web server (eg. AllowOverride directive should be set to All for Apache HTTP Server).

iTop 附有目錄層級的配置文件,您必須確認網頁伺服器會讀取這些文件。

sudo vi /etc/apache2/apache2.conf

對於 Apache 伺服器,應將 AllowOverride 指令設置為 All

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride all
        Require all granted
</Directory>

記得重啟 Apache 服務

sudo service apache2 restart

重新瀏覽,先決條件驗證已通過。

依照精靈進行操作,選擇安裝新的 iTop,點選 NEXT。

同意授權協議,點選 NEXT。

iTop 軟體符合歐洲一般資料保護規範 (GDPR) 的個人資料處理要求。
安裝 iTop 即表示您同意 Combodo 收集一些資訊,以幫助您管理實例並用於統計目的。該資料在與 iTop Hub 上的使用者帳戶關聯之前保持匿名。

輸入資料庫的連線資訊並建立新的資料庫,點選 NEXT。

設定管理員帳號與密碼,點選 NEXT。

選擇 Production 實例,我們要建立一個乾淨的資料庫,點選 NEXT。

選擇組態管理的元素類型,點選 NEXT。

選擇最能描述 IT 環境中的服務與 IT 基礎架構之間關係的選項。

  • Service Management for Enterprises:如果 IT 是基於共享基礎架構提供服務,請選擇此選項。例如公司內的不同組織訂閱由單一共用後端提供的郵件服務。
  • Service Management for Service Providers:如果 IT 管理獨立客戶的基礎設施,請選擇此選項。這是最靈活的模型,因為可以透過混合共享和客戶特定的基礎設施設備來提供服務。

建議選擇 Service Management for Service Providers,點選 NEXT。

選擇您想要使用的工單類型,以回應使用者請求和事件。

  • ITIL Compliant Tickets Management:使用不同類型的工單來管理使用者請求和事件,每種類型的工單都有特定的生命週期和特定字段。

建議選擇符合 ITIL 的工單管理,點選 NEXT。

選擇您想要使用的工單類型,以管理 IT 基礎架構的變更。

  • ITIL Change Management:此選項可使用一般、標準、緊急變更工單。

建議選擇 ITIL 變更管理,點選 NEXT。

從下面的清單中選擇要在 iTop 中實施的其他 ITIL 流程。

  • Known Errors Management and FAQ:在 iTop 中追蹤「已知錯誤」和「常見問題解答」。
  • Problem Management:在 iTop 中追蹤「問題管理」。

建議全部勾選,點選 NEXT。

下好離手,點選 INSTALL。

安裝完畢,點選 ENTER ITOP。

或透過 http://your_server.your_domain.com/itop 登入系統

登入畫面如下

今天的分享就到這邊,感謝收看。

文件參考

  1. https://www.itophub.io/wiki/page?id=3_1_0%3Ainstall%3Astart
  2. https://www.itophub.io/wiki/page?id=3_1_0%3Ainstall%3Arequirements
  3. https://www.itophub.io/wiki/page?id=3_1_0%3Ainstall%3Ainstall_guides
  4. https://www.itophub.io/wiki/page?id=3_1_0%3Ainstall%3Aphp_and_mysql_configuration
  5. https://www.itophub.io/wiki/page?id=latest%3Ainstall%3Asecurity
  6. https://cloudcone.com/docs/article/how-to-install-php-8-1-on-ubuntu-20-04-22-04/
  7. https://community.hetzner.com/tutorials/how-to-install-mariadb-10-6-on-ubuntu-20-04

上一篇
ITIL簡介
下一篇
了解 iTop 的例行性工作排程 Crontab
系列文
iTop:開源 ITSM 與 CMDB 解決方案 32
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

1
leo2588366
iT邦新手 5 級 ‧ 2024-09-30 06:34:45

前輩您好,照您的教學操作,發現在"ibapache2-mod-php8.1"這邊操作有問題,是否是拼寫錯誤呢?
詢問chatgpt得到的回答是"libapache2-mod-php8.1",再麻煩有空確認一下,謝謝您

Ivan Cheng iT邦研究生 5 級 ‧ 2024-09-30 08:35:04 檢舉

是我拼寫錯誤,已更新。
感謝您的告知

我要留言

立即登入留言