
Dans cet article, vous apprendrez à installer Mautic, un outil de marketing automation open-source. Une partie du processus de configuration utilisera Easy Engine pour automatiser le déploiement d'une pile LAMP.
Vous pouvez utiliser Mautic pour créer des prospects, gérer des campagnes de marketing en ligne et des pages de destination.
Avant de commencer, vous aurez besoin d'une instance de serveur cloud car ce didacticiel est orienté vers une configuration publiquement disponible prête pour la production et certaines étapes nécessiteront également l'accès à un panneau DNS pour configurer les paramètres de votre domaine (comment configurer vos paramètres de domaine public n'est pas couvert ici).
Vous pouvez commencer avec un VPS qui répond aux exigences suivantes :
- Ubuntu 16.04.03 64 bits ou dernière version disponible
- 1 processeur
- 2 Go de RAM
- Disque dur de 30 Go
1. Vérifiez la version du système
un. Connectez-vous à votre serveur et assurez-vous que le système est à jour.
ssh root@yourserverip
lsb_release -a
Exemple :
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. Exécutez une mise à jour du système si nécessaire pour installer les derniers correctifs et mises à niveau du système.
apt update && apt upgrade -y
reboot
2. Vérifiez votre configuration DNS
un. Assurez-vous que vos paramètres DNS sont corrects avec un enregistrement A pointant vers l'adresse IP de votre serveur et un sous-domaine "www" dans un enregistrement CNAME pointant vers votre domaine.
dig www.yoursitedomain.net
Exemple :
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. Configurez le nom de votre VPS pour qu'il corresponde à votre domaine
un. Modifiez les fichiers DNS pour Ubuntu en tant que 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. Redémarrez la nouvelle instance avec le nouveau paramètre DNS et revenez, la nouvelle configuration devrait déjà fonctionner.
reboot
ssh root@yourserverip
4. Préparer le déploiement de l'application avec Easy Engine
un. Installez Easy Engine en utilisant la ligne de commande ci-dessous en tant que root.
sudo -i
wget -qO ee rt.cx/ee && sudo bash ee
b. Utilisez Easy Engine pour déployer MySQL, NGINX et PHP sur le serveur, y compris la prise en charge de Let's Encrypt.
ee site create yoursitedomain.net --mysql --letsencrypt
Exemple :
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. Téléchargez et installez Mautic
un. Téléchargez les sources de Mautic depuis GitHub avec le répertoire Web de l'application.
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. Téléchargez et installez PHP Composer pour terminer le processus d'installation.
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. Réglez PHP, MySQL et Nginx pour qu'ils fonctionnent avec votre application Mautic
un. Obtenez le mot de passe root pour votre serveur MySQL.
cat /etc/mysql/conf.d/my.cnf
.
b. Accédez à votre serveur MySQL et créez l'utilisateur et la base de données pour 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';
Exemple :
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. Mettez à jour la configuration PHP pour PHP FastCGI.
sed -i "47ialways_populate_raw_post_data = -1" /etc/php/5.6/fpm/php.ini
ré. Mettez à jour la configuration Nginx pour résoudre un problème d'accès de Mautic à ses actifs lorsqu'une redirection vers la version du site SSL est activée.
cat "rewrite ^/index.php/(.*)$ /$1 last;" > /var/www/yoursitedomain.net/conf/nginx/urlfix.conf
e. Assurez-vous que le propriétaire du fichier est correctement configuré.
chown www-data: /var/www/yoursitedomain.net/conf/nginx/urlfix.conf
F. Redémarrez les services PHP FastCGI et Nginx.
service php5.6-fpm restart
systemctl restart nginx
7. Exécutez l'assistant de configuration de Mautic
un. Ouvrez un navigateur et saisissez cette URL :https://domainedevotresite.net pour lancer l'assistant de configuration.
b. Lors de la configuration, assurez-vous d'entrer les paramètres de votre base de données, comme dans la case ci-dessous :
Paramètres de la base de données
utilisateur :mautic_user
passe :RRl4$3W7fvpdKd#OVNV
bd :mautic_data
c. Configurez un utilisateur administrateur et un mot de passe pour l'application (ils ne doivent pas être identiques à l'utilisateur et au mot de passe de votre base de données)
Administrateur Mautic
utilisateur :matic-admin
passe :F1e#vQueb+Jouwegibyu
ré. Une fois l'assistant d'installation terminé, revenez à la console du serveur et ajoutez ces cronjobs.
# 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. Téléchargez et déployez la bibliothèque IP Lookup pour terminer la configuration de 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
À ce stade, votre serveur Mautic devrait être opérationnel. Je vous recommande donc de commencer par la documentation officielle du site pour savoir comment configurer vos campagnes et créer des pages de destination pour votre site de commerce électronique.