SuiteCRM is een open source CRM-software (Customer Relationship Management) op basis van PHP. Het is een afsplitsing van de populaire CRM-software 'SugarCRM' en is populairder geworden nadat 'SugarCRM' besloot de ontwikkeling van de gratis versie te stoppen. SuiteCRM is genomineerd als de beste open source CRM-software op BOSSIE 2015 en 2016.
In deze tutorial laat ik je stap voor stap zien hoe je de open source CRM 'SuiteCRM' installeert. De software draait onder de Nginx-webserver met MariaDB-database en met het Ubuntu 16.04-systeem.
Wat we gaan doen
- Installeer de Nginx-webserver
- Installeren en configureren van PHP-FPM
- Installeer en configureer MariaDB
- SuiteCRM downloaden en configureren
- SuiteCRM Web Installer
- Laatste stappen
Voorwaarden
- Ubuntu 16.04-server
- Rootprivileges
Stap 1 - Installeer de Nginx-webserver
SuiteCRM is een webgebaseerde software en heeft een webserver nodig. We kunnen Apache of Nginx gebruiken voor deze software. In deze zelfstudie gebruiken we de Nginx-webserver in plaats van de Apache-webserver.
Maak verbinding met uw Ubuntu-server en werk de repository bij.
ssh [e-mail beveiligd]
sudo apt update
Installeer nu de Nginx-webserver met behulp van de opdracht apt op de volgende manier.
apt install -y nginx
Na de installatie start je nginx en schakel je het in om automatisch elke keer te starten bij het opstarten van het systeem.
systemctl start nginx
systemctl enable nginx
De Nginx-webserver is geïnstalleerd en hij draait onder de standaard HTTP-poort 80. Controleer het met het netstat-commando, of je kunt curl gebruiken om de HTTP-statuscode te zien.
netstat -plntu
krul -I localhost
Stap 2 - Installeren en configureren van PHP-FPM
SuiteCRM is compatibel met meerdere PHP-versies. In deze zelfstudie gebruiken we de nieuwste versie PHP 7.0 voor SuiteCRM-installatie.
Installeer PHP en PHP-FPM 7 samen met andere vereiste uitbreidingen met behulp van de volgende apt-opdracht.
apt install -y php7.0-fpm php7.0-mcrypt php7.0-imap php7.0-curl php7.0-cli php7.0-mysql php7.0-gd php7.0-xsl php7.0-json php7.0-intl php-pear php7.0-dev php7.0-gemeenschappelijk php7.0-mbstring php7.0-zip php -soap libcurl3 krullen
Nadat de installatie is voltooid, gaat u naar de PHP-configuratiemap en bewerkt u php.ini-bestanden voor zowel de 'cli'- als de' fpm'-configuratie.
cd / etc / php / 7.0 /
Bewerk php.ini-bestanden.
vim cli / php.ini
vim fpm / php.ini
Wijzig de maximale grootte van het uploadbestand. SuiteCRM heeft minimaal 6 MB nodig, maar we stellen 100 MB als waarde in.
upload_max_filesize = 100M
Maak de CGI-regel uncomment (hieronder weergegeven) en wijzig de waarde in 0.
cgi.fix_pathinfo = 0
Voor de sessiepadconfiguratie neemt u de onderstaande regel op.
session.save_path = "/ var / lib / php / sessions"
Dat is het. Sla deze wijzigingen op en sluit af.
Nu moeten we een nieuwe map maken voor PHP-sessiebestanden en de eigenaar van de map wijzigen in 'www-data' gebruiker en groep.
mkdir -p / var / lib / php / sessions
chown -R www-gegevens: www-data / var / lib / php / sessions
PHP en PHP-FPM-configuratie is voltooid. Start nu de service en schakel deze elke keer in bij het opstarten van het systeem.
systemctl start php7.0-fpm
systemctl enable php7.0-fpm
Standaard op het Ubuntu-systeem werkt PHP-FPM onder het sock-bestand in plaats van de systeempoort te gebruiken. Controleer het met de onderstaande netstat-opdracht.
netstat -pl | grep php
En zorg ervoor dat het resultaat dat u ziet vergelijkbaar is met wat wordt weergegeven in de volgende schermafbeelding.
Stap 3 - Installeer en configureer MariaDB
In deze stap zullen we MariaDB installeren en het root-wachtwoord configureren. Configureer vervolgens een nieuwe database voor SuiteCRM-installatie.
Installeer MariaDB met behulp van de opdracht apt hieronder.
apt install -y mariadb-server mariadb-client
Na de installatie start u de service en schakelt u deze elke keer in bij het opstarten van het systeem.
systemctl start mysql
systemctl schakel mysql in
Configureer vervolgens het MariaDB-rootwachtwoord met de opdracht 'mysql_secure_installation' zoals hieronder.
mysql_secure_installation
U wordt gevraagd naar de configuratie, typ 'Y' en druk op 'Enter'.
Stel root-wachtwoord in? [Y / n] Y Nieuw wachtwoord: voer het nieuwe wachtwoord opnieuw in: verwijder anonieme gebruikers? [Y / n] Y Niet toestaan dat rootaanmeldingen op afstand worden geregistreerd? [Y / n] Y Testdatabase verwijderen en er toegang toe hebben? [Y / n] Y Herlaad voorrechtstabellen nu? [Y / n] Y
MariaDB root-wachtwoord is geconfigureerd.
Nu gaan we een nieuwe database en gebruiker maken voor de installatie van SuiteCRM. Maak een database aan met de naam 'suitecrm_db', en een nieuwe gebruiker 'crmadmin' met het wachtwoord 'hakase-labs123'. Maak verbinding met de mysql-shell en voer de volgende mysql-queries uit.
mysql -u root -p
Voer je wachtwoord in:
CREATE DATABASE suitecrm_db;
CREER GEBRUIKER 'crmadmin' @ 'localhost' GEÏDENTIFICEERD DOOR 'hakase-labs123';
VERLEEN ALLE PRIVILEGES OP suitecrm_db. * AAN 'crmadmin' @ 'localhost';
VOORRECHTEN VOOR FLU'S;
MariaDB-databaseconfiguratie voor SuiteCRM-installatie is voltooid.
Stap 4 - Download en configureer SuiteCRM
In deze stap zullen we een aantal taken uitvoeren om het systeem voor te bereiden op SuiteCRM-installatie. We zullen de SuiteCRM-broncode downloaden, UFW Firewall configureren, Letsencrypt-certificaten genereren en nginx virtual host configureren voor SuiteCRM.
- Download SuiteCRM-broncode
De sourceCRM-broncode is beschikbaar op Github. Zorg ervoor dat de opdracht git op uw systeem is geïnstalleerd. Of als je geen git-pakket hebt, installeer het dan met de onderstaande apt-opdracht.
apt install -y git
Ga nu naar de map '/ opt' en kloon de repository met het volgende git clone-commando.
cd / opt /
git clone https://github.com/salesagility/SuiteCRM.git suitecrm
Ga naar de map suitecrm en maak een nieuwe 'cache'-map aan. Verander vervolgens de toestemming van sommige bestanden en mappen, en tot slot moeten we de eigendomsrechten voor de map 'suitecrm' wijzigen in 'www-data' gebruiker en groep.
cd / opt / suitecrm
mkdir -p / opt / suitecrm / cache
chmod -R 775 cache aangepaste modules thema's data upload config_override.php
chown www-data: www-data -R / opt / suitecrm
SuiteCRM-broncode is gedownload.
- Configureer UFW Firewall
Op Ubuntu zullen we de ufw-firewall gebruiken. Open nieuwe poorten HTTP, HTTPS en SSH met de ufw-opdrachten zoals hieronder weergegeven.
ufw sta ssh toe
ufw staat http toe
ufw staat https toe
Start nu de firewall en laat deze elke keer opstarten bij het opstarten van het systeem met de opdracht ufw enable.
ufw inschakelen
Typ 'y' en druk op Enter om de firewall in te schakelen.
Als u de status van de firewall wilt controleren, gebruikt u de opdracht ufw-status.
ufw-status
En u krijgt de status van de firewall inclusief welke poorten u hebt toegevoegd.
- Genereer Letsencrypt-certificaten
In deze zelfstudie gebruikt SuiteCRM HTTPS voor een meer beveiligde verbinding tussen client en server. Voor dit doel zullen we het gratis SSL-certificaat van Letsencrypt gebruiken.
Voordat we certificaatbestanden genereren, moeten we de letsencrypt client-agent op het systeem installeren. Het is beschikbaar in de Ubuntu-repository, dus installeer het met de onderstaande apt-opdracht.
apt install -y letsencrypt
Na het installeren van letsencrypt, moeten we de nginx-service stoppen voordat we certificaatbestanden kunnen genereren.
systemctl stop nginx
Genereer nu SSL-certificaatbestanden met de onderstaande letsencrypt-opdracht.
letsencrypt alleen -standalone -d suitecrm.hakase-labs.co
Opmerking: De -standalone optie maakt een tijdelijke webserver op het systeem, dus we moeten de Nginx-webserver stoppen voordat we certificaatbestanden genereren.
U wordt gevraagd naar uw e-mailadres voor de verlengingsmelding. Typ uw e-mailadres en klik op 'OK'.
Kies voor de Letsencrypt-overeenkomst 'Akkoord' en druk op Enter.
Nieuwe Letsencrypt SSL is gegenereerd in de map '/etc/letsencrypt/live/domain.com'.
- Configureer Nginx Virtual host voor SuiteCRM
Ga naar de configuratiemap van Nginx en maak een nieuw virtueel hostbestand 'suitecrm' aan in de map 'sites-beschikbaar'.
cd / etc / nginx
vim sites beschikbaar / suitecrm
Plak daar de volgende Nginx-configuratie.
# Server Config - hakase-labs-server {luister 80; servernaam suitecrm.hakase-labs.co; # Automatisch omleiden naar HTTPS retourneer 301 https: // $ host $ request_uri; } # Nginx SSL voor SuiteCRM-server {servernaam suitecrm.hakase-labs.co; # HTTP2 inschakelen luister 443 http2 ssl; # SSL Config ssl_certificate /etc/letsencrypt/live/suitecrm.hakase-labs.co/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/suitecrm.hakase-labs.co/privkey.pem; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HOOG:! aNULL:! MD5; client_max_body_size 50M; index index.php index.html index.htm; root / opt / suitecrm; locatie / {root / opt / suitecrm; index index.php index.html index.htm; } error_page 500 502 503 504 /50x.html; error_log /var/log/nginx/suitecrm.irsyadf.me.error.log; location = /50x.html {root / var / www / html; } ## Afbeeldingen en statische inhoud worden op een andere locatie behandeld ~ * ^. +. (Jpg | jpeg | gif | css | png | js | ico | xml | svg | wgoff2) $ {access_log off; vervalt max; root / opt / suitecrm; } locatie ~ .php $ {try_files $ uri = 404; fastcgi_pass unix: /run/php/php7.0-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name; include fastcgi_params; } locatie ~ /.ht {ontken alles; }}
Opslaan en afsluiten.
Activeer nu de virtuele host, test de configuratie en controleer of er geen fout is. Start vervolgens de webserver opnieuw op.
ln -s / etc / nginx / sites-beschikbaar / suitecrm / etc / nginx / sites-enabled /
nginx -t
systemctl herstart nginx
De systeemconfiguratie voor SuiteCRM-installatie is voltooid.
Stap 5 - SuiteCRM Web Installer
Open uw webbrowser en typ de SuiteCRM-URL in de adresbalk, de mijne is suitecrm.hakase-labs.co
U wordt doorgestuurd naar de HTTPS-verbinding en de install.php-pagina.
Op de pagina die verschijnt, ziet u de GNU AFFERO-licentie - vink 'Ik accepteer' aan en klik op 'Volgende'.
Nu krijgt u de pagina over de systeemomgeving voor SuiteCRM-installatie.
Zorg ervoor dat alle resultaten 'OK' zijn, zoals weergegeven in de onderstaande afbeelding.
Klik op 'volgende' om door te gaan.
Vervolgens komt de database- en admin-gebruikersconfiguratie. Typ uw database-info, dbname 'suitecrm_db', dbuser 'crmadmin' met wachtwoord 'hakase-labs123'. En typ uw admin-gebruiker, wachtwoord en e-mailadres zoals hieronder weergegeven.
Scrol naar beneden en klik op 'Volgende' om door te gaan met het installeren van SuiteCRM.
Wacht even op de installatie en wanneer deze is voltooid, wordt u doorgestuurd naar de inlogpagina zoals hieronder.
Typ uw admin-gebruiker en wachtwoord en klik op de knop 'Inloggen'.
Nu kunt u het standaard SuiteCRM-dashboard zien.
SuiteCRM is geïnstalleerd met de Nginx-webserver op het Ubuntu 16.04-systeem.
Stap 6 - Laatste stappen
Voor deze laatste stap zullen we een nieuwe Cron-taak maken onder www-data-gebruiker.
Voer de onderstaande opdracht uit om een nieuwe Cron-taak toe te voegen.
sudo crontab -e -u www-data
Plak de Cron-scriptconfiguratie hieronder.
* * * * * cd / opt / suitecrm; php -f cron.php> / dev / null 2> & 1
Opslaan en afsluiten. Start vervolgens de Cron-service opnieuw.
systemctl herstart cron
De SuiteCRM-installatie op Ubuntu 16.04 is voltooid.