SuiteCRM installeren met Nginx op Ubuntu 16.04

 

SuiteCRM is een open source CRM (Customer Relationship Management) -software op basis van PHP. Het is een voorbode van de populaire CRM-software 'SugarCRM' en is populairder geworden nadat 'SugarCRM' besloot de ontwikkeling van de gratis versie stop te zetten. SuiteCRM is genomineerd als de beste open source CRM-software op BOSSIE 2015 en 2016.

In deze zelfstudie 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 gebruikt het Ubuntu 16.04-systeem.

Wat we gaan doen

  1. Installeer de Nginx-webserver
  2. Installeren en configureren van PHP-FPM
  3. Installeer en configureer MariaDB
  4. SuiteCRM downloaden en configureren
  5. SuiteCRM Web Installer
  6. 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 werkt onder de standaard HTTP-poort 80. Controleer dit met de opdracht netstat, of u kunt krul gebruiken om de HTTP-statuscode te bekijken.

netstat -plntu
krul -I localhost

Installeer Nginx

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 'cli' als 'fpm' configuratie.

cd / etc / php / 7.0 /

Bewerk php.ini-bestanden.

vim cli / php.ini
vim fpm / php.ini

Wijzig de maximale grootte van de uploadbestandsgrootte. SuiteCRM heeft ten minste 6MB nodig, maar we stellen 100MB in als de waarde.

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.

Installeer PHP

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 zullen we een nieuwe database en gebruiker maken voor SuiteCRM-installatie. Maak een database met de naam 'suitecrm_db' en een nieuwe gebruiker 'crmadmin' met wachtwoord 'hakase-labs123'. Maak verbinding met de mysql-shell en voer de volgende mysql-query's uit.

mysql -u root -p
Voer je wachtwoord in:
CREATE DATABASE suitecrm_db;
CREATE USER 'crmadmin' @ 'localhost' IDENTIFICEED DOOR 'hakase-labs123';
TOESTAAN ALLE VOORRECHTEN OP suitecrm_db. * NAAR 'crmadmin' @ 'localhost';
VOORRECHTEN VOOR FLU'S;

Installeer en configureer de MariaDB-database

MariaDB-databaseconfiguratie voor SuiteCRM-installatie is voltooid.

Stap 4 - SuiteCRM downloaden en configureren

In deze stap zullen we een aantal taken uitvoeren die het systeem voorbereiden voor SuiteCRM-installatie. We zullen de SuiteCRM-broncode downloaden, UFW Firewall configureren, Letsencrypt-certificaten genereren en nginx-virtuele host voor SuiteCRM configureren.

- Download de broncode van SuiteCRM

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 de volgende git clone-opdracht.

cd / opt /
git clone https://github.com/salesagility/SuiteCRM.git suitecrm

Ga naar de suitecrm-map en maak een nieuwe 'cache'-map. Wijzig vervolgens de toestemming van sommige bestanden en mappen en ten slotte 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

Download en installeer 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.

Configureer UFW Firewall

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.

Firewall-status

- Genereren 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 kunnen genereren, moeten we 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 certonly --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 het verlengen van de melding. Typ uw e-mailadres en klik op 'OK'.

Maak het certificaat Let's Encrypt aan

Kies voor de Letsencrypt-overeenkomst 'Akkoord' en druk op Enter.

Accept License Agreement

Nieuwe Letsencrypt SSL is gegenereerd in de directory '/etc/letsencrypt/live/domain.com'.

SSL-certificaat is gegenereerd

- Configureer Nginx Virtual host voor SuiteCRM

Ga naar de Nginx-configuratiemap en maak een nieuw virtueel hostbestand 'suitecrm' in de directory 'sites-available'.

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

Configureer het virtualhost-bestand

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 - schakel het selectievakje 'Ik ga akkoord' in en klik op 'Volgende'.

SuiteCRM Installer

Nu krijgt u de pagina over de systeemomgeving voor SuiteCRM-installatie.

Zorg ervoor dat alle resultaten 'OK' zijn, zoals weergegeven in de onderstaande afbeelding.

Systeem Check

Klik op 'volgende' om door te gaan.

Vervolgens komt de database- en beheerdersgebruikersconfiguratie. Typ uw database-info, dbnaam 'suitecrm_db', dbuser 'crmadmin' met het wachtwoord 'hakase-labs123'. Typ uw admin-gebruiker, wachtwoord en e-mailadres, zoals hieronder weergegeven.

Database- en siteconfiguratie

Scroll naar beneden en klik op 'Volgende' om SuiteCRM te installeren.

Wacht even voor de installatie en wanneer deze is voltooid, wordt u doorgestuurd naar de inlogpagina zoals hieronder.

Inloggen SuiteCRM

Voer je admin-gebruiker en wachtwoord in en klik op de knop 'Inloggen'.

Nu kunt u het standaard SuiteCRM-dashboard zien.

SuiteCRM-dashboard

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.

Referentie

bron

advertenties

Laat een reactie achter

GTranslate Your license is inactive or expired, please subscribe again!