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

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.