[Note] 有關系統管理:Systems Administration – Software and Platform Services

此篇主要是紀錄 Coursera 平台上的課程 Google IT Support Professional Certificate 中 System Administration and IT Infrastructure Services 的第三個星期的上課筆記,大致上是系統管理相關介紹。其他的筆記也一併附上,未來整理好之後下方文字可以直接連結到該筆記:


目錄


Software Services

軟體服務包含相當多的功能,這裡會拆開來介紹一些常用的部分。

Communication Services

首先是通訊服務(communication services),能夠讓公司的員工互相交談。再來是和通訊服務息息相關的安全服務(security services),為 IT 基礎設施增加了一層安全保護。電子郵件或電話都是很重要的通訊方式,即時通訊甚至改變了我們在個人生活或是工作場所中的溝通方式。

在商業環境中,也會需要用到即時通訊,如 IRC(Internet Relay Chat)。IRC是一種應用層的協定。其主要用於群體聊天,但同樣也可以用於個人對個人的聊天。 IRC 在 1990 年代被廣泛用作促進各種聊天的方式,不過現在並沒有被廣泛運用。現在比較常使用的是 HipChat 或是 Slack。

還有其他通訊協議,像是 IM 通訊協定,被廣泛使用並且集成到不同的通訊應用城市中。最熱門的通訊協定之一是 XMPP(Extensible Messaging and Presence Protocol),它是一種以 XML 為基礎的開放式即時通訊協定,是經由網際網路工程工作小組通過的網際網路標準,XMPP 甚至用於物聯網應用程式等。

Email Protocols

電子郵件除了在我們日常生活相當重要之外,對於公司來說也非常重要,尤其是關於電子郵件的域名。

有兩種方式可以為公司設定電子郵件。第一種是利用自己託管伺服器,我們可以在伺服器設定郵件伺服器軟體,並且幫郵件創立 DNS 紀錄。A record 用於主機名,填寫主機的IP 位址;MX record 作為郵件交換紀錄。第二種方式是利用電子郵件服務提供商,例如 Google Workspace(舊稱 Google Suite)。這些服務商允許我們透過支付月費的方式來創立一個電子郵件信箱,並且榜定到 Gmail 網路郵件客戶端。

無論我們選擇哪一種,都需要了解郵件協定之間的差異。常見的有 POP3、IMAP 和 SMTP。

POP3(Post Office Protocol, or POP Version 3)是郵件存取最為普遍的標準協定,可將郵件從伺服器中下載到本地端,然後從伺服器刪除郵件。如果想通過 POP3 查看郵件,只能從一臺設備上查看。如果我們需要將郵件的儲存容量保持在特定的配額以下,POP3 是一個很好的方式。另外一個好處是隱私,因為郵件只能從本地設備看到。

IMAP(Internet Message Access Protocol) 用來從本地郵件客戶端存取遠端伺服器上的郵件,可以將郵件下載到多個設備上,並且能夠把訊息保存在伺服器中。這個協議算是更流行的方法。

SMTP(Simple Mail Transfer Protocol),可用在傳送和接收電子郵件的資訊,但通常用作傳送電子郵件資訊,而不是接收。上述協定都是用於檢索電子郵件,但只有這個協議可用於發送郵件。

User Productivity Services: Agreements and Licenses

在任何組織中,我們可能需要為使用者提供軟體開發程式、文字處理、圖形編輯器、財務軟體等等。無論提供什麼軟體,在商業環境的使用都需要多一層考慮。例如當我們使用開源軟體時,軟體授權條款(software license)通常會說它可以免費使用、共享和修改。在企業或商業環境中,大多數軟體分銷商都有單獨的條款。例如說我們會需要購買十個授權,讓公司中的十個人可以使用它。如果有人離開公司或不再需要該軟體,則可以拿走他們的授權並將其交給公司中的其他人。關於軟體,我們需要查看條款和協議,並且選擇最適合公司的選項。

當涉及到雲服務時,還要考慮是否為企業和企業購買附加功能,例如專門的客戶支援。 無論是在每台機器上安裝軟體還是利用雲服務,要記住一件事,用作消費者的軟體與用作企業的軟體不同。

Web Server Security Protocols

安全對於所有的組織和個體都很重要。

HTTP(HyperText Transfer Protocol)代表超文本傳輸協議,用於在 Internet 上格式化和傳輸 Web 內容。

HTTPS 也譯作安全超文本傳輸協議是 HTTP 的安全版本,它通過加密確保您的網絡瀏覽器與網站的通訊是安全的。HTTPS 也稱為基於 TLS 的 HTTP 或基於 SSL 的 HTTP,也就是說有兩種協議使我們能夠確保造訪網站的客人的安全。

TLS(Transport Layer Security,傳輸層安全性協定),算是目前最流行方式。TLS 廣泛用於確保網絡瀏覽安全,但它也可以用於許多其他應用程式。

SSL(Secure Sockets Layer,安全通訊端層)用於保持網路連線安全,防止在兩個系統之間發送的敏感資料被讀取及修改。

這兩種協議經常互換使用,事實上 SSL 3.0 版本質上是 TLS 1.0 版。但 TLS 的新功能和更新讓它比 SSL 更安全。

像是我們架站就極度建議為網站啟用 TLS/SSL,這需要由證書頒發機構向我們的網站授予證書,並且驗證是本人申請。

File Services

Network File Storage

FAT32 是一個熱門的檔案系統,和 Windows、Linux 和 Mac 操作系統相容。但是若有多個用戶想要共享檔案,那就需要某個可以透過網路檢視檔案的地方。

NFS(Network FileSystem)是一種能夠使檔案通過網絡共享的協議。設置 NFS 伺服器的最簡單方法是使用 Linux 環境。安裝 NFS 伺服器軟體來修改希望允許共享訪問的資料夾的設定檔,就和一般檔案系統掛載的方式差不多。

NFS 是網絡文件共享的一個很好的方法,但與網絡上的任何東西一樣,大量使用會降低檔案系統的速度。雖然基本上 NFS 適用於所有主要作業系統,但仍然存在與 Windows 的問題。若機器主要是 Windows 系統,會建議改使用 Samba 之類的東西。

Samba 服務類似於 NFS,可以集中共享和管理檔案服務,主要的作業系統都可以使用 Samba 共享。SMB 是 Samba 實現的協議,以下補充資料將會提到。

FAT 儲存硬體另一個相對實惠的方式是使用 NAS(Network-attached storage,網路附接儲存裝置),它是特別針對檔案儲存進行了最佳化的電腦,帶有最精簡的作業系統,還有大量有大量儲存空間。

Mobile Synchronization

行動裝置相當方便,上面儲存了很多資料電子郵件、照片、影片、日曆、健康數據、位置資訊、遊戲的分數等等。對於任一行動裝置,我們都會希望裝置間的資料是同步的,其中一種方式就是同步到雲端,某些應用程式可以設定為每隔一段時間自動將資料同步或備份到雲端。

Configuring Print Services

雖然已經有很多動作都可以在線上完成了,但影印的需求還是不會消失。我們可以透過 Wi-Fi 或家庭網路連結影印機,小型組織還好,大型組織會需要有個地方集中管理所有的影印機。我們可能會使用商用的影印機,它可以報告碳粉不足等診斷訊息。除了管理影印外,還需要部署打影印驅動程式,這樣使用者才可以透過電腦執行影印的工作。

大多數的作業系統已經附帶隨時可用的影印服務,所以我們要做的就是把網路影印機加到該服務,並且幫影印機安裝驅動程式。

而在 Linux 中,預設的服務通常是 CUPS(Common UNIX Printing System),CUPS 允許我們從一個簡單的 Web URL 管理影印機。設定好列印服務後,我們需要將影印機加到客戶端機器。

另外一種方式是使用雲服務提供商,允許我們通過 Web 瀏覽器管理影印機,甚至允許使用者透過 Web 瀏覽器進行影印,無需在他們的機器上進行任何設定。

Platform Services

Web Servers Revisited

平台服務為開發人員提供了一個完整構建和部署軟體應用程式的平台,不需要維護作業系統、伺服器硬體等等。像是我們把 Web 應用程式部署到 Web server,或是我們用來寫應用程式的開發軟體都是平台服務的例子。

這裡拿 Apache 作為例子。Apache HTTP 伺服器算是使用最廣泛的 HTTP 伺服器,它免費又開源,能夠在大部分的網頁上提供服務。可以參考看看我之前曾寫過的文章《[樹莓派] 架設網頁伺服器》

sudo apt-get install apache2

我們電腦有一個本機主機名:localhost,IP 位置是 127.0.0.1。嘗試在網址裡面輸入,就可以看到 Apache2 相關畫面。

不然就是先檢查一下狀態:

sudo service apache2 status

沒有在跑的話就啟動它:

sudo service apache2 start

Load Balancers

負載平衡器(load balancing),在雲端計算相當重要。網路資料很多,主要說明雲端服務商都會提供,這裡就不多提。

圖片來源:Google 課程提供

Database server

當我們需要在網路上儲存訊息,會需要資料庫進行這些動作,資料庫讓我們能夠儲存、查詢、過濾和管理大量資料。資料伺服器由正在執行的資料庫軟體組成,可以從中讀取和寫入。

MySQL 和 PostgreSQL 等常見資料庫系統廣泛用於應用程式和 Web 開發以及數據分析。這些資料庫系統通常需要特殊語言或語法的知識才能解析和過濾大量數據。

Troubleshooting Platform Services

Is the website down?

Web 伺服器很容易有狀況,因此我們需要學會一些排除故障的方法。

透過 HTTP 狀態碼(HTTP status codes)可以快速診斷可能的方向。當我們訪問一個網站,以 google.com 為例子,我們的瀏覽器會向 Web 伺服器上的 HTTP 伺服器發送請求(request),再來我們會得到一個響應(response)。正常來說這個響應應該會回傳我們想要的內容,但有時候不會。例如改輸入 google.com/asdf 就會出現 404 Not Found,代表這個 URL 沒有指向任何內容。

另外,我們有可能會不確定網頁出現的那三個數字究竟是不是狀態碼,甚至有時候可能頁面連數字都沒有,這時候會需要使用工具。大部分瀏覽器都會內鍵一些工具,讓我們能夠診斷是瀏覽器問題或是網路問題。以 Chrome 開發人員工具為例子,我們可以點按鍵盤的 F12 開啟,或是 Ctrl + Shift + I,或是右上角的選項中開啟工具並且找到開發人員工具。

接著我們點按 Network 頁籤後,重新載入原本要去的頁面,就會看到開發人員工具又刷新了一次狀態。這裡我們參考 Status 欄位,可以很明顯看到狀態碼目前是 404,也就是找不到該頁面。這算是客戶端的問題。而若是伺服端產生問題也會有代碼嗎?有的,而且也很好判斷,長相就是 5xx,只要是 5 開頭,應該都是伺服端有問題。而 2XX 表示成功(通常是 200)。

讓我知道你在想什麼!

Picture of ALEX

ALEX

藍白拖愛好者,一事無成話偏多

Recent Posts

C++

NLP