Hvordan installere OroCRM på CentOS 7

OroCRM er en gratis og åpen kildekode Customer Relationship Manager (CRM)-applikasjon bygget på OroPlatform. OroPlatform er fullt tilpassbar åpen kildekode-programvare for forretningsapplikasjonsplattformer. OroPlatform gir deg alle funksjonene som kreves for å lage en tilpasset applikasjon. OroCRM er bygget ved hjelp av PHP Symfony-rammeverket og lagrer dataene i MySQL/MariaDB-databaseserveren. Det er en bedriftsklar CRM-applikasjon som tilbyr tonnevis av funksjoner. Den integreres også med mange tredjepartsapplikasjoner som Magento Store, MailChimp, Zendesk osv. Den er flerspråklig og har et fullt responsivt brukergrensesnitt, som gir deg muligheten til å administrere det ved hjelp av mobile enheter også.

Forutsetninger

I denne opplæringen vil vi bruke crm.example.comsom domenenavnet som pekte til serveren. Erstatt alle forekomster av crm.example.commed ditt faktiske domenenavn.

Oppdater basissystemet ditt ved å bruke veiledningen Hvordan oppdatere CentOS 7 . Når systemet ditt har blitt oppdatert, fortsett å installere de nødvendige avhengighetene.

Installer Nginx og PHP 7

OroCRM kan installeres på hvilken som helst produksjonswebserver som støtter PHP. OroCRM støtter alle versjoner av PHP større enn 7.0. I denne opplæringen vil vi bruke Nginx med PHP-FPM og PHP 7.1.

Installer Nginx.

sudo yum -y install nginx

Start Nginx og aktiver den automatisk ved oppstart.

sudo systemctl start nginx
sudo systemctl enable nginx

PHP 7 er ikke tilgjengelig i standard YUM-depot, men vi kan bruke Remi-depotet til å skaffe og installere de nyeste versjonene av PHP 7. Først legger du til og aktiverer Remi-depotet.

sudo rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum -y install yum-utils
sudo yum-config-manager --enable remi-php71

Installer den nyeste versjonen av PHP 7 sammen med PHP-modulene som kreves av OroCRM.

sudo yum -y install php php-fpm php-ctype php-curl php-fileinfo php-gd php-intl php-json php-mbstring php-mcrypt php-mysql php-pcre php-simplexml php-tokenizer php-xml php-zip php-tidy php-soap php-opcache php-posix

Rediger standard PHP-konfigurasjonsfilen.

sudo nano /etc/php.ini

Finn følgende linjer. Fjern kommentarer og gjør endringer som vist.

date.timezone = Asia/Kolkata
;Replace "Asia/Kolkata" with your appropriate timezone

memory_limit = 512M
cgi.fix_pathinfo=0

Rediger PHP-FPM-konfigurasjonsfilen.

sudo nano /etc/php-fpm.d/www.conf

Som standard er PHP-FPM konfigurert til å kjøre med Apache og lytte til porten 9000. Vi må endre brukeren og gruppen, samt Unix-socket-filen som den skal kjøres på. Finn følgende linjer og gjør nødvendige endringer som vist.

user = nginx
group = nginx

;listen = 127.0.0.1:9000
;Comment out or remove the above line and add the following line.
listen = /var/run/php-fpm/php-fpm.sock

listen.owner = nobody
listen.group = nobody

Start PHP-FPM og la den starte ved oppstart.

sudo systemctl start php-fpm
sudo systemctl enable php-fpm

Gi eierskap til PHP-FPM socket-fil til Nginx-bruker.

sudo chown nginx:nginx /var/run/php-fpm/php-fpm.sock

Installer MariaDB

MariaDB er en åpen kildekode-gaffel av MySQL. Installer MariaDB.

sudo yum -y install mariadb mariadb-server

Start MariaDB og la den automatisk starte ved oppstart.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Standardinstallasjonen av MariaDB kommer med noen få testdatabaser og anonyme brukere. Før du konfigurerer databasen, må du sikre MariaDB-serveren først. Du kan sikre det ved å kjøre mysql_secure_installationskriptet.

sudo mysql_secure_installation

Du vil bli bedt om det gjeldende MariaDB-rotpassordet. Som standard er det ikke noe root-passord i en fersk MariaDB-installasjon. Trykk på Entertasten for å fortsette. Angi et sterkt passord for rotbrukeren til MariaDB-serveren din og svar Ypå alle de andre spørsmålene. Spørsmålene som stilles er selvforklarende.

Opprett databasen for OroCRM

Logg på MySQL-skallet som root-bruker ved å kjøre.

mysql -u root -p

Oppgi passordet for MariaDB-rotbrukeren for å logge på.

Kjør følgende spørringer for å opprette en database og en databasebruker for OroCRM-installasjon.

CREATE DATABASE oro_data;
CREATE USER 'oro_user'@'localhost' IDENTIFIED BY 'StrongPassword';
GRANT ALL PRIVILEGES ON oro_data.* TO 'oro_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Du kan erstatte databasenavnet oro_dataog brukernavnet oro_useretter eget valg. Pass på å endre StrongPasswordtil et veldig sterkt passord.

Installer Node.js og Composer

OroCRM krever også Node.js JavaScript-kjøretid. Node.js vil bli brukt av OroCRM for å kompilere JavaScript, som brukes til å bygge brukergrensesnittet til applikasjonen. Standarddepotet til CentOS inneholder en utdatert versjon av Node.js, så du må legge til Nodesource-depotet til systemet ditt for å få den nyeste versjonen.

sudo curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -

Installer Node.js og Git.

sudo yum -y install nodejs git

Git vil bli brukt til å klone OroCRM-depotet fra internett. Du må også installere Composer. Composer er et avhengighetsbehandlingsverktøy for PHP-applikasjoner. Fordi OroCRM er skrevet i Symfony-rammeverket, trenger du Composer for å installere avhengighetene og applikasjonen.

Installer Composer.

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"

Flytt Composer til /usr/binkatalogen slik at den kan kjøres fra hvor som helst i systemet.

sudo mv composer.phar /usr/bin/composer

Gi utførelsestillatelse til komponisten.

sudo chmod +x /usr/bin/composer

Installer OroCRM

Det er mange måter å laste ned OroCRM på serveren din. Den mest hensiktsmessige måten å få den mest oppdaterte versjonen på er å klone depotet gjennom Git.

Klon OroCRM-depotet.

cd /usr/share/nginx/
sudo git clone -b 2.3 https://github.com/oroinc/crm-application.git orocrm

Kopier eksempelfilen parameterstil standardfilen parameterssom brukes av OroCRM.

cd orocrm
sudo cp app/config/parameters.yml.dist  app/config/parameters.yml

Før du kan fortsette videre, må du oppdatere parameters.ymlfilen for å gi database- og e-postinformasjon.

sudo nano app/config/parameters.yml

Finn følgende linjer.

database_driver:   pdo_mysql
database_host:     127.0.0.1
database_port:     ~
database_name:     oro_crm
database_user:     root
database_password: ~

Oppdater konfigurasjonen ovenfor i henhold til databasen du har opprettet for å lagre OroCRM-data. I vårt tilfelle skal det se slik ut.

database_driver:   pdo_mysql
database_host:     127.0.0.1
database_port:     3306
database_name:     oro_data
database_user:     oro_user
database_password: StrongPassword

If you have an SMTP server ready and you wish to use email sending features immediately, you can update the mailer settings as shown.

mailer_transport:  smtp
mailer_host:       mail.example.com
mailer_port:       456
mailer_encryption: ssl
mailer_user:       [email protected]
mailer_password:   EMailPassword

If you do not have a mail server ready, you can skip it for now by leaving the existing values. You can always change email configuration through the dashboard.

Set a random string in secret by replacing ThisTokenIsNotSoSecretChangeIt. A random string is required to encode the session data. An example string will look like this.

secret:            uxvpXHhDxCFc9yU1hV1fMwjSoyVUzGh4WBMBBBa3XEgrRUF5OuB2h8iNl9JRDqcd

You can generate a random string using the pwgen utility. Install pwgen utility by running sudo yum -y install pwgen. To generate a random string, run pwgen -s 64 1.

Save the file and exit from the editor. Install the required PHP dependencies through composer.

sudo composer install --prefer-dist --no-dev

Using --no-dev will ensure that the Composer only installs the dependencies required to run the web server in production mode. The script will take a few minutes to download and install the required PHP dependencies.

Install the application.

sudo php app/console oro:install --env=prod

This will build the web cache and write the database. The --env=prod parameter is provided to install the application in production mode. The installation will only proceed if all the required dependencies are installed and configured.

During the installation, you will be asked few questions for setting up the administrator account. The questions are as follows.

Administration setup.
Application URL (http://localhost): http://crm.example.com
Organization name (OroCRM): My Organization
Username (admin):
Email: [email protected]
First name: John
Last name: Doe
Password:
Load sample data (y/n): y

Provide the information. Load the sample data to evaluate the product before using it for production.

Warm up the API documentation cache:

sudo php app/console oro:api:doc:cache:clear

Configuring Nginx, Firewall and Permissions

Opprett en Nginx-serverblokkfil for å servere applikasjonen til brukerne.

sudo nano /etc/nginx/conf.d/orocrm.conf

Fyll ut filen.

server {
    server_name crm.example.com;
    root  /usr/share/nginx/orocrm/web;

    location / {
        # try to serve file directly, fallback to app.php
        try_files $uri /app.php$is_args$args;
    }

    location ~ ^/(app|app_dev|config|install)\.php(/|$) {
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param HTTPS off;
    }

    # Enable Gzip compression
    gzip on;
    gzip_buffers 16 8k;
    gzip_comp_level 5;
    gzip_disable "msie6";
    gzip_min_length 1000;
    gzip_http_version 1.0;
    gzip_proxied any;
    gzip_types text/plain application/javascript application/x-javascript text/javascript text/xml text/css image/svg+xml;
    gzip_vary on;    

    # Enable browser caching
    # One week for javascript and css
     location ~* \.(?:css|js) {
       expires 1w;
       access_log off;
       add_header Cache-Control public;
     }

     # Three weeks for media: images, fonts, icons, video, audio etc.
     location ~* \.(?:jpg|jpeg|gif|png|ico|tiff|woff|eot|ttf|svg|svgz|mp4|ogg|ogv|webm|swf|flv)$ {
       expires 3w;
       access_log off;
       add_header Cache-Control public;
     }

    error_log /var/log/nginx/orocrm_error.log;
    access_log /var/log/nginx/orocrm_access.log;
}

Pass på at du endrer crm.example.commed ditt faktiske domenenavn. Konfigurasjonen ovenfor inkluderer også konfigurasjonen som kreves for GZip-komprimering og nettleserbufring. Gzip-komprimering komprimerer dataene før de sendes til nettleseren. Aktivering av nettleserbufring lagrer de statiske ressursene i nettbufferen til klientdatamaskinen. Neste gang brukeren går inn på nettstedet, lastes det meste av det statiske innholdet fra brukerens egen nettbuffer. Disse to metodene øker hastigheten på applikasjonen dramatisk.

Sjekk Nginx-konfigurasjonsfilen for eventuelle feil.

sudo nginx -t

Utgangen skal se slik ut.

[user@vultr ~]$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Gi eierskapet til OrOCRM-filene til Nginx-brukeren.

sudo chown -R nginx:nginx /usr/share/nginx/orocrm

Start Nginx på nytt for å bruke den nye konfigurasjonen.

sudo systemctl restart nginx

Hvis du kjører en brannmur på serveren din, må du konfigurere brannmuren til å angi et unntak for HTTP-tjenesten. Tillat Nginx å koble til fra utenfor nettverket.

sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --zone=public --permanent --add-service=https
sudo firewall-cmd --reload

Du kan nå få tilgang til applikasjonen på http://crm.example.com. Logg på med administratorbrukernavnet og passordet du har angitt under installasjonen.

Sett opp planlagte oppgaver og bakgrunnsjobber

For å kjøre de planlagte oppgavene automatisk kan du legge til en Cron-jobboppføring. Åpne crontab.

sudo crontab -e

Legg til følgende linje i filen.

*/1 * * * * /usr/bin/php /usr/share/nginx/orocrm/app/console oro:cron --env=prod > /dev/null

Dette vil kjøre cron-jobben hvert minutt slik at de planlagte oppgavene som e-postkøer behandles tidligst.

Du må også konfigurere Supervisor for å kjøre Message Queue-tjenesten. Det kreves at minst én prosess kjører til enhver tid for at en forbruker skal behandle meldingene. En forbruker kan normalt avbryte meldingsprosessen på mange måter. For å sikre at tjenesten kjører kontinuerlig, vil vi bruke veiledertjenesten. Vi vil konfigurere Supervisor til å kjøre fire prosesser parallelt. Hvis noen av de fire prosessene stoppes av en eller annen grunn, vil veilederen prøve å starte den på nytt.

Installer Supervisor.

sudo yum -y install supervisor

Rediger Supervisor-konfigurasjonsfilen.

sudo nano /etc/supervisord.conf

Legg til følgende linjer på slutten av filen.

[program:oro_message_consumer]
command=/usr/bin/php /usr/share/nginx/orocrm/app/console --env=prod --no-debug oro:message-queue:consume
process_name=%(program_name)s_%(process_num)02d
numprocs=4
autostart=true
autorestart=true
startsecs=0
user=nginx
redirect_stderr=true

Start og aktiver Supervisor for å starte automatisk ved oppstart.

sudo systemctl start supervisord
sudo systemctl enable supervisord

Du kan se statusen til prosessene ved å kjøre følgende.

sudo supervisorctl status

Du bør se at prosessene kjører.

[user@vultr ~]$ sudo supervisorctl status
oro_message_consumer:oro_message_consumer_00   RUNNING   pid 13596, uptime 0:02:13
oro_message_consumer:oro_message_consumer_01   RUNNING   pid 13595, uptime 0:02:13
oro_message_consumer:oro_message_consumer_02   RUNNING   pid 13594, uptime 0:02:13
oro_message_consumer:oro_message_consumer_03   RUNNING   pid 13593, uptime 0:02:13

OroCRM er nå installert på serveren din. Du kan nå bruke applikasjonen til å administrere rutineoppgavene til organisasjonen din. For å lære mer om OroCRM, kan du besøke dets offisielle nettsted .


Leave a Comment

Hvordan sette opp en Tekkit Classic Server på Ubuntu 16.10

Hvordan sette opp en Tekkit Classic Server på Ubuntu 16.10

Bruker du et annet system? Hva er Tekkit Classic? Tekkit Classic er en modpack for spillet alle kjenner og elsker; Minecraft. Den inneholder noe av ver

Opprette en Jekyll-blogg på Ubuntu 16.04

Opprette en Jekyll-blogg på Ubuntu 16.04

Bruker du et annet system? Jekyll er et flott alternativ til WordPress for blogging eller deling av innhold. Det krever ingen databaser, og det er veldig enkelt, jeg

Hvordan installere og konfigurere PHP 7.0 eller PHP 7.1 på Ubuntu 16.04

Hvordan installere og konfigurere PHP 7.0 eller PHP 7.1 på Ubuntu 16.04

PHP og relaterte pakker er de mest brukte komponentene når du distribuerer en webserver. I denne artikkelen vil vi lære hvordan du setter opp PHP 7.0 eller PHP 7.1 o

Slik installerer du Squid Proxy på CentOS

Slik installerer du Squid Proxy på CentOS

Squid er et populært, gratis Linux-program som lar deg lage en webproxy for videresending. I denne veiledningen vil du se hvordan du installerer Squid på CentOS for å gjøre deg om

Slik installerer du Lighttpd (LLMP Stack) på CentOS 6

Slik installerer du Lighttpd (LLMP Stack) på CentOS 6

Introduksjon Lighttpd er en apachegaffel som har som mål å være mye mindre ressurskrevende. Den er lett, derav navnet, og er ganske enkel å bruke. Installer

Sette opp en Yii-applikasjon på Ubuntu 14.04

Sette opp en Yii-applikasjon på Ubuntu 14.04

Yii er et PHP-rammeverk som lar deg utvikle applikasjoner raskere og enklere. Det er enkelt å installere Yii på Ubuntu, som du vil lære nøyaktig

Sett opp din egen DNS-server på Debian/Ubuntu

Sett opp din egen DNS-server på Debian/Ubuntu

Denne opplæringen forklarer hvordan du setter opp en DNS-server ved å bruke Bind9 på Debian eller Ubuntu. Bytt ut ditt-domenenavn.com gjennom hele artikkelen. På th

Konfigurering av statisk nettverk og IPv6 på CentOS 7

Konfigurering av statisk nettverk og IPv6 på CentOS 7

VULTR har nylig gjort endringer på sin side, og alt skal nå fungere bra ut av boksen med NetworkManager aktivert. Skulle du ønske å deaktivere

Endring av Icinga2 for å bruke hoved-/klientmodell på CentOS 6 eller CentOS 7

Endring av Icinga2 for å bruke hoved-/klientmodell på CentOS 6 eller CentOS 7

Icinga2 er et kraftig overvåkingssystem, og når det brukes i en master-klient-modell, kan det erstatte behovet for NRPE-baserte overvåkingskontroller. Mester-klienten

Sett opp Red5 Media Server på Ubuntu 16.04

Sett opp Red5 Media Server på Ubuntu 16.04

Bruker du et annet system? Red5 er en åpen kildekode medieserver implementert i Java som lar deg kjøre Flash flerbrukerapplikasjoner som live streamin

Kompiler og installer Nginx med PageSpeed-modulen på Debian 8

Kompiler og installer Nginx med PageSpeed-modulen på Debian 8

I denne artikkelen vil vi se hvordan du kompilerer og installerer Nginx mainline fra de offisielle kildene til Nginx med PageSpeed-modulen, som lar deg t

Hvordan installere Apache Cassandra 3.11.x på Ubuntu 16.04 LTS

Hvordan installere Apache Cassandra 3.11.x på Ubuntu 16.04 LTS

Bruker du et annet system? Apache Cassandra er et gratis og åpen kildekode NoSQL-databasebehandlingssystem som er designet for å gi skalerbarhet, høy

Slik installerer du Apache Cassandra 3.11.x på CentOS 7

Slik installerer du Apache Cassandra 3.11.x på CentOS 7

Bruker du et annet system? Apache Cassandra er et gratis og åpen kildekode NoSQL-databasebehandlingssystem som er designet for å gi skalerbarhet, høy

Hvordan installere Vanilla Forum på Ubuntu 16.04

Hvordan installere Vanilla Forum på Ubuntu 16.04

Bruker du et annet system? Vanilla forum er en åpen kildekode-forumapplikasjon skrevet i PHP. Det er en fullt tilpassbar, enkel å bruke og støtter ekstern

Hvordan installere Kanboard på Ubuntu 18.04 LTS

Hvordan installere Kanboard på Ubuntu 18.04 LTS

Bruker du et annet system? Introduksjon Kanboard er et gratis og åpen kildekodeprogram for prosjektledelse som er designet for å forenkle og visualisere

Hvordan installere Kanboard på Debian 9

Hvordan installere Kanboard på Debian 9

Bruker du et annet system? Introduksjon Kanboard er et gratis og åpen kildekodeprogram for prosjektledelse som er designet for å forenkle og visualisere

Hvordan installere Gitea på Debian 9

Hvordan installere Gitea på Debian 9

Bruker du et annet system? Gitea er et alternativt åpen kildekode, selvdrevet versjonskontrollsystem drevet av Git. Gitea er skrevet på Golang og er

Hvordan installere Gitea på Ubuntu 18.04

Hvordan installere Gitea på Ubuntu 18.04

Bruker du et annet system? Gitea er et alternativt, selvdrevet versjonskontrollsystem med åpen kildekode drevet av git. Gitea er skrevet på Golang og er

Hvordan installere Thelia 2.3 på Debian 9

Hvordan installere Thelia 2.3 på Debian 9

Bruker du et annet system? Thelia er et åpen kildekodeverktøy for å lage e-business-nettsteder og administrere nettinnhold skrevet i PHP. Thelia kildekode i

Hvordan installere MODX Revolution på en Ubuntu 16.04 LAMP VPS

Hvordan installere MODX Revolution på en Ubuntu 16.04 LAMP VPS

Bruker du et annet system? MODX Revolution er et raskt, fleksibelt, skalerbart, gratis og åpen kildekode, enterprise-grade Content Management System (CMS) skrevet i

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her akkurat i nåtiden I denne bloggen Les hvordan kunstig intelligens-applikasjoner har påvirket ulike sektorer.

DDOS-angrep: en kort oversikt

DDOS-angrep: en kort oversikt

Er du også et offer for DDOS-angrep og forvirret over forebyggingsmetodene? Les denne artikkelen for å løse spørsmålene dine.

Har du noen gang lurt på hvordan hackere tjener penger?

Har du noen gang lurt på hvordan hackere tjener penger?

Du har kanskje hørt at hackere tjener mye penger, men har du noen gang lurt på hvordan tjener de den slags penger? la oss diskutere.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Vil du se revolusjonerende oppfinnelser fra Google og hvordan disse oppfinnelsene forandret livet til alle mennesker i dag? Les deretter til bloggen for å se oppfinnelser fra Google.

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Konseptet med selvkjørende biler som skal ut på veiene ved hjelp av kunstig intelligens er en drøm vi har hatt en stund nå. Men til tross for flere løfter, er de ingen steder å se. Les denne bloggen for å lære mer...

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Ettersom vitenskapen utvikler seg raskt og tar over mye av innsatsen vår, øker også risikoen for å utsette oss for en uforklarlig singularitet. Les hva singularitet kan bety for oss.

Evolusjon av datalagring – infografikk

Evolusjon av datalagring – infografikk

Lagringsmetodene for dataene har vært i utvikling kan være siden fødselen av dataene. Denne bloggen dekker utviklingen av datalagring på grunnlag av en infografikk.

Funksjonaliteter til Big Data Reference Architecture Layers

Funksjonaliteter til Big Data Reference Architecture Layers

Les bloggen for å kjenne ulike lag i Big Data Architecture og deres funksjoner på den enkleste måten.

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

I denne digitaldrevne verden har smarthusenheter blitt en avgjørende del av livet. Her er noen fantastiske fordeler med smarthusenheter om hvordan de gjør livet vårt verdt å leve og enklere.

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

Nylig lanserte Apple macOS Catalina 10.15.4 en tilleggsoppdatering for å fikse problemer, men det ser ut til at oppdateringen forårsaker flere problemer som fører til muring av mac-maskiner. Les denne artikkelen for å lære mer