利用虛擬化機制包裹舊應用系統 – Postgres + Nginx + Php – Part-1

近期輔導台中某家 ERP 系統開發的單位,她們公司有個客戶服務系統,是使用大約10年前的開源 Bug Tracker 建置的,其基礎應用服務是使用 Postgres 8.4、Php 5.5.3 挺舊的版本與 早期版本的 Apache 在 Windows 環境所架設的。因為她們有計畫要採購更新的伺服器或 NAS,並希望舊有的客服系統能順利移轉,但又不希望整個伺服器系統環境被舊有的系統牽絆住,所以公司高層主管請教我怎樣的作法會比較妥當。

嗯,這雖不是我輔導的範疇,不過基本的系統移轉 (migration) 觀念還是有的,所以就順口回答道:「包起來!」呵,她們當然並不懂我這樣的意思是什麼,所以當然還是會稍作一些解釋,其實就是完整的把原來舊系統的環境,給整個移轉到新伺服器上,並建置在虛擬化的環境,如利用虛擬機 (Virtual Machine) 甚或 Docker 容器化更可以大幅降低系統耗費資源。這種就是屬於「包裹 (wrapper)」的觀念,不要動到原來舊系統的環境,這絕對是最保險的移轉方式。

結果解釋一番,對方還是不太懂 !^^,乾脆就花一些時間,我把她們舊系統的環境,同時利用 Hyper-V 虛擬機,以及透過 WSL 跑 Docker,提供兩種移轉方式讓她們參考。

利用 Hyper-V 虛擬機建置一個 Windows-based 的 OS (這裡我使用 Windows 10 LTSC),然後再安裝原來的應用伺服環境。配合當時的系統需求 (主要是 PHP 版本的考量),所以我找到 XAMPP win32-5.5.33-0-VC11 版本,以及 Postgres 8.4.5.1 版本 (有些意外,官網竟然已經下載不到老舊的版本) 一一安裝。

再來就是作一番設定,主要是 XAMPP 並沒有直接支援 Postgres 資料庫,所以當然爬文看先輩們的設定心得。參考這篇:「How to Integrate postgreSQL Database to XAMPP in Windows」,以及需要在 Apache 內啟用 PHP 的「Short Open Tag」:「How to Enable PHP Short Open Tag (short_open_tag)?」這類的 How-to 設定,然後再把所匯出來的 Postgres Schema + Data (乖乖,竟然有近 5Gb 容量) 再匯入進去,大概花了三、四個鐘頭時間,並不困難。

先利用 Postgres 自帶的 pgadmin 3 UI 工具登入並檢視匯入的資料庫與資料,確認匯入成功以及沒有中文亂碼。

閱讀全文 »

Manjaro 18 安裝 XAMPP – WordPress 本機開發環境

WordPress 寄放於遠端虛擬主機廠商,而希望在本機具有開發 Web 的環境,我自己是安裝了虛擬機的 Manjaro (安裝版本 18) 類 Arch Linux 系統,但我實在不想再重新一個個安裝與設定相關 LAMP (Linux, Apache, MySQL, PHP) 開發環境,所以找尋有否已整合好的開發套件。

以前我就在 Windows-based 安裝過 XAMPP,原來也有適用於 Manjaro 的系統,但需要手動安裝 (也可以透過 AUR 安裝,但建構過程出現問題),不過安裝過程倒是非常簡單。

稍微注意下,是從 MySQL 被 Oracle 併購之後,開源組織應該是擔心後續的商業利益問題,因而復刻了一個幾乎等同於 MySQL 的 MariaDB,所以安裝 XAMPP 目前版本後的資料庫是 MariaDB 而非 MySQL。原來我是有些擔心因爲主機商提供的仍是 MySQL,而在本機安裝的卻是 MariaDB,不知 WordPress 是否會有相容的問題,但爬文後普遍看來是沒啥問題,所以就先給安裝下去,留待後續再查看是否有資料庫相容性問題。

閱讀全文 »

[備忘] 安裝與微調 XAMPP

目的:

在 Windows-based 環境下,利用整合套件,簡化安裝與設定 泛xAMP (Apach-MySQL-PHP)系統服務,而可以能讓 CMS (content management system,如 Drupal/Joomla)的開發者,專注在網站內容的設計上。

說明:

XAMPP, WAMP 均是提供 泛xAMP 的免費整合套件,甚而 XAMPP 提供的是跨平台,包括在 Linux, Windows, MacOS 等OS。藉由簡單的安裝與設定,讓網站開發者不用再煩惱系統服務的管理部分,而能專注於網站內容自身的開發。

基本安裝與設定

  1. 下載 XAMPP 與官方的安裝文件說明。建議下載自動安裝套件 (目前版本:xampp-win32-1.8.1-VC9-installer),執行時均依預設選項安裝即可。因沒有將安裝資訊寫入到 windows-註冊表 (registry),所以屆時要反安裝 (uninstall) 直接執行內附的 Uninstall.exe 即可乾淨移除。
  2. 安裝完成後的管理工作,諸如啟動或停止,均由「XAMPP Control Panel」提供設定管理。
    XAMPP Control Panel
  3. 閱讀全文 »

軟體思維顧問

專職軟體輔導與教育訓練的獨立顧問。輔導企業資訊單位如何有效組織系統開發與維護;輔導開發人員達成有效的專業分工。傳授如何把軟體作軟 (Keeping Software Soft)的技能,得以提昇系統的彈性/延展,並進而創造系統的再利用價值。

Personal