還記得那次,我只是為了測試很久沒用的 Postfix Mail Server,讓它可以對外收發 E-Mail,默默的打開了主設定檔,才短短 679 行的內容,爬了一下午的文,東修西改就是調不出正確的設定值,還差點搞得連服務都啟動不起來。
很多時候,CLI (Command Line Interface) 操作起來雖然很輕便、很快速,但真的不是那麼友善,人的記憶力也是很有限的,不可能去記得所有的指令、參數與選項,更別提不同套件與不同版本之間的細微差異。
雖然有些前輩說:「不會在 shell 上工作的人,稱不上是合格的 Linuxer」。
相較之下,GUI (Graphic User Interface) 雖然資源吃的比較重,運作速度也比較慢,但是至少是一個蘿蔔一個坑,我們只要乖乖的依照畫面上的要求輸入資料,就有很大的機會讓服務正常的動起來。
尤其對系統管理員來說,Server 上那麼多的服務套件,先別說調整設定值,有些很少用的服務,連想讓它正常的動起來都有問題。
系統管理員如此,那就更別說在 Linux 上開發的程式設計師或是一般的使者,這些設定值的內容對他們來說更是如天書一般的可怕。
還好,我們有 Webmin 這個救星,它提供了一個友善的 Web UI,還支援了為數眾多的套件,讓我們可以輕輕鬆鬆的搞定服務與功能的設定與調整,而是只能傻傻看著那個黑漆漆的 shell 苦笑了。
事前準備
請參照 CentOS 7.0 不完全安裝手冊 系列文章,完成作業系統的安裝,我們用的是 CentOS 7 x86_64 Minimal 的版本。
開始安裝
或許有些朋友習慣自己下載 RPM 檔來安裝,請先安裝必要的相依套件,再安裝主程式。
sudo yum -y install perl perl-Net-SSLeay openssl perl-IO-Tty
sudo rpm -Uvh http://www.webmin.com/download/rpm/webmin-current.rpm
不過,為了日後的升級維護方便,我們還是用 yum 來管理比較好。
先建立 webmin 的官方套件庫設定檔。
sudo vi /etc/yum.repos.d/webmin.repo
輸入下列內容
[Webmin]
name=Webmin Distribution Neutral
#baseurl=http://download.webmin.com/download/yum
mirrorlist=http://download.webmin.com/download/yum/mirrorlist
enabled=1
安裝 webmin 的 GPG 金鑰。
sudo rpm --import http://www.webmin.com/jcameron-key.asc
接著就可以用 yum 來安裝了。
sudo yum -y install webmin
預設的通訊埠是走 Port 10000,別忘了在防火牆開放。
sudo firewall-cmd --permanent --zone=public --add-port=10000/tcp
sudo firewall-cmd --permanent --zone=public --add-port=10000/udp
sudo firewall-cmd --reload
基本設定
介面文字語系變更
在網址列輸入 Webmin 的 IP 與 Port,預設用 HTTPS 協定,登入的帳號密碼就是 root 帳號和他的密碼。https://192.168.88.154:10000
歡迎來到主畫面,預設顯示的是系統基本資訊。
不過,
相信有些朋友會說:「有圖形介面是很好啦,但是有繁體中文那就好上加好了!」
你們的聲音,官方聽到了,點選左側的「Webmin」-「Change Language and Theme」。
在「Webmin UI language」選項,先點選「Personal choice」,從旁邊的下拉選單找到「Traditional Chinese (ZH_TW.UTF-8)」,再點選「Make Changes」。
開始更換語系。
重新載入網頁或是重新登入之後,就會發現一些文字變成中文了。
對!就只有一些些 .... XD
更新套件的支援模組
每次在系統裡有任何一個套件的安裝、刪除、變更之後,就必須重新偵測最新的套件安裝狀態,讓 Webmin 可以即時的調整選單的開放與否。只要點選左側的「Refresh Modules」即可。
接著就可以看到目前已經安裝了 55 個可支援的模組,還有 56 個可支援的模組並未安裝到系統裡。
根據 Webmin Wiki - Webmin Modules 的資料,目前直接支援的模組總數為 116 個,其中有 5 個是 本身的管理模組,所以上個步驟才會看到總數是 111 個,另外還可以自行加入第三方的支援模組。
打開左側的「Un-used Modules」選單,就可以看到這些可支援但未安裝的模組有哪些。
可支援且已安裝的模組則是列在各個分類的選單裡。
實際操作
其實 Webmin 就是把平常必須用 vi、nano 手動編輯的各個設定檔,經過適當的整理之後,轉成 Web UI 畫面上的欄位來呈現,最後將我們修改過的內容,回存到該服務原本的設定檔案裡。
這邊就以防火牆的通訊埠開放與否來當例子。
點選左側的「網路」-「FirewallD」選單,就可以看到目前的設定狀態,其中就有剛剛手動幫 Webmin 開放的 10000 埠。
在 shell 可以看到相同的結果。
sudo firewall-cmd --zone=public --list-all
接著,我們想要架 Web Server,所以必須開放 HTTP 80 埠;先裝好 Apache HTTP Server,並將它啟動。
sudo yum -y install httpd
sudo systemctl restart httpd
Apache 站台的確連不進去。
回到 Webmin,點選「網路」-「FirewallD」選單裡,確認 Show rules in zone 是「public」,再點選「Add allowed service」。
在 Service to allow 右側的下拉選單裡,選擇「http」。
就會建立一條新的 Service 規則是 http;別忘了按「Apply Configuration」,重新載入規則並讓它生效。
再連一次 Apache 站台,就可以看到預設的頁面了。
在 shell 同樣看到 http service 已經開放了。
至於其他的服務,除了可以用選單、輸入框來調整之外,甚至可以直接編輯設定檔的內容。
等等,
我們剛剛是不是安裝了 Apache HTTP Server,還記得要重新載入支援模組嗎?
點選「Refresh Modules」之後,會發現支援的模組從 55 個變成了 56個。
在「伺服器」選單裡,這時候就會出現「Apache 網頁伺服器」的設定選單了。
參考資料
圖片來源
- Webmin 官網
- Photo credit: Reid Rosenberg via Visual hunt / CC BY-NC-SA
更新紀錄
- 2015/03/07 撰文。
0 意見 :
張貼留言