May 30

Hướng dẫn cài đặt Mautic đơn giản trên VPS Ubuntu 2020

0  comments

Hướng dẫn cài đặt Mautic đơn giản trên VPS Ubuntu 2020

Trong bài viết này mình sẽ hướng dẫn bạn cách cài đặt Mautic trên VPS đơn giản nhất mà không cần phải biết gì về lập trình hay kỹ thuật vận hành VPS. Nếu bạn chưa biết Mautic là gì và có những ưu điểm nào so với các hệ thống Marketing  Automation khác thì xem bài viết giới thiệu về Mautic bên dưới nhé.

Mình đã dùng Mautic trong một thời gian khá dài và lúc đầu mình cài Mautic với các cách đơn giản như là cài trên Softaculous, Bitnami, hay cài trên shared host... nhưng trong quá trình sử dụng mình thấy có rất nhiều vấn đề và mình nhận ra rằng chỉ có cài trên VPS thì Mautic mới hoạt động ổn định và đầy đủ tính năng nhất. Nguyên nhân vì sao không nên cài trên softaculous, bitnami hay shared hosting mình sẽ nói trong một bài viết riêng.

OK. Bắt đầu thôi!!!

1. Mua VPS tại Vultr

Vultr là nhà cung cấp dịch vụ Cloud Server nổi tiếng với hệ thống datacenter phân bổ trên khắp thế giới. Ưu điểm của Vultr là hiệu năng cao mà giá cả lại vô cùng phải chăng, dễ dàng cài đặt và được hỗ trợ nhanh chóng. Đây cũng là nhà cung cấp Server yêu thích của cộng đồng MMO tại Việt Nam.

Để mua VPS, đầu tiên bạn cần đăng ký tài khoản. Truy cập đường link bên dưới để đăng ký.

https://www.vultr.com/
(Đây là đường link affiliate)

Nếu bạn thấy bài viết này hay thì bạn hãy mua thông qua link giới thiệu này để ủng hộ mình chút tiền cafe 🙂

Bạn điền Email và Password vào sao đó nhấp nút Create Account. Sau khi bấm tạo Account bạn nhớ check email để kích hoạt tài khoản

Sau đó bạn vào phần Billing để Add Visa hoặc Master Card vào tài khoản và Pay tối thiểu 15$ trở lên vì mình sẽ hướng dẫn bạn mua VPS với mức giá khoảng ~15$/ tháng.

Sau khi add thẻ và nạp tiền thành công. Bước tiếp theo mình sẽ tiến hành Deploy Server. Truy cập vào tab Product -> Deploy Instance

Tiến hành chọn các Option cho VPS như ảnh của mình bên dưới

Chọn loại Server High Frequency và Server Location chọn vị trí gần bạn nhất. Mình đang ở Việt Nam vì vậy mình sẽ chọn server location là Singapore.

Tiếp theo bạn chọn Hệ Điều Hành là Ubuntu 18.04 x64Gói server 12$/ tháng là đủ dùng cho bạn gửi hàng chục ngàn Email mỗi lần. Bạn cũng nên chọn Enable IPv6 và mua thêm gói Auto Backups với giá chỉ 2.4$/tháng, chỉ bằng một ly cafe nhưng yên tâm hơn khi sử dụng. Tiếp theo bạn nhấp vào nút Add SSH Key

Vì mình sử dụng máy Windows nên mình sẽ hướng dẫn các bạn tạo SSH Key trên máy Windows, các bạn sử dụng máy Mac thì sẽ đơn giản hơn Windows một chút, các bạn có thể xem hướng dẫn của Vultr tại đường link bên dưới.

https://www.vultr.com/docs/how-do-i-generate-ssh-keys/

Hướng dẫn tạo SSH Key với máy Windows:

Bước 1: Download và cài đặt phần mêm PuttyGen

Link download PuttyGen

Bước 2: Mở PuttyGen vừa cài đặt xong lên và bấm vào nút Generate

Lưu ý: Trong lúc Generate key bạn cần rê chuột vào ống loading màu xanh ở PuttyGen để phần mềm tạo Key.

  • Sau khi đã tạo Key xong, bạn nên điền thêm Key Passphrase để bảo mật khi lưu trữ key. Ấn Save Public KeySave Private Key vào folder bí mật của bạn. Lưu ý là sau khi thoát khỏi PuttyGen thì các key sẽ không được xem lại. Bạn cần sao lưu cẩn thận.
  • Sau đó Copy hết các text ở Public Key bỏ vào ô Add SSH Key ở trang Vultr. Đặt tên cho SSH Key đó. Lưu ý là không thừa khoảng trắng ở đầu và cuối key.

SAu khi Add SSH Key bạn bấm vào nút Deploy Now và chờ đợi hệ thống tiến hành cài đặt VPS mới cho bạn.

Chờ khoảng 2-3 phút là hệ thống Vultr cài đặt xong VPS mới cho bạn. Bạn nhấp vào tên VPS mới tạo và nhìn thấy như màn hình bên dưới là bạn đã tạo VPS thành công. 

2. Tạo Subdomain cho Mautic

Bạn cần tạo subdomain để làm đường dẫn truy cập vào Mautic. Tùy theo dịch vụ tên miền bạn đang sử dụng hoặc nếu bạn đã trỏ bản ghi nameserver về hosting thì bạn sẽ vào hosting khai báo bản ghi A record này.

Với Cpanel thì bạn vào Zone Editor để tạo như ảnh bên dưới. Ở đây mình sẽ tạo 1 link truy cập cho Mautic là go.bacsichinhminh.com

Nếu tên miền bạn đang trỏ bản ghi IP về host thì bạn cần vào trang quản lý tên miền để tạo. Bạn có thể kiểm tra cách trỏ domain về host hiện tại bằng công cụ DNS Watch. Bạn có thể Google thêm về "cách trò bản ghi A cho subdomain" để thực hiện.

Sau khi trỏ bản ghi subdomain về IP của VPS xong, bạn dùng công cụ DNS Watch mình đã nhắc tới ở trên để kiểm tra xem bạn đã trỏ chính xác và được ghi nhận chưa. Nếu ok thì sang bước tiếp theo

3. Truy cập Server với SSH Key đã tạo

Tương tự như lúc tạo SSH Key, ở bước này mình vẫn sẽ hướng dẫn các bạn thao tác trên Windows, còn các bạn sử dụng máy MAC thì xem hướng dẫn của Vultr tại đường link bên dưới:

Hướng dẫn connect server trên MAC

Hướng dẫn connect server trên Windows

Để connect server trên Windows các bạn có thể dùng phần mềm Putty vừa cài đặt (khác với PuttyGen) hoặc bạn có thể cài thêm 1 ứng dụng connect server mình rất yêu thích đó là Xshell. Vì yêu thích Xshell nên bài viết này mình sẽ hướng dẫn trên Xshell nhé.

Bước 1. Tải phần mềm Xshell miễn phí tại đây

Xshell có phiên bản Free dành cho School hoặc Student, link mình gắn ở trên là bản free, bạn truy cập link và điền tên + Email là có thể tải về nhé.

Sau khi tải về bạn mở phần mềm Xshell lên, vào File -> New để tạo Session đăng nhập mới. Điền các thông tin đăng nhập cần thiết vào tab connection.

Trong đó:

  • Name: Bạn tự đặt để quản lý
  • Protocol: SSH
  • Host: là địa chỉ IP của server (xem tại trang quản lý server trên Vultr)
  • Portnumer: để mặc định là 22

Tiếp theo bạn nhấp vào tab Authentication để điền thông tin đăng nhập (thông tin này cũng nằm ở trang quản lý server).

Sau đó nhấp Ok và click đúp chuột vào tên Session bạn vừa tạo để connect vào Server. Sao cho có màn hình như bên dưới là bạn đã thành công.

4. Cài đặt bảo mật cho VPS

a) Bật tường lửa bảo mật bằng lệnh

Bạn có thể bật tường lửa cho VPS đơn giản bằng cách gõ 3 lệnh liên tục sau: ( gõ mỗi lệnh là 1 dòng rồi enter)

Nếu bạn copy lệnh ở trên web và paste vào Xshell thì bạn sẽ dùng tổ hợp phím Shift + Insert để paste, không phải là Ctrl + V như trên Windows.

sudo su

ufw allow 22

ufw enable

y khi được hệ thống hỏi: "Command may disrupt existing ssh connections. Proceed with operation (y|n)?"

Vậy là bạn đã cài xong tường lửa cho VPS.

b) Bật tưởng lửa trên giao diện Vultr

5. 6 bước đơn giản cài đặt Mautic trên VPS

Video hướng dẫn chi tiết. Bạn cần xem thêm trên bài viết này để copy các lệnh cài đặt.

Bước 1. Cài đặt gói hỗ trợ cần thiết cho Ubuntu

Cập nhật Ubuntu

apt update && apt upgrade -y

Cập nhật gói ứng dụng cần thiết cho Mautic

apt install apache2 libapache2-mod-php php unzip mariadb-server php-xml php-mysql php-imap php-zip php-intl php-curl ntp -y

Kích hoạt một số mô-đun Apache 2 không hoạt động theo mặc định sau khi cài đặt.

a2enmod rewrite

Bước 2. Cài đặt Mautic trên VPS

Download và giải nén File Mautic

cd /var/www/html

wget https://github.com/mautic/mautic/releases/download/2.15.3/2.15.3.zip

unzip 2.15.3.zip

rm 2.15.3.zip

Tại thời điểm viết hướng dẫn này thì Mautic đã ra mắt version 3.0 tuy nhiên là chỉ mới ra mắt cần thêm thời gian để cộng đồng sử dụng xem có ổn định không rồi lúc đó mình update bản mới cũng chưa muộn. Đừng vội cài sớm, muốn downgrade rất khó nhằn. Phiên bản trong hướng dẫn này là 2.15.3 là bản đang được đánh giá là ổn định nhất.

Cấp quyền truy cập tệp cho Apache và Mautic

chown -R www-data:www-data /var/www/html

chmod -R 775 /var/www/html

Cấu hình Apache:

wget https://imanhtran.com/wp-content/uploads/2020/05/000-default.txt

mv 000-default.txt /etc/apache2/sites-available/000-default.conf

Tạo database cho Mautic

mysql -u root

Lệnh này sẽ kết nối bạn với cơ sở dữ liệu của bạn, điểm khác biệt duy nhất bạn sẽ nhận thấy là văn bản trước dấu nhắc lệnh của bạn sẽ thay đổi thành tên Maria MariaDB [(none)]>

MariaDB [(none)]> CREATE DATABASE mautic DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
MariaDB [(none)]> GRANT ALL ON mautic.* TO 'root'@'localhost' IDENTIFIED BY 'password';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Thay password của bạn vào 'password'

Sau khi gõ lệnh EXIT bạn sẽ trở về màn hình thông thường

Bước 3. Cài đặt bảo mật MYSQL server

Bảo mật máy chủ MariaDB (MySQL) của bạn rất đơn giản và có thể được thực hiện chỉ bằng một lệnh, đây chỉ là một tập lệnh bảo mật rất cơ bản, sẽ hỏi bạn một số câu hỏi để làm cho máy chủ của bạn an toàn hơn nhưng vẫn có thể sử dụng được cho mục đích của bạn.

mysql_secure_installation

Lệnh bảo mật kích hoạt, bạn cần trả lời các câu hỏi sau:

Enter current password for root (nhập password bạn vừa đặt, enter nếu password để trống):
Change the root password? [Y/n] y
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y

Vậy là xong.

Gần như đã hoàn tất, máy chủ Mautic hiện đã được cài đặt và bảo mật, trước khi bạni chạy trình hướng dẫn cấu hình Mautic, bạn cần mở cổng 80 trên tường lửa để có thể kết nối với máy chủ của bạn.

ufw allow 80

Bây giờ, hãy để tải lại cấu hình Apache để áp dụng các thay đổi của bạn.

service apache2 reload

Bước 4. Kích hoạt HTTPS với cerbot

Điều quan trọng là cho phép kết nối an toàn với người dùng kết nối với Mautic từ trình duyệt, Certbot là cách đơn giản nhất để bật SSL trên máy chủ của bạn.

ufw allow 443

ufw status

Để cài đặt các gói cần thiết để Certbot hoạt động, vì không tìm thấy Certbot trong kho Ubuntu mặc định, trước tiên chúng tôi sẽ cần thêm kho lưu trữ Certbot vào danh sách máy chủ của bạn:

sudo add-apt-repository ppa:certbot/certbot

apt update && apt upgrade -y

sudo apt-get install python-certbot-apache

certbot --apache -d mautic.yourdomain.com

Thay mautic.yourdomain.com thành subdoamin bạn đã khai báo Record A

Bây giờ hãy trả lời các câu hỏi và certbot sẽ xử lý phần còn lại Sau khi thiết lập xong, bạn sẽ muốn bật tự động gia hạn chứng chỉ. Bạn điền email vào để nhận thông báo gia hạn chứng chỉ

sudo certbot renew --dry-run

Bước 5. Chạy trình cài đặt Mautic trên web

Truy cập đường link subdomain cho Mautic mà bạn đã cài đặt để tiến hành chạy trình cài đặt trên web cho Mautic. Sau đó điền các thông tin:

  • Database driver: MySQL PDO
  • Database Host: localhost
  • Database port: 3306
  • DB name: Mautic
  • Database Table Prefix: Leave empty
  • DB User: root
  • DB Password: password (mật khẩu bạn đã tạo)
  • Backup existing tables: No
  • Bấm Next và tiến hành tạo user Admin

    Bước 6. Cài đặt Cron jobs

    Đến lúc này thì cơ bản Mautic đã chạy và hoạt động. Tuy nhiên là bạn cần tạo thêm các Cron jobs cho Mautic. Cron jobs ở đây hiểu đơn giản là các Schedule tasks chạy theo thời gian mà bạn đặt lịch. Ví dụ như  bao lâu sẽ gửi email 1 lần, bao lâu thì hệ thống update segment contact, update campaign,... Không có Cron Jobs thì bạn chỉ có thể gửi mail thủ công chứ hệ thống không thể hoạt động tự động.

    Lệnh bên dưới mình sẽ cung cấp 3 loại cron jobs cư bản là update segment, campaign và trigger

    wget https://imanhtran.com/wp-content/uploads/2020/05/cron-jobs.txt

    crontab cron-jobs.txt

    Kết bài

    Vậy là về cơ bản bạn đã cài đặt xong Mautic, để Mautic hoạt động gửi mail tốt mình khuyến nghị các bạn nên dùng dịch vụ gửi email của AWS SES hoặc là Sendgrid. Mình sẽ sớm viết bài hướng dẫn cấu hình 2 dịch vụ gửi email này.

    Trong quá trình cài đặt các bạn có vấn đề gì thì hãy post comment lên đây, mình sẽ trả lời hỗ trợ nhé.

    Loved this? Spread the word


    About the Author

    Tôi là Anh Trần, là Founder của DigiSuccess, đơn vị chuyên cung cấp dịch vụ xây dựng hệ thống bán hàng Online với điểm mạnh dịch vụ là tự động hóa và tối đa hóa chuyển đổi. Tôi có 5 năm kinh nghiệm hoạt động trong lĩnh vực Internet Marketing. Blog này tôi sẽ chia sẽ những kinh nghiệm mà tôi đã tích góp trong thời gian làm việc, hy vọng sẽ giúp ích cho công việc của bạn.

    IM ANH TRAN

    Related posts

    Sales Funnel là gì? 10 phút đọc để hiểu hết về phễu bán hàng

    ​Read More
    Leave a Repl​​​​​y

    Your email address will not be published. Required fields are marked *

    {"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}

    Đăng ký nhận bản tin mới từ tôi

    Nhận bảng tin các chia sẻ bổ ích mới nhất từ tôi