Nâng cấp Mautic từ Version 2.xx lên Version 3.xx

Đây là hướng dẫn thực hiện trên VPS.
Đầu tiên bạn cần phải check xem version của bạn đang là bao nhiêu? Các yêu cầu đáp ứng có thể lên Mautic Version 3 dưới không:

System is compatible with the upgrade. The checks are:

* PHP version must be 7.2 or 7.3
* MySQL version needs to be >= 5.7.14 or MariaDB >= 10.1
* Is custom  `api_rate_limiter_cache`  set? TODO add docs
* Is Mautic's root directory writable?
* Are there items in the  `spool/default`  folder? This indicates that there are still emails in the queue
* Is the free disk space at least 2x the current Mautic 2 installation?
* Do you at least have Mautic 2.16.3 installed?
* Is PHP's  `max_execution_time`  either 0 (unlimited) or > 240? If not, we try to set it, if that doesn't work, we show an error
* Is  `mysqldump`  available for creating database backups?
* Is there a Mautic 3 upgrade package available for download?
* Is the upgrade "kill switch" activated? (Mautic's Product Team can enable a Kill Switch which will show a warning to users that there might be problems with the upgrade. Read more HERE (TODO))
* Are there any custom plugins installed? If yes, we show a warning that users should check if those plugins are compatible with Mautic 3 or temporarily disable them
* Get the amount of available database migrations. If that fails, we show a warning
* Check if the platform is Windows. If it is, we show a warning that cache creation is significantly slower on this platform and that the user should be extra patient.
* Is PHP's  `memory_limit`  equal to or higher than 256M? If not, we try to set it, if that doesn't work, we show an error

Nếu bạn đang bật Firewall (CSF) hoặc CloudFlare (thì nhớ tắt mây vàng đi)

csf -x

Disable Cronjob hoặc xóa cronjob đi

crontab -e

Sau đó restart lại cronjob: Mục đích lúc khi Update, tránh CRON nó chạy, gây lỗi hàng loạt

service crond status
service crond restart

Lưu ý: Nhớ backup trước khi bắt đầu.

Lời khuyên: Bạn nên dùng các đơn vị thuê VPS nào như Vultr nó có tính năng SnapShoot đó, một khi lỡ sai không thể fix kịp, thì bạn chỉ cần Restore lại bản Snapshoot cũ là hệ thống lại vận hành lại nhé.

Sau đó ta vào ngay thư mục cài đặt Mautic 2 (mình sẽ gọi là mautic 2, vì command lúc này nó như cũ, sang Mautic 3 sẽ khác chút.

php app/console mautic:update:find

Sau khi nó tìm và Download bản Update mới nhất về ta tiến hành Update bằng Command sau. Ở đây mình sẽ RUN command này và cho nó sử dụng 512Mb bộ nhớ để ưu tiện việc Update tốt nhất,

php -d memory_limit=512M app/console mautic:update:apply

Ngồi chờ sau đó Clear Cache

php -d memory_limit=512M app/console cache:clear

Lúc này bạn thấy trên thư mục nó có file UpgradeV3 thì mình tiến gõ tiếp để tiến hành Pre-Check xem coi có gì chưa ổn (Plugin có tương thích hay System có đủ điều kiện) để tiến hành Upgrade không.

php -d memory_limit=512M upgrade_v3.php

Nếu system chưa đủ yêu cầu thì bạn tiến hành nâng cấp, còn nếu Plugin nào không tương thích thì bạn vào thư mục Plugin tìm đúng cái tên đó rồi xóa hẳn luôn, sau đó clear Cache + Reload lại các Plugin

php -d memory_limit=512M app/console cache:clear
php -d memory_limit=512M app/console mautic:plugins:reload

Rồi xong rồi thì chúng ta chạy lại command này để tiến hành cài đặt

php -d memory_limit=512M upgrade_v3.php

Bạn đang chạy xong nó báo lỗi này (không phải là lỗi, mà là cảnh báo thì đừng sợ)

IMPORTANT: NOT DONE YET! Due to the large amount of changes in Composer dependencies, we now need to restart the script to continue. We've saved your state, so we'll continue where we left off.
PLEASE RUN php upgrade_v3.php AGAIN TO START PHASE 2 OF THE UPGRADE!

Nó chỉ nói là ta nên RUN lại command trên 1 lần nữa

php -d memory_limit=512M upgrade_v3.php

Sau khi Update thành công, thì bạn cần phải thay đổi cronjob vì với Mautic 3, nó thay đổi đường dẫn một chút.
Các link có

app/console/*

Thay bằng

bin/console/*

Vậy giờ ta chỉ cần Edit CronJob, và tiến hành bật và khởi động lại CronJob là hoàn tất rồi.

Chúc bạn thành công. Có bị lỗi gì thì Comment bên dưới.