Mautic 是一個開源的營銷自動化系統,主要是作為一個自託管的電子郵件營銷解決方案。跟隨我的設置步驟,我將一步一步的帶你安裝好Mautic,整個過程不用10分鐘。
什麼是自託管的郵件營銷解決方案?
任何電子郵件營銷系統都由兩部分組成。
MTA(提供SMTP服務), 這是技術部分。它允許您通過服務器向互聯網發送電子郵件。
ESP(管理應用程序),在這裡你可以配置和管理你的電子郵件列表,營銷活動,監控和分析結果,管理你的發送服務器等。
如果我們將這兩者連接在一起,就可以得到一個電子郵件營銷系統。
在本文中,我將介紹的管理應用程序是Mautic,同時我將向您展示如何一步一步的配置Mautic。
安裝Mautic需要什麼?
你需要準備以下清單:
一個VPS服務器(開放Port25);
一個乾淨的域名(可以是新的);
你可以選擇任何一家域名註冊公司,如Godaddy,Namesilo,Dynadot……購買一個域名。
如果你已經有了一個可用域名,你可以跳過這一步,繼續購置一個VPS服務器。
很多人關心的是,到底哪個服務商是開放Port 25端口的?因為服務商為了防止Spam行為,會從防火牆中禁止該端口。
我可以告訴你的兩家服務商:
- Vultr(*)
- Digitalocean
*Vultr可能對部分用戶進行限制,你可以聯繫客服要求開通Port 25端口。
當然,你也可以通過優惠鏈接來註冊DigitalOcean和Vultr,以獲得免費的100美元獎勵來進行測試。
接下來,當你在Digitalocean或Vultr註冊後,只需創建一個服務器,規格要求如下,
Server ISO: Ubuntu 18 x64
Server Size:1v CPU/ 2GB Memory/ 40G SSD
Location:盡量接近你的SMTP服務器位置
這裡我用vultr的VPS作為示例,
然後你還需要將域名或子域名指向這個VPS的IP地址(域名解析),如圖(Cloudflare的DNS配置頁面),
好了,現在我們有了一個域名和一個VPS服務器,讓我們開始安裝,用任何SSH客戶端連接到您的VPS服務器,如putty。
按順序我們將安裝Apache, PHP, 和MySQL,這是託管任何PHP應用程序的底層支持。
安裝Apache2網絡服務
先後運行下面的命令在你的VPS服務器上安裝Apache Web服務器。
sudo apt update sudo apt install apache2
安裝Apache2過程中回复Y,然後只需等待幾分鐘安裝完成,繼續分別輸入以下命令測試並啟用Apache服務。
sudo systemctl restart apache2.service sudo systemctl enable apache2.service
要測試Apache是否在你的服務器上工作,打開網頁瀏覽器並在地址欄輸入VPS的IP地址(如http://127.0.0.255/)。
你應該會看到Apache的默認頁面,就像下圖這樣,
看來一切正常!我們繼續。
安裝MariaDB數據庫
因為Mautic和其他PHP系統一樣,需要一個數據庫來保存數據。所以,我們將使用MariaDB(Mysql)數據庫系統來實現這一目的。
要安裝MariaDB,分別運行以下命令:(以下僅適用於Ubuntu 18 x64)
sudo apt-get install software-properties-common
sudo apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc'
sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://mirrors.piconets.webwerks.in/mariadb-mirror/repo/10.5/ubuntu bionic main'
sudo apt update
sudo apt-get install mariadb-server
下面的命令可以用來停止、啟動並使MariaDB MySQL服務在服務器啟動時自啟動,
sudo systemctl stop mariadb.service sudo systemctl start mariadb.service sudo systemctl enable mariadb.service
之後,運行下面的命令,通過創建root密碼和禁止遠程root訪問來保護MariaDB服務器,
sudo mysql_secure_installation
根據提示,參考以下設置:
- Enter current password for root (enter for none): Just press the Enter
- Unix_socket authentication: N
- Set a root password? [Y/n]: Y
- New password: Enter your new password (create a secure one)
- Re-enter new password: Repeat your new 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
要測試是否正確安裝MariaDB,可以輸入以下命令登錄MariaDB服務器:
sudo mysql -u root -p
然後輸入上面創建的密碼登錄……如果成功,你應該會看到MariaDB的歡迎信息,
那麼,Mysql服務器就設置好了,輸入 \q 退出登錄MariaDB服務器。
安裝PHP和相關模塊
由於Mautic是一個基於PHP的程序,我們需要在服務器上安裝PHP和一些模塊以讓它正常運行。
本文以安裝PHP 7.3作為示例,但你可以隨意使用任何你想要的版本,只需要在下面的配置中按需更改。
先後運行下面的命令,添加第三方支持來安裝PHP 7.3,
sudo apt-get install software-properties-common sudo add-apt-repository ppa:ondrej/php sudo apt update
接下來,運行下面的命令來安裝 PHP 7.3和相關模塊,(注意下面是一條命令,很長)
sudo apt install php7.3 libapache2-mod-php7.3 php7.3-common php7.3-gmp php7.3-curl php7.3-intl php7.3-mbstring php7.3-xmlrpc php7.3-mysql php7.3-bcmath php7.3-gd php7.3-xml php7.3-cli php7.3-zip php7.3-imap
然後再運行以下命令,
sudo apt install php-pcov
安裝好PHP 7.3,可以暫時關閉Putty,然後我們打開任何訪問FTP的應用程序,這裡我使用的WinSCP。
WinSCP和Putty一樣,都是一種用過SSH來訪問服務器的簡潔易用的程序。
打開WinSCP,並使用你的服務器IP/域名和密碼/根證書來連接到你的FTP服務器。然後瀏覽這個路徑”/etc/php/7.3/apache2/”,在這裡你可以找到一個 “php.ini “配置文件。
右鍵單擊 “php.ini”,然後點擊edit,鍵盤按下Ctrl+F來進行搜索,在文件中對以下幾行進行修改並保存:
- file_uploads = On
- allow_url_fopen = On
- short_open_tag = On
- memory_limit = 256M
- upload_max_filesize = 100M
- max_execution_time = 360
- date.timezone = America/NewYork
時區默認是美國紐約,你可以查詢世界時區表來變更。https://www.php.net/manual/en/timezones.php
修改好上面的數值後,保存文件並關閉,然後再次打開Putty登錄服務器,重啟apache服務,
sudo systemctl restart apache2.service
PHP部分到此完成!
創建Mautic數據庫
現在,我們已經完成了所有底層環境的安裝,接下來我們需要在MariaDB中為Mautic創建一個數據庫。
要登錄到MariaDB MySql數據庫服務器,運行以下命令,
sudo mysql -u root -p
創建一個數據庫名為mautic,或者任意你想要起的數據庫名,
CREATE DATABASE mautic;
接著輸入以下命令,創建一個數據庫用戶為affpeer(或任意你想要的用戶名)和任意密碼(默认affpeer.com自行更改),
CREATE USER 'affpeer'@'localhost' IDENTIFIED BY 'affpeer.com';
然後授予用戶對數據庫的完全訪問權,(注意修改用戶名和密碼)
GRANT ALL ON mautic.* TO 'affpeer'@'localhost' IDENTIFIED BY 'affpeer.com' WITH GRANT OPTION;
最後,輸入以下命令保存您的更改並退出,
FLUSH PRIVILEGES; \q
你順利的設置好這些了嗎?
下載並安裝Mautic
要獲得Mautic的最新版本,你可能需要使用Github倉庫……先後運行以下命令安裝Composer、Curl和其他依賴條件。
sudo apt install curl git
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
操作完成後,通過運行以下命令將目錄改為”/var/www/html”,
cd /var/www/html
然後下載Mautic安裝包,
sudo git clone https://github.com/mautic/mautic.git
現在通過運行以下兩條命令安裝Mautic,
cd /var/www/html/mautic sudo composer install
安裝完成後,運行以下兩條命令來設置一些文件權限,
sudo chown -R www-data:www-data /var/www/html/mautic/ sudo chmod -R 755 /var/www/html/mautic/
至此,Mautic的安裝已經完成。
配置Apache2網絡服務
很高興你完成到這一步驟。
接下來,我們只需要配置apache,這樣我們就可以使用我們的域名訪問Mautic了。要做到這一點,請再次打開WinSCP並導航到這個目錄:/etc/apache2/sites-available/
現在,創建一個新的空文件,並將其命名為 “mautic.example.com.conf”(example.com改成你的域名)。
打開這個新conf文件然後將下面的內容複製並粘貼到文件中並保存。
(VirtualHost *:80) ServerAdmin admin@mautic.example.com DocumentRoot /var/www/html/mautic ServerName mautic.example.com ServerAlias mautic.example.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)
注意:將代碼中的“()”更改為“<>”,並更改example.com為你的域名。
接下来很简单,在apache中启用mautic配置并重启服务,先后运行以下命令,
sudo a2ensite mautic.example.com.conf sudo a2enmod rewrite sudo systemctl restart apache2.service
注意替换上面的example.com,
現在打開你的網頁瀏覽器,輸入以下示例地址(example.com為你的域名),
http://mautic.example.com
如果一切正常,你將會看到以下頁面(注意這裡是http,如果你通過chrome瀏覽器訪問,第一次會報錯,只需要確認訪問http鏈接即可。):
完美!根據Mautic的安裝嚮導一步步設置好就行了:)
配置計劃任務
我們只剩下配置計劃任務模塊了。
什麼是Cron Jobs?
簡單的說Cron Jobs就是根據計劃自動運行的預定任務。
舉個栗子,如果你創建了一個每周自動運行的電子郵件活動,你需要一個任務在後台自動運行來觸發這個活動,這就是Cron工作的作用,讓我們來設置它。
Mautic有幾個Cron作業,有些是必須的,有些是可選的,你可以查看官方支持的所有Mautic Cron Jobs。
如何配置Cron Jobs
很簡單,打開WinSCP,在”/etc “目錄下,你會發現 “crontab “文件。
是文件,不是文件夾哦!
編輯它,您只需要復制以下內容並粘貼到您的服務器文件裡,然後保存。
#Segments Every 2 Minutes */2 * * * * root /usr/bin/php /var/www/html/mautic/bin/console mautic:segments:update */3 * * * * root /usr/bin/php /var/www/html/mautic/bin/console mautic:import #Campaigns (Every 1 Minute) * * * * * root /usr/bin/php /var/www/html/mautic/bin/console mautic:campaigns:update * * * * * root /usr/bin/php /var/www/html/mautic/bin/console mautic:campaigns:trigger * * * * * root /usr/bin/php /var/www/html/mautic/bin/console mautic:messages:send #Process Email Queue Every 5 Minutes */5 * * * * root /usr/bin/php /var/www/html/mautic/bin/console mautic:emails:send #Fetch and Process Monitored Email Every 10 Minutes */10 * * * * root /usr/bin/php /var/www/html/mautic/bin/console mautic:email:fetch #Process Email Queue Every 5 Minutes */5 * * * * root /usr/bin/php /var/www/html/mautic/bin/console mautic:emails:send #Fetch and Process Monitored Email Every 10 Minutes */10 * * * * root /usr/bin/php /var/www/html/mautic/bin/console mautic:email:fetch
像这样,
如何配置免费的SSL(可选)
SSL證書在網絡服務器內用於加密服務器和客戶端之間的流量,為了讓用戶獲得額外的安全性。
Let’s Encrypt提供了一個免費獲取和安裝可信證書的簡單方法。使用Putty SSH客戶端連接到你的服務器,然後開始吧!
安裝Let’s Encrypt
Let’s Encrypt證書是通過服務器上運行的客戶端軟件Certbot獲取的。運行以下代碼:
sudo add-apt-repository ppa:certbot/certbot
按回車鍵接受,接著軟件開始自動運行,完成後依次輸入以下代碼:
sudo apt-get update sudo apt install python-certbot-apache
Certbot就這樣安裝完成了。
配置SSL證書
使用Certbot為Apache生成SSL證書是還是很方便的。客戶端會自動獲取並安裝一個新的SSL證書,該證書對所提供的域名有效。
只需運行以下命令: (注意更改代碼中的示例域名)
sudo certbot --apache -d mautic.example.com
程序會自動運行,直到你被要求提供一個電子郵件地址,以便找回丟失的密鑰和通知。
你還可以選擇同時啟用http和https訪問,或強制所有請求重定向到https,通常要求使用https訪問是最安全的。
OK,完成这一切以后,试试输入http://mautic.example.com來訪問你的Mautic郵件營銷系統吧。