2020 年底 CentOS 開發團隊忽然宣佈一個震撼消息,未來的 CentOS 開發團隊會將所有的心力都投入到 CentOS Stream 的開發。現行的 CentOS 8 只支援到 2021 年 12 月 31 日為止,而如果大家稍微對 CentOS 有了解的話,就會知道 CentOS Stream 實際上是 RHEL 的測試版,雖然更新速度比較快,但也相對比較不穩定,並不適合用來當作公司產品的伺服器。

所以馬克被迫只能盡快找到替代方案,經過多方比較後,最終決定改用 Ubuntu 作為伺服器的作業系統。Ubuntu 是基於 Debian 的 Linux 發行版,多年來都非常穩定的釋出更新,固定每年 4 月和 10 月釋出新版本,每隔兩年發布一個 LTS 長期支援版本,每個 LTS 版本都有 5 年的技術支援。Ubuntu 是以桌面應用為主的 Linux 發行版,但也有專門用來架設伺服器的 Server 版,Desktop 版及 Server 版安裝時的操作介面是不一樣的,但流程差不多,本篇安裝的是 Ubuntu Server 22.04。

Ubuntu Server 22.04 安裝流程

取得安裝程式

安裝程式可以透過下方連結直接從官網下載就可以了,官網提供的是 iso 映像檔,安裝前要先將 iso 映像檔燒錄成光碟,或製作成 USB 開機隨身碟。

開始安裝

  • STEP 1

    選擇要安裝的作業系統語言,建議選 English

  • STEP 2

    如果你是在虛擬機安裝Ubuntu,在安裝時虛擬機就已經可以上網了,這時有可能會跑出下圖詢問是否使用新的安裝程式,選 Continue without updating

  • STEP 3

    選擇鍵盤排列方式,Layout 及 Variant 都選 English (US)

  • STEP 4

    選擇安裝類型,我習慣先安裝 minimized 版,等作業系統安裝完成後,再安裝必要套件。

  • STEP 5

    設定網路連線,按照各自需求進行設定。

  • STEP 6

    設定代理伺服器 (Proxy),不設定就留空。

  • STEP 7

    設定軟體鏡像源位址 (Mirror),安裝程式會自己偵測地區,沒特別需求就使用預設即可。

  • STEP 8

    設定硬碟分割,可以使用整顆硬碟,也可以自訂分割,按照各自需求進行設定。

  • STEP 9

    確定要進行磁碟分割,該步驟確認後就無法返回了,確定就選 Continue

  • STEP 10

    輸入使用者名稱、主機名稱、登入帳號、登入密碼,並再次輸入登入密碼。

  • STEP 11

    選擇是否安裝 OpenSSH 伺服器,以及是否要從 GitHub 或是 Launchpad 來匯入 SSH 金鑰,建議是要安裝 OpenSSH 伺服器,這樣以後可以遠端登入管理比較方便。

  • STEP 12

    選擇額外要安裝的軟體,可以暫時都先不要安裝,等 Ubuntu 裝完之後,再來安裝其他軟體。

  • STEP 13

    這邊就已經在安裝了,等安裝完後,最下面會多跑出 [Cancel update and reboot] 的選項,看到後就選這個選項,選擇後還需要再等一段時間。

  • STEP 14

    退出安裝光碟,直接按鍵盤ENTER

  • STEP 15

    之後等重開機完後,就會看到下圖的登入畫面了,到這邊就已經完成 Ubuntu 的安裝了。

其他設定

系統更新

                
                    $ sudo su root
                    $ apt update && apt upgrade && apt dist-upgrade
                
            

防火牆

                
                    $ sudo apt install ufw      // 安裝 UFW
                    $ sudo ufw default deny     // 不允許任何的連線連入
                    $ sudo ufw allow ssh        // 允許 SSH 服務連線
                    $ sudo ufw enable           // 啟動防火牆,執行後開機也會自動啟動
                    $ sudo ufw status           // 查看防火牆狀態
                
            

時間校正

                
                    $ sudo timedatectl                              // 查看目前時區
                    $ sudo timedatectl set-timezone Asia/Taipei     // 設定時區
                    $ sudo timedatectl set-ntp true                 // 啟動 NTP 時間同步
                    $ vim /etc/systemd/timesyncd.conf               // 編輯 NTP 伺服器清單
                    [Time]
                    NTP=tick.stdtime.gov.tw tock.stdtime.gov.tw time.stdtime.gov.tw clock.stdtime.gov.tw watch.stdtime.gov.tw
                
            

參考資料