Otu esi etinye ngwa ahịa Automation Mautic na Linux


Mautic bụ ebe mepere emepe na-akwụghị ụgwọ, ngwa ntanetị na-eduga na azụmaahịa nke na-enyere gị aka ịghọta, jikwaa ma tolite azụmahịa ma ọ bụ nzukọ gị nke ọma. Ọ bụ nke ukwuu ịhazi na extensible, izute azụmahịa gị chọrọ.

Ọ ka bụ obere ọrụ n'oge edere akụkọ a. Ọ na-agba n'ọtụtụ ebe nnabata ọkọlọtọ na ọ dị mfe ịwụnye na nhazi. N'isiokwu a, anyị ga-egosi otu esi etinye Mautic na nkesa Linux.

Kwụpụ 1: Wụnye LEMP Stack na Linux

1. Nke mbụ, wụnye nchịkọta LEMP (Nginx, MySQL ma ọ bụ MariaDB na PHP) na nkesa Linux gị site na iji njikwa ngwugwu ndabara dị ka egosiri.

$ sudo apt install python-software-properties
$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt update
$ sudo apt install nginx php7.0  php7.0-fpm  php7.0-cli php7.0-common php7.0-zip php7.0-xml php7.0-mailparse php7.0-mcrypt php7.0-intl php7.0-mbstring php7.0-imap php7.0-apcu  php7.0-mysql mariadb-server mariadb-client 	
-------- On CentOS / RHEL 8 -------- 
# dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
# dnf install http://rpms.remirepo.net/enterprise/remi-release-8.rpm
# dnf install dnf-utils
# dnf module reset php
# dnf module enable php:remi-7.4
# dnf install nginx php  php-fpm  php-cli php-common php-zip php-xml php-mailparse php-mcrypt php-mbstring php-imap php-apcu php-intl php-mysql mariadb-server 


-------- On CentOS / RHEL 7 -------- 
# yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
# yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
# yum install yum-utils
# yum-config-manager --enable remi-php74
# yum install nginx php  php-fpm  php-cli php-common php-zip php-xml php-mailparse php-mcrypt php-mbstring php-imap php-apcu php-intl php-mysql mariadb-server   

2. Ozugbo LEMP stack arụnyere, ị nwere ike ịmalite ọrụ Nginx, PHP-fpm na MariaDB, mee ka ha nwee ike lelee ma ọrụ ndị a na-arụ ọrụ.

-------- On Debian / Ubuntu -------- 
$ sudo systemctl start nginx php7.0-fpm mariadb
$ sudo systemctl status nginx php7.0-fpm mariadb
$ sudo systemctl enable nginx php7.0-fpm mariadb

-------- On CentOS / RHEL -------- 
# systemctl start nginx php-fpm mariadb
# systemctl status nginx php-fpm mariadb
# systemctl enable nginx php-fpm mariadb

3. Ọ bụrụ na sistemụ gị nwere firewall na ndabara, ịkwesịrị imepe ọdụ ụgbọ mmiri 80 na firewall iji kwe ka arịrịọ ndị ahịa na sava weebụ Nginx, dị ka ndị a.

-------- On Debian / Ubuntu -------- 
$ sudo ufw allow 80/tcp
$ sudo ufw reload

-------- On CentOS / RHEL -------- 
# firewall-cmd --permanent --add-port=80/tcp
# firewall-cmd --reload

Kwụpụ 2: Chekwaa MariaDB Server na Mepụta Database Mautic

4. Site na ndabara, ntinye nchekwa data MariaDB enweghị nchebe. Iji chekwaa ya, mee edemede nche nke na-abịa na ngwungwu ọnụọgụ abụọ.

$ sudo mysql_secure_installation

A ga-agwa gị ka ịtọọ paswọọdụ mgbọrọgwụ, wepụ ndị ọrụ na-amaghị aha, gbanyụọ nbanye mgbọrọgwụ na anya ma wepụ nchekwa data ule. Mgbe ịmepụtachara mgbọrọgwụ okwuntughe, wee zaa ee/y n'ajụjụ ndị ọzọ.

5. Mgbe ahụ banye na nchekwa data MariaDB wee mepụta nchekwa data maka Mautic.

$ sudo mysql -u root -p

Gbaa iwu ndị a ka ịmepụta nchekwa data; jiri ụkpụrụ nke gị ebe a, ma tọọ paswọọdụ echekwara na gburugburu ebe nrụpụta.

MariaDB [(none)]> CREATE DATABASE mautic;
MariaDB [(none)]> CREATE USER 'mauticadmin'@'localhost' IDENTIFIED BY '[email !#254mauT';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON mautic.* TO 'mauticadmin'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit

Kwụpụ 3: Budata faịlụ Mautic na sava Webụ Nginx

6. Ntọhapụ ọhụrụ (ụdị 2.16 n'oge ederede) nke Mautic dị ka faịlụ zip, gaa na ibe nbudata, wee nye nkọwa gị n'ụdị dị mkpirikpi wee pịa njikọ nbudata.

7. Ozugbo ebudatara, mepụta ndekọ maka ịchekwa faịlụ Mautic maka saịtị gị n'okpuru mgbọrọgwụ akwụkwọ sava weebụ gị (nke a ga-abụ ntọala ngwa gị ma ọ bụ ndekọ mgbọrọgwụ).

Wepuzie faịlụ Archive n'ime ndekọ mgbọrọgwụ ngwa gị, wee kọwapụta ikike ziri ezi na ndekọ ndekọ na faịlụ mautic, dị ka ndị a:

$ sudo mkdir -p /var/www/html/mautic
$ sudo unzip 2.16.0.zip -d /var/www/html/mautic
$ sudo chmod -R 775 /var/www/html/mautic
$ sudo chown -R root:www-data /var/www/html/mautic

Kwụpụ 4: Hazie PHP na Nginx Server Block maka Mautic

8. N'ime usoro a, ịkwesịrị ịhazi ntọala date.timezone na nhazi PHP gị, debe ya ka ọ bụrụ uru ọdabara na ọnọdụ gị ugbu a (dịka ọmụmaatụ \Africa/Kampala), dị ka egosiri na nseta ihuenyo.

-------- On Debian / Ubuntu -------- 
$ sudo vim /etc/php/7.0/cli/php.ini
$ sudo vim /etc/php/7.0/fpm/php.ini

-------- On CentOS / RHEL -------- 
# vi /etc/php.ini

9. Mgbe ahụ malitegharịa ọrụ php-fpm iji mee mgbanwe ndị ahụ.

$ sudo systemctl restart php7.4-fpm   [On Debian / Ubuntu]
# systemctl restart php-fpm           [On CentOS / RHEL]

10. Na-esote, mepụta ma hazie ngọngọ nkesa Nginx maka ijere ngwa Mautic ozi, n'okpuru /etc/nginx/conf.d/.

 
$ sudo vi /etc/nginx/conf.d/mautic.conf

Tinye nhazi ndị a na faịlụ dị n'elu, maka ebumnuche ntuziaka a, anyị ga-eji ngalaba dummy a na-akpọ mautic.tecmint.lan (ị nwere ike iji ule nke gị ma ọ bụ ngalaba ndebanye aha zuru ezu):

server {
	listen      80;
	server_name mautic.tecmint.lan;
	root         /var/www/html/mautic/;
	index       index.php;

	charset utf-8;
	gzip on;
	gzip_types text/css application/javascript text/javascript application/x-javascript 	image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon;
	location / {
		try_files $uri $uri/ /index.php?$query_string;
	}
	location ~ \.php {
		include fastcgi.conf;
		fastcgi_split_path_info ^(.+\.php)(/.+)$;
		fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
	}
	location ~ /\.ht {
		deny all;
	}
}

11. Chekwaa faịlụ wee malitegharịa sava weebụ Nginx maka mgbanwe ndị a dị n'elu iji rụọ ọrụ.

$ sudo systemctl restart nginx

12. N'ihi na anyị na-eji ngalaba dummy, anyị kwesịrị ịmepụta DNS mpaghara site na iji faịlụ ndị ọbịa (/etc/hosts), ka ọ rụọ ọrụ, dị ka egosiri na nseta ihuenyo na-esonụ.

192.168.1.112  mautic.tecmint.lan

13. wee jiri URL na-esonụ iji nweta ihe nrụnye webụ Mautic. Ọ ga-, nke mbụ, lelee sistemụ gị iji hụ na emezuru ihe niile achọrọ (ọ bụrụ na ị hụ njehie ma ọ bụ ịdọ aka ná ntị ọ bụla, dozie ha tupu ịga n'ihu, ọkachasị na mpaghara mmepụta).

http://mautic.tecmint.lan  

Ọ bụrụ na gburugburu ebe obibi gị dị njikere maka mautic, pịa Nzọụkwụ Ọzọ.

14. Na-esote, nye gị nchekwa data nkesa ihe nkesa paramita wee pịa ọzọ Nzọụkwụ. Onye nrụnye ga-enyocha ntọala njikọ wee mepụta nchekwa data.

Rịba ama na ọkwa a, ọ bụrụ na ịnweta njehie \504 Gateway Timeout Error, ọ bụ n'ihi na Nginx anaghị enweta nzaghachi ọ bụla site na PHP-FPM mgbe a na-emepụta nchekwa data; ọ na-agwụ.

Iji dozie nke a, gbakwunye akara ngosi ndị a na ngọngọ ọnọdụ PHP n'ime faịlụ nhazi ihe nkesa mautic /etc/nginx/conf.d/mautic.conf.

location ~ \.php {
                include fastcgi.conf;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_read_timeout 120;
                fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;

15. Mgbe ahụ malitegharịa ọrụ Nginx na php-fpm maka mgbanwe na-adịbeghị anya iji mee ihe.

$ sudo systemctl restart nginx php7.4-fpm   [On Debian / Ubuntu]
# systemctl restart nginx php-fpm           [On CentOS / RHEL]

16. Ọzọ, mepụta mautic ngwa admin onye ọrụ akaụntụ wee pịa Ọzọ nzọụkwụ.

17. Dị ka nzọụkwụ ikpeazụ, hazie ọrụ email gị dị ka egosiri na nseta ihuenyo na-esonụ wee pịa Nzọụkwụ Ọzọ.

17. Ugbu a banye n'ime ngwa mautic gị site na iji nzere akaụntụ admin.

18. N'ebe a, ị nwere ike malite automating azụmahịa gị ahịa si admin akara panel, dị ka e gosiri na-esonụ nseta ihuenyo.

Mautic bụ ikpo okwu akpaaka ahịa na-eduga. Ọ ka bụ ọrụ na-eto eto na ọtụtụ atụmatụ, nke ị nwere ike iche, ka agbakwunyere. Ọ bụrụ na ị zutere nsogbu ọ bụla mgbe ị na-etinye ya, mee ka anyị mara site na ụdị nzaghachi n'okpuru. Gwakwa anyị echiche gị gbasara ya, ọkachasị gbasara njirimara ị ga-achọ ka o nwee.