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 x64 và Gó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.
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
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 Key và Save 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
Gõ 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:
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é.