Hur man installerar OroCRM på CentOS 7

OroCRM är en gratis och öppen källkod för Customer Relationship Manager (CRM)-applikation byggd på OroPlatform. OroPlatform är helt anpassningsbar programvara med öppen källkod för affärsapplikationsplattformar. OroPlatform ger dig alla funktioner som krävs för att skapa en skräddarsydd applikation. OroCRM är byggt med PHP Symfony-ramverket och lagrar dess data i MySQL/MariaDB-databasservern. Det är en företagsklar CRM-applikation som erbjuder massor av funktioner. Den integreras också med många tredjepartsapplikationer som Magento Store, MailChimp, Zendesk etc. Den är flerspråkig och har ett fullt responsivt användargränssnitt, vilket ger dig möjlighet att hantera det även med mobila enheter.

Förutsättningar

I den här handledningen kommer vi att använda crm.example.comsom domännamnet pekade på servern. Ersätt alla förekomster av crm.example.commed ditt faktiska domännamn.

Uppdatera ditt bassystem med hjälp av guiden Hur man uppdaterar CentOS 7 . När ditt system har uppdaterats fortsätter du med att installera de nödvändiga beroenden.

Installera Nginx och PHP 7

OroCRM kan installeras på vilken produktionswebbserver som helst som stöder PHP. OroCRM stöder alla versioner av PHP högre än 7.0. I den här handledningen kommer vi att använda Nginx med PHP-FPM och PHP 7.1.

Installera Nginx.

sudo yum -y install nginx

Starta Nginx och låt den starta automatiskt vid uppstart.

sudo systemctl start nginx
sudo systemctl enable nginx

PHP 7 är inte tillgängligt i standardförvaret YUM, men vi kan använda Remi-förvaret för att skaffa och installera de senaste versionerna av PHP 7. Lägg först till och aktivera Remi-förvaret.

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

Installera den senaste versionen av PHP 7 tillsammans med PHP-modulerna som krävs 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

Redigera PHP-standardkonfigurationsfilen.

sudo nano /etc/php.ini

Hitta följande rader. Avkommentera och gör ändringar som visas.

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

memory_limit = 512M
cgi.fix_pathinfo=0

Redigera PHP-FPM-konfigurationsfilen.

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

Som standard är PHP-FPM konfigurerat för att köras med Apache och att lyssna på porten 9000. Vi kommer att behöva ändra användaren och gruppen, samt Unix-socketfilen som den kommer att köras på. Hitta följande rader och gör nödvändiga ändringar enligt bilden.

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

Starta PHP-FPM och låt den starta vid uppstart.

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

Ge Nginx-användare ägande av PHP-FPM-socketfilen.

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

Installera MariaDB

MariaDB är en öppen källkodsgaffel av MySQL. Installera MariaDB.

sudo yum -y install mariadb mariadb-server

Starta MariaDB och låt den starta automatiskt vid uppstart.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Standardinstallationen av MariaDB kommer med några testdatabaser och anonyma användare. Innan du konfigurerar databasen måste du först säkra MariaDB-servern. Du kan säkra det genom att köra mysql_secure_installationskriptet.

sudo mysql_secure_installation

Du kommer att bli ombedd att ange det aktuella MariaDB root-lösenordet. Som standard finns det inget root-lösenord i en ny MariaDB-installation. Tryck på Enterknappen för att fortsätta. Ställ in ett starkt lösenord för rotanvändaren på din MariaDB-server och svara Ypå alla andra frågor som ställs. Frågorna som ställs är självförklarande.

Skapa databasen för OroCRM

Logga in på MySQL-skalet som rotanvändare genom att köra.

mysql -u root -p

Ange lösenordet för MariaDB root-användaren att logga in.

Kör följande frågor för att skapa en databas och en databasanvändare för 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 ersätta databasnamnet oro_dataoch användarnamnet oro_userenligt ditt val. Se till att byta StrongPasswordtill ett mycket starkt lösenord.

Installera Node.js och Composer

OroCRM kräver också Node.js JavaScript-runtime. Node.js kommer att användas av OroCRM för att kompilera JavaScript, som används för att bygga applikationens användargränssnitt. Standardförvaret för CentOS innehåller en föråldrad version av Node.js, så du måste lägga till Nodesource-förrådet till ditt system för att få den senaste versionen.

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

Installera Node.js och Git.

sudo yum -y install nodejs git

Git kommer att användas för att klona OroCRM-förvaret från internet. Du måste också installera Composer. Composer är ett beroendehanterarverktyg för PHP-applikationer. Eftersom OroCRM är skrivet i Symfony-ramverket behöver du Composer för att installera beroenden och applikationen.

Installera Composer.

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

Flytta Composer till /usr/binkatalogen så att den kan köras var som helst i systemet.

sudo mv composer.phar /usr/bin/composer

Ge exekveringstillstånd till kompositören.

sudo chmod +x /usr/bin/composer

Installera OroCRM

Det finns många sätt att ladda ner OroCRM på din server. Det lämpligaste sättet att få den mest uppdaterade versionen är att klona förvaret genom Git.

Klona OroCRM-förvaret.

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

Kopiera parametersexempelfilen till standardfilen som parametersanvänds av OroCRM.

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

Innan du kan gå vidare måste du uppdatera parameters.ymlfilen för att tillhandahålla databas- och e-postinformation.

sudo nano app/config/parameters.yml

Hitta följande rader.

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

Uppdatera ovanstående konfiguration enligt databasen du har skapat för att lagra OroCRM-data. I vårt fall ska det se ut så här.

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

Om du har en SMTP-server redo och du vill använda funktionerna för sändning av e-post omedelbart, kan du uppdatera e-postinställningarna som visas.

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

Om du inte har en e-postserver redo kan du hoppa över den tills vidare genom att lämna de befintliga värdena. Du kan alltid ändra e-postkonfiguration via instrumentpanelen.

Sätt in en slumpmässig sträng secretgenom att ersätta ThisTokenIsNotSoSecretChangeIt. En slumpmässig sträng krävs för att koda sessionsdata. En exempelsträng kommer att se ut så här.

secret:            uxvpXHhDxCFc9yU1hV1fMwjSoyVUzGh4WBMBBBa3XEgrRUF5OuB2h8iNl9JRDqcd

Du kan skapa en slumpmässig sträng med hjälp av pwgenverktyget. Installera pwgenverktyget genom att köra sudo yum -y install pwgen. För att skapa en slumpmässig sträng, kör pwgen -s 64 1.

Spara filen och avsluta redigeraren. Installera nödvändiga PHP-beroenden genom composer.

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

Användning --no-devsäkerställer att Composer endast installerar de beroenden som krävs för att köra webbservern i produktionsläge. Skriptet kommer att ta några minuter att ladda ner och installera de nödvändiga PHP-beroendena.

Installera programmet.

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

Detta kommer att bygga webbcachen och skriva databasen. Den --env=prodparameter som att installera programmet i produktionsläge. Installationen fortsätter endast om alla nödvändiga beroenden är installerade och konfigurerade.

Under installationen kommer du att få några frågor för att ställa in administratörskontot. Frågorna är följande.

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

Ge informationen. Ladda provdata för att utvärdera produkten innan du använder den för produktion.

Värm upp API-dokumentationscachen:

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

Konfigurera Nginx, brandvägg och behörigheter

Skapa en Nginx-serverblockfil för att servera applikationen till användarna.

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

Fyll i 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;
}

Se till att du ändrar crm.example.commed ditt faktiska domännamn. Ovanstående konfiguration inkluderar också den konfiguration som krävs för GZip-komprimering och webbläsarcache. Gzip-komprimering komprimerar data innan den skickas till webbläsaren. Aktivering av webbläsarcache lagrar de statiska resurserna i klientdatorns webbcache. Nästa gång användaren går in på webbplatsen laddas det mesta av det statiska innehållet från användarens egen webbcache. Dessa två metoder ökar hastigheten på applikationen dramatiskt.

Kontrollera Nginx-konfigurationsfilen för eventuella fel.

sudo nginx -t

Utgången ska se ut som följande.

[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

Ge Nginx-användaren äganderätten till OrOCRM-filerna.

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

Starta om Nginx för att tillämpa den nya konfigurationen.

sudo systemctl restart nginx

Om du kör en brandvägg på din server måste du konfigurera brandväggen för att ställa in ett undantag för HTTP-tjänsten. Tillåt Nginx att ansluta utanför nätverket.

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 komma åt applikationen på http://crm.example.com. Logga in med administratörens användarnamn och lösenord som du angav under installationen.

Konfigurera schemalagda uppgifter och bakgrundsjobb

För att automatiskt köra de schemalagda uppgifterna kan du lägga till en Cron-jobbpost. Öppna crontab.

sudo crontab -e

Lägg till följande rad i filen.

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

Detta kommer att köra cron-jobbet varje minut så att de schemalagda uppgifterna som e-postköer bearbetas tidigast.

Du måste också ställa in Supervisor för att köra tjänsten Message Queue. Det krävs att minst en process körs hela tiden för att en konsument ska kunna behandla meddelandena. En konsument kan normalt avbryta meddelandeprocessen på många sätt. För att säkerställa att tjänsten körs kontinuerligt kommer vi att använda oss av Supervisor-tjänsten. Vi kommer att konfigurera Supervisor att köra fyra processer parallellt. Om någon av de fyra processerna stoppas av någon anledning kommer arbetsledaren att försöka starta den igen.

Installera Supervisor.

sudo yum -y install supervisor

Redigera Supervisor-konfigurationsfilen.

sudo nano /etc/supervisord.conf

Lägg till följande rader i slutet 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

Starta och aktivera Supervisor för att starta automatiskt vid uppstart.

sudo systemctl start supervisord
sudo systemctl enable supervisord

Du kan se status för processerna genom att köra följande.

sudo supervisorctl status

Du bör se att processerna körs.

[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 är nu installerat på din server. Du kan nu använda applikationen för att hantera rutinuppgifterna för din organisation. För att lära dig mer om OroCRM kan du besöka dess officiella webbplats .


Installera Plesk på CentOS 7

Installera Plesk på CentOS 7

Använder du ett annat system? Plesk är en egen kontrollpanel för webbhotell som tillåter användare att administrera sina personliga och/eller klienters webbplatser, databaser

Installera Cacti på Debian Jessie

Installera Cacti på Debian Jessie

Introduktion Cacti är ett övervaknings- och grafverktyg med öppen källkod som är helt baserat på RRD-data. Genom Cacti kan du övervaka nästan vilken typ av enhet som helst

Installera Lets Encrypt SSL på One-Click WordPress-appen

Installera Lets Encrypt SSL på One-Click WordPress-appen

Introduktion Lets Encrypt är en certifikatmyndighetstjänst som erbjuder gratis TLS/SSL-certifikat. Installationsprocessen förenklas av Certbot,

Hur man ställer in en Tekkit Classic-server på Ubuntu 16.10

Hur man ställer in en Tekkit Classic-server på Ubuntu 16.10

Använder du ett annat system? Vad är Tekkit Classic? Tekkit Classic är ett modpack för spelet som alla känner och älskar; Minecraft. Den innehåller några av ver

Konfigurera iRedMail på Debian Wheezy

Konfigurera iRedMail på Debian Wheezy

Använder du ett annat system? Den här handledningen visar dig hur du installerar groupware iRedMail på en ny installation av Debian Wheezy. Du bör använda en serve

Hur man installerar och konfigurerar PHP 7.0 eller PHP 7.1 på Ubuntu 16.04

Hur man installerar och konfigurerar PHP 7.0 eller PHP 7.1 på Ubuntu 16.04

PHP och relaterade paket är de mest använda komponenterna när du distribuerar en webbserver. I den här artikeln kommer vi att lära oss hur du ställer in PHP 7.0 eller PHP 7.1 o

Hur man installerar Squid Proxy på CentOS

Hur man installerar Squid Proxy på CentOS

Squid är ett populärt, gratis Linux-program som låter dig skapa en webbproxy för vidarebefordran. I den här guiden ser du hur du installerar Squid på CentOS för att förvandla dig

Hur man installerar Lighttpd (LLMP Stack) på CentOS 6

Hur man installerar Lighttpd (LLMP Stack) på CentOS 6

Inledning Lighttpd är en apachegaffel som syftar till att vara mycket mindre resurskrävande. Den är lätt, därav namnet, och är ganska enkel att använda. Installera

Tre gratis serverkontrollpaneler (snabbinstallation)

Tre gratis serverkontrollpaneler (snabbinstallation)

1. Virtualmin/Webmin Virtualmin är en kraftfull och flexibel kontrollpanel för webbhotell för Linux- och UNIX-system baserad på den välkända Open Source-webbasen

Konfigurera en Yii-applikation på Ubuntu 14.04

Konfigurera en Yii-applikation på Ubuntu 14.04

Yii är ett PHP-ramverk som låter dig utveckla applikationer snabbare och enklare. Att installera Yii på Ubuntu är enkelt, eftersom du kommer att lära dig exakt

Använder skärmen på Ubuntu 14.04

Använder skärmen på Ubuntu 14.04

Screen är ett program som tillåter flera terminalsessioner inom ett fönster. Detta låter dig simulera flera terminalfönster där det ma

Konfigurera din egen DNS-server på Debian/Ubuntu

Konfigurera din egen DNS-server på Debian/Ubuntu

Denna handledning förklarar hur man ställer in en DNS-server med Bind9 på Debian eller Ubuntu. Genomgående i artikeln, byt ut ditt-domännamn.com i enlighet med detta. Vid th

Använda Logrotate för att hantera loggfiler

Använda Logrotate för att hantera loggfiler

Inledning Logrotate är ett Linux-verktyg som förenklar administrationen av loggfiler. Den körs vanligtvis en gång om dagen via ett cron-jobb och hanterar loggbasen

Konfigurera statiskt nätverk och IPv6 på CentOS 7

Konfigurera statiskt nätverk och IPv6 på CentOS 7

VULTR har nyligen gjort ändringar på deras sida, och allt borde nu fungera bra direkt när NetworkManager är aktiverat. Om du vill inaktivera

Ändra Icinga2 för att använda Master/Client Model på CentOS 6 eller CentOS 7

Ändra Icinga2 för att använda Master/Client Model på CentOS 6 eller CentOS 7

Icinga2 är ett kraftfullt övervakningssystem, och när det används i en master-klient-modell kan det ersätta behovet av NRPE-baserade övervakningskontroller. Master-klienten

Konfigurera Red5 Media Server på Ubuntu 16.04

Konfigurera Red5 Media Server på Ubuntu 16.04

Använder du ett annat system? Red5 är en mediaserver med öppen källkod implementerad i Java som låter dig köra Flash fleranvändarapplikationer som livestreamin

Kompilera och installera Nginx med PageSpeed-modulen på Debian 8

Kompilera och installera Nginx med PageSpeed-modulen på Debian 8

I den här artikeln kommer vi att se hur man kompilerar och installerar Nginx mainline från de officiella källorna för Nginx med PageSpeed-modulen, som låter dig t

Hur man installerar Apache Cassandra 3.11.x på Ubuntu 16.04 LTS

Hur man installerar Apache Cassandra 3.11.x på Ubuntu 16.04 LTS

Använder du ett annat system? Apache Cassandra är ett gratis NoSQL-databashanteringssystem med öppen källkod som är designat för att ge skalbarhet, hög

Hur man installerar Apache Cassandra 3.11.x på CentOS 7

Hur man installerar Apache Cassandra 3.11.x på CentOS 7

Använder du ett annat system? Apache Cassandra är ett gratis NoSQL-databashanteringssystem med öppen källkod som är designat för att ge skalbarhet, hög

Hur man installerar Vanilla Forum på Ubuntu 16.04

Hur man installerar Vanilla Forum på Ubuntu 16.04

Använder du ett annat system? Vanilla forum är en open source forumapplikation skriven i PHP. Det är en helt anpassningsbar, enkel att använda och stöder externa

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Artificiell intelligens är inte i framtiden, det är här i nuet I den här bloggen Läs hur Artificiell intelligens-applikationer har påverkat olika sektorer.

DDOS-attacker: En kort översikt

DDOS-attacker: En kort översikt

Är du också ett offer för DDOS-attacker och förvirrad över de förebyggande metoderna? Läs den här artikeln för att lösa dina frågor.

Har du någonsin undrat hur hackare tjänar pengar?

Har du någonsin undrat hur hackare tjänar pengar?

Du kanske har hört att hackare tjänar mycket pengar, men har du någonsin undrat hur de tjänar den typen av pengar? låt oss diskutera.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Vill du se revolutionerande uppfinningar av Google och hur dessa uppfinningar förändrade livet för varje människa idag? Läs sedan till bloggen för att se uppfinningar av Google.

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Konceptet med att självkörande bilar ska ut på vägarna med hjälp av artificiell intelligens är en dröm vi har ett tag nu. Men trots flera löften finns de ingenstans att se. Läs den här bloggen för att lära dig mer...

Technological Singularity: A Distant Future of Human Civilization?

Technological Singularity: A Distant Future of Human Civilization?

När vetenskapen utvecklas i snabb takt och tar över en hel del av våra ansträngningar, ökar också riskerna för att utsätta oss för en oförklarlig singularitet. Läs, vad singularitet kan betyda för oss.

Utveckling av datalagring – Infographic

Utveckling av datalagring – Infographic

Lagringsmetoderna för data har utvecklats kan vara sedan födelsen av data. Den här bloggen tar upp utvecklingen av datalagring på basis av en infografik.

Funktioner för Big Data Reference Architecture Layers

Funktioner för Big Data Reference Architecture Layers

Läs bloggen för att känna till olika lager i Big Data Architecture och deras funktionaliteter på enklaste sätt.

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

I denna digitala värld har smarta hemenheter blivit en avgörande del av livet. Här är några fantastiska fördelar med smarta hemenheter om hur de gör vårt liv värt att leva och enklare.

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

Nyligen släppte Apple macOS Catalina 10.15.4, en tilläggsuppdatering för att åtgärda problem, men det verkar som om uppdateringen orsakar fler problem som leder till att mac-datorer blir murade. Läs den här artikeln för att lära dig mer