OroCRM installeren op CentOS 7

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 integreert ook met vele applicaties van derden, zoals Magento Store, MailChimp, Zendesk enz. 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 CentOS 7 updaten . 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 yum -y install nginx

Start Nginx en schakel het automatisch in bij het opstarten.

sudo systemctl start nginx
sudo systemctl enable nginx

PHP 7 is niet beschikbaar in de standaard YUM-repository, maar we kunnen de Remi-repository gebruiken om de nieuwste builds van PHP 7 te verkrijgen en te installeren. Voeg eerst de Remi-repository toe en schakel deze in.

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

Installeer de nieuwste versie van PHP 7 samen met de door OroCRM vereiste PHP-modules.

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

Bewerk het standaard PHP-configuratiebestand.

sudo nano /etc/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

memory_limit = 512M
cgi.fix_pathinfo=0

Bewerk het PHP-FPM-configuratiebestand.

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

Standaard is PHP-FPM geconfigureerd om met Apache te draaien en naar de poort te luisteren 9000. We zullen de gebruiker en de groep moeten veranderen, evenals het Unix-socketbestand waarop het zal worden uitgevoerd. Zoek de volgende regels en breng de nodige wijzigingen aan zoals weergegeven.

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 en schakel het in bij het opstarten.

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

Geef eigendom van het PHP-FPM-socketbestand aan de Nginx-gebruiker.

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

Installeer MariaDB

MariaDB is een open source-vork van MySQL. Installeer MariaDB.

sudo yum -y install mariadb mariadb-server

Start MariaDB en schakel het automatisch in bij het opstarten.

sudo systemctl start mariadb
sudo systemctl enable mariadb

De standaardinstallatie van MariaDB wordt geleverd met een paar testdatabases en anonieme gebruikers. Voordat u de database configureert, moet u eerst de MariaDB-server beveiligen. Je kunt het beveiligen door het mysql_secure_installationscript uit te voeren.

sudo mysql_secure_installation

U wordt gevraagd om het huidige MariaDB-rootwachtwoord. Standaard is er geen root-wachtwoord in een nieuwe MariaDB-installatie. Druk op de Entertoets om door te gaan. Stel een sterk wachtwoord in voor de rootgebruiker van uw MariaDB-server en beantwoord Yalle andere vragen. De gestelde vragen spreken voor zich.

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 CentOS 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://rpm.nodesource.com/setup_8.x | sudo bash -

Installeer Node.js en Git.

sudo yum -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
php -r "unlink('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.3 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 pwgenhulpprogramma door te draaien sudo yum -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

Gebruiken --no-devzorgt ervoor dat de Composer alleen de afhankelijkheden installeert die nodig zijn om de webserver in productiemodus te laten draaien. 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 Organization
Username (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/conf.d/orocrm.conf

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:/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;
}

Zorg ervoor dat u de crm.example.commet 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.

Controleer het Nginx-configuratiebestand op eventuele fouten.

sudo nginx -t

De uitvoer moet er als volgt uitzien.

[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

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

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

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

sudo systemctl restart nginx

Als u een firewall op uw server uitvoert, moet u de firewall configureren om een ​​uitzondering in te stellen voor HTTP-service. Laat Nginx verbinding maken van buiten het netwerk.

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

U heeft nu toegang tot de applicatie op http://crm.example.com. Log in met de gebruikersnaam en het wachtwoord van de beheerder die u tijdens de installatie hebt ingesteld.

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 gestopt, zal de supervisor proberen het opnieuw te starten.

Installeer Supervisor.

sudo yum -y install supervisor

Bewerk het Supervisor-configuratiebestand.

sudo nano /etc/supervisord.conf

Voeg de volgende regels toe aan het einde van 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=nginx
redirect_stderr=true

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

sudo systemctl start supervisord
sudo systemctl enable supervisord

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 ~]$ 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 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.