GNU/Linux >> Linux Esercitazione >  >> Debian

Come installare SuiteCRM su Debian 9

SuiteCRM, un fork di SugarCRM, è una piattaforma aziendale open source per la gestione delle relazioni con i clienti (CRM) scritta in linguaggio di programmazione PHP che può essere utilizzata per creare strategie, azioni e decisioni aziendali.

Questo tutorial descrive tutti i passaggi necessari per installare l'ultima versione della piattaforma SuiteCRM su un Debian 9, al fine di implementare una potente piattaforma online per la tua azienda. L'applicazione CRM verrà distribuita su Debian Linux sotto Apache HTTP server, PHP e motore di database MariaDB.

Requisiti

  • Un server bare-metal o un server privato virtuale con minimo 2 Gb di RAM e l'installazione minima del server Debian 9.
  • Accesso alla root account tramite la console della macchina o in remoto tramite SSH. Oltre all'account root puoi anche usare un account con privilegi di root tramite sudo comando.
  • L'interfaccia di rete esterna configurata con un indirizzo IP statico o il server DHCP configurato per affittare un indirizzo IP statico per questa interfaccia.
  • Un nome di dominio pubblico registrato per accedere all'applicazione da Internet. Se l'applicazione è distribuita in intranet, puoi eseguire il processo di installazione e accedere al sito Web tramite l'indirizzo IP del tuo server.
  • Un server di posta configurato presso la tua sede per utilizzare la registrazione al sito Web o altre funzionalità dell'applicazione. Puoi anche utilizzare un servizio di posta pubblico, come Gmail o Yahoo!, Microsoft Exchange o altri, per inviare e ricevere e-mail.

Prepara il server

Nel primo passaggio, accedi alla console del tuo server con l'account root o un utente con privilegi di root acquisiti tramite sudo e imposta il nome del tuo sistema con il comando seguente. Assicurati di sostituire di conseguenza il nome host della macchina utilizzato in questo esempio.

hostnamectl set-hostname www.mycrm.org

Dopo aver modificato il nome host del sistema, emetti il ​​comando seguente per verificare se il nome della macchina è stato applicato correttamente.

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

Quindi, assicurati di aggiornare i tuoi repository di sistema, i pacchetti software e il kernel, eseguendo i comandi seguenti.

apt update
apt upgrade

Infine, una volta completato il processo di aggiornamento, riavviare la macchina per applicare le modifiche al nome host e gli aggiornamenti del kernel, eseguendo il comando seguente.

systemctl reboot

Dopo il riavvio della macchina, accedi nuovamente alla console del server ed esegui il comando seguente per installare alcune utilità della riga di comando, come wget, curl e zip, che verranno successivamente utilizzate per scaricare software su Internet ed estrarre file di archivio zip.

apt install wget curl zip unzip

Installa Apache e PHP

L'applicazione SuiteCRM verrà distribuita in Debian su uno stack LAMP. I primi componenti dello stack LAMP che installeremo sono il server HTTP Apache e l'interprete del linguaggio di programmazione dinamico PHP. Esegui il comando seguente per installare il server Web Apache e tutti i moduli PHP richiesti nel tuo sistema.

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

Installa il database MariaDB

Il prossimo componente del pacchetto software LAMP che installeremo nel server Debian è il motore di database MariaDB. Il database RDBMS è richiesto dall'applicazione per memorizzare diverse configurazioni della piattaforma, come utenti, sessioni, contatti, prodotti, cataloghi e altro. Per installare il motore di database MariaDB e il modulo PHP necessario per accedere al database, esegui il comando seguente nella console della tua macchina.

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

Dopo che tutti i componenti LAMP sono stati installati, controlla se il server web Apache e il demone MariaDB sono attivi e in esecuzione e sono in attesa di connessioni di rete sulla porta 80 e 3306 TCP emettendo uno dei seguenti comandi.

netstat –tlpn
ss- tulpn

L'utilità Netstat non è presente per impostazione predefinita nel sistema Debian 9. Per installare netstat utility in un server Debian Stretch, eseguire il comando seguente.

apt install net-tools

Io Per poter accedere in sicurezza al sito CRM tramite il protocollo HTTPS che metterà in sicurezza il traffico tra server e browser client, assicurati di abilitare anche il modulo Apache TLS e il file di configurazione del sito SSL, eseguendo i seguenti comandi.

a2enmod ssl
a2ensite default-ssl.conf

  Quindi, abilita il modulo di riscrittura di Apache emettendo il comando seguente. Il modulo di riscrittura è necessario se si desidera modificare al volo le configurazioni del server web tramite .htaccess file inseriti nella webroot del tuo dominio.

a2enmod rewrite
systemctl restart apache2

  Successivamente, attiva il modulo di riscrittura inserendo le regole richieste nei file di configurazione di Apache. Innanzitutto, applicheremo le regole di riscrittura nel file di configurazione predefinito di Apache. Quindi, apri /etc/apache2/sites-enabled/000-default.conf file per la modifica con un editor di testo e inserire le regole di riscrittura dell'URL di seguito dopo il DocumentRoot dichiarazione, come mostrato nel seguente estratto.

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

Estratto del file 000-default.conf:

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

Chiudi 000-default.conf con CTRL+o, quindi Ctrl+x e apri il file di configurazione del sito SSL predefinito di Apache e inserisci le regole di riscrittura dell'URL aggiungendo le seguenti righe di codice dopo la direttiva DocumentRoot, come mostrato nell'esempio seguente:

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>

Infine, dopo aver apportato tutte le modifiche di cui sopra, riavvia il demone Apache per raccogliere tutte le nuove regole configurate finora.

systemctl restart apache2

Ora dovresti visitare il tuo dominio o l'indirizzo IP del server tramite il protocollo HTTP da un computer desktop remoto. La pagina Web Debian predefinita dovrebbe essere visualizzata nel tuo browser.

http://tuodominio.tld

Configurazione firewall

Se non riesci a vedere la pagina web, verifica se l'applicazione firewall UFW è abilitata nel server Debian. In tal caso, dovresti inserire le seguenti regole per consentire il passaggio del traffico HTTP e HTTPS attraverso il firewall.

ufw allow 'WWW Full'

o

ufw allow 80/tcp
ufw allow 443/tcp

Gli iptables Di seguito sono descritte le regole grezze del firewall per consentire al traffico in entrata TCP della porta 80 e 443 di passare il firewall.

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

Infine, dopo aver aggiunto le regole firewall richieste, verifica se la pagina Web predefinita del server Web Apache può essere visualizzata in un browser remoto visitando il nome di dominio o l'indirizzo IP del server tramite il protocollo HTTPS. Esegui ifconfig o ip a comandi per visualizzare l'indirizzo IP del tuo server.

http://tuodominio.tld

Poiché stai utilizzando il certificato autofirmato automaticamente emesso da Apache al momento dell'installazione, certificato non attendibile dal browser, nel browser dovrebbe essere visualizzato un avviso che dice "La tua connessione non è sicura". Accetta il certificato non attendibile per aggirare l'errore ed essere reindirizzato alla pagina Web predefinita di Apache, come illustrato nell'immagine sottostante.

Configura MariaDB e PHP

Ora, inizia a proteggere l'account root di MariaDB. Accedi alla console MySQL, esegui i comandi seguenti per aggiornare root plug-in dell'account.

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 lo script mysql_secure_installation fornito repository stretch Debian per proteggere ulteriormente il database MariaDB. Lo script ti porrà le seguenti domande: modifica la password di root di MySQL, rimuovi gli utenti anonimi, disabilita gli accessi root remoti ed elimina il database di test. Rispondi con sì a tutte le domande, come illustrato nell'esempio di output dello script 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 se tutte le misure di sicurezza sono state applicate provando ad accedere alla console MySQL con account root e nessuna password fornita. 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 alla console MySQL con l'account root e la password, come mostrato nell'esempio seguente. Dovresti essere in grado di accedere alla console MySQL. Digita uscita per lasciare il database MySQL.

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

Nel passaggio successivo, modifica le seguenti variabili PHP in php.ini file di configurazione come descritto di seguito. Apri /etc/php/7.0/apache2/php.ini file per la modifica e modificare le righe seguenti. Innanzitutto, assicurati di eseguire il backup del file di configurazione PHP iniziale.

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 = 128M
post_max_size = 60M
upload_max_filesize = 60M
memory_limit = 256M
max_input_time = 60
max_execution_time = 6000
date.timezone = Europe/London

Sostituisci il fuso orario variabile nel file di configurazione PHP in base alla posizione geografica del server. L'elenco dei fusi orari PHP può essere trovato al seguente link http://php.net/manual/en/timezones.php

Per aumentare la velocità di caricamento delle pagine del tuo sito web, abilita il plug-in OPCache disponibile per PHP7. Inserisci le seguenti righe OPCache nella parte inferiore del file di configurazione dell'interprete PHP, dopo [opcache] dichiarazione, come mostrato nel seguente estratto:

[opcache]
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

Infine, chiudi php.ini file di configurazione e riavvia il demone Apache per applicare le modifiche eseguendo il comando seguente.

systemctl restart apache2

Per visualizzare tutte le impostazioni PHP in un browser, 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

Visita il file di script delle informazioni PHP da un browser remoto al seguente URL. Scorri verso il basso fino a data impostazione per verificare se la configurazione del fuso orario PHP e altre impostazioni sono state applicate correttamente.

https://dominio.tld/info.php

Installa SuiteCRM

Dopo aver configurato tutte le impostazioni LAMP richieste per l'installazione dell'applicazione SuiteCRM, visita la pagina di download ufficiale di SuiteCRM all'indirizzo https://suitecrm.com/download/ e prendi l'ultimo archivio di file zip nel tuo sistema eseguendo il comando seguente. Al momento della stesura di questa guida, l'ultima versione rilasciata di SuiteCRM era il file SuiteCRM-7.9.9.zip.

wget https://suitecrm.com/files/158/SuiteCRM-7.9/178/SuiteCRM-7.9.9.zip
ls

Al termine del download dell'archivio del file zip di SuiteCRM, estrai il file dell'archivio zip nella directory di lavoro corrente ed elenca i file estratti eseguendo i comandi seguenti.

unzip SuiteCRM-7.9.9.zip
ls
ls –al SuiteCRM-7.9.9

Prima di copiare i file di installazione nella webroot del tuo dominio, assicurati di rimuovere il file index.html predefinito installato dal pacchetto Apache nel percorso root del documento del server web ed elimina anche il file info.php creato in precedenza.

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

I file di installazione dell'applicazione SuiteCRM si trovano nella directory di lavoro corrente in SuiteCRM-7.9.9/ directory. Problema ls comando per elencare i file di questa directory. Copia tutto il contenuto di SuiteCRM-7.9.9/ directory nel percorso radice del documento del server Web eseguendo il comando seguente.

cp -rf SuiteCRM-7.9.9/* /var/www/html/

Quindi, concedi all'utente di runtime Apache (www-data) le autorizzazioni di scrittura complete per il percorso radice del documento Apache, eseguendo il comando seguente. Esegui ls comando per elencare i permessi per i file installati 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 il database SuiteCRM. Scegliere un nome per questo database e un utente con una password complessa per gestire il database dell'applicazione, immettendo i seguenti comandi. Assicurati di modificare il nome del database, l'utente e la password utilizzati in questo tutorial con le tue impostazioni.

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 mycrm_db;

Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> concede tutti i privilegi su mycrm_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, iniziamo il processo di installazione dell'applicazione SuiteCRM. Apri un browser e naviga nell'indirizzo IP o nel nome di dominio del tuo server tramite il protocollo HTTPS.

http://tuodominio.tld

Nella prima schermata di installazione, il programma di installazione di SuiteCRM visualizzerà il contratto di licenza. Seleziona "Accetto ' per accettare i termini e le condizioni della licenza, scegli la lingua per l'installazione dell'applicazione e premi il pulsante Avanti per avviare il processo di installazione, come illustrato nello screenshot qui sotto.

Nella schermata di installazione successiva, il programma di installazione di SuiteCRM verificherà i requisiti dell'ambiente di sistema e visualizzerà un messaggio OK se tutte le configurazioni PHP e server sono state superate. Per continuare il processo di installazione, premi il pulsante Avanti, come mostrato nello screenshot qui sotto.

Successivamente, il programma di installazione visualizzerà le impostazioni di connessione al database e la pagina di configurazione del sito. Nel riquadro sinistro, selezionare MySQL con MySQLi Extension come tipo di database e fornire il nome del database MySQL creato per l'installazione dell'applicazione SuiteCRM, l'indirizzo host del server di database, il nome utente del database e la password necessaria per accedere al database di SuiteCRM. Inoltre, seleziona "Come utente amministratore" in "Utente database SuiteCRM /". Sul piano destro, aggiungi un nome utente amministratore dell'applicazione e imposta una password complessa per l'account amministratore. Controlla l'indirizzo URL dell'istanza SuiteCRM in modo che corrisponda al tuo nome di dominio tramite il protocollo HTTPS, sulla porta 443 e aggiungi l'indirizzo email dell'account amministratore. Usa l'immagine seguente come guida per configurare questo passaggio.

Quindi, nella stessa schermata di installazione, premi su "Scegli dati demo" dal menu "Altre opzioni" e scegli di non popolare il database SuiteCRM con dati demo. Quindi, fai clic sul menu Selezione scenario e seleziona per abilitare i seguenti moduli SuiteCRM:Sales, Marketing, Finance, Service e Project management. Se non hai bisogno di un modulo durante l'installazione dell'applicazione, puoi lasciarlo deselezionato e abilitarlo al termine del processo di installazione utilizzando la pagina di amministrazione dell'applicazione.

Quindi, scorri verso il basso e premi sul menu Specifiche del server SMTP per abilitare l'opzione e-mail SuiteCRM. Aggiungi il nome e l'indirizzo e-mail che desideri vengano visualizzati nell'intestazione dell'e-mail "Da". Quindi, scegli il tuo provider di servizi di posta elettronica e specifica le impostazioni del server di posta. In questa guida, utilizzeremo il provider di servizi Gmail per inviare e-mail e le impostazioni del server di posta possono essere trovate illustrate nello screenshot seguente. Dopo aver completato le impostazioni richieste per abilitare il tuo provider di servizi di posta, premi sul menu Branding e aggiungi un nome da visualizzare nella barra del titolo del browser per l'applicazione SuiteCRM e carica l'immagine del logo del tuo sito web.

Quindi, scorri di nuovo verso il basso e premi sul menu Impostazioni internazionali di sistema e specifica come visualizzare il formato dell'ora, il fuso orario e le impostazioni della valuta nell'applicazione SuiteCRM. Infine, lascia le opzioni di sicurezza del sito deselezionate per ora e premi il pulsante Avanti per completare il processo di installazione. Puoi utilizzare l'immagine qui sotto per completare questo passaggio.

Al termine del processo di installazione, verrai reindirizzato alla pagina di accesso di SuiteCRM. Per accedere al pannello di amministrazione dell'applicazione, accedi a SuiteCRM con le credenziali dell'account amministratore configurate durante il processo di installazione, come mostrato nell'immagine sottostante.

Prima di accedere al pannello di amministrazione di SuiteCRM, torna alla console del server ed emetti il ​​seguente comando per rimuovere la directory di installazione che non è più necessaria e può rappresentare una violazione della sicurezza.

rm -rf /var/www/html/install/

Puoi anche visitare la dashboard di SuiteCRM navigando verso l'indirizzo IP del tuo server o il nome di dominio tramite il protocollo HTTPS. Una vista della dashboard dell'amministratore di SuiteCRM è presentata nella schermata seguente.

http://tuodominio.tld

Infine, per reindirizzare automaticamente i visitatori a HTTPS, in modo che possano accedere in modo sicuro all'interfaccia di SuiteCRM dai loro browser, torna al terminale del tuo server e modifica il .htaccess autogenerato file che si trova nel percorso principale del documento di dominio, eseguendo il comando seguente.

nano /var/www/html/.htaccess

Nel file .htaccess, cerca riga e inserire le regole della riga seguente dopo RewriteEngine On istruzione per reindirizzare automaticamente il traffico del dominio su HTTPS.

.htaccess estratto del file:

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

Nella parte inferiore del file, puoi modificare le impostazioni del server PHP nativo del server Web aggiungendo altre righe con le impostazioni per riflettere le risorse e le 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

Per eseguire SuiteCRM Schedulers, modifica il file crontab dell'account di runtime del server Web con il comando seguente e aggiungi la seguente attività cron da eseguire ogni minuto.

crontab -e -u www-data

esempio di file crontab:

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

Se desideri aggirare gli avvisi del browser generati ogni volta che un client visita la tua applicazione, dovresti prendere in considerazione l'acquisto di un certificato emesso da un'autorità di certificazione attendibile o emettere un certificato gratuito da Let's Encrypt CA.

È tutto! L'applicazione Web SuiteCRM è stata installata e configurata con successo in un server Debian 9 su uno stack LAMP.

Per personalizzare ulteriormente la piattaforma SuiteCRM, assicurati di visitare la pagina wiki dell'applicazione al seguente indirizzo:https://suitecrm.com/wiki/index.php/Main_Page


Debian
  1. Come installare Redis Server su Debian 11

  2. Come installare MySQL 8.0 / 5.7 su Debian 11 / Debian 10

  3. Come installare ProFTPD su Debian 8

  4. Come installare MySQL Server su Debian 9

  5. Come installare ClickHouse su Debian 9

Come installare FastPanel su Debian 11

Come installare I2P su Debian Server:

Come installare VNC su Debian 10

Come installare Vai su Debian 10

Come installare il server VNC su Debian 11

Come installare Vai su Debian