1. Deployment
Marketing Tool
  • Module mặc định
    • TỔNG QUAN HỆ THỐNG
    • Bussiness | Logic
      • XÁC THỰC & HỒ SƠ NGƯỜI DÙNG
      • THỐNG KÊ & NHẬT KÝ
      • CÔNG CỤ TÌM KIẾM
      • TRÍCH XUẤT URL
      • KIỂM TOÁN CHUYỂN HƯỚNG
      • THEO DÕI WEBSITE
      • KIỂM TRA TRANG WEB
      • TÌM KIẾM VĂN BẢN NEO
      • WHITELIST
      • Tổng Quan
    • Project
      • MKT Tool
        • Architecture
          • Code Structure
          • System Architecture
          • Database Schema
        • Deployment
          • Local
          • Staging
          • Production
        • Internal API
          • API Interface
          • Public API
            • 2.1 Auth & User Profile
              • Đăng nhập
              • Đăng ký
              • Cập nhật Profile
            • 2.2 Search Engine & Anchor Text
              • Tạo yêu cầu quét thứ hạng
              • Lấy kết quả quét từ khóa
              • Tạo yêu cầu quét Anchor Text
            • 2.3 URL Extract & Redirect
              • Khởi tạo URL Extract
              • Khởi tạo dò tìm Redirect
            • 2.4 Check Website & Detect Domain
              • Kiểm tra Website (Content/IP)
              • Nạp data Detect Domain
            • 2.5 Track Requests & Advanced Tools
              • Tạo list Tracking
              • Webhook Add Tracking Record
            • 2.6 Whitelist & Statistic App
              • Import Whitelist
              • Ping Check Whitelist
        • Hướng dẫn sử dụng
          • TỔNG QUAN
          • CÔNG CỤ TÌM KIẾM
          • TÌM KIẾM VĂN BẢN NEO
          • TRÍCH XUẤT URL
          • SO SÁNH NỘI DUNG
          • CHUYỂN HƯỚNG URL
          • KIỂM TRA TRANG WEB
          • KIỂM TRA NỘI DUNG
          • KIỂM TRA ĐỊNH KÌ
          • THEO DÕI WEBSITE
          • TẠO TRANG WEB MKT
  1. Deployment

Local

Tài liệu Deployment - Local Development#

Tài liệu này hướng dẫn cách thiết lập môi trường phát triển (local development) cho dự án MarketingTool. Có thể chọn 1 trong 2 CÁCH cài đặt dưới đây tùy thuộc vào sở thích và môi trường cá nhân.

Môi trường yêu cầu (Prerequisites)#

Trước khi cài đặt, hãy đảm bảo máy tính của bạn đã cài đặt các công cụ cơ bản:
Docker & Docker Compose: Bắt buộc phải có để khởi chạy CSDL (MySQL, Redis, ElasticSearch...) và tùy chọn chạy toàn bộ application.
Git: Để clone source code và thao tác kiểm soát phiên bản.
Chỉ yêu cầu thêm nếu bạn chọn cách chạy Hybrid (Cách 1):
PHP >= 8.1: Cài đặt native trực tiếp trên máy (KHÔNG dùng XAMPP / MAMP).
Composer: Trình quản lý thư viện mở rộng cho backend PHP.
Node.js & npm: Trình quản lý thư viện frontend và dùng build Vue/TailwindCSS qua Vite.

CÁCH 1: Cài đặt luồng chạy thực tế (Hybrid: Native App + Docker DB)#

Dự án này sử dụng Docker làm Datastore, còn ứng dụng core PHP (Laravel) và Nodejs sẽ được dev tự chạy trên nền native của máy tính. Giúp dễ dàng debug, tracking lỗi trực tiếp trên IDE.

Bước 1: Khởi động hệ thống Background Services qua Docker#

Mở terminal tại thư mục gốc của dự án và chỉ khởi động các container cung cấp Database/Redis/Selenium dạng background (bỏ qua App PHP và NPM):
(Bằng lệnh này, máy chỉ chạy ngầm 3 service phục vụ data và automation, app core vẫn tắt)

Bước 2: Thiết lập file cấu hình môi trường (.env)#

Tạo file thiết lập các biến số kết nối hệ thống:
Mở file .env chỉnh sửa lại thông tin Database, Redis về localhost 127.0.0.1 với cổng (port) đã được binding riêng rẻ qua máy Host (Ánh xạ từ docker-compose.yml):
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=2001

REDIS_HOST=127.0.0.1
REDIS_PORT=2002
# ...các config còn lại tương tự

Bước 3: Cài đặt các thư viện (Dependencies)#

Mở terminal chạy lệnh native trực tiếp trên máy tính của bạn (không thông qua lệnh Docker) để install:

Bước 4: Thiết lập App key & Data mapping#

Sinh mã hóa token app và tạo cầu nối mapping disk directory storage tới public:

Bước 5: Cấu trúc cơ sở dữ liệu#

Đảm bảo container từ Docker chứa DB đang nhận connection thành công, tiến hành tạo bản đồ Models:

Bước 6: Khởi động Servers (Application Native)#

Mở 2 cửa sổ Terminal song hành riêng biệt:
Tab Terminal frontend chạy Node.js:
Tab Terminal backend phục vụ core logic xử lý PHP:
(Truy cập bằng IP hệ thống đã setup: http://127.0.0.1:2000 )

Bước 7: Khởi chạy Task Background (Scheduler Work)#

Hệ thống MarketingTool chứa các tính năng cực kỳ quan trọng đòi hỏi chạy ngầm liên tục (Search Engine, Extract Url, Detect Domain...). Cần mở Tab Terminal thứ 3 và gõ lệnh sau:
(Hãy luôn giữ cửa sổ Terminal này luôn mở lúc code để tiến trình cronjob chạy ổn định)

CÁCH 2: Cài đặt thuần Docker Container (Full Docker Environment)#

Cách này đặt toàn bộ môi trường từ Web server, PHP FPM, background Queue Worker tới Data Storage bên trong Docker. Không bắt buộc phải cài đặt PHP/Node.js rườm rà lên trên máy thật của Developer.

Bước 1: Khởi động hệ thống services#

Mở terminal tại thư mục gốc và chạy lệnh build tự động toàn bộ hạ tầng Docker Container:
(Lưu ý: MacOS nếu có config Docker port riêng, hãy sử dụng file docker-compose-mac.yml tuỳ biến theo)

Bước 2: Thiết lập cấu hình hệ thống#

Copy file enviroment mẫu:
(Cấu hình host Database và Redis sẽ tuân theo hostname nội bộ của Docker)

Bước 3: Cài đặt thư viện (Dependencies)#

Thực thi cài đặt bằng cách đưa lệnh trực tiếp vào trong Container Web app (có chỉ định tên là winads_soccer):

Bước 4: Khởi tạo Key & Cấp quyền Storage#

Cấu hình App mã hóa và symlink thư mục public vào Storage của Container:

Bước 5: Tạo bảng dữ liệu cơ sở CSDL#

Cũng thực thi việc update thiết kế Schema database ở thẳng con container PHP:

Bước 6: Khởi chạy Backend Cronjob Worker#

Như Cách 1, bạn cần mở riêng 1 terminal và truyền lệnh thực thi Task Scheduler và ngâm bên trong Web App Container để các tính năng Extract, Search được work ngầm:

Bước 7: Hoàn tất & Truy cập#

Truy cập bằng localhost http://127.0.0.1:2000
Ngày cập nhật 2026-03-31 03:27:02
Trước
Database Schema
Tiếp theo
Staging
Built with