Como instalar o OroCRM no Ubuntu 16.04

OroCRM é um aplicativo de CRM (Customer Relationship Manager) gratuito e de código aberto desenvolvido no OroPlatform. OroPlatform é um software de plataforma de aplicativos de negócios de código aberto totalmente personalizável. OroPlatform fornece todos os recursos necessários para criar um aplicativo personalizado. O OroCRM é construído usando a estrutura PHP Symfony e armazena seus dados no servidor de banco de dados MySQL / MariaDB. É um aplicativo de CRM pronto para a empresa, oferecendo vários recursos. Ele também se integra a muitos aplicativos de terceiros, como Magento Store, MailChimp, Zendesk e muitos mais. É multilíngue e possui uma interface de usuário totalmente responsiva, que fornece a capacidade de gerenciá-lo usando dispositivos móveis também.

Pré-requisitos

Neste tutorial, usaremos crm.example.comcomo o nome de domínio apontado para o servidor. Substitua todas as ocorrências de crm.example.compelo seu nome de domínio real.

Atualize seu sistema base usando o guia Como atualizar o Ubuntu 16.04 . Depois que seu sistema for atualizado, continue com a instalação das dependências necessárias.

Instale o Nginx e o PHP 7

O OroCRM pode ser instalado em qualquer servidor Web de produção que suporte PHP. OroCRM suporta todas as versões do PHP maiores que 7.0. Neste tutorial, usaremos o Nginx com PHP-FPM e PHP 7.1.

Instale o Nginx.

sudo apt -y install nginx

Inicie o Nginx e permita que ele inicie automaticamente na inicialização.

sudo systemctl start nginx
sudo systemctl enable nginx

O PHP 7.1 não está disponível no aptrepositório padrão . Primeiro, adicione o repositório PPA para PHP.

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

Instale o PHP 7.1 junto com os módulos PHP exigidos pelo OroCRM.

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

Edite o arquivo de configuração PHP carregado.

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

Encontre as seguintes linhas. Remova o comentário e faça as alterações conforme mostrado.

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

cgi.fix_pathinfo=0

Inicie o PHP-FPM e ative-o na inicialização.

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

Instale o MariaDB

MariaDB é um fork de código aberto do MySQL. Adicione o repositório MariaDB 10.2.

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'

Instale o MariaDB.

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

Inicie o MariaDB e ative-o automaticamente na inicialização.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Crie o banco de dados para OroCRM

Efetue login no shell do MySQL como usuário root executando.

mysql -u root -p

Forneça a senha para o usuário root do MariaDB efetuar login.

Execute as seguintes consultas para criar um banco de dados e um usuário de banco de dados para instalação do OroCRM.

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;

Você pode substituir o nome do banco de dados oro_datae o nome de usuário de oro_useracordo com sua escolha. Certifique-se de alterar StrongPasswordpara uma senha muito forte.

Instale o Node.js e o Composer

OroCRM também requer o tempo de execução JavaScript do Node.js. O Node.js será usado pelo OroCRM para compilar o JavaScript, usado para criar a interface do usuário do aplicativo. O repositório padrão do Ubuntu contém uma versão desatualizada do Node.js, portanto, você precisará adicionar o repositório Nodesource ao seu sistema para obter a versão mais recente.

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

Instale o Node.js e o Git.

sudo apt -y install nodejs git

O Git será usado para clonar o repositório OroCRM da Internet. Você também precisará instalar o Composer. O Composer é uma ferramenta de gerenciamento de dependência para aplicativos PHP. Como o OroCRM está escrito na estrutura do Symfony, você precisará do Composer para instalar as dependências e o aplicativo.

Instale o Composer.

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

Mova o Composer para o /usr/bindiretório para que ele possa ser executado de qualquer lugar do sistema.

sudo mv composer.phar /usr/bin/composer

Forneça permissão de execução ao compositor.

sudo chmod +x /usr/bin/composer

Instale o OroCRM

Existem várias maneiras de baixar o OroCRM no seu servidor. A maneira mais apropriada de obter a versão mais atualizada é clonar o repositório através do Git.

Clone o repositório OroCRM.

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

Copie o parametersarquivo de exemplo para o parametersarquivo padrão usado pelo OroCRM.

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

Antes de prosseguir, você precisará atualizar o parameters.ymlarquivo para fornecer informações de banco de dados e email.

sudo nano app/config/parameters.yml

Encontre as seguintes linhas.

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

Atualize a configuração acima de acordo com o banco de dados que você criou para armazenar dados OroCRM. No nosso caso, deve ficar assim.

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

Se você tem um servidor SMTP pronto e deseja usar os recursos de envio de e-mail imediatamente, pode atualizar as configurações do mailer, como mostrado.

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

Se você não tiver um servidor de correio pronto, poderá ignorá-lo por enquanto, deixando os valores existentes. Você sempre pode alterar a configuração do email através do painel.

Defina uma sequência aleatória secretsubstituindo ThisTokenIsNotSoSecretChangeIt. Uma sequência aleatória é necessária para codificar os dados da sessão. Uma sequência de exemplo ficará assim.

secret:            uxvpXHhDxCFc9yU1hV1fMwjSoyVUzGh4WBMBBBa3XEgrRUF5OuB2h8iNl9JRDqcd

Você pode gerar uma sequência aleatória usando o pwgenutilitário Instale pwgenexecutando sudo apt -y install pwgen. Para gerar uma sequência aleatória, execute pwgen -s 64 1.

Salve o arquivo e saia do editor. Instale as dependências necessárias do PHP através do compositor.

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

O uso --no-devgarantirá que o Composer instale apenas as dependências necessárias para executar o servidor da web no modo de produção. O script levará alguns minutos para baixar e instalar as dependências necessárias do PHP.

Instale o aplicativo.

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

Isso criará o cache da web e gravará o banco de dados. O --env=prodparâmetro é fornecido para instalar o aplicativo no modo de produção. A instalação continuará apenas se todas as dependências necessárias estiverem instaladas e configuradas.

Durante a instalação, você será solicitado a fazer algumas perguntas para configurar a conta de administrador. As perguntas são as seguintes.

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

Forneça as informações. Carregue os dados da amostra para avaliar o produto antes de usá-lo para produção.

Aqueça o cache da documentação da API:

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

Configurando Nginx, Firewall e Permissões

Crie um arquivo de bloqueio do servidor Nginx para servir o aplicativo aos usuários.

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

Preencher o arquivo.

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

Certifique-se de alterar o crm.example.comseu nome de domínio real. A configuração acima também inclui a configuração necessária para a compactação GZip e o cache do navegador. A compactação Gzip compacta os dados antes de enviá-los ao navegador. A ativação do cache do navegador armazena os recursos estáticos no cache da web do computador cliente. Na próxima vez que o usuário acessar o site, a maior parte do conteúdo estático será carregada do cache da web do usuário. Esses dois métodos aumentam drasticamente a velocidade do aplicativo.

Habilite o site.

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

Verifique o arquivo de configuração do Nginx quanto a erros.

sudo nginx -t

A saída deve ter a seguinte aparência.

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

Forneça a propriedade dos arquivos OroCRM ao usuário do Nginx.

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

Reinicie o Nginx para aplicar a nova configuração.

sudo systemctl restart nginx

Agora você pode acessar o aplicativo em http://crm.example.com. Efetue login usando o administrador usernamee passwordvocê definiu durante a instalação.

Configurar tarefas agendadas e trabalhos em segundo plano

Para executar automaticamente as tarefas agendadas, você pode adicionar uma entrada de trabalho Cron. Aberto crontab.

sudo crontab -e

Adicione a seguinte linha ao arquivo.

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

Isso executará o trabalho cron a cada minuto, para que as tarefas agendadas, como filas de email, sejam processadas mais cedo.

Você também precisará configurar o Supervisor para executar o serviço Fila de Mensagens. É necessário que pelo menos um processo esteja em execução o tempo todo para um consumidor processar as mensagens. Um consumidor normalmente pode interromper o processo da mensagem de várias maneiras. Para garantir que o serviço esteja em execução continuamente, usaremos o serviço Supervisor. Vamos configurar o Supervisor para executar quatro processos em paralelo. Se algum dos quatro processos for parado por qualquer motivo, o Supervisor tentará iniciá-lo novamente.

Instale o Supervisor.

sudo apt -y install supervisor

Crie um novo arquivo de configuração do Supervisor.

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

Adicione as seguintes linhas ao arquivo.

[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

Inicie e ative o Supervisor para iniciar automaticamente no momento da inicialização.

sudo systemctl restart supervisor
sudo systemctl enable supervisor

Você pode visualizar o status dos processos executando o seguinte.

sudo supervisorctl status

Você deve ver que os processos estão em execução.

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 agora está instalado no seu servidor. Agora você pode usar o aplicativo para gerenciar as tarefas rotineiras da sua organização. Para saber mais sobre o OroCRM, você pode visitar o site oficial .



Leave a Comment

Como instalar a plataforma LiteCart Shopping Cart no Ubuntu 16.04

Como instalar a plataforma LiteCart Shopping Cart no Ubuntu 16.04

LiteCart é uma plataforma de carrinho de compras de código aberto e gratuita escrita em PHP, jQuery e HTML 5. É um software de comércio eletrônico simples, leve e fácil de usar

Configuração inicial segura do servidor Ubuntu 18.04

Configuração inicial segura do servidor Ubuntu 18.04

Introdução Neste tutorial, você aprenderá como configurar um nível básico de segurança em uma nova máquina virtual Vultr VC2 executando o Ubunt

Instalando o McMyAdmin no Ubuntu 14.10

Instalando o McMyAdmin no Ubuntu 14.10

McMyAdmin é um painel de controle do servidor Minecraft usado para administrar seu servidor. Embora o McMyAdmin seja gratuito, há várias edições, algumas das quais são pai

Configurar um TeamTalk Server no Linux

Configurar um TeamTalk Server no Linux

O TeamTalk é um sistema de conferência que permite aos usuários ter conversas de áudio / vídeo de alta qualidade, bate-papo por texto, transferir arquivos e compartilhar telas. É eu

Como instalar e configurar o CyberPanel no servidor CentOS 7

Como instalar e configurar o CyberPanel no servidor CentOS 7

Usando um sistema diferente? Introdução O CyberPanel é um dos primeiros painéis de controle do mercado, tanto de código aberto quanto de OpenLiteSpeed. What thi

Instale o Grafana no Ubuntu 16.04 LTS

Instale o Grafana no Ubuntu 16.04 LTS

Usando um sistema diferente? Introdução O Grafana é um software de código aberto que transforma vários feeds de sistemas como Graphite, Telegraf, um

Instale o phpBB com Apache no Ubuntu 16.04

Instale o phpBB com Apache no Ubuntu 16.04

PhpBB é um programa de boletim de código aberto. Este artigo mostra como instalar o phpBB em cima de um servidor Apache no Ubuntu 16.04. Foi writte

Como instalar o Foreman no Ubuntu 16.04 LTS

Como instalar o Foreman no Ubuntu 16.04 LTS

Usando um sistema diferente? O Foreman é uma ferramenta gratuita e de código aberto que ajuda na configuração e gerenciamento de servidores físicos e virtuais. Forema

Configurar um usuário não root com Sudo Access no Ubuntu

Configurar um usuário não root com Sudo Access no Ubuntu

Ter apenas um usuário, que é root, pode ser perigoso. Então vamos consertar isso. O Vultr nos dá a liberdade de fazer o que quisermos com nossos usuários e servidores

Instale o eSpeak no CentOS 7

Instale o eSpeak no CentOS 7

Usando um sistema diferente? O ESpeak pode gerar arquivos de áudio de conversão de texto em fala (TTS). Isso pode ser útil por vários motivos, como criar seu próprio Turim

Instalando o Fuel CMS no Ubuntu 16.04 LTS

Instalando o Fuel CMS no Ubuntu 16.04 LTS

Usando um sistema diferente? O Fuel CMS é um sistema de gerenciamento de conteúdo baseado em CodeIgniter. Seu código fonte está hospedado no GitHub. Este guia mostra como você pode

Como instalar o Couch CMS 2.0 em um VPS Debian 9 LAMP

Como instalar o Couch CMS 2.0 em um VPS Debian 9 LAMP

Usando um sistema diferente? O Couch CMS é um sistema de gerenciamento de conteúdo (CMS) simples e flexível, gratuito e de código aberto que permite que os web designers

Monitore seus dispositivos usando o LibreNMS no CentOS 7

Monitore seus dispositivos usando o LibreNMS no CentOS 7

Usando um sistema diferente? O LibreNMS é um sistema de monitoramento de rede de código aberto completo. Ele usa o SNMP para obter os dados de diferentes dispositivos. Uma variedade

Como usar o Sudo no Debian, CentOS e FreeBSD

Como usar o Sudo no Debian, CentOS e FreeBSD

Usar um usuário sudo para acessar um servidor e executar comandos no nível raiz é uma prática muito comum entre o Linux e o Unix Systems Administrator. O uso de um sud

Como instalar o RabbitMQ no CentOS 7

Como instalar o RabbitMQ no CentOS 7

Usando um sistema diferente? O RabbitMQ é um intermediário de mensagens de código aberto amplamente usado, escrito na linguagem de programação Erlang. Como um middleware orientado a mensagens

Como ativar o TLS 1.3 no Apache no Fedora 30

Como ativar o TLS 1.3 no Apache no Fedora 30

Usando um sistema diferente? O TLS 1.3 é uma versão do protocolo TLS (Transport Layer Security) publicada em 2018 como um padrão proposto no RFC 8446

Configurando um Chroot no Debian

Configurando um Chroot no Debian

Este artigo ensinará como configurar uma prisão chroot no Debian. Presumo que você esteja usando o Debian 7.x. Se você estiver executando o Debian 6 ou 8, isso pode funcionar, mas

Como instalar o PiVPN no Debian

Como instalar o PiVPN no Debian

Introdução Uma maneira fácil de configurar um servidor VPN no Debian é com o PiVPN. PiVPN é um instalador e wrapper para o OpenVPN. Ele cria comandos simples para você t

Configurar o Nginx-RTMP no CentOS 7

Configurar o Nginx-RTMP no CentOS 7

Usando um sistema diferente? O RTMP é ótimo para veicular conteúdo ao vivo. Quando o RTMP é emparelhado com o FFmpeg, os fluxos podem ser convertidos em várias qualidades. Vultr i

Como instalar e configurar o CyberPanel no Ubuntu 18.04 LTS

Como instalar e configurar o CyberPanel no Ubuntu 18.04 LTS

Usando um sistema diferente? Introdução O CyberPanel é um dos primeiros painéis de controle do mercado, tanto de código aberto quanto de OpenLiteSpeed. What thi

A IA pode lutar contra o aumento do número de ataques de ransomware

A IA pode lutar contra o aumento do número de ataques de ransomware

Os ataques de ransomware estão aumentando, mas a IA pode ajudar a lidar com os vírus de computador mais recentes? AI é a resposta? Leia aqui para saber se é AI boone ou bane

ReactOS: Este é o futuro do Windows?

ReactOS: Este é o futuro do Windows?

ReactOS, um sistema operacional de código aberto e gratuito está aqui com a versão mais recente. Será que ela pode atender às necessidades dos usuários modernos do Windows e derrubar a Microsoft? Vamos descobrir mais sobre esse estilo antigo, mas uma experiência de sistema operacional mais recente.

Fique conectado por meio do aplicativo WhatsApp Desktop 24 * 7

Fique conectado por meio do aplicativo WhatsApp Desktop 24 * 7

O Whatsapp finalmente lançou o aplicativo Desktop para usuários de Mac e Windows. Agora você pode acessar o Whatsapp do Windows ou Mac facilmente. Disponível para Windows 8+ e Mac OS 10.9+

Como a IA pode levar a automação de processos ao próximo nível?

Como a IA pode levar a automação de processos ao próximo nível?

Leia isto para saber como a Inteligência Artificial está se tornando popular entre as empresas de pequena escala e como está aumentando as probabilidades de fazê-las crescer e dar vantagem a seus concorrentes.

A atualização do suplemento do macOS Catalina 10.15.4 está causando mais problemas do que resolvendo

A atualização do suplemento do macOS Catalina 10.15.4 está causando mais problemas do que resolvendo

Recentemente, a Apple lançou o macOS Catalina 10.15.4, uma atualização suplementar para corrigir problemas, mas parece que a atualização está causando mais problemas, levando ao bloqueio de máquinas mac. Leia este artigo para saber mais

13 Ferramentas de Extração de Dados Comerciais de Big Data

13 Ferramentas de Extração de Dados Comerciais de Big Data

13 Ferramentas de Extração de Dados Comerciais de Big Data

O que é um sistema de arquivos de registro no diário e como ele funciona?

O que é um sistema de arquivos de registro no diário e como ele funciona?

Nosso computador armazena todos os dados de uma maneira organizada conhecida como sistema de arquivos Journaling. É um método eficiente que permite ao computador pesquisar e exibir arquivos assim que você clicar em search.https: //wethegeek.com/? P = 94116 & preview = true

Singularidade tecnológica: um futuro distante da civilização humana?

Singularidade tecnológica: um futuro distante da civilização humana?

À medida que a ciência evolui em um ritmo rápido, assumindo muitos de nossos esforços, os riscos de nos sujeitarmos a uma singularidade inexplicável também aumentam. Leia, o que a singularidade pode significar para nós.

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

O impacto da inteligência artificial na saúde 2021

O impacto da inteligência artificial na saúde 2021

A IA na área da saúde deu grandes saltos nas últimas décadas. Portanto, o futuro da IA ​​na área da saúde ainda está crescendo dia a dia.