Nếu định cài đặt Mautic, tôi phải đảm bảo đầy đủ chức năng.
- Chạy nhanh hợp lý
- Tất cả crons chạy đẹp và tối ưu hóa
- Gửi email hoạt động, DKIM, SPF, Dmarc được đặt
- Theo dõi trang web hoạt động trên blog WordPress
- Mautic phân giải trên DNS, ngay cả khi nó được lưu trữ tại nhà
Bước 1: Cài đặt hệ điều hành
Sau khi xem xét một số hệ thống hoạt động, tôi đã đi với Diet-Pi. Siêu tối ưu hóa, duy trì tốt, nhẹ. Đi đến dietpi.com, lấy bản sao của bạn. Tôi khuyên bạn nên sử dụng thẻ SD 16 GB để có đủ dung lượng, nhưng điều đó thực sự tùy thuộc vào bạn. Sau khi tải xuống DietPi, bạn có thể ghi nó bằng balenaEtcher .
Cắm thẻ SD, kết nối nó với mạng cục bộ của bạn. Không cần màn hình, bàn phím hoặc chuột., Chỉ cần khởi động nó lên. Bây giờ, hãy chuyển đến cài đặt DHCP của bộ định tuyến và liệt kê các thiết bị DHCP của bạn. Rpi của bạn sẽ được liệt kê, hãy ghi lại địa chỉ IP của nó.
Bây giờ kết nối với Dietpi của bạn bằng SSH. Đăng nhập và mật khẩu sẽ là mặc định: dietpi / dietpi.
Bước 2: Cài đặt Apache và MariaDB
Cập nhật bản phân phối của bạn và nhập các lệnh đơn giản để máy chủ web của bạn chạy:
sudo apt update
sudo apt upgrade
sudo apt install apache2 -y
Chuyển đến trình duyệt của bạn và nhập địa chỉ IP của Rpi và bạn sẽ thấy trang Apache mặc định.
Bước 3: Liên kết với tên miền
Đi tới bộ định tuyến của bạn và thiết lập chuyển tiếp cổng. Tất cả lưu lượng đến trên cổng 80 và 443 phải được định tuyến lại đến IP của Rpi của bạn. Bạn có thể phải khởi động lại bộ định tuyến của mình để các thay đổi có hiệu lực.
Kiểm tra xem định tuyến có hoạt động hay không bằng cách nhập IP của bạn vào thanh địa chỉ của trình duyệt. Nếu trang web thử nghiệm Apache hiển thị, bạn đã tốt.
Nếu chúng ta muốn cài đặt một Mautic hoạt động đầy đủ, chúng ta cần phải có một tên miền thích hợp. Không chỉ là một DynDNS miễn phí, mà còn được tích hợp vào hầu hết các bộ định tuyến hiện đại. Để gửi hộp thư đến các chiến dịch email của chúng tôi, chúng tôi cần đặt DKIM, SPF. Chúng tôi cần một tên miền đầy đủ, mà chúng tôi có thể kiểm soát hoàn toàn.
Để thực hiện điều này, chúng tôi sẽ sử dụng Cloudflare API để giải quyết vấn đề này, vì vậy hãy truy cập cloudflare, mở miền của bạn và thêm miền phụ:
Để kiểm soát miền này bằng tập lệnh API của chúng tôi, chúng tôi sẽ cần lấy khóa API toàn cầu của mình.
Đi tới hồ sơ Cloudflare / mã thông báo API của bạn , cuộn xuống và xem Khóa Api toàn cầu của bạn .
Hoàn thành thử thách mật khẩu và ghi lại khóa api của bạn.
Bây giờ hãy quay lại Rpi của bạn và triển khai tập lệnh api. Chúng tôi bắt đầu quá trình với việc tạo một thư mục cho các hoạt động của chúng tôi.
mkdir cf
Cài đặt trình chỉnh sửa nano nếu bạn chưa có, tạo tệp có tên lwp-cloudflare-dyndns.sh. Truy cập Github và sao chép + dán nội dung vào tệp đó từ đây .
Thay đổi các cài đặt sau:
auth_email="email@example.com" // this is your cloudflare login email
auth_key="global_api_key_goes_here" // this is the Global API Key you wrote down above
zone_name="example.com" // The main domain, you want to edit via API
record_name="home.example.com" // The specific record that should point at this raspberry pi
Hãy làm cho tệp thực thi được:
chmod +x cf/lwp-cloudflare-dyndns.sh
Nếu bạn chạy mã này, nó sẽ tạo tệp cloudflare.ids. Tệp đó sẽ chứa id của các bản ghi dns của bạn. Điều cần thiết là cho phép tập lệnh của bạn thay đổi động đúng IP.
Bây giờ chúng tôi sẽ tự động hóa quy trình bằng cách chạy nó từ cron:
crontab -e
Đặt để chạy tập lệnh 10 phút một lần để đảm bảo tính khả dụng ổn định.
*/10 * * * * /bin/bash /home/pi/cf/lwp-cloudflare-dyndns.sh
Sau khi bạn chạy tập lệnh, nó sẽ cập nhật các bản ghi Cloudflare của bạn và tên miền bạn đặt sẽ phân giải trong rPi của bạn và trang kiểm tra Apache sẽ xuất hiện.
Bước 4: Cài đặt các phụ kiện
Bây giờ chúng ta có thể cài đặt phần mềm cần thiết để chạy Mautic.
Đầu tiên cài đặt MariaDB:
sudo apt-get install mariadb-server mariadb-client
sudo systemctl start mariadb.service
sudo mysql_secure_installation
Thứ hai, nhập các giá trị sau:
Enter current password for root (enter for none):
Set root password? [Y/n]: Y
New password: Enter password
Re-enter new password: Repeat password
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
Thứ ba, cài đặt php và các mô-đun bổ sung:
sudo apt-get install php -y
sudo apt install php libapache2-mod-php -y
sudo apt install php-zip ext-dom php-xml php-mbstring php-imap php-curl php-bcmath php-gd
Rất có thể php.ini của bạn sẽ nằm trong thư mục sau:
cd /etc/php/7.3/apache2/
nano php.ini
Thực hiện các cài đặt thích hợp để chạy Mautic trôi chảy:
file_uploads = On
allow_url_fopen = On
short_open_tag = On
memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 300
Bước 5: Cấu hình Apache và tạo cơ sở dữ liệu
Bây giờ chúng ta cần đảm bảo rằng Pi nhỏ của chúng ta biết rằng nó phải vẫy bàn tay nhỏ bé của nó, khi ai đó đang tìm kiếm miền phụ đó. sp hãy thêm máy chủ ảo. Trong hướng dẫn này, tôi sẽ truy cập berry.yoursite.com:
sudo nano /etc/apache2/sites-available/mautic.conf
Control + C cấu hình sau và lưu:
<VirtualHost *:80>
ServerAdmin admin@yoursite.com
DocumentRoot /var/www/html/mautic
ServerName berry.yoursite.com
<Directory /var/www/html/mautic/>
Options +FollowSymlinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log
combined
</VirtualHost>
Lưu cấu hình của bạn để bạn có thể bật máy chủ ảo bằng các lệnh sau:
sudo a2ensite mautic.conf
sudo a2enmod rewrite
sudo systemctl restart apache2.service
Hãy quay lại dịch vụ cơ sở dữ liệu của chúng tôi
sudo mysql
Với một vài lệnh Mysql được tạo thủ công, chúng ta có thể tạo một cơ sở dữ liệu mới, người dùng, thêm các đặc quyền:
CREATE DATABASE mauticdb;
CREATE USER 'mauticuser'@'localhost' IDENTIFIED BY 'yoursafepsw';
GRANT ALL ON mauticdb.* TO 'mauticuser'@'localhost' IDENTIFIED BY 'yoursafepsw' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
Bước 6: Cài đặt Mautic qua Github
Để có một môi trường luôn cập nhật cho Mautic, chúng tôi sẽ sử dụng Github để cài đặt.
Đầu tiên nên cài đặt Composer, sau đó là Curl và mọi thứ khác mà chúng ta cần.
sudo apt install curl git
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
Bước tiếp theo là sao chép Mautic từ github:
cd /var/www/html
sudo git clone https://github.com/mautic/mautic.git
cd /var/www/html/mautic
sudo composer install
Đảm bảo các quyền và quyền sở hữu của bạn được đặt đúng cách:
sudo chown -R www-data:www-data /var/www/html/mautic/
sudo chmod -R 755 /var/www/html/mautic/
Bây giờ bạn đã hoàn tất, vì vậy đã đến lúc hoàn tất quá trình cài đặt thông qua GUI. Có rất nhiều hướng dẫn cho điều đó, tôi sẽ bỏ qua phần hướng dẫn chi tiết cho điều đó và dù sao thì nó cũng thực sự chỉ có 3 bước:
Bằng cách nhập tên miền, cuối cùng chúng ta có thể đăng nhập vào phiên bản của mình. Nếu mọi việc suôn sẻ, bảng điều khiển chào đón chúng ta
Hãy tạo một tập lệnh shell xâu chuỗi tất cả các lệnh cron:
nano /usr/local/bin/mauticcrons.sh
Thêm các công việc Mautic cron:
!/bin/bash
php /var/www/html/mautic/app/console mautic:broadcasts:send --limit=200
php /var/www/html/mautic/app/console mautic:campaigns:rebuild --batch-limit=100
php /var/www/html/mautic/app/console mautic:segment:update --batch-limit=300
php /var/www/html/mautic/app/console mautic:campaigns:trigger
php /var/www/html/mautic/app/console mautic:import --limit=500
php /var/www/html/mautic/app/console mautic:emails:send --message-limit=200
php /var/www/html/mautic/app/console mautic:webhooks:process
php /var/www/html/mautic/app/console mautic:reports:scheduler
php /var/www/html/mautic/app/console mautic:maintenance:cleanup –days-old=365
Mở crontab của bạn, vì vậy bạn có thể chạy tập lệnh trên dưới dạng lệnh cron:
sudo crontab -e
* * * * * /bin/bash /usr/local/bin/mauticcrons.sh
Được rồi, bây giờ chúng ta đang gần nhau hơn bao giờ hết, hãy chịu đựng với tôi.
Những loại crons bắt buộc:
- Update your segments
0,15,30,45 * * * * php /bin/console mautic:segments:update
- Update your campaigns
5,20,35,50 * * * * php /bin/console mautic:campaigns:update
- Trigger campaign actions
10,25,40,55 * * * * php /bin/console mautic:campaigns:trigger
Nếu bạn sử dụng hàng đợi queue để gửi email:
- Send email from queue
*/5 * * * * php /bin/console mautic:emails:send
Nếu bạn lập lịch cho segment emails:
- Send email from queue.
*/5 * * * * php /bin/console mautic:broadcasts:send
Các thiết lập khác
- If you are processing webhooks in batches:
*/5 * * * * php /bin/console mautic:webhooks:process
- If import files with loads of contacts:
*/5 * * * * php /bin/console mautic:import nguồn: mauteam.org/mautic/mautic-admins/mautic-cron-jobs-which-ones-to-use/
Bước 7: Thêm email vào Mautic
Bây giờ chúng tôi sẽ bổ sung khả năng gửi email để đảm bảo Rapsberry Pi của chúng tôi là một cỗ máy tiếp thị đầy đủ tính năng. Tài khoản Amazon SES mà tôi sẽ sử dụng đã ra khỏi hộp cát nên chúng tôi đã có thể thiết lập nó. Giả sử, chúng tôi cũng đã tạo hộp thư cho Mautic của mình.
Truy cập Amazon SES để bạn có thể chọn đúng khu vực. Bằng cách thêm một địa chỉ email mới, quá trình xác minh sẽ được khởi động. Email xác minh sẽ đến hộp thư này ngay lập tức và sau khi bạn nhấp vào liên kết, khả năng gửi email của bạn có thể được rồi. Bây giờ hãy chuyển đến Dịch vụ Thông báo Đơn giản trong Amazon Console và thêm điểm cuối SMTP:
Thêm tên chủ đề: Name: mautic. Nhấp vào Create subscription tiếp theo và thêm url đăng ký để tạo đăng ký mới:
Tôi đang sử dụng SMTP ở đây, vì vậy URL đăng ký sẽ là:
Bây giờ hãy quay lại Amazon SES và thêm đăng ký của bạn vào phần xử lý số trang không truy cập trong email của bạn:
Thêm chủ đề của bạn trong phần quản lý số trang không truy cập và khiếu nại để đảm bảo các vòng lặp phản hồi về số lần trả lại của bạn được chỉ định cho email được đề cập.
Chúng tôi vẫn cần tạo tín dụng SMTP của mình, được thực hiện bằng cách nhấp vào Cài đặt SMTP.
Tạo tên người dùng và mật khẩu SMTP mới của bạn. Trước hết hãy đảm bảo rằng bạn biết mình đang sử dụng khu vực nào ở đây, thứ hai hãy đảm bảo rằng bạn đang chọn Amazon SMTP làm phương thức email.
Sau đó, quay lại cấu hình Raspberry Mautic và nhập cài đặt email của bạn:
Bạn có thể kiểm tra bằng cách nhấp vào Kiểm tra kết nối nếu bạn nghi ngờ. Kiểm tra kỉ hơn có thể tạo 1 template email để gửi thử xem.
Bước 8: Đo điểm chuẩn:
Bây giờ chúng ta đã có Mautic tuyệt vời ở nhà, hãy xem những khả năng của nó là gì. Tôi đã chạy một vài thử nghiệm trên nó và kết quả là:
Điều này thực sự chậm, nhưng ai quan tâm – trừ khi bạn là người gửi thư rác, bạn không phải làm điều này mọi lúc
Mautic Action | Execution Time |
---|---|
Segments update 10k | 2m 50s |
Campaigns update 10k | 3m 40s |
Campaigns trigger 10k | 12m 40s |
Email Broadcast queue 10k | 5m 20s |
Email sending (from queue) 10k | 45m 10s |
Nguồn: joeykeller.com/install-a-fully-functional-mautic-3-on-a-raspberry-pi/
Nạp tập dữ liệu Maxmind làm cơ sở dữ liệu tra cứu IP mặc định
Hiện tại nó không thể được tải xuống trực tiếp. Người dùng phải đăng ký để có được một khóa cấp phép. Chúng tôi sẽ phải cập nhật tùy chọn cấu hình Maxmind để cho phép người dùng đặt khóa.
Tạo tài khoản maxmind tại https://www.maxmind.com/en/geolite2/signup
Sau đó, bạn cần nhấp vào liên kết bạn sẽ nhận được trong email của mình (họ sẽ gửi email cho bạn, chỉ cần nhấp vào liên kết nơi nó được viết)
“trước tiên bạn phải tạo mật khẩu tại đây”, bạn sẽ nhấp vào từ “tại đây” trong email của mình để tạo mật khẩu
Bạn sẽ được đăng nhập vào tài khoản maxmind.com của mình bằng cách nhập email và mật khẩu bạn vừa tạo
Đăng nhập vào tài khoản của bạn bằng cách nhấp vào biểu tượng ở trên cùng.
Sẽ mở màn hình có menu ở bên trái
Nhấp vào tùy chọn “Tải xuống tệp”
Tải xuống tệp có ID “GeoLite2-City” (cho đến nay là trên dòng thứ ba)
Nhấp vào GZIP
(sẽ tải xuống tệp có tên GeoLite2-City_20191231.tar.gz)
lưu ý rằng 20191231 sẽ thay đổi hàng tuần vì đây là ngày cập nhật danh sách ips cuối cùng
Danh sách này được cập nhật vào thứ Ba hàng tuần.
Sử dụng một giải nén (tôi sử dụng 7zip)
nó sẽ mở một tệp .tar khác
(GeoLite2-City_20191231.tar)
Giải nén lại bằng 7zip
Sẽ tạo một thư mục (GeoLite2-City_20191231)
Gửi tệp GeoLite2-City.mmdb (nằm trong thư mục) đến máy chủ nơi mautic của bạn được cài đặt.
Đặt tệp vào thư mục
YOUR-MAUTIC /var/cache/ip_data
Trong đó YOUR-MAUTIC là thư mục mà bạn đã cài đặt mautic
Sau khi bạn đã sao chép và dán database theo cách thủ công và tắt công việc cron, ĐỪNG nhấp vào nút “Cập nhật kho dữ liệu tra cứu IP” “Update IP lookup data store” vì nó sẽ làm trống cơ sở dữ liệu mà bạn vừa sao chép.