[Docker] Opencart 購物網站建置

14 分鐘閱讀

[Docker] Opencart 購物網站建置

前言

Opencart 是一套開源的購物網站方案,擴充性高、資源豐富。基本框架免錢,好用的收費模組很多,且台灣的支援度高。

對於一般商家而言,個人較推薦在大型電商開賣場,像是 PChome、蝦皮、露天、Yahoo 拍賣等
好處是建置簡單、曝光率高、客戶熟悉度高。重點是開場成本低,大多是採用賣出時抽成
自建商店的話,不只初始架站有一筆開銷,之後還有每個月的伺服器維護費....

說真的,沒有特殊需求別來折騰這個 (ㆆᴗㆆ)

所謂的 特殊需求 是什麼呢,讓我舉幾個例子:

不限於這些,還有許多在大型電商不能做到的事
自由度高,讓不少店家仍希望擁有自己的購物網站

本文以 Docker 技術,用最少的步驟讓你快速架起自己的 Opencart 購物網站

購物網站方案選擇也有不少,而我選用 Opencart 的理由非常簡單 ── 台灣有廠商在收費維護。

誒我是說真的,這不是業配 (((゚Д゚;)))

對於營業主而言,能花錢解決問題是很重要的一環,怕的是找不到人提供服務
今天我們架站不用花錢,但萬一哪天站點出事無力解決,總不能雙手一攤 Let it go 吧?
你若不是資訊專家,最好給吃飯的工具留個保險

另外還有幾個贏過其它方案的優點:

我不是大神,也不寫 PHP
只是喜歡玩 Docker 架站,有問題請去上面找專家 ♥(´∀`) 人 (甩鍋)

概觀

本專案核心目標

本專案特徵

本文適合對象

流程簡述

  1. Linux 主機之 Docker 安裝和 ReverseProxy 建置
  2. git clone 下來 docker-compose 建置檔案和 config 檔案
  3. 密碼類的個別設定
  4. docker-compose up -d
  5. (選) Restore 既有資料和 config

硬體架構

機器有兩台,放在我家的 NAS 做備份伺服器;DigitalOcean 租的 VPS 做主要 Server

若不備份,Rsync Server 就不是必須的。本文會講解不做備份的設定方式

┌ Synology NAS (Rsync Server)
WWW
└ DigitalOcean Droplet (Main Server)

Main Server 系統架構

WWW  
Reverse Proxy (nginx Server) (SSL 證書申請、Renew)  
├ Jobber (Cron) (定時備份 Docker volume,備份完送至 rsync server)
├ Opencart 前台 (nginx Server)  
│ ├ MariaDB 資料庫 (網路只對 Opencart 前後台)  
└ Opencart 後台 (nginx Server)

DNS 設定和 Cache 設定

我使用 Cloudflare 做 DNS 和 Cache
若用其它 DNS 商請略過 Cache 設定

SSL 和 PageRule 設定如此是為了讓 Let's Encrypt 能成功訪問,請留意

DNS Record 有三條,一條 A 指向 SERVER_IP,另倆 CNAME 指向 A Record

架設

Linux 主機和 Docker 安裝

請完成此文的 建置 章節

👉 [Docker] Linux 主機之 Docker 安裝和 ReverseProxy 建置

Opencart 建置

Rsync Server 設定和備份還原

Rsync Server 設定