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 升級安裝筆記 (零風險升級/平滑升級)”

使用 PHP-FPM 正確取得 PHP_AUTH_USER 的方法

近期開始嘗試透過 php-fpm 來執行 PHP
上網找資料時,多數的內容都跟 php-fpm.conf 和 www.conf 的設定有關
有部份的文章或討論也會提到使用 php-fpm 後無法使用 $_SERVER['PHP_AUTH_USER']
恩… 確實會有這樣的情況,但若是說 不能使用 也不是正確的說法

會有這樣的情況發生,只是單純因為架構的關係造成 php-fpm 沒辦法直接取得 Web Server 端的 Basic access authentication 相關資訊而已

繼續閱讀 “使用 PHP-FPM 正確取得 PHP_AUTH_USER 的方法”

在 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)”

幫 MySQL / MaridDB 補上 timezone 相關資料

鸚鵡在安裝 Cacti 過程中,被要求資料庫需要滿足 timezone 的需求
而 MySQL 及 MaridDB 安裝後
在 mysql 資料庫中的 time_zone 相關資料表都是空的

安裝了 MySQL / MariaDB 後,系統中會有一個測試用的 sql 檔案
路徑:/usr/share/mysql/mysql_test_data_timezone.sql
這個檔案提供了一些測試用的相關資料,但只是幾個時區的測試資料

想要幫 time_zone 相關資料表補上完整資料的話

SQL 檔案導入的方式

 

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 服務”