CentOS 7 中 Apache 2.4.35 + PHP 7.2.11 + HTTP/2 升級安裝筆記 (零風險升級/平滑升級)

PHP 5 在今年(2018)年底將完全終止安全更新,PHP 7.0 甚至早了一個月,在今年12月初就終止安全更新。將 PHP 升級到較新 7.1 或 7.2 甚至 7.3 會是比較好的選擇

在 CentOS 7 中將 PHP 升級到 5.6 或 7.0 及以上版本,大多數是選擇以  yum 搭配 Remi RepositoryWebtatic Repository 這兩個 repo 來做升級,這樣的作法簡單迅速、不太影響以往的操作模式又好維護。在升級過程中不論選擇哪一個 yum repo 都是必須要原本的 php 先移除後 yum install 新的套件,這過程其實再自然不過了

但前提是,必須非常肯定目前在線上的 php 原始碼在升級後都可以正確執行

鸚鵡目前有上線在運作的程式,蠻大量都是自己寫的,真心沒這個把握!
基於網站不能停或不想中斷服務的前提,上述的方案只能直接放棄

過去鸚鵡都盡可能使用 yum 來管理維護相關套件,盡可能不要自己編譯。但之前有次遇到一個狀況,選用的 repo 終止維護計畫,甚至連網站和 mirror 站點都移除。而該 repo 會有覆蓋基本套件的情況,造成更新完全被卡住,花了一點時間才搞定

所以本次的過程會需要自行編譯一些東西,當然在許可的情況盡量使用 CentOS 的基本套件,編譯及安裝時都選擇獨立的路徑來進行,盡量和既有的系統服務做出區隔

閱讀全文〈CentOS 7 中 Apache 2.4.35 + PHP 7.2.11 + HTTP/2 升級安裝筆記 (零風險升級/平滑升級)〉

在 CentOS 7 幫 Apache 2.4.6 加上 Brotli 網頁壓縮技術(mod_brotli)

最近終於接觸到 Google 釋出的 Brotli 壓縮技術
於是動念想幫 apache 也加上 brotli 的支援,因為現在各大瀏覽器也都已經支援

但因為微軟的 IE (Internet Explorer) 全系列都沒有支援
所以作法就變成增加 mod_brotli 的支援且優先使用,而不是取代 mod_deflate 或 mod_gzip

閱讀全文〈在 CentOS 7 幫 Apache 2.4.6 加上 Brotli 網頁壓縮技術(mod_brotli)〉

RHEL / CentOS 7 用 yum 安裝 MariaDB 10.x

透過 MariaDB 官方提供的 Repositories
快速的在 Linux 上佈署 MariaDB 是蠻簡單的事情
像是 Ubuntn 或 Debian 也都只需要跟著步驟操作即可

首先連結到 Setting up MariaDB Repositories 頁面
選擇 系統、版本 和 MariaDB 版本,稍等一下就會顯示安裝步驟

以 CentOS 7 為例

先在 /etc/yum.repos.d/MariaDB.repo 檔案,內容如下

閱讀全文〈RHEL / CentOS 7 用 yum 安裝 MariaDB 10.x〉

將 Let’s Encrypt 申請到的 SSL 憑證用在 Postfix 上,提供 SMTP with TLS 和 smtps 服務

因為已經取得 免費的 SSL 憑證:Let’s Encrypt!
所以就想把這個 SSL憑證 也用在 Postfix 上,讓 smtp 可以使用 TLS 加密
也可以開啟 smtps 服務 (Port 465)

環境說明

  • CentOS 7 x64
  • Postfix 2.10.1

閱讀全文〈將 Let’s Encrypt 申請到的 SSL 憑證用在 Postfix 上,提供 SMTP with TLS 和 smtps 服務〉

將 Let’s Encrypt 申請到的 SSL 憑證用在 Dovecot 上,提供 pop3s 和 imaps 服務

因為已經取得 免費的 SSL 憑證:Let’s Encrypt!
所以就想把這個 SSL憑證 也用在 Dovecot 上,讓 pop3 和 imap 都可以使用 SSL/TLS 加密

環境說明

  • CentOS 7 x64
  • Dovecot 2.2.10

Dovecot 原始設定

  • disable_plaintext_auth = no
  • auth_mechanisms = plain login

閱讀全文〈將 Let’s Encrypt 申請到的 SSL 憑證用在 Dovecot 上,提供 pop3s 和 imaps 服務〉

免費的 SSL 憑證:Let’s Encrypt!

這幾天隱約想起2015年底好像有看到訊息2016年會有免費的 SSL憑證 可以申請
稍微搜尋了一下有找到 Let’s Encrypt 有提供,其相關背景鸚鵡就不贅述囉
值得注意的是 Let’s Encrypt 提供的憑證只有90天,每60可以更新(renew)憑證

點進網站按下 Get Started 並沒相關申請界面,而是說明採用 ACME protocol 來進行申請。
因此必須主機上擁有使用 shell 的權限才能進行,也就是要有 Linux 基本能力 並且可以使用 ssh 連上主機,而且能取得 root 權限

不熟悉的人可以選擇透過 SSL For Free 來進行申請。步驟不多挺簡單,網路上也很多教學,有需要可以自己搜尋一下。很多提供虛擬主機服務商也都有整合 Let’s Encrypt 服務,

鸚鵡是自己管理主機,所以就自己選擇工具安裝申請憑證,以下就大概紀錄一下步驟

閱讀全文〈免費的 SSL 憑證:Let’s Encrypt!〉

Linux 架設 Git Server 同時支援 ssh 和 http 兩種協定

最近在整理自己過去寫的各種程式碼,真是又多又雜 版本分支多
打算自己建立一台 Git Server 來管理
也打算把近期維護的 VB.NET 的程式碼也一併使用 Git 管理版本
找一了一下的教學,才發現 Virtual Studio 不支援 SSH 僅支援 HTTP 協定

動手弄了台主機就開始搞了,前後花了三個晚上才搞定
SSH 沒搞太久幾乎都是卡在 HTTP 的部份,爬文爬到 Chrome 分頁都快40個了

環境說明:

  • CentOS 7 (1511) x64
  • Apache 2.4.6

我自己的要求:

  1. 該主機也會是開發測試環境
  2. Git 主要自己要使用而已,但要預留將來提供他人使用可能性
  3. SSH 和 HTTP 兩種模式要能維護同一份 Repository
  4. HTTP 需要權限驗證,SSH 不需要輸入帳號密碼
  5. 不使用 WebDAV 協定

閱讀全文〈Linux 架設 Git Server 同時支援 ssh 和 http 兩種協定〉