:::

GLPI管理知識庫類別教學 (knowledge base categories)

布丁布丁吃布丁

GLPI管理知識庫類別教學 (knowledge base categories)

以下是GLPI 0.80.2管理知識庫(Knowledge base)的類別(categories)的教學。


GLPI建立類別(category)並不太直覺,連管理類別的功能也讓我找了老半天。

image

如果要管理知識庫的類別,位置是在「主頁 > 設定 > 下拉列表」的「工具 > 類別」中。

image

你就可以看到所有建立好的類別。

2011-09-05_232244 edit

點選類別的名字,就能進入該類別,執行編輯更新或刪除的動作。

(more...)

GLPI 新增知識庫教學 (knowledge base)

布丁布丁吃布丁

GLPI 新增知識庫教學 (knowledge base)

以下介紹GLPI 0.80.2新增知識庫(knowledge base)文章的教學。儘管有些複雜,但大致上GLPI的知識庫還算是堪用吧。

1. 登入並進入知識庫

image

請以有權限的使用者登入,並進入「主頁 > 工具 > 知識庫」中。

新增的按鈕在上方,一個小小的「+」圖示。

2. 建立知識庫文章

image

在建立知識庫文章頁面中,你可以為它設定「類別」、「標題」、「內容」。必須先建立文章之後,才能為該文章上傳文件。

2-1. 類別

image 

你可以用下拉式選單,選擇需要的類別。

如果要建立新的類別的話,請按右邊小小的「+」圖示。

image

在建立類別中,你可以設定名稱、備註,以及該類別的上層類別。例如我建立一個「測試2」類別,然後將上層類別選擇為「測試」,那麼在「測試2」類別中附屬在「測試」類別中。

新增完之後,視窗會回到剛剛的新增知識庫文章頁面,此處還要記得選擇剛剛新增的類別。

2-2. 標題與內容

image

「標題」是無格式的文字框;「內容」則可以HTML格式保存,但此處不能上傳圖片。請將「內容」當做是簡單說明來撰寫,複雜的知識庫文章,請另外儲存成文件檔案,稍後再上傳到文章中。

3. 上傳文件

接著要教的是如何上傳文件。首先你必須先找到剛剛新增的文章。

image

剛剛新增的文章,會在「主頁 > 工具 > 知識庫」左下角的「最近的文章」列表中,請點文章標題進入該文章。

image

文章下方即可上傳文件。

image

上傳完之後會顯示上傳成功的訊息。而下方相關文件則會顯示剛剛上傳的檔案。值得慶幸的是,以中文命名的文件也不會變成亂碼喔。

4. 調整上傳文件的檔案大小上限

image

GLPI可上傳的檔案大小受限於伺服器PHP參數設定的限制,預設最大只能上傳2MB。

如果要增加可上傳大小,請調整php.ini檔案中的upload_max_filesize參數跟post_max_size參數(兩個都要調整才有用喔),例如設定為100M,那麼可上傳的大小就會擴大到100MB。

php.ini的位置,在Linux中的路徑通常是/etc/php.ini;在Windows中的路徑通常是在C:\Windows\php.ini。

調整php.ini之後,還需要重新啟動Apache網頁伺服器才會生效。

關於知識庫的中文搜尋功能

GLPI有全文搜尋系統,可以搜尋標題與內容這兩個欄位。但是他並沒有中文斷詞,因此無法搜尋一連串中文句子中的某些單字。如果是很重要的單字,請盡量以 空格 斷開,好讓GLPI搜尋時能夠順利找到。

(more...)

GLPI 完全刪除使用者教學 (user)

布丁布丁吃布丁

GLPI 完全刪除使用者教學 (user)

以下說明GLPI 0.80.2中完全刪除使用者的步驟。

1. 登入並進入使用者頁面

2011-09-03_225713

請以超級管理者(super-admin)的使用者身分登入GLPI,然後進入「主頁」 > 「管理」 > 「使用者」 頁面。

接著點選你要刪除的使用者的登入名稱。

2. 刪除使用者

image

在使用者資訊右下角有個「刪除」的按鈕,請點此按鈕刪除使用者。

但是光是這樣子,使用者的資訊並沒有完全清除,其實還保留在資料庫當中。

3. 顯示已刪除的使用者

image

在使用者列表上方,請點選小小的垃圾桶按鈕。

image

接著就會列出已經被刪除的使用者。請點選確定要清除資料的使用者,點選他的登入名稱。

4. 清除使用者

image

在已刪除的使用者資訊右下角,有一個「清除」按鈕。點下此按鈕之後,使用者才算是完全刪除。

你也可以按下「恢復」按鈕,復原已刪除的使用者資料。

image

按下「清除」之後,就會看到「項目清除成功」的資訊,表示該使用者已經完全刪除了。

如果要回到使用者列表,請再按下垃圾桶按鈕即可。

(more...)

GLPI新增超級管理者 (super-admin) 教學

布丁布丁吃布丁

GLPI新增超級管理者 (super-admin) 教學

image

GLPI(Gestion Libre de Parc Informatique)是一套給資訊管理人員使用的資產管理系統。母語是法文,也有中文的翻譯介面。GLPI不僅具備IT管理的功能,也有知識管理用的「知識庫」。現在我一邊使用這個系統,一邊把一些不容易操作、需要說明的部份寫成知識庫,作為後人使用GLPI時的指引。

在此使用的是GLPI 0.80.2。正體中文語系檔是我自己修改過的版本,因此用詞有些不同,下面會再說明。


適用狀況

GLPI可以設定不同權限的使用者(user)。一開始新增使用者時,預設的權限是post-only,能做到的事情很少。如果要讓使用者能夠使用所有的管理功能,必須給他super-admin權限才行。

接下來開始說明各個步驟。因為我並沒有很仔細地去確認各個功能的意義,主要是將操作的步驟寫出來而已。畢竟GLPI有些複雜,沒有太多時間去摸熟所有功能。如有寫錯的地方,請不吝指教,我會儘快修正。

用詞說明

原本我使用的GLPI語系檔@version $Id: zh_TW.php 14708 2011-06-21 06:28:45Z moyo $中,有時候將「用戶」翻譯為「使用者」,總覺得不是很統一。「用戶」是中國大陸的用詞,臺灣這邊主要是以「使用者」為主。

此外還有「授權」、「外部連結」等零零總總許多翻譯都看起來很奇怪。我一邊修改這個語系檔,一邊把他上傳到SkyDrive。等到改到自己覺得合適時,我再發佈這個訊息。

如果你使用的是moyo的版本,那麼有些用詞看起來會不太一樣,這是因為我這邊介紹的是修改過的版本的關係。


以下開始介紹如何新增超級管理者

1. 以管理者登入

image

GLPI安裝好之後通常會有預設的超級管理者,預設是:

  • 帳號:glpi
  • 密碼:glpi

請先以超級管理者的使用者身分登入GLPI吧。

2. 新增使用者

image

接著到「主頁」>「管理」>「使用者」中。

image

進入「新增使用者」。

image

建立新的使用者。必須注意的是,右邊欄位的「密碼」即使沒有填也能新增,只是該使用者就無法登入。請記得要填一下密碼喔。

寫完之後就按下「新增」按鈕吧。

image

順利的話就能看到新增成功的訊息。

3. 新增權限使用者

image

回到「主頁」>「管理」>「使用者」頁面,點選剛剛新增的使用者的名字。

image

確認是在權限的頁籤中。

image

在使用者資訊下方,有個「新增權限給使用者」的區塊。請將「個人配置」選擇「super-admin」,然後按下右邊的「新增」按鈕。

image

確認底下的權限列表已經有了「super-admin」即可。

4. 以新增的使用者登入

image

為了測試新的使用者是否能正常登入,首先先要登出目前的使用者。「登出」的功能在右上角。

image

接著以剛剛新增的使用者名稱與密碼登入。

image

一開始登入時,只會看到「post-only」權限可以使用的功能。

如果要改變權限,請在導覽列下方的下拉式選單中,選擇「super-admin」的權限。

image

改為「super-admin」之後,就能看到所有功能了。

(more...)

IPFire 實作反向代理伺服器(Reverse Proxy)

IPFire 實作反向代理伺服器(Reverse Proxy)

2011-09-01_123836 ipfire logo 

IPFire是我最近在研究防火牆套裝系統中覺得較為合適的一套軟體。它是以Linux為基礎發展而成的作業系統,專門用來作為防火牆、DHCP伺服器、NAT路由器等功能。

IPFire在安裝Pound套件之後一樣可以作為反向代理伺服器(reverse proxy)使用,不過Pound的設定檔必須要透過指令列來修改,不是很方便。我用PHP寫了一個pound.cfg設定檔編輯器,並將之整合到IPFire的管理介面中。

以下簡介IPFire、反向代理伺服器套件Pound、IPFire安裝Pound與pound.cfg設定檔編輯器的方法,以及如何設定Pound反向代理伺服器。


IPFire簡介

2011-09-01_123836 ipfire logo

IPFire是一個設計作為防火牆的伺服器系統,採GNU第三版發佈,可供人免費自由使用。它主要是用於可設定、調整大小的中小型企業網路與家庭網路中。

在這個前提之下,IPFire原始安裝時只提供了最小的功能,但附有大量的擴充套件(add-ons),只要點點滑鼠就能輕易安裝。這也是IPFire與其他防火牆系統的差異所在:它很容易設定各種功能,並易於管理。

IPFire的安裝與設定都十分簡單,就跟它企鵝火燒屁股的標誌一樣可愛。儘管它並沒有許多UTM(Unified Threat Management,整合式威脅防護系統)主打的複雜功能,但容易上手、設定、並能夠滿足我的需求,對我來說就足夠了。

不過老實說,它網頁管理端的防火牆設定只能設定單一來源位置,如果要規劃複雜的防火牆規則,例如我之前的iptables設定,那麼就得要用指令列來手動設定iptables了。

Pound簡介

Pound是一種反向代理伺服器(reverse proxy)、負載平衡器(load balancer)以及網頁伺服器的前端(front-end)HTTPS管理器。Pound可將流量負載分散至多台網頁伺服器,並能夠使用方便的SSL包裝器加密HTTP封包,讓原本沒有HTTPS功能的網頁伺服器也能夠使用HTTPS提供服務。Pound是以GPL發佈,可供人免費自由地使用。

網路上實作反向代理伺服器的套件很多,大多人都使用Squid與Apache,而之前我也用Lighttpd來做反向代理伺服器。Squid設定複雜不易上手;Apache我試過,但不太穩定;Lighttpd雖然不錯用,但是以Lighttpd作為網頁伺服器的情況不常碰到(IPFire是用Apache);而這個Pound則是專門用來作為反向代理伺服器的套件,跟前面敘述的套件不同的地方是,Pound並沒有代理伺服器特有的快取功能,而完全只負責轉遞封包,這是在使用Pound需要注意到的問題。此外,Pound設定簡單容易上手,這也是我喜歡Pound的特色。

來聊個題外話:通常Pound套件會安裝在獨立的負載平衡伺服器中,但偶爾也會遇到將網頁伺服器與Pound套件安裝在同一台伺服器的情況。由於Pound必須監聽連接埠80才能引導封包流向,這會與一般的網頁伺服器(如Apache)監聽連接埠80相互衝突。我看有些設定是修改網頁伺服器的連接埠,例如改為8080,然後讓Pound在引導封包流向時將80轉為8080,達到兩種服務共同相處的目的。稍後在介紹Pound設定檔pound.cfg的內容時,相信應該很容易理解這個作法。不過本篇並不會處理這樣的問題,當做閒聊看看就算了。


接下來開始介紹IPFire上安裝Pound與Pound設定檔pound.cfg編輯器的方法,以及設定Pound反向代理伺服器的方法。

IPFire安裝Pound

我參考了原本IPFire安裝Pound的教學,加入我額外開發的pound.cfg設定檔編輯器,所以步驟變得有點複雜。如果有任何講述錯誤的地方,請多多指教。

1. 前置作業:安裝IPFire與開啟網頁管理介面(Web Interface)

安裝IPFire的步驟挺簡單的,就跟安裝普通的Linux作業系統一樣,我就不再贅述。

一開始常見的問題通常是要如何連上網頁管理介面(Web Interface)。不過這也不是本篇的重點,我也沒打算花太多篇幅敘述這個作法。簡單來說:

  1. 請使用內部網路(LAN)的電腦來連線。
  2. 連線到https://192.168.0.1:444
  3. 預設帳號為admin,密碼為IPFire安裝時設定的密碼。

以下所有步驟都必須要從網頁管理介面操作,請想辦法努力做到這一步吧。

2. 設定防火牆

這一步也是要在內部網路的電腦中連到IPFire網頁管理介面進行操作。

image

請進入firewall > External Access頁面中,設定網際網路連線可連入IPFire的規則。

主要欄位說明如下:

  • TCP:封包類型。我們大部分的服務都是用TCP進行,此處請選TCP。
  • Destination port:目標連接埠。為了讓網際網路的電腦可以連到IPFire的網頁管理介面,此處請開放444連接埠。
  • Remark:說明。我們為此規則加入「ipfire web interface」的說明。也可以輸入中文。

最後按下「Add」按鈕,就完成了新增規則的作業。以下就能用任意電腦連線至IPFire的網頁管理介面了。

同時,也請你以相同的步驟,開啟以下幾個之後會用到的連接埠:

  • 連接埠222:IPFire使用的SSH通訊協定。
  • 連接埠80:Pound監聽的HTTP通訊協定。
  • 連接埠443:Pound監聽的HTTPS通訊協定。
3. 開啟SSH

2011-08-31_184738 ssh access (draw)

請開啟網頁管理介面中的system > SSH Access頁面。

在ssh區塊中,勾選以下選項:

  • SSH Access:讓IPFire可以使用SSH。
  • Allow TCP forwarding:允許TCP封包轉遞。
  • Allow password based authentication:允許密碼認證。
  • Allow public key based authentication:允許公開金鑰認證。

加上前一步驟中開放了防火牆,接下來你可以就用你的電腦以SSH連線至IPFire。IPFire的SSH連接埠為222,這跟一般預設的22有所不同,因此比較不容易被駭客猜到。

稍後我們會透過SFTP(SSH的FTP模式)上傳檔案,我是使用FileZilla來上傳。如果要用SSH的指令列模式操作IPFire的話,我通常是使用PieTTY,但是指令列模式操作比較困難,本篇也不打算多談,僅供進階使用者使用而已。

4. 檔案上傳

以下幾個檔案請以SFTP方式上傳到IPFire的指定路徑中。

pound
  • 下載位址
  • 存放路徑:/etc/sysconfig/pound
  • 開機時自動啟動pound的設定。
ipfire-interface-ssl.conf
  • 下載位址
  • 存放路徑:/etc/httpd/conf/vhosts.d/ipfire-interface-ssl.conf
  • 讓Apache可以使用PHP程式。其實IPFire的Apache本來就有載入PHP元件,但並沒有設定PHP關連。此檔案就是加入了PHP的關聯設定。
pakfire.cgi
  • 下載位址
  • 存放路徑:/srv/web/ipfire/cgi-bin/pakfire.cgi
  • 在IPFire網頁管理介面中加入開啟pound.cfg的連結。
pound_edit.php
  • 下載位址 (如果新版本IPFire的pound.cfg路徑有修改的話,請下載這個檔案)
  • 存放路徑:/srv/web/ipfire/html/pound_edit.php
  • 編輯pound.cfg設定檔的程式

檔案放完之後,要記得重新啟動apache喔。指令如下:

[root@ipfire ~]# /etc/init.d/apache restart
Restarting Apache daemon... [ OK ]

5. IPFire安裝Pound套件

2011-08-31_172002 pound install (draw)

在網頁管理介面端,進入ipfire > Pakfire頁面,請在Available Addons中選擇「pound」(我目前使用的是pound-2.5-2版本),然後按下下面的「+」按鈕進行安裝。

2011-08-31_172904 pound install comfirm

接著IPFire會要你確認是否要安裝。按下綠色向右箭頭確認即可。稍微等待一段時間,IPFire一下子就會裝好Pound套件,並跳回剛剛的Pakfire頁面中。

6. 開啟pound.cfg editor

2011-08-31_173052 pound.cfg editor path

安裝完Pound套件之後,網頁管理介面的ipfire > Pakfire下方應該會出現pound區塊。請開啟pound.cfg editor連結。

2011-08-31_172934 pound.cfg editor

接著會開啟pound.cfg editor視窗,你就可以在此畫面中編輯Pound的設定檔了。詳細的設定稍後會再敘述,此處只要確認可以開啟即可。

7. 重新啟動IPFire

2011-09-01_132305 reboot

以上設定完畢之後,需要重新啟動Apache跟Pound,設定才會生效。你可以從網頁管理介面中的 system頁面找到「Reboot?」按鈕,按下去之後就會讓IPFire重開機了。

如果你會使用SSH指令列操作IPFire,也可以輸入以下兩個指令,各別將Apache與Pound重新啟動:

[root@ipfire /]# /etc/init.d/apache restart
[root@ipfire /]# /etc/init.d/pound restart

到此為止,IPFire安裝Pound就大功告成了。


設定pound反向代理伺服器

反向代理伺服器是一種特殊的網路架構,它利用FQDN(Fully Qualified Domain Name)透過反向代理伺服器連接到內部網路的伺服器。其原理我已經在之前討論pfSense時介紹過了,在此不再贅述。

Pound作為反向代理伺服器的設定方式很容易上手,在此我謹介紹最簡單的範例。我先講述一下範例的網路拓蹼,然後再講要如何設定Pound。如果要進行更複雜的設定,請參考Pound官方網站的說明

1. 網路拓蹼規劃

ipfire 網路拓蹼

現在的網路拓蹼架構如上圖,IPFire作為防火牆與路由器,負責連接網際網路(外部網路)與內部網路兩者。

在內部網路中,有一台網頁伺服器提供Joomla網站服務,內部網路的IP為192.168.0.20

為了讓網際網路的電腦可以連線至Joomla網站,我們先註冊一個FQDN:joomla.example.com,並指向IPFire伺服器的外部網路IP:140.119.61.254

接著我們就要設定IPFire中的Pound套件,讓它知道接收到來自joomla.example.com的封包時,要轉遞到內部網路中的Joomla伺服器。

2. 進入pound.cfg editor

Pound的設定檔是/etc/pound.cfg。如果你在上述步驟中一起安裝了pound.cfg編輯器,那麼你可以透過它從IPFire網頁管理介面中編輯pound.cfg。

請開啟IPFire的網頁管理介面,進入ipfire > Pakfire,找到最下面的pound.cfg editor,開啟視窗。

3. 編輯pound.cfg

依照目前的網路拓蹼規劃,有幾個參數是必須要確定的:

  • IPFire的外部網路IP位置:140.119.61.254 (以藍色表示)
  • FQDN:joomla.example.com (以紅色表示)
  • 內部網路伺服器的IP位置:192.168.0.20 (以綠色表示)

如此設定pound.cfg之後的內容如下,請注意顏色的對應:

ListenHTTP
Address 140.119.61.254
Port 80
Service
HeadRequire "Host: .*joomla.example.com*"
BackEnd
Address 192.168.0.20
Port 80
End
End
End

設定應該算蠻好懂的,在此就不多解釋了。

4. 重新啟動IPFire

修改pound.cfg之後,要重新啟動Pound才會生效。你可以從IPFire的網頁管理介面中將IPFire重新啟動,也可以透過SSH輸入指令「/etc/init.d/pound restart」來重新啟動Pound。

以上Pound的設定就大功告成了。


F&Q

為什麼pound.cfg editor抓不到檔案內容?

可能是IPFire設定的pound.cfg路徑有所修改,詳細請看IPFire addons: pound的說明。


結語

我本來是打算用pfSense作為反向代理伺服器。但很遺憾的是,不知道是不是硬體不支援的關係,我的實體伺服器並沒辦法安裝pfSense。所以我只好臨時找尋其他的方案,而找到現在的這個IPFire。

老實說,IPFire並沒有pfSense容易上手,但還算是堪用就是。希望他真的能夠讓我安裝到實體伺服器中,別讓我又要重找了啊。

至於為什麼pound.cfg editor是用PHP開發的這點,雖然IPFire主要的功能都是用Perl寫成的cgi網頁,但我對cgi並不熟,所以才會折衷用PHP來寫。雖然安裝手續上複雜了一點,但操作時應該比較容易才是吧?至少不必用到vi來編輯pound.cfg設定檔,這點應該可以讓許多管理者容易上手許多才是。

光是研究各個防火牆系統套件花了不少時間,本來想說這個pound.cfg editor應該可以很快完成,結果又因為其他意外拖了很久,實在是很慚愧。希望未來也能繼續努力加油,嗯!

(more...)