Hoe OroCRM op Ubuntu 16.04 te installeren

OroCRM is een gratis en open source CRM-applicatie (Customer Relationship Manager) gebouwd op OroPlatform. OroPlatform is volledig aanpasbare open source software voor zakelijke applicatieplatforms. OroPlatform biedt u alle functies die nodig zijn om een ​​applicatie op maat te maken. OroCRM is gebouwd met behulp van het PHP Symfony-framework en slaat zijn gegevens op in de MySQL / MariaDB-databaseserver. Het is een enterprise-ready CRM-applicatie met tal van functies. Het kan ook worden geïntegreerd met veel applicaties van derden, zoals Magento Store, MailChimp, Zendesk en nog veel meer. Het is meertalig en heeft een volledig responsieve gebruikersinterface, die u de mogelijkheid biedt om het ook met mobiele apparaten te beheren.

Vereisten

In deze tutorial gebruiken we crm.example.comde domeinnaam die naar de server verwijst. Vervang alle exemplaren van crm.example.comdoor uw daadwerkelijke domeinnaam.

Update uw basissysteem met behulp van de handleiding Ubuntu 16.04 bijwerken . Zodra uw systeem is bijgewerkt, gaat u verder met het installeren van de vereiste afhankelijkheden.

Installeer Nginx en PHP 7

OroCRM kan worden geïnstalleerd op elke productiewebserver die PHP ondersteunt. OroCRM ondersteunt alle versies van PHP groter dan 7,0. In deze tutorial gebruiken we Nginx met PHP-FPM en PHP 7.1.

Installeer Nginx.

sudo apt -y install nginx

Start Nginx en schakel het automatisch in bij het opstarten.

sudo systemctl start nginx
sudo systemctl enable nginx

PHP 7.1 is niet beschikbaar in de standaardrepository apt. Voeg eerst de PPA-repository voor PHP toe.

sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php

Installeer PHP 7.1 samen met de door OroCRM vereiste PHP-modules.

sudo apt update
sudo apt -y install php7.1 php7.1-fpm php7.1-common php7.1-curl php7.1-gd php7.1-intl php7.1-json php7.1-mbstring php7.1-mcrypt php7.1-mysql php7.1-xml php7.1-xml php7.1-zip php7.1-tidy php7.1-soap php7.1-opcache

Bewerk het geladen PHP-configuratiebestand.

sudo nano /etc/php/7.1/cli/php.ini

Zoek de volgende regels. Maak commentaar en breng wijzigingen aan zoals weergegeven.

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

cgi.fix_pathinfo=0

Start PHP-FPM en schakel het in bij het opstarten.

sudo systemctl start php7.1-fpm
sudo systemctl enable php7.1-fpm

Installeer MariaDB

MariaDB is een open source-vork van MySQL. MariaDB 10.2-opslagplaats toevoegen.

sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://kartolo.sby.datautama.net.id/mariadb/repo/10.2/ubuntu xenial main'

Installeer MariaDB.

sudo apt -y update
sudo apt -y install mariadb-server

Start MariaDB en schakel het automatisch in bij het opstarten.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Maak de database voor OroCRM

Log in op de MySQL-shell als rootgebruiker door te draaien.

mysql -u root -p

Geef het wachtwoord voor de MariaDB-rootgebruiker om in te loggen.

Voer de volgende query's uit om een ​​database en een databasegebruiker te maken voor de OroCRM-installatie.

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;

U kunt de databasenaam oro_dataen gebruikersnaam vervangen oro_usernaar keuze. Zorg ervoor dat u verandert StrongPasswordin een zeer sterk wachtwoord.

Installeer Node.js en Composer

OroCRM vereist ook Node.js JavaScript-runtime. Node.js zal door OroCRM worden gebruikt om JavaScript te compileren, dat wordt gebruikt om de gebruikersinterface van de applicatie te bouwen. De standaardrepository van Ubuntu bevat een verouderde versie van Node.js, dus u zult de Nodesource-repository aan uw systeem moeten toevoegen om de nieuwste versie te verkrijgen.

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

Installeer Node.js en Git.

sudo apt -y install nodejs git

Git wordt gebruikt om de OroCRM-repository van internet te klonen. Je moet ook Composer installeren. Composer is een hulpprogramma voor afhankelijkheidsbeheer voor PHP-toepassingen. Omdat OroCRM in Symfony-framework is geschreven, heeft u Composer nodig om de afhankelijkheden en de toepassing te installeren.

Installeer Composer.

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

Verplaats Composer naar de /usr/bindirectory zodat het overal in het systeem kan worden uitgevoerd.

sudo mv composer.phar /usr/bin/composer

Verleen uitvoeringsrechten aan de Componist.

sudo chmod +x /usr/bin/composer

Installeer OroCRM

Er zijn veel manieren om OroCRM op uw server te downloaden. De meest geschikte manier om de meest bijgewerkte versie te krijgen, is door de repository te klonen via Git.

Kloon de OroCRM-opslagplaats.

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

Kopieer het voorbeeldbestand parametersnaar het standaardbestand parametersdat wordt gebruikt door OroCRM.

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

Voordat u verder kunt gaan, moet u het parameters.ymlbestand bijwerken met database- en e-mailinformatie.

sudo nano app/config/parameters.yml

Zoek de volgende regels.

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

Werk de bovenstaande configuratie bij volgens de database die u hebt gemaakt om OroCRM-gegevens op te slaan. In ons geval zou het er zo uit moeten zien.

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

Als u een SMTP-server gereed heeft en u de functies voor het verzenden van e-mail onmiddellijk wilt gebruiken, kunt u de mailerinstellingen bijwerken zoals weergegeven.

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

Als u geen mailserver bij de hand heeft, kunt u deze voorlopig overslaan door de bestaande waarden te verlaten. U kunt de e-mailconfiguratie altijd wijzigen via het dashboard.

Stel een willekeurige tekenreeks in secretdoor deze te vervangen ThisTokenIsNotSoSecretChangeIt. Er is een willekeurige tekenreeks nodig om de sessiegegevens te coderen. Een voorbeeld string ziet er zo uit.

secret:            uxvpXHhDxCFc9yU1hV1fMwjSoyVUzGh4WBMBBBa3XEgrRUF5OuB2h8iNl9JRDqcd

U kunt met het pwgenhulpprogramma een willekeurige tekenreeks genereren . Installeer pwgendoor te draaien sudo apt -y install pwgen. Voer uit om een ​​willekeurige tekenreeks te genereren pwgen -s 64 1.

Sla het bestand op en verlaat de editor. Installeer de vereiste PHP-afhankelijkheden via Composer.

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

Door te gebruiken --no-devzorgt u ervoor dat Composer alleen de afhankelijkheden installeert die nodig zijn om de webserver in productiemodus uit te voeren. Het duurt enkele minuten voordat het script de vereiste PHP-afhankelijkheden heeft gedownload en geïnstalleerd.

Installeer de applicatie.

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

Dit zal de webcache bouwen en de database schrijven. De --env=prodparameter wordt geleverd om de applicatie in productiemodus te installeren. De installatie gaat alleen verder als alle vereiste afhankelijkheden zijn geïnstalleerd en geconfigureerd.

Tijdens de installatie krijgt u enkele vragen voor het instellen van het beheerdersaccount. De vragen zijn als volgt.

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

Geef de informatie. Laad de voorbeeldgegevens om het product te evalueren voordat u het voor productie gebruikt.

Warm de API-documentatiecache op:

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

Nginx, Firewall en machtigingen configureren

Maak een Nginx-serverblokbestand om de applicatie aan de gebruikers te leveren.

sudo nano /etc/nginx/sites-available/orocrm

Vul het bestand in.

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:/run/php/php7.1-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;
}

Zorg ervoor dat u de crm.example.comnaar uw werkelijke domeinnaam wijzigt . De bovenstaande configuratie bevat ook de configuratie die vereist is voor GZip-compressie en browsercaching. Gzip-compressie comprimeert de gegevens voordat ze naar de browser worden verzonden. Door browsercaching in te schakelen, worden de statische bronnen opgeslagen in de webcache van de clientcomputer. De volgende keer dat de gebruiker de site bezoekt, wordt de meeste statische inhoud geladen vanuit de eigen webcache van de gebruiker. Deze twee methoden verhogen de snelheid van de applicatie aanzienlijk.

Schakel de site in.

sudo ln -s /etc/nginx/sites-available/orocrm /etc/nginx/sites-enabled/orocrm

Controleer het Nginx-configuratiebestand op eventuele fouten.

sudo nginx -t

De uitvoer moet er als volgt uitzien.

user@vultr:/usr/share/nginx/orocrm$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Geef het eigendom van de OroCRM-bestanden aan de Nginx-gebruiker.

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

Start Nginx opnieuw op om de nieuwe configuratie toe te passen.

sudo systemctl restart nginx

U heeft nu toegang tot de applicatie op http://crm.example.com. Log in met de administrator usernameen passwordje hebt ingesteld tijdens de installatie.

Stel geplande taken en achtergrondtaken in

Om de geplande taken automatisch uit te voeren, kunt u een Cron-taakvermelding toevoegen. Open crontab.

sudo crontab -e

Voeg de volgende regel toe aan het bestand.

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

Hierdoor wordt de cron-taak elke minuut uitgevoerd, zodat de geplande taken zoals e-mailwachtrijen zo vroeg mogelijk worden verwerkt.

U moet ook Supervisor instellen om de Message Queue-service uit te voeren. Het is vereist dat er ten minste één proces te allen tijde actief is voordat een consument de berichten kan verwerken. Een consument kan het berichtenproces normaal gesproken op verschillende manieren onderbreken. Om ervoor te zorgen dat de dienst continu draait, gebruiken we de Supervisor-dienst. We zullen Supervisor configureren om vier processen parallel uit te voeren. Als een van de vier processen om welke reden dan ook wordt stopgezet, probeert de supervisor het opnieuw te starten.

Installeer Supervisor.

sudo apt -y install supervisor

Maak een nieuw Supervisor-configuratiebestand.

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

Voeg de volgende regels toe aan het bestand.

[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=www-data
redirect_stderr=true

Start en schakel Supervisor in om automatisch te starten tijdens het opstarten.

sudo systemctl restart supervisor
sudo systemctl enable supervisor

U kunt de status van de processen bekijken door het volgende uit te voeren.

sudo supervisorctl status

Je zou moeten zien dat de processen lopen.

user@vultr:/usr/share/nginx/orocrm$ sudo supervisorctl status
oro_message_consumer:oro_message_consumer_00   RUNNING   pid 20809, uptime 0:00:01
oro_message_consumer:oro_message_consumer_01   RUNNING   pid 20808, uptime 0:00:01
oro_message_consumer:oro_message_consumer_02   RUNNING   pid 20807, uptime 0:00:01
oro_message_consumer:oro_message_consumer_03   RUNNING   pid 20806, uptime 0:00:01

OroCRM is nu geïnstalleerd op uw server. U kunt de applicatie nu gebruiken om de routinetaken van uw organisatie te beheren. Voor meer informatie over OroCRM kunt u de officiële website bezoeken .



Leave a Comment

Kan AI vechten met toenemend aantal ransomware-aanvallen?

Kan AI vechten met toenemend aantal ransomware-aanvallen?

Ransomware-aanvallen nemen toe, maar kan AI helpen het nieuwste computervirus het hoofd te bieden? Is AI het antwoord? Lees hier weten is AI boezem of vloek

ReactOS: is dit de toekomst van Windows?

ReactOS: is dit de toekomst van Windows?

ReactOS, een open source en gratis besturingssysteem is hier met de nieuwste versie. Kan het voldoen aan de behoeften van moderne Windows-gebruikers en Microsoft uitschakelen? Laten we meer te weten komen over deze oude stijl, maar een nieuwere OS-ervaring.

Blijf verbonden via WhatsApp Desktop-app 24 * 7

Blijf verbonden via WhatsApp Desktop-app 24 * 7

WhatsApp heeft eindelijk de Desktop-app voor Mac- en Windows-gebruikers gelanceerd. Nu heb je eenvoudig toegang tot WhatsApp vanuit Windows of Mac. Beschikbaar voor Windows 8+ en Mac OS 10.9+

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Lees dit om te weten hoe kunstmatige intelligentie populair wordt onder de kleinschalige bedrijven en hoe het de kansen vergroot om ze te laten groeien en hun concurrenten voorsprong te geven.

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

Onlangs heeft Apple macOS Catalina 10.15.4 uitgebracht, een aanvullende update om problemen op te lossen, maar het lijkt erop dat de update meer problemen veroorzaakt die ertoe leiden dat mac-machines worden gemetseld. Lees dit artikel voor meer informatie

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

Wat is een logboekbestandssysteem en hoe werkt het?

Wat is een logboekbestandssysteem en hoe werkt het?

Onze computer slaat alle gegevens op een georganiseerde manier op, het zogenaamde Journaling-bestandssysteem. Het is een efficiënte methode waarmee de computer bestanden kan zoeken en weergeven zodra u op zoeken drukt.https://wethegeek.com/?p=94116&preview=true

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Naarmate de wetenschap zich snel ontwikkelt en veel van onze inspanningen overneemt, nemen ook de risico's toe om onszelf te onderwerpen aan een onverklaarbare singulariteit. Lees, wat singulariteit voor ons kan betekenen.

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

AI in de zorg heeft de afgelopen decennia grote sprongen gemaakt. De toekomst van AI in de gezondheidszorg groeit dus nog steeds met de dag.