Sådan installeres OroCRM på CentOS 7

OroCRM er en gratis og open source Customer Relationship Manager (CRM) applikation bygget på OroPlatform. OroPlatform er fuldt tilpasselig open source-software til forretningsapplikationsplatforme. OroPlatform giver dig alle de funktioner, der kræves for at skabe en tilpasset applikation. OroCRM er bygget ved hjælp af PHP Symfony framework og gemmer sine data i MySQL/MariaDB databaseserveren. Det er en virksomhedsklar CRM-applikation, der tilbyder tonsvis af funktioner. Den integreres også med mange tredjepartsapplikationer såsom Magento Store, MailChimp, Zendesk osv. Den er flersproget og har en fuldt responsiv brugergrænseflade, som giver dig mulighed for at administrere den også ved hjælp af mobile enheder.

Forudsætninger

I denne vejledning vil vi bruge crm.example.comsom domænenavnet pegede på serveren. Erstat alle forekomster af crm.example.commed dit faktiske domænenavn.

Opdater dit basissystem ved hjælp af vejledningen Sådan opdaterer du CentOS 7 . Når dit system er blevet opdateret, skal du fortsætte med at installere de nødvendige afhængigheder.

Installer Nginx og PHP 7

OroCRM kan installeres på enhver produktionswebserver, der understøtter PHP. OroCRM understøtter alle versioner af PHP større end 7.0. I denne tutorial vil vi bruge Nginx med PHP-FPM og PHP 7.1.

Installer Nginx.

sudo yum -y install nginx

Start Nginx og aktiver den til automatisk at starte ved opstart.

sudo systemctl start nginx
sudo systemctl enable nginx

PHP 7 er ikke tilgængelig i standard YUM repository, men vi kan bruge Remi repository til at hente og installere de seneste builds af PHP 7. Først skal du tilføje og aktivere Remi repository.

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 seneste version af PHP 7 sammen med de PHP-moduler, der kræves af 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-konfigurationsfilen.

sudo nano /etc/php.ini

Find følgende linjer. Fjern kommentarer og foretag ændringer som vist.

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

memory_limit = 512M
cgi.fix_pathinfo=0

Rediger PHP-FPM-konfigurationsfilen.

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

Som standard er PHP-FPM konfigureret til at køre med Apache og til at lytte til porten 9000. Vi bliver nødt til at ændre brugeren og gruppen, samt Unix-socket-filen, som den skal køre på. Find de følgende linjer og foretag de nødvendige ændringer 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 aktiver det til at starte ved opstart.

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

Giv ejerskab af PHP-FPM socket-fil til Nginx-bruger.

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

Installer MariaDB

MariaDB er en open source fork af MySQL. Installer MariaDB.

sudo yum -y install mariadb mariadb-server

Start MariaDB og aktiver den til automatisk at starte ved opstart.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Standardinstallationen af ​​MariaDB kommer med et par testdatabaser og anonyme brugere. Før du konfigurerer databasen, skal du først sikre MariaDB-serveren. Du kan sikre det ved at køre mysql_secure_installationscriptet.

sudo mysql_secure_installation

Du bliver bedt om den aktuelle MariaDB root-adgangskode. Som standard er der ingen root-adgangskode i en ny MariaDB-installation. Tryk på Entertasten for at fortsætte. Indstil en stærk adgangskode til root-brugeren på din MariaDB-server og svar Ypå alle de andre stillede spørgsmål. De stillede spørgsmål er selvforklarende.

Opret databasen til OroCRM

Log ind på MySQL-skallen som root-brugeren ved at køre.

mysql -u root -p

Angiv adgangskoden til MariaDB root-brugeren for at logge ind.

Kør følgende forespørgsler for at oprette en database og en databasebruger til OroCRM-installation.

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 brugernavnet oro_userefter dit valg. Sørg for at skifte StrongPasswordtil en meget stærk adgangskode.

Installer Node.js og Composer

OroCRM kræver også Node.js JavaScript runtime. Node.js vil blive brugt af OroCRM til at kompilere JavaScript, som bruges til at bygge applikationens brugergrænseflade. Standardlageret for CentOS indeholder en forældet version af Node.js, så du bliver nødt til at tilføje Nodesource-lageret til dit system for at få den nyeste version.

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 blive brugt til at klone OroCRM-lageret fra internettet. Du skal også installere Composer. Composer er et afhængighedshåndteringsværktøj til PHP-applikationer. Fordi OroCRM er skrevet i Symfony framework, skal du bruge Composer til at installere afhængighederne og applikationen.

Installer Composer.

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

Flyt Composer til /usr/binbiblioteket, så det kan udføres fra hvor som helst i systemet.

sudo mv composer.phar /usr/bin/composer

Giv udførelsestilladelse til komponisten.

sudo chmod +x /usr/bin/composer

Installer OroCRM

Der er mange måder at downloade OroCRM på din server. Den mest passende måde at få den mest opdaterede version på er at klone depotet gennem Git.

Klon OroCRM-lageret.

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

Kopier eksempelfilen parameterstil standardfilen parameters, der bruges af OroCRM.

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

Før du kan gå videre, skal du opdatere parameters.ymlfilen for at give database- og e-mail-oplysninger.

sudo nano app/config/parameters.yml

Find følgende linjer.

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

Opdater ovenstående konfiguration i henhold til den database, du har oprettet for at gemme OroCRM-data. I vores tilfælde skal det se sådan ud.

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

Hvis du har en SMTP-server klar, og du ønsker at bruge funktionerne til afsendelse af e-mail med det samme, kan du opdatere mailer-indstillingerne som vist.

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

Hvis du ikke har en mailserver klar, kan du springe den over indtil videre ved at forlade de eksisterende værdier. Du kan altid ændre e-mail-konfiguration via dashboardet.

Indstil en tilfældig streng secretved at erstatte ThisTokenIsNotSoSecretChangeIt. En tilfældig streng er påkrævet for at kode sessionsdataene. En eksempelstreng vil se sådan ud.

secret:            uxvpXHhDxCFc9yU1hV1fMwjSoyVUzGh4WBMBBBa3XEgrRUF5OuB2h8iNl9JRDqcd

Du kan generere en tilfældig streng ved hjælp af pwgenhjælpeprogrammet. Installer pwgenhjælpeprogrammet ved at køre sudo yum -y install pwgen. Kør for at generere en tilfældig streng pwgen -s 64 1.

Gem filen og afslut editoren. Installer de nødvendige PHP-afhængigheder gennem 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

Opret en Nginx-serverblokfil for at servere applikationen til brugerne.

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

Udfyld 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;
}

Sørg for at ændre crm.example.commed dit faktiske domænenavn. Ovenstående konfiguration inkluderer også den konfiguration, der kræves til GZip-komprimering og browsercache. Gzip-komprimering komprimerer dataene, før de sendes til browseren. Aktivering af browsercaching gemmer de statiske ressourcer i webcachen på klientcomputeren. Næste gang brugeren tilgår webstedet, indlæses det meste af det statiske indhold fra brugerens egen webcache. Disse to metoder øger hastigheden af ​​applikationen dramatisk.

Tjek Nginx-konfigurationsfilen for eventuelle fejl.

sudo nginx -t

Outputtet skal se ud som følgende.

[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

Giv ejerskabet af OrOCRM-filerne til Nginx-brugeren.

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

Genstart Nginx for at anvende den nye konfiguration.

sudo systemctl restart nginx

Hvis du kører en firewall på din server, skal du konfigurere firewallen til at indstille en undtagelse for HTTP-tjenesten. Tillad Nginx at oprette forbindelse uden for netværket.

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

Du kan nu få adgang til applikationen på http://crm.example.com. Log ind med det administratorbrugernavn og -adgangskode, du har angivet under installationen.

Konfigurer planlagte opgaver og baggrundsjob

For automatisk at køre de planlagte opgaver kan du tilføje en Cron-jobpost. Åben crontab.

sudo crontab -e

Tilføj følgende linje til filen.

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

Dette vil køre cron-jobbet hvert minut, så de planlagte opgaver, såsom e-mail-køer, behandles tidligst.

Du skal også konfigurere Supervisor til at køre Message Queue-tjenesten. Det kræves, at der til enhver tid kører mindst én proces, for at en forbruger kan behandle beskederne. En forbruger kan normalt afbryde meddelelsesprocessen på mange måder. For at sikre, at tjenesten kører kontinuerligt, vil vi bruge Supervisor-tjenesten. Vi vil konfigurere Supervisor til at køre fire processer parallelt. Hvis en af ​​de fire processer stoppes af en eller anden grund, vil Supervisor forsøge at starte den igen.

Installer Supervisor.

sudo yum -y install supervisor

Rediger Supervisor-konfigurationsfilen.

sudo nano /etc/supervisord.conf

Tilføj følgende linjer i slutningen af ​​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 til automatisk at starte ved opstart.

sudo systemctl start supervisord
sudo systemctl enable supervisord

Du kan se status for processerne ved at køre følgende.

sudo supervisorctl status

Du skal se, at processerne kø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 nu installeret på din server. Du kan nu bruge applikationen til at administrere din organisations rutineopgaver. For at lære mere om OroCRM, kan du besøge dets officielle hjemmeside .


Installer Plesk på CentOS 7

Installer Plesk på CentOS 7

Bruger du et andet system? Plesk er et proprietært webhost kontrolpanel, der giver brugerne mulighed for at administrere deres personlige og/eller klienters websteder, databaser

Sådan konfigureres uovervågede opgraderinger på Debian 9 (Stretch)

Sådan konfigureres uovervågede opgraderinger på Debian 9 (Stretch)

Bruger du et andet system? Hvis du køber en Debian-server, bør du altid have de nyeste sikkerhedsrettelser og opdateringer, uanset om du sover eller ej

Sådan installeres Squid Proxy på CentOS

Sådan installeres Squid Proxy på CentOS

Squid er et populært, gratis Linux-program, der giver dig mulighed for at oprette en webproxy til videresendelse. I denne vejledning vil du se, hvordan du installerer Squid på CentOS for at gøre dig

Opsæt din egen DNS-server på Debian/Ubuntu

Opsæt din egen DNS-server på Debian/Ubuntu

Denne vejledning forklarer, hvordan man opsætter en DNS-server ved hjælp af Bind9 på Debian eller Ubuntu. Gennem hele artiklen skal du erstatte dit-domænenavn.com i overensstemmelse hermed. Ved th

Konfigurer Red5 Media Server på Ubuntu 16.04

Konfigurer Red5 Media Server på Ubuntu 16.04

Bruger du et andet system? Red5 er en open source medieserver implementeret i Java, der giver dig mulighed for at køre Flash multi-bruger applikationer såsom live streamin

Sådan installeres Vanilla Forum på Ubuntu 16.04

Sådan installeres Vanilla Forum på Ubuntu 16.04

Bruger du et andet system? Vanilla forum er en open source forumapplikation skrevet i PHP. Det er en fuldt tilpasselig, nem at bruge og understøtter ekstern

Installer Lynis på Debian 8

Installer Lynis på Debian 8

Introduktion Lynis er et gratis, open source-systemrevisionsværktøj, der bruges af mange systemadministratorer til at verificere integriteten og hærde deres systemer. jeg

Sådan installeres Microweber på CentOS 7

Sådan installeres Microweber på CentOS 7

Bruger du et andet system? Microweber er en open source træk og slip CMS og online shop. Microweber-kildekoden er hostet på GitHub. Denne guide vil vise dig

Installation af Microweber på Ubuntu 16.04

Installation af Microweber på Ubuntu 16.04

Bruger du et andet system? Microweber er en open source træk og slip CMS og online shop. Microweber-kildekoden er hostet på GitHub. Denne guide vil vise dig

Sådan installeres Mattermost 4.1 på CentOS 7

Sådan installeres Mattermost 4.1 på CentOS 7

Bruger du et andet system? Mattermost er et open source, selvhostet alternativ til Slack SAAS-meddelelsestjenesten. Med andre ord, med Mattermost er du ca

Sådan installeres dotCMS på Ubuntu 16.04

Sådan installeres dotCMS på Ubuntu 16.04

Bruger du et andet system? DotCMS er et open source, enterprise-grade content management system skrevet i Java. Den indeholder næsten alle nødvendige funktioner

Sådan installeres BigTree CMS på en Fedora 26 LAMP VPS

Sådan installeres BigTree CMS på en Fedora 26 LAMP VPS

Bruger du et andet system? BigTree CMS 4.2 er et hurtigt og let, gratis og open source, enterprise-grade content management system (CMS) med omfattende

Oprettelse af et netværk af Minecraft-servere med BungeeCord på Debian 8, Debian 9 eller CentOS 7

Oprettelse af et netværk af Minecraft-servere med BungeeCord på Debian 8, Debian 9 eller CentOS 7

Hvad skal du bruge En Vultr VPS med mindst 1 GB RAM. SSH-adgang (med root/administrative rettigheder). Trin 1: Installation af BungeeCord Første ting først

Installation af Docker CE på Ubuntu 16.04

Installation af Docker CE på Ubuntu 16.04

Bruger du et andet system? Docker er et program, der gør det muligt at implementere programmer, der køres som containere. Det blev skrevet i det populære Go-programmin

Sådan installeres Golang 1.8.3 på CentOS 7, Ubuntu 16.04 og Debian 9

Sådan installeres Golang 1.8.3 på CentOS 7, Ubuntu 16.04 og Debian 9

Golang er et programmeringssprog udviklet af Google. Takket være sin alsidighed, enkelhed og pålidelighed er Golang blevet en af ​​de mest populære

Lad os kryptere på Plesk

Lad os kryptere på Plesk

Plesk-kontrolpanelet har en meget flot integration til Lets Encrypt. Lets Encrypt er en af ​​de eneste SSL-udbydere, der udleverer certifikater komplet

Lader kryptere på cPanel

Lader kryptere på cPanel

Lets Encrypt er en certifikatmyndighed dedikeret til at levere SSL-certifikater gratis. cPanel har bygget en pæn integration, så du og din klient

Nulstil MySQL Root Password på Debian/Ubuntu

Nulstil MySQL Root Password på Debian/Ubuntu

Hvis du har glemt din MySQL root-adgangskode, kan du nulstille den ved at følge trinene i denne artikel. Processen er ret enkel og fungerer på disse

Sådan installeres GoAccess på Ubuntu 16.04

Sådan installeres GoAccess på Ubuntu 16.04

Bruger du et andet system? GoAccess er en open source weblog-analysator. Du kan bruge det til analyse af logs på realtidsbasis i enten terminalen eller

Sådan installeres YOURLS på CentOS 7

Sådan installeres YOURLS på CentOS 7

YOURLS (Your Own URL Shortener) er en open source URL-forkortelse og dataanalyseapplikation. I denne artikel vil vi dække installationsprocessen

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 lige i nuet I denne blog Læs, hvordan kunstig intelligens-applikationer har påvirket forskellige sektorer.

DDOS-angreb: et kort overblik

DDOS-angreb: et kort overblik

Er du også et offer for DDOS-angreb og forvirret over forebyggelsesmetoderne? Læs denne artikel for at løse dine spørgsmål.

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Du har måske hørt, at hackere tjener mange penge, men har du nogensinde spekuleret på, hvordan tjener de den slags penge? lad os diskutere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Vil du se revolutionerende opfindelser fra Google, og hvordan disse opfindelser ændrede livet for ethvert menneske i dag? Læs derefter til bloggen for at se opfindelser fra Google.

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Konceptet med selvkørende biler til at køre på vejene ved hjælp af kunstig intelligens er en drøm, vi har haft i et stykke tid nu. Men på trods af flere løfter er de ingen steder at se. Læs denne blog for at lære mere...

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Efterhånden som videnskaben udvikler sig i et hurtigt tempo og overtager en stor del af vores indsats, stiger risikoen for at udsætte os selv for en uforklarlig Singularitet. Læs, hvad singularitet kunne betyde for os.

Udvikling af datalagring – Infografik

Udvikling af datalagring – Infografik

Opbevaringsmetoderne for dataene har været under udvikling, kan være siden fødslen af ​​dataene. Denne blog dækker udviklingen af ​​datalagring på basis af en infografik.

Funktioner af Big Data Reference Architecture Layers

Funktioner af Big Data Reference Architecture Layers

Læs bloggen for at kende forskellige lag i Big Data-arkitekturen og deres funktionaliteter på den enkleste måde.

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

I denne digitalt drevne verden er smarte hjemmeenheder blevet en afgørende del af livet. Her er et par fantastiske fordele ved smarte hjemmeenheder om, hvordan de gør vores liv værd at leve og enklere.

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

For nylig udgav Apple macOS Catalina 10.15.4 en supplerende opdatering for at løse problemer, men det ser ud til, at opdateringen forårsager flere problemer, hvilket fører til mursten af ​​mac-maskiner. Læs denne artikel for at lære mere