GNU/Linux >> Linux Esercitazione >  >> Debian

Come installare il software CRM open source EspoCRM su Debian 9

In questa guida ti mostreremo come installare e configurare l'ultima versione del software EspoCRM su Debian 9 su uno stack LAMP, al fine di creare una piattaforma online gratuita di Customer Relationship Management per la tua azienda.

EspoCRM è una piattaforma di gestione delle relazioni con i clienti (CRM) open source flessibile e facile da usare progettata per essere veloce, semplice e personalizzabile. Il software è scritto principalmente nel linguaggio di programmazione PHP e può essere facilmente distribuito in Linux su un server Web Apache o Nginx, un linguaggio di programmazione PHP e un sistema di gestione di database MySQL o MariaDB. EspoCRM supporta un'ampia gamma di lingue e può essere implementato in call center, banche, istruzione, assistenza sanitaria, turismo, vendita al dettaglio, immobiliare o in attività di e-commerce.

Requisiti

  • Installazione minima su una macchina virtuale o su un server fisico del sistema operativo Debian 9
  • Privilegi dell'account di root o un account con privilegi di root tramite il comando sudo (accesso locale tramite console o accesso remoto tramite SSH)
  • Uno dei NIC del server configurati con un indirizzo IP statico
  • Un nome di dominio pubblico registrato in modo da eseguire l'installazione tramite l'interfaccia Web e accedere al sito Web dell'applicazione. Nelle intranet, puoi accedere all'app tramite un dominio locale o tramite l'indirizzo IP del tuo server
  • Un server di posta configurato presso la tua sede o l'accesso a un servizio di posta elettronica pubblico, come Gmail, Outlook, Yahoo!

Prerequisiti

Innanzitutto, accedi alla console del tuo server Debian e assicurati di aggiornare i repository di sistema, il kernel e i pacchetti software eseguendo i seguenti comandi.

apt update
apt upgrade

Quindi, configura il nome host della macchina eseguendo il comando seguente. Assicurati di sostituire il valore del nome host utilizzato in questo argomento con la tua notazione.

hostnamectl set-hostname www.mycrm.org

Emettere i comandi seguenti per verificare se il nome host della macchina è stato configurato correttamente.

hostnamectl
cat /etc/hostname
hostname –s
hostname –f

Infine, riavvia il server Debian per applicare correttamente gli aggiornamenti del kernel e il nome host.

systemctl reboot

Successivamente, dovresti installare il pacchetto software LAMP nel sistema Debian. Nel primo passaggio, installa il server Web Apache e un interprete del gateway di elaborazione PHP insieme a tutti i moduli PHP richiesti necessari dall'applicazione per funzionare correttamente eseguendo il comando seguente nella console del server.

apt install apache2 libapache2-mod-php7.0 php7.0 php7.0-gd php7.0-opcache php7.0-mbstring php7.0-xml php7.0-json php7.0-zip php7.0-curl php7.0-imap php7.0-soap php7.0-mcrypt php-mailparse

Quindi, installa un back-end del database RDBMS. In questa guida configureremo l'applicazione EspoCRM per utilizzare il database MariaDB come backend. Immettere il seguente comando per installare il database MariaDB e il modulo PHP necessario per accedere al database MySQL.

apt install mariadb-server php7.0-mysql mariadb-client

Dopo aver installato Apache, il database MySQL e PHP, apri il file di configurazione predefinito di PHP per modificare e modificare le seguenti variabili PHP come descritto di seguito. Assicurati che inizialmente esegui un backup del file di configurazione PHP.

cp /etc/php/7.0/apache2/php.ini{,.backup}
nano /etc/php/7.0/apache2/php.ini

Cerca, modifica e cambia le seguenti variabili in php.ini file di configurazione:

file_uploads = On
default_charset = UTF-8
memory_limit = 256M
post_max_size = 50M
upload_max_filesize = 50M
memory_limit = 256M
max_input_time = 180
max_execution_time = 180
zend.assertions = 0
date.timezone = Europe/London

Sostituisci time.zone variabile in base al tuo tempo fisico consultando l'elenco dei fusi orari fornito dai documenti PHP al seguente link http://php.net/manual/en/timezones.php

Per aumentare la velocità di caricamento delle pagine dell'applicazione tramite il plug-in OPCache disponibile in PHP7, inserisci le seguenti righe di codice OPCache nella parte inferiore del file di configurazione dell'interprete PHP, sotto [opcache] dichiarazione, come di seguito dettagliato:

opcache.enable=1 
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1

Chiudi php.ini file di configurazione e controlla se le variabili sono state aggiunte correttamente, cosa che puoi fare emettendo il comando seguente.

grep opcache /etc/php/7.0/apache2/php.ini| grep -v ";"

Quindi, aggiungi la seguente regola dell'applicazione firewall UFW nel tuo sistema, in modo da consentire il passaggio del traffico HTTP attraverso il firewall, eseguendo il comando seguente.

ufw allow WWW

o

ufw allow 80/tcp

Alcuni amministratori di sistema preferiscono iptables regole grezze per gestire le regole del firewall nel server Debian. In caso di iptables, emetti i comandi seguenti per installare il firewall e aggiungi le seguenti regole per consentire il traffico in entrata delle porte 80 e 22 (in caso di connessioni remote SSH) in modo da poter accedere al sistema e navigare nell'applicazione tramite un browser web.

apt-get install -y iptables-persistent
iptables -I INPUT -p tcp --destination-port 80 -j ACCEPT
iptables -I INPUT -p tcp --destination-port 22 -j ACCEPT
netfilter-persistent save
systemctl restart netfilter-persistent
systemctl status netfilter-persistent
systemctl enable netfilter-persistent.service

Infine, apri un browser e visita l'indirizzo IP della tua macchina Debian o il tuo nome di dominio tramite il protocollo HTTP. Se non conosci l'indirizzo IP della tua macchina, esegui ifconfig o ip a comando per ottenere l'indirizzo IP del tuo server. Se viene stabilita la connessione al server Web, dovresti essere in grado di visualizzare la pagina Web predefinita del server Web Apache nel tuo browser.

http://tuo_dominio.tld

Nel passaggio successivo, abilita la riscrittura di Apache e sgonfia i moduli SSL richiesti da EspoCRM per funzionare correttamente, eseguendo il comando seguente.

a2enmod rewrite deflate ssl

Il modulo SSL richiede che tu abiliti anche il file di configurazione SSL predefinito per poter visitare l'applicazione tramite il protocollo HTTPS. Il protocollo HTTPS viene utilizzato per proteggere il traffico tra il server e i client. Eseguire il comando seguente per abilitare il file di configurazione del sito SSL di Apache.

a2ensite default-ssl.conf

Successivamente, apri il file di configurazione del sito SSL predefinito di Apache con un editor di testo e inserisci le seguenti righe di codice dopo DocumentRoot direttiva, come mostrato nell'esempio seguente, per attivare le regole inserite nel file .htaccess. Il file .htaccess si trova solitamente sopra la webroot del tuo dominio.

nano /etc/apache2/sites-enabled/default-ssl.conf

Estratto del file di configurazione del sito SSL:

<Directory /var/www/html>
  Options +FollowSymlinks
  AllowOverride All
  Require all granted
</Directory>

Dovresti anche aprire /etc/apache2/sites-enabled/000-default.conf file per la modifica e aggiungere le stesse regole di riscrittura URL inserite nel file di configurazione SSL. Aggiungi le righe di codice dopo DocumentRoot dichiarazione come mostrato nell'esempio seguente.

<Directory /var/www/html>
  Options +FollowSymlinks
  AllowOverride All
  Require all granted
</Directory>

Infine, riavvia il demone Apache per applicare tutte le regole configurate finora e visita il tuo dominio tramite il protocollo HTTPS. Poiché stai utilizzando le coppie di certificati autofirmati automaticamente emessi da Apache al momento dell'installazione, certificato non attendibile dal browser, nel browser dovrebbe essere visualizzato un avviso di errore di connessione non sicura. Accetta l'avviso per accettare il certificato non attendibile e continuare a essere reindirizzato alla pagina Web predefinita di Apache.

systemctl restart apache2

https://tuodominio.tld

Se prevedi di esporre la tua piattaforma EspoCRM per la produzione in Internet, dovresti prendere in considerazione l'acquisto di un certificato emesso da un'autorità di certificazione attendibile o ottenere una coppia di certificati gratuita da Let's Encrypt CA, in modo che i clienti possano visitare l'applicazione senza che vengano visualizzati errori nei loro browser .

Nel caso in cui l'applicazione firewall UFW blocchi le connessioni di rete in entrata alla porta HTTPS, dovresti aggiungere una nuova regola per consentire al traffico HTTPS di passare attraverso il firewall eseguendo il comando seguente.

ufw allow HTTPS

o

ufw allow 443/tcp

Per il firewall iptables, aggiungi la seguente regola per consentire il traffico in entrata della porta 443 nel firewall in modo da poter sfogliare il nome di dominio. Salva e riavvia il servizio iptables per applicare le regole dopo il riavvio del sistema.

iptables -I INPUT -p tcp --destination-port 443 -j ACCEPT
netfilter-persistent save
systemctl restart netfilter-persistent
systemctl status netfilter-persistent

Infine, crea un file di informazioni PHP nel percorso webroot del tuo dominio eseguendo il comando seguente.

echo '<?php phpinfo(); ?>'| tee /var/www/html/info.php

Controllare le impostazioni PHP e la configurazione del fuso orario visitando il file di script delle informazioni PHP da un browser al seguente URL, come illustrato nell'immagine seguente. Scorri verso il basso fino alla data impostazione per verificare la configurazione del fuso orario PHP.

https://dominio.tld/info.php

Nel passaggio successivo, accedi alla console del server MySQL e proteggi l'account root di MariaDB eseguendo i comandi seguenti. Digita uscita per uscire dalla console del database.

mysql -h localhost
Welcome to the MariaDB monitor.  Commands end with ; or \g.

Your MariaDB connection id is 2

Server version: 10.1.26-MariaDB-0+deb9u1 Debian 9.1

 

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 [(nessuno)]> usa mysql;

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

 

Database changed

MariaDB [mysql]> update user set plugin='' where user='root';

Query OK, 1 row affected (0.00 sec)

Rows matched: 1  Changed: 1  Warnings: 0

MariaDB [mysql]> privilegi di svuotamento;

Query OK, 0 rows affected (0.00 sec)

 

MariaDB [mysql]> exit

Bye

Inoltre, esegui mysql_secure_installation script per proteggere ulteriormente il demone MariaDB. Durante l'esecuzione dello script ti verranno poste una serie di domande progettate per proteggere il database MariaDB, come ad esempio:modificare la password di root di MySQL, rimuovere utenti anonimi, disabilitare i login di root remoti ed eliminare il database di test. Digita "sì" per tutte le domande poste, come illustrato nell'estratto seguente.

mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB

      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

 

In order to log into MariaDB to secure it, we'll need the current

password for the root user.  If you've just installed MariaDB, and

you haven't set the root password yet, the password will be blank,

so you should just press enter here.

 

Enter current password for root (enter for none):

OK, successfully used password, moving on...

 

Setting the root password ensures that nobody can log into the MariaDB

root user without the proper authorisation.

 

You already have a root password set, so you can safely answer 'n'.

Change the root password? [Y/n] y

New password:

Re-enter new password:

Password updated successfully!

Reloading privilege tables..

 ... Success!

 

By default, a MariaDB installation has an anonymous user, allowing anyone

to log into MariaDB without having to have a user account created for

them.  This is intended only for testing, and to make the installation

go a bit smoother.  You should remove them before moving into a

production environment.

 

Remove anonymous users? [Y/n] y

 ... Success!

 

Normally, root should only be allowed to connect from 'localhost'.  This

ensures that someone cannot guess at the root password from the network.

 

Disallow root login remotely? [Y/n] y

 ... Success!

 

By default, MariaDB comes with a database named 'test' that anyone can

access.  This is also intended only for testing, and should be removed

before moving into a production environment.

 

Remove test database and access to it? [Y/n] y

 - Dropping test database...

 ... Success!

 - Removing privileges on test database...

 ... Success!

 

Reloading the privilege tables will ensure that all changes made so far

will take effect immediately.

 

Reload privilege tables now? [Y/n] y

 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB

installation should now be secure.

Thanks for using MariaDB!

Verifica il problema di sicurezza del server MariaDB provando ad accedere al database tramite console senza password di root. L'accesso al database dovrebbe essere negato se non viene fornita alcuna password per l'account root, come illustrato nell'estratto del comando seguente:

mysql -h localhost -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

Ora prova ad accedere al database con una password di root. Dovresti essere in grado di accedere alla console MySQL, come mostrato nell'esempio di comando seguente:

mysql -h localhost -u root -p
Enter password:

Welcome to the MariaDB monitor.  Commands end with ; or \g.

Your MariaDB connection id is 15

Server version: 10.1.26-MariaDB-0+deb9u1 Debian 9.1

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)]> exit

Bye

Installa EspoCRM

Dopo che il server HTTP Apache, il demone MariaDB e l'interprete PHP sono stati correttamente configurati per l'installazione dell'applicazione EspoCRM nel tuo sistema Debian. Esegui il comando seguente per installare le utilità della riga di comando menzionate in esso.

apt install wget bash-completion zip unzip curl

Nel passaggio successivo, visita la pagina di download ufficiale di EspoCRM all'indirizzo https://www.espocrm.com/download/ e prendi l'ultimo archivio compresso del pacchetto zip nel tuo sistema tramite l'utilità wget. La versione corrente di EspoCRM al momento della stesura di questo tutorial è EspoCRM-5.0.3

wget https://www.espocrm.com/downloads/EspoCRM-5.0.3.zip
ls

Al termine del download dell'archivio zip, estrai il file di archivio zip nella directory di lavoro corrente ed elenca i file estratti eseguendo i comandi seguenti. I file di installazione dell'applicazione si trovano in EspoCRM-5.0.3 directory.

unzip EspoCRM-5.0.3.zip
ls
ls -al EspoCRM-5.0.3

Quindi, assicurati di eliminare i file index.html e info.php dalla directory webroot:

rm /var/www/html/index.html
rm /var/www/html/info.php

Copia tutti i file che si trovano nella directory estratta nel percorso radice del documento del tuo server Web eseguendo il comando seguente. Inoltre, assicurati di copiare il file nascosto .htaccess nel percorso webroot.

cp -rf EspoCRM-5.0.3/* /var/www/html/
cp EspoCRM-5.0.3/.htaccess /var/www/html/

Quindi, esegui i comandi seguenti per concedere i www-data di Apache account con autorizzazioni di scrittura complete per il percorso radice web. Usa le ls comando per elencare le autorizzazioni per i file installati di EspoCRM che si trovano nella directory /var/www/html/.

chown -R www-data:www-data /var/www/html/
ls –al /var/www/html/

Quindi, accedi alla console del database MariaDB e crea un database EspoCRM. Utilizzare un nome descrittivo per il database e creare un utente con una password complessa per gestire questo database. Sostituire il nome del database, l'utente e la password utilizzati in questo esempio con i propri valori. I comandi utilizzati per questo passaggio sono mostrati nell'estratto seguente.

mysql –u root -p
Welcome to the MariaDB monitor.  Commands end with ; or \g.

Your MariaDB connection id is 2

Server version: 10.1.26-MariaDB-0+deb9u1 Debian 9.1

 

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)]> crea database espocrm_db;

Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> concede tutti i privilegi su espocrm_db.* a 'crm_user'@'localhost' identificato da 'password1234';

Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> privilegi di svuotamento;

Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> exit

Bye

Ora, apri un browser e naviga nell'indirizzo IP o nel nome di dominio del tuo server tramite il protocollo HTTPS per procedere con il processo di installazione della piattaforma EspoCRM. Nella prima schermata di installazione, il programma di installazione di EspoCRM visualizzerà un messaggio di benvenuto e un elenco da cui è possibile selezionare la lingua di installazione. Seleziona la lingua appropriata dall'elenco presentato e premi il pulsante Start per avviare il processo di installazione, come illustrato nell'immagine sottostante.

https://tuodominio.tld

Nella schermata successiva, leggi le dichiarazioni del contratto di licenza e seleziona "Accetto il contratto t" e premi il pulsante Avanti per passare al passaggio successivo.

Nella schermata di installazione successiva, configura le impostazioni di connessione al database MySQL. Fornire l'indirizzo host del database MySQL (127.0.0.1 o localhost), il nome del database, il nome utente e la password configurati per l'applicazione EspoCRM. Dopo aver completato tutti i campi del database richiesti, premere il pulsante Avanti per passare alla fase di installazione successiva. Usa lo screenshot qui sotto come guida per completare questo passaggio.

Nella schermata successiva, il programma di installazione di EspoCRM verificherà le configurazioni dell'ambiente del server per determinare se tutte le variabili MySQL consigliate e i moduli e le impostazioni PHP sono configurati correttamente. Se tutte le configurazioni sono state superate, premi sul pulsante Installa per avviare il processo di installazione di EspoCRM.

Nel passaggio successivo, aggiungi un account amministratore per EspoCRM e imposta una password complessa per questo account amministratore. Al termine, premi il pulsante Avanti per continuare ulteriormente con il processo di installazione.

Quindi, configura le impostazioni di sistema di EspoCRM selezionando il formato data e il formato ora appropriati. Inoltre, scegli l'impostazione del fuso orario appropriata per la tua applicazione selezionando il continente/la città più vicino dall'elenco dei fusi orari fornito. Imposta il primo giorno della settimana, la valuta predefinita dell'applicazione, i segni di separazione delle migliaia e dei decimali e la lingua del sistema. Quando tutte le impostazioni di cui sopra sono state configurate, premi il pulsante Avanti per continuare con il processo di installazione.

Nel passaggio successivo, configura le impostazioni della posta in uscita di EspoCRM. Aggiungi un nome per l'intestazione dell'e-mail "Da nome" e l'indirizzo di contatto e-mail dell'account amministratore. Questo indirizzo verrà utilizzato per inviare e-mail a clienti esterni. Inoltre, assicurati di aggiungere l'indirizzo del server di posta elettronica, il numero di porta del server di posta e di selezionare la casella di controllo Auth e di fornire le credenziali di autenticazione del server e il livello di sicurezza, se è il caso. Al termine di questo passaggio, premi il pulsante Avanti per completare il processo di installazione.

Dopo che la struttura del database è stata importata e tutte le impostazioni della piattaforma sono state scritte nel file di configurazione dell'applicazione, il processo di installazione verrà completato. Il programma di installazione visualizzerà una notifica che l'installazione è stata completata con successo e visualizzerà una nota sul lavoro pianificato di EspoCRM che devi aggiungere al file crontab del tuo server.

Per accedere e gestire la tua applicazione CRM, apri un browser e naviga verso l'indirizzo IP del tuo server o il nome di dominio tramite HTTPS. Utilizza le credenziali configurate durante il processo di installazione per accedere al pannello di backend di EspoCRM, come mostrato nello screenshot qui sotto.

https://tuodominio.tld

La dashboard EspoCRM predefinita non dovrebbe contenere dati finora. Un'anteprima sulla dashboard iniziale di EspoCRM è illustrata nello screenshot seguente.

Per configurare ulteriormente le impostazioni della piattaforma EspoCRM, premi l'icona in alto a destra con tre linee orizzontali e premi sul collegamento Amministrazione dal menu in alto, come mostrato nell'immagine sottostante.

Per costringere i visitatori ad accedere in modo sicuro all'interfaccia back-end di EspoCRM tramite il protocollo HTTPS che crittografa il traffico tra il server e i browser client, torna al terminale del tuo server e modifica il .htaccess file che si trova nel percorso principale del documento del tuo sito Web, eseguendo il comando seguente.

nano /var/www/html/.htaccess

Nel file .htaccess, cerca  riga e aggiungi le regole seguenti dopo RewriteEngine On istruzione per reindirizzare automaticamente tutto il traffico del dominio su HTTPS.

# Redirect to HTTPS
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R,L]

Nella parte superiore, il file è possibile modificare le impostazioni del server PHP nativo, come valori aumentati per upload_max_filesize e post_max_size Variabili PHP, al fine di supportare il caricamento di file di grandi dimensioni nella memoria dell'applicazione. Modifica queste impostazioni PHP con grande cautela. Assicurati che queste variabili corrispondano alle risorse e alle configurazioni del tuo server.

# Modify PHP settings
php_value session.use_trans_sid 0
php_value register_globals 1
php_value upload_max_filesize 100M
php_value post_max_size 100M

Quindi, verifica il lavoro pianificato prima di aggiungerlo per l'esecuzione nel file daemon crontab, eseguendo il comando seguente. Il lavoro crontask deve essere eseguito con i privilegi dell'account di runtime del server HTTP Apache.

sudo -u www-data /usr/bin/php7.0 -f /var/www/html/cron.php

Infine, aggiungi il seguente processo crontab di proprietà di Apache www-data account, eseguendo il comando seguente.

crontab -u www-data –e

Estratto del file Crontab:

*    *    *    *    *     /usr/bin/php7.0 -f /var/www/html/cron.php > /dev/null 2>&1

È tutto! Hai installato e configurato correttamente la piattaforma EspoCRM in Debian 9. Per altre impostazioni relative alla piattaforma EspoCRM, visita la pagina della documentazione al seguente indirizzo: https://www.espocrm.com/documentation/


Debian
  1. Come installare PHP 7.4 / 7.3 / 7.2 / 7.1 su Debian 10 / Debian 9

  2. Come installare PHP 8.0 su Debian 11

  3. Come installare PHP 7.4 su Debian 10

  4. Come installare PHP 8 su Debian 10

  5. Come installare PHP 7.3 su Debian 10

Come installare PHP su Debian 10 Linux

Come installare la piattaforma October CMS su Debian 9

Come installare PyroCMS basato su Laravel su Debian 9

Come installare Craft CMS su Debian 9

Come installare Pagekit CMS su Debian 9

Come installare Nginx e PHP su Debian 10