GNU/Linux >> Znalost Linux >  >> Debian

Jak nainstalovat EspoCRM Open Source CRM Software na Debian 9

V této příručce vám ukážeme, jak nainstalovat a nakonfigurovat nejnovější verzi softwaru EspoCRM na Debianu 9 nad zásobníkem LAMP, abyste pro vaši společnost vytvořili bezplatnou online platformu pro správu vztahů se zákazníky.

EspoCRM je flexibilní a snadno použitelná open source platforma pro řízení vztahů se zákazníky (CRM), navržená tak, aby byla rychlá, jednoduchá a přizpůsobitelná. Software je napsán hlavně v programovacím jazyce PHP a lze jej snadno nasadit v Linuxu nad webovým serverem Apache nebo Nginx, programovacím jazykem PHP a systémem správy databází MySQL nebo MariaDB. EspoCRM podporuje širokou škálu jazyků a lze jej nasadit v call-centrech, bankách, školství, zdravotnictví, cestovním ruchu, maloobchodě, nemovitostech nebo v e-commerce.

Požadavky

  • Minimální instalace na virtuálním počítači nebo fyzickém serveru operačního systému Debian 9
  • Oprávnění účtu root nebo účet s oprávněními root prostřednictvím příkazu sudo (místní přístup přes konzolu nebo vzdálený přístup přes SSH)
  • Jedna ze síťových karet serveru nakonfigurovaná se statickou adresou IP
  • Veřejně registrovaný název domény, takže instalaci provedete přes webové rozhraní a získáte přístup na webovou stránku aplikace. V intranetech můžete k aplikaci přistupovat prostřednictvím místní domény nebo prostřednictvím IP adresy vašeho serveru
  • Poštovní server nakonfigurovaný ve vašich prostorách nebo přístup k veřejné e-mailové službě, jako je Gmail, Outlook, Yahoo!

Předběžné požadavky

Nejprve se přihlaste do konzole serveru Debian a ujistěte se, že aktualizujete systémová úložiště, jádro a softwarové balíčky vydáním následujících příkazů.

apt update
apt upgrade

Dále nakonfigurujte název hostitele počítače provedením následujícího příkazu. Ujistěte se, že jste nahradili hodnotu názvu hostitele použitou v tomto tématu svým vlastním zápisem.

hostnamectl set-hostname www.mycrm.org

Vydáním příkazů níže zkontrolujte, zda byl název hostitele počítače správně nakonfigurován.

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

Nakonec restartujte server Debian, aby se mohly správně aplikovat aktualizace jádra a název hostitele.

systemctl reboot

Dále byste měli nainstalovat softwarový balíček LAMP do systému Debian. V prvním kroku nainstalujte webový server Apache a interpret brány zpracování PHP spolu se všemi požadovanými moduly PHP, které aplikace potřebuje ke správnému fungování, spuštěním následujícího příkazu v konzole serveru.

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

Dále nainstalujte backend databáze RDBMS. V této příručce nakonfigurujeme aplikaci EspoCRM tak, aby používala databázi MariaDB jako backend. Chcete-li nainstalovat databázi MariaDB a modul PHP potřebný pro přístup k databázi MySQL, zadejte následující příkaz.

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

Po instalaci Apache, databáze MySQL a PHP otevřete výchozí konfigurační soubor PHP pro úpravy a upravte následující proměnné PHP, jak je popsáno níže. Ujistěte se, že nejprve vytvoříte zálohu konfiguračního souboru PHP.

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

Hledejte, upravujte a měňte následující proměnné v php.ini konfigurační soubor:

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

Nahraďte time.zone proměnná podle vašeho fyzického času pomocí seznamu časových pásem poskytovaných dokumenty PHP na následujícím odkazu http://php.net/manual/en/timezones.php

Chcete-li zvýšit rychlost načítání stránek vaší aplikace prostřednictvím pluginu OPCache dostupného v PHP7, vložte následující řádky kódu OPCache na konec konfiguračního souboru PHP interpretu pod [opcache] prohlášení, jak je podrobně popsáno níže:

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

Zavřete php.ini konfiguračního souboru a zkontrolujte, zda byly proměnné správně přidány, což můžete provést zadáním příkazu níže.

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

Dále přidejte do svého systému následující pravidlo pro aplikaci brány firewall UFW, aby provoz HTTP mohl procházet bránou firewall, zadáním následujícího příkazu.

ufw allow WWW

nebo

ufw allow 80/tcp

Někteří správci systému preferují iptables nezpracovaných pravidel pro správu pravidel brány firewall na serveru Debian. V případě iptables zadejte níže uvedené příkazy k instalaci brány firewall a přidejte následující pravidla, abyste povolili příchozí provoz na portech 80 a 22  (v případě vzdálených připojení SSH), abyste mohli přistupovat k systému a procházet aplikaci prostřednictvím webového prohlížeče.

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

Nakonec otevřete prohlížeč a navštivte IP adresu svého počítače Debian nebo název své domény prostřednictvím protokolu HTTP. Pokud neznáte IP adresu svého počítače, spusťte ifconfig nebo ip a příkaz k získání IP adresy vašeho serveru. Pokud je navázáno připojení k webovému serveru, měli byste být schopni zobrazit výchozí webovou stránku webového serveru Apache ve svém prohlížeči.

http://vase_domena.tld

V dalším kroku povolte přepis Apache a vypusťte moduly SSL vyžadované EspoCRM, aby správně fungovaly, zadáním níže uvedeného příkazu.

a2enmod rewrite deflate ssl

Modul SSL vyžaduje, abyste také povolili výchozí konfigurační soubor SSL, abyste mohli aplikaci navštívit prostřednictvím protokolu HTTPS. Pro zabezpečení komunikace mezi serverem a klienty se používá protokol HTTPS. Chcete-li povolit konfigurační soubor webu Apache SSL, spusťte následující příkaz.

a2ensite default-ssl.conf

Poté pomocí textového editoru otevřete výchozí konfigurační soubor webu Apache SSL a za DocumentRoot vložte následující řádky kódu direktivu, jak je ukázáno v níže uvedeném příkladu, za účelem aktivace pravidel umístěných v souboru .htaccess. Soubor .htaccess je obvykle umístěn v horní části webového kořenového adresáře vaší domény.

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

Výňatek z konfiguračního souboru webu SSL:

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

Měli byste také otevřít /etc/apache2/sites-enabled/000-default.conf soubor pro úpravy a přidejte stejná pravidla pro přepis URL jako v konfiguračním souboru SSL. Přidejte řádky kódu za DocumentRoot prohlášení, jak je znázorněno v níže uvedeném příkladu.

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

Nakonec restartujte démona Apache, abyste použili všechna dosud nakonfigurovaná pravidla a navštivte svou doménu prostřednictvím protokolu HTTPS. Protože používáte automaticky páry certifikátů s vlastním podpisem, které při instalaci vydává Apache, certifikát, kterému prohlížeč nedůvěřuje, mělo by se v prohlížeči zobrazit varování o chybě nezabezpečeného připojení. Přijměte varování, abyste přijali nedůvěryhodný certifikát a byli nadále přesměrováni na výchozí webovou stránku Apache.

systemctl restart apache2

https://vasedomena.tld

Pokud plánujete vystavit svou platformu EspoCRM pro produkci na internetu, měli byste zvážit nákup certifikátu vydaného důvěryhodnou certifikační autoritou nebo získat pár certifikátů zdarma od Let's Encrypt CA, aby klienti mohli aplikaci navštívit, aniž by se v jejich prohlížečích zobrazovaly chyby. .

V případě, že aplikace brány firewall UFW blokuje příchozí síťová připojení k portu HTTPS, měli byste přidat nové pravidlo, které povolí průchod HTTPS přes bránu firewall, a to zadáním následujícího příkazu.

ufw allow HTTPS

nebo

ufw allow 443/tcp

Pro bránu firewall iptables přidejte následující pravidlo, abyste povolili příchozí provoz na portu 443 v bráně firewall, abyste mohli procházet název domény. Uložte a restartujte službu iptables, abyste mohli aplikovat pravidla po restartu systému.

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

Nakonec vytvořte informační soubor PHP v cestě webroot vaší domény provedením následujícího příkazu.

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

Zkontrolujte nastavení PHP a konfiguraci časového pásma tím, že navštívíte soubor skriptu PHP info z prohlížeče na následující adrese URL, jak je znázorněno na obrázku níže. Přejděte dolů na datum nastavení pro kontrolu konfigurace časového pásma PHP.

https://domena.tld/info.php

V dalším kroku se přihlaste ke konzole serveru MySQL a zabezpečte root účet MariaDB provedením níže uvedených příkazů. Zadejte exit opustit konzoli databáze.

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 [(none)]> použijte 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]> aktualizovat uživatelskou sadu plugin='' where user='root';

Query OK, 1 row affected (0.00 sec)

Rows matched: 1  Changed: 1  Warnings: 0

MariaDB [mysql]> flush oprávnění;

Query OK, 0 rows affected (0.00 sec)

 

MariaDB [mysql]> exit

Bye

Spusťte také mysql_secure_installation skript, aby bylo možné dále zabezpečit démona MariaDB. Při spuštění skriptu budete dotázáni na řadu otázek určených k zabezpečení databáze MariaDB, jako například:změnit heslo root MySQL, odstranit anonymní uživatele, zakázat vzdálené přihlášení root a odstranit testovací databázi. Zadejte „ano“ pro všechny položené otázky, jak je znázorněno na níže uvedeném úryvku.

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!

Ověřte problém se zabezpečením serveru MariaDB tím, že se pokusíte přihlásit k databázi přes konzolu bez hesla root. Přístup k databázi by měl být odepřen, pokud není poskytnuto žádné heslo pro účet root, jak je znázorněno na níže uvedeném úryvku příkazu:

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

Nyní se zkuste přihlásit do databáze pomocí hesla root. Měli byste mít přístup ke konzoli MySQL, jak je znázorněno na níže uvedeném příkladu příkazu:

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

Instalovat EspoCRM

Poté, co byl server Apache HTTP, démon MariaDB a interpret PHP správně nakonfigurován pro instalaci aplikace EspoCRM do vašeho systému Debian. Chcete-li nainstalovat nástroje příkazového řádku v něm uvedené, spusťte následující příkaz.

apt install wget bash-completion zip unzip curl

V dalším kroku navštivte oficiální stránku ke stažení EspoCRM na https://www.espocrm.com/download/ a stáhněte si nejnovější komprimovaný archiv balíčku zip ve vašem systému pomocí nástroje wget. Aktuální verze EspoCRM v době psaní tohoto návodu je EspoCRM-5.0.3

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

Po dokončení stahování archivu zip rozbalte soubor archivu zip do aktuálního pracovního adresáře a vypište extrahované soubory pomocí níže uvedených příkazů. Instalační soubory aplikace jsou umístěny v EspoCRM-5.0.3 adresář.

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

Dále se ujistěte, že jste odstranili soubory index.html a info.php z adresáře webroot:

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

Zkopírujte všechny soubory umístěné v extrahovaném adresáři do kořenové cesty dokumentu vašeho webového serveru zadáním následujícího příkazu. Také se ujistěte, že jste zkopírovali skrytý soubor .htaccess do cesty webroot.

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

Dále spusťte níže uvedené příkazy, abyste Apache udělili www-data účet s plnými oprávněními k zápisu do webové kořenové cesty. Použijte ls příkaz k zobrazení seznamu oprávnění pro soubory nainstalované EspoCRM umístěné v adresáři /var/www/html/.

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

Dále se přihlaste do konzole databáze MariaDB a vytvořte databázi EspoCRM. Použijte pro databázi popisný název a vytvořte uživatele se silným heslem pro správu této databáze. Nahraďte název databáze, uživatele a heslo použité v tomto příkladu svými vlastními hodnotami. Příkazy použité pro tento krok jsou uvedeny v níže uvedeném úryvku.

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)]> vytvořit databázi espocrm_db;

Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> udělte všechna oprávnění na espocrm_db.* uživateli 'crm_user'@'localhost' identifikovanému pomocí 'password1234';

Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> flush oprávnění;

Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> exit

Bye

Nyní otevřete prohlížeč a procházejte IP adresou nebo názvem domény vašeho serveru pomocí protokolu HTTPS, abyste mohli pokračovat v procesu instalace platformy EspoCRM. Na první instalační obrazovce zobrazí instalační program EspoCRM uvítací zprávu a seznam, ze kterého si můžete vybrat jazyk instalace. Vyberte požadovaný jazyk z prezentovaného seznamu a stiskněte tlačítko Start, aby se spustil proces instalace, jak je znázorněno na obrázku níže.

https://vasedomena.tld

Na další obrazovce si přečtěte prohlášení o licenční smlouvě a zaškrtněte „I accept the agreementmen t" a klepnutím na tlačítko Další přejděte k dalšímu kroku.

Na další instalační obrazovce nastavte připojení k databázi MySQL. Zadejte adresu hostitele databáze MySQL (127.0.0.1 nebo localhost), název databáze, uživatelské jméno a heslo nakonfigurované pro aplikaci EspoCRM. Po vyplnění všech požadovaných databázových polí stiskněte tlačítko Další a přejděte k dalšímu kroku instalace. K dokončení tohoto kroku použijte níže uvedený snímek obrazovky.

Na další obrazovce instalační program EspoCRM zkontroluje konfigurace prostředí vašeho serveru, aby zjistil, zda jsou všechny doporučené proměnné MySQL a moduly a nastavení PHP správně nakonfigurovány. Pokud jsou všechny konfigurace úspěšné, klikněte na tlačítko Instalovat pro zahájení instalačního procesu EspoCRM.

V dalším kroku přidejte účet správce pro EspoCRM a nastavte silné heslo pro tento účet správce. Po dokončení klikněte na tlačítko Další a pokračujte v procesu instalace.

Dále nastavte systémová nastavení EspoCRM výběrem vhodného formátu data a formátu času. Vyberte také vhodné nastavení časového pásma pro vaši aplikaci výběrem nejbližšího kontinentu/města z poskytnutého seznamu časových pásem. Nastavte první den v týdnu, výchozí měnu aplikace, oddělovače tisíců a desetinných míst a jazyk systému. Když jsou všechna výše uvedená nastavení nakonfigurována, klikněte na tlačítko Další a pokračujte v procesu instalace.

V dalším kroku nakonfigurujte nastavení odchozí pošty EspoCRM. Přidejte název do záhlaví e-mailu „Od jména“ a e-mailovou kontaktní adresu účtu správce. Tato adresa bude použita pro zasílání e-mailů externím klientům. Ujistěte se také, že jste přidali adresu e-mailového serveru, číslo portu poštovního serveru a zaškrtli políčko Auth a v takovém případě zadejte ověřovací údaje serveru a úroveň zabezpečení. Po dokončení tohoto kroku dokončete proces instalace klepnutím na další tlačítko.

Po naimportování struktury databáze a zapsání všech nastavení platformy do konfiguračního souboru aplikace bude proces instalace dokončen. Instalační program zobrazí upozornění, že instalace byla úspěšně dokončena, a zobrazí poznámku o naplánované úloze EspoCRM, kterou musíte přidat do souboru crontab serveru.

Chcete-li získat přístup ke své aplikaci CRM a spravovat ji, otevřete prohlížeč a přejděte na IP adresu serveru nebo název domény přes HTTPS. K přihlášení do backendového panelu EspoCRM použijte přihlašovací údaje nakonfigurované během procesu instalace, jak je znázorněno na níže uvedeném snímku obrazovky.

https://vasedomena.tld

Výchozí řídicí panel EspoCRM by zatím neměl obsahovat žádná data. Náhled na úvodním panelu EspoCRM je znázorněn na níže uvedeném snímku obrazovky.

Chcete-li dále konfigurovat nastavení platformy EspoCRM, klepněte na ikonu vpravo nahoře se třemi vodorovnými čarami a v horním menu klepněte na odkaz Správa, jak je znázorněno na obrázku níže.

Chcete-li přinutit návštěvníky k bezpečnému přístupu k backendovému rozhraní EspoCRM prostřednictvím protokolu HTTPS, který šifruje provoz mezi serverem a klientskými prohlížeči, vraťte se na svůj serverový terminál a upravte .htaccess soubor umístěný v kořenové cestě dokumentu vašeho webu, zadáním níže uvedeného příkazu.

nano /var/www/html/.htaccess

V souboru .htaccess vyhledejte  řádek a přidejte níže uvedená pravidla za RewriteEngine On za účelem automatického přesměrování veškerého provozu domény na HTTPS.

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

V horní části souboru můžete změnit nativní nastavení PHP serveru, jako jsou zvýšené hodnoty pro upload_max_filesize a post_max_size PHP proměnné za účelem podpory nahrávání velkých souborů do úložiště aplikace. Tato nastavení PHP upravujte s velkou opatrností. Ujistěte se, že tyto proměnné odpovídají zdrojům a konfiguracím vašeho serveru.

# 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

Dále otestujte naplánovanou úlohu, než ji přidáte ke spuštění do souboru démona crontab, zadáním níže uvedeného příkazu. Úloha crontask by měla být spuštěna s oprávněními účtu runtime serveru Apache HTTP.

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

Nakonec přidejte následující úlohu crontab vlastněnou Apache www-data účtu, zadáním níže uvedeného příkazu.

crontab -u www-data –e

Výňatek ze souboru Crontab:

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

To je vše! Úspěšně jste nainstalovali a nakonfigurovali platformu EspoCRM v Debianu 9. Další nastavení týkající se platformy EspoCRM naleznete na stránce dokumentace na následující adrese: https://www.espocrm.com/documentation/


Debian
  1. Jak nainstalovat PHP na Debian 10 (Buster)

  2. Jak nainstalovat PHP 8 na Debian 10

  3. Jak nainstalovat PHP 7.3 na Debian 10

  1. Jak nainstalovat PHP 7.4 / 7.3 / 7.2 / 7.1 na Debian 10 / Debian 9

  2. Jak nainstalovat PHP 8.0 na Debian 11

  3. Jak nainstalovat PHP 8.0 na Debian 10 / Debian 9

  1. Jak nainstalovat PHP na Debian 10 Buster

  2. Jak nainstalovat PHP 7.4 na Debian 10

  3. Jak nainstalovat PHP na Debian 11