
In questo articolo imparerai a installare Mautic, uno strumento di automazione del marketing open source. Parte del processo di installazione utilizzerà Easy Engine per automatizzare la distribuzione di uno stack LAMP.
Puoi utilizzare Mautic per creare lead, gestire campagne di marketing online e landing page.
Prima di iniziare avrai bisogno di un'istanza del server cloud poiché questo tutorial è orientato verso una configurazione disponibile pubblicamente pronta per la produzione e alcuni passaggi richiederanno anche l'accesso a un pannello DNS per configurare le impostazioni del tuo dominio (come configurare le impostazioni del tuo dominio pubblico non è trattato qui).
Puoi iniziare con un VPS che soddisfi i seguenti requisiti:
- Ubuntu 16.04.03 64 bit o più recente disponibile
- 1 CPU
- 2 GB di RAM
- Disco rigido da 30 GB
1. Controlla la versione del sistema
un. Accedi al tuo server e assicurati che il sistema sia aggiornato.
ssh root@yourserverip
lsb_release -a
Esempio:
root@newvps:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.3 LTS
Release: 16.04
Codename: xenial
b. Se necessario, esegui un aggiornamento di sistema per installare le patch e gli aggiornamenti di sistema più recenti.
apt update && apt upgrade -y
reboot
2. Controlla la tua configurazione DNS
un. Assicurati che le tue impostazioni DNS siano corrette con un record A che punta all'IP del tuo server e un sottodominio "www" in un record CNAME che punta al tuo dominio.
dig www.yoursitedomain.net
Esempio:
user@workstation:~$ dig www.yoursitedomain.net
; <> DiG 9.9.5-9+deb8u14-Debian <> www.yoursitedomain.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 9405
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;www.yoursitedomain.net. IN A
;; ANSWER SECTION:
www.yoursitedomain.net. 300 IN CNAME yoursitedomain.net.
yoursitedomain.net. 60 IN A yourserverip
;; Query time: 96 msec
;; SERVER: 192.168.10.1#53(192.168.10.1)
;; WHEN: Sat Sep 16 03:56:05 CST 2017
;; MSG SIZE rcvd: 68
3. Imposta il nome del tuo VPS in modo che corrisponda al tuo dominio
un. Modifica i file DNS per Ubuntu come root.
ssh root@yourserverip
sudo -i
cp -av /etc/hostname /etc/hostname.orig
cp -av /etc/hosts /etc/hosts.orig
echo "yoursitedomain.net" > /etc/hostname
echo -e "\nyourserverip yoursitedomain.net yoursitedomain" >> /etc/hosts
hostname yoursitedomain.net
b. Riavvia la nuova istanza con la nuova impostazione DNS e torna, la nuova configurazione dovrebbe già funzionare.
reboot
ssh root@yourserverip
4. Prepara la distribuzione dell'applicazione con Easy Engine
un. Installa Easy Engine utilizzando la riga di comando in basso come root.
sudo -i
wget -qO ee rt.cx/ee && sudo bash ee
b. Usa Easy Engine per distribuire MySQL, NGINX e PHP sul server, incluso il supporto per Let's Encrypt.
ee site create yoursitedomain.net --mysql --letsencrypt
Esempio:
root@yoursitedomain:~# ee site create yoursitedomain.net --mysql --letsencrypt
Adding repository for MySQL, please wait...
Adding repository for NGINX, please wait...
Adding repository for PHP, please wait...
Updating apt-cache, please wait...
Installing packages, please wait...
Downloading MySQLTuner [Done]
Reload : postfix [OK]
Reload : nginx [OK]
Restart : php5.6-fpm[OK]
Reload : mysql [OK]
Running pre-update checks, please wait...
Setting up NGINX configuration [Done]
Setting up webroot [Done]
Setting up database [Done]
Reload : nginx [OK]
HTTP Auth User Name: easyengine
HTTP Auth Password : 4ZOQc2
Successfully created site http://yoursitedomain.net
Letsencrypt is currently in beta phase.
Do you wish to enable SSl now for yoursitedomain.net?
Type "y" to continue [n]:y
Please Wait while we fetch SSL Certificate for your site.
It may take time depending upon network.
Let's Encrypt successfully setup for your site
Your certificate and chain have been saved at /etc/letsencrypt/live/yoursitedomain.net/fullchain.pem
Configuring Nginx SSL configuration
Adding /var/www/yoursitedomain.net/conf/nginx/ssl.conf
Adding /etc/nginx/conf.d/force-ssl-yoursitedomain.net.conf
Added HTTPS Force Redirection for Site http://yoursitedomain.net
Creating Cron Job for cert auto-renewal
Reload : nginx [OK]
Congratulations! Successfully Configured SSl for Site https://yoursitedomain.net
Your cert will expire within 89 days.
root@yoursitedomain:~#
5. Scarica e installa Mautic
un. Scarica i sorgenti Mautic da GitHub con la directory web per l'applicazione.
cd /var/www/yoursitedomain.net/
rm -rf htdocs
wget https://github.com/mautic/mautic/archive/master.zip
unzip master.zip
mv mautic-master htdocs
cd htdocs
b. Scarica e installa PHP Composer per completare il processo di installazione.
apt -y install curl
curl -s https://getcomposer.org/installer | php
mv -v composer.phar /usr/local/bin/composer
composer install
cd ..
chown -R www-data: htdocs
6. Ottimizza PHP, MySQL e Nginx per lavorare con la tua applicazione Mautic
un. Ottieni la password di root per il tuo server MySQL.
cat /etc/mysql/conf.d/my.cnf
.
b. Accedi al tuo server MySQL e crea l'utente e il database per Mautic.
mysql -uroot -p
CREATE DATABASE mautic_data;
CREATE USER 'mautic_user'@'localhost' IDENTIFIED BY 'RRl4$3W7fvpdKd#OVNV';
GRANT ALL PRIVILEGES ON mautic_data.* TO 'mautic_user'@'localhost';
Esempio:
root@yoursitedomain:/var/www/yoursitedomain.net# mysql -uroot -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 27
Server version: 10.1.26-MariaDB-1~xenial mariadb.org binary distribution
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> CREATE DATABASE mautic_data;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> CREATE USER 'mautic_user'@'localhost' IDENTIFIED BY 'RRl4$3W7fvpdKd#OVNV';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> GRANT ALL PRIVILEGES ON mautic_data.* TO 'mautic_user'@'localhost';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> quit
Bye
c. Aggiorna la configurazione PHP per PHP FastCGI.
sed -i "47ialways_populate_raw_post_data = -1" /etc/php/5.6/fpm/php.ini
d. Aggiorna la configurazione di Nginx per risolvere un problema con Mautic che accede alle sue risorse quando è abilitato un reindirizzamento alla versione del sito SSL.
cat "rewrite ^/index.php/(.*)$ /$1 last;" > /var/www/yoursitedomain.net/conf/nginx/urlfix.conf
e. Assicurati di modificare la proprietà del file e la configurazione corretta.
chown www-data: /var/www/yoursitedomain.net/conf/nginx/urlfix.conf
f. Riavvia i servizi PHP FastCGI e Nginx.
service php5.6-fpm restart
systemctl restart nginx
7. Esegui la procedura guidata di configurazione di Mautic
un. Apri un browser e inserisci questo URL:https://tuositodominio.net per avviare la procedura guidata di configurazione.
b. Durante la configurazione assicurati di inserire le impostazioni del database, come nella casella sottostante:
Impostazioni database
utente:utente_mautic
passaggio:RRl4$3W7fvpdKd#OVNV
db :mautic_data
c. Imposta un utente e una password amministratore per l'applicazione (non dovrebbero corrispondere all'utente e alla password del database)
Amministratore Mautic
utente:mautic-admin
passaggio:F1e#vQueb+Jouwegibyu
d. Una volta completata la procedura guidata di configurazione, torna alla console del server e aggiungi questi cronjob.
# Setting up Mautic cron jobs,
# please refer to https://www.mautic.org/docs/en/setup/cron_jobs.html for further details
# Updating Contact Segments
0,15,30,45 * * * * /usr/bin/php /var/www/yoursitedomain.net/htdocs/app/console mautic:segments:update
# Campaign Updates
5,20,35,50 * * * * /usr/bin/php /var/www/yoursitedomain.net/htdocs/app/console mautic:campaigns:rebuild
# Email Delivery
10,25,40,55 * * * * /usr/bin/php /var/www/yoursitedomain.net/htdocs/app/console mautic:emails:send
c. Scarica e distribuisci la libreria di ricerca IP per completare la configurazione di mautic.
php /var/www/yoursitedomain.net/htdocs/app/console mautic:iplookup:download
chown -R www-data: /var/www/yoursitedomain.net
service php5.6-fpm restart
systemctl restart nginx
A questo punto dovresti avere il tuo server Mautic attivo e funzionante, quindi ti consiglio di iniziare con la documentazione ufficiale del sito per imparare come impostare le tue campagne e creare landing page per il tuo sito eCommerce.