Introdução ao E-commerce e CRM Self-Hosted com Krayin
No cenário atual de tecnologia, a autonomia sobre os dados e a infraestrutura é um diferencial competitivo crucial para empresas de todos os portes. A migração de soluções SaaS (Software as a Service) para ambientes self-hosted em VPS (Virtual Private Server) permite não apenas o controle total da segurança e conformidade com LGPD, mas também a personalização profunda do sistema conforme as necessidades específicas do negócio. Entre as diversas opções open source disponíveis no mercado, como Odoo, EspoCRM, SuiteCRM, Dolibarr, ERPNext, vTiger e TwentyCRM, o Krayin CRM destaca-se pela sua arquitetura moderna baseada em Laravel, oferecendo uma interface limpa, escalabilidade e funcionalidades robustas para gestão de relacionamento com clientes (CRM) e comércio eletrônico (E-commerce).
Este tutorial técnico guia você pelo processo completo de instalação do Krayin CRM em um servidor Linux Ubuntu. Ao final, você terá um ambiente seguro, otimizado e pronto para operar, comparável em flexibilidade a outras soluções populares como dolibarr instalação ubuntu ou erpnext vps tutorial, mas com a agilidade da stack PHP/Laravel.
Pré-requisitos e Preparação do Servidor
Antes de iniciar a instalação, é fundamental garantir que o servidor VPS esteja atualizado e com as dependências básicas instaladas. Vamos utilizar um ambiente Ubuntu 22.04 LTS (Jammy Jellyfish) como base, pois oferece excelente suporte a versões modernas do PHP e MySQL.
Acesse seu servidor via SSH usando um usuário com privilégios sudo:
ssh user@seu_ip_servidor
O primeiro passo é atualizar o sistema operacional para garantir que todos os pacotes de segurança estejam em dia. Execute os comandos abaixo:
sudo apt update
sudo apt upgrade -y
Agora, instale as ferramentas essenciais de gerenciamento de sistema e compiladores necessários para compilar extensões do PHP e bibliotecas do Composer:
sudo apt install -y software-properties-common curl unzip git htop net-tools
Instalação da Stack LEMP (Linux, Nginx, MySQL, PHP)
O Krayin requer um servidor web (Nginx), um banco de dados relacional (MySQL/MariaDB) e uma versão específica do PHP. Vamos instalar e configurar cada componente.
1. Instalação do Banco de Dados MySQL
O MySQL é o motor de banco de dados recomendado para aplicações Laravel em produção. Instale-o utilizando:
sudo apt install -y mysql-server mysql-client
Após a instalação, execute o script de segurança padrão do MySQL para fortalecer a configuração inicial:
sudo mysql_secure_installation
Siga as instruções na tela: defina uma senha forte para o root, remova usuários anônimos, desative o login remoto do root e remova o banco de dados de teste.
2. Instalação e Configuração do PHP
O Krayin CRM funciona melhor com PHP 8.1 ou 8.2. Adicione o repositório ondrej/php, que é amplamente utilizado no ecossistema Debian/Ubuntu para ter versões mais recentes do PHP:
sudo add-apt-repository ppa:ondrej/php
sudo apt update
Instale o PHP e as extensões necessárias. Estas extensões são críticas para o funcionamento correto de CRUDs, manipulação de imagens, criptografia e suporte multibyte:
sudo apt install -y php8.1-fpm php8.1-common php8.1-mysql php8.1-zip php8.1-gd php8.1-mbstring php8.1-curl php8.1-xml php8.1-bcmath php8.1-intl php8.1-imagick php8.1-redis
Dica técnica: Se você planeja usar filas (queues) para processamento assíncrono de e-mails ou relatórios, a instalação do Redis é altamente recomendada.
3. Instalação do Nginx
O Nginx será nosso servidor web devido ao seu alto desempenho e baixo consumo de recursos em VPS:
sudo apt install -y nginx
Baixando e Configurando o Krayin CRM
Agora que a infraestrutura está pronta, vamos baixar o código fonte do Krayin. Recomendamos instalar via Composer para gerenciar dependências de forma eficiente, similar ao que se faz em um krayin crm laravel vps profissional.
1. Download do Projeto
Crie um diretório para o projeto e clone o repositório oficial:
cd /var/www
sudo mkdir krayin-crm
cd krayin-crm
git clone https://github.com/krayin/laravel-crm.git .
Se preferir baixar apenas a versão estável mais recente sem o histórico do git (para economizar espaço), você pode usar o Composer diretamente:
sudo composer create-project krayin/laravel-crm --prefer-dist
2. Configuração do Banco de Dados
Crie um banco de dados dedicado para o Krayin. Acesse o MySQL como root:
sudo mysql -u root -p
Dentro do prompt do MySQL, execute os seguintes comandos (substitua 'strong_password' por uma senha segura):
CREATE DATABASE krayin_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'krayin_user'@'localhost' IDENTIFIED BY 'strong_password';
GRANT ALL PRIVILEGES ON krayin_db.* TO 'krayin_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
3. Configuração do Arquivo .env
Copie o arquivo de exemplo de configuração e edite-o:
cp .env.example .env
sudo nano .env
No editor, ajuste as seguintes variáveis de ambiente:
- APP_NAME: Defina o nome da sua aplicação.
- APP_ENV: Deve ser
production. - APP_KEY: Não altere este campo agora. O Krayin gera uma chave única automaticamente durante a instalação, mas você pode gerar uma manualmente com
php artisan key:generate. - DB_DATABASE: Defina como
krayin_db. - DB_USERNAME: Defina como
krayin_user. - DB_PASSWORD: Insira a senha definida anteriormente.
Salve o arquivo (Ctrl+O, Enter) e saia (Ctrl+X).
4. Instalação de Dependências PHP
Instale as dependências do Composer no diretório raiz do projeto:
sudo composer install --no-dev --optimize-autoloader
Este processo pode levar alguns minutos, dependendo da velocidade da sua conexão e da CPU do VPS.
Configuração de Permissões e Segurança
A segurança é vital em qualquer instalação self-hosted. O Krayin exige que o usuário do servidor web (geralmente www-data) tenha permissão de escrita nas pastas storage, bootstrap/cache e uploads.
sudo chown -R www-data:www-data /var/www/krayin-crm
sudo find /var/www/krayin-crm -type f -exec chmod 644 {} \;
sudo find /var/www/krayin-crm -type d -exec chmod 755 {} \;
Além disso, defina as permissões específicas para as pastas de armazenamento:
chmod -R 775 storage bootstrap/cache
Criação do Certificado SSL (Let's Encrypt)
Nunca opere um CRM ou E-commerce sem HTTPS. Vamos instalar o Certbot para obter certificados gratuitos do Let's Encrypt.
sudo apt install -y certbot python3-certbot-nginx
Antes de gerar o certificado, precisamos configurar o bloco de servidor no Nginx. Crie um arquivo de configuração:
sudo nano /etc/nginx/sites-available/krayin-crm
Cole a seguinte configuração padrão para Laravel/Krayin:
server {
listen 80;
server_name seu_dominio.com www.seu_dominio.com;
root /var/www/krayin-crm/public;
index index.php index.html;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
error_page 404 /index.php;
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.(?!well-known).* {
deny all;
}
}
Ative o site e teste a configuração:
sudo ln -s /etc/nginx/sites-available/krayin-crm /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
Agora, obtenha o certificado SSL:
sudo certbot --nginx -d seu_dominio.com -d www.seu_dominio.com
Siga as instruções do Certbot para configurar a redirecionamento HTTP para HTTPS.
Rodando a Instalação Final via Artisan
O Krayin utiliza o framework Laravel, que possui uma ferramenta de linha de comando poderosa chamada Artisan. Vamos usar ela para migrar o banco de dados e rodar o instalador interativo.
cd /var/www/krayin-crm
sudo php artisan krayin:install
O script iniciará uma série de perguntas:
- App Name: Nome da aplicação.
- Default User Email: Email do administrador (ex: [email protected]).
- Default User Password: Senha forte para o admin.
- Database Connection: Confirme MySQL.
- Database Host: localhost.
- Database Port: 3306.
- Database Name: krayin_db.
- Database User: krayin_user.
- Database Password: senha do db.
Ao concluir, o sistema estará instalado e o banco de dados populado com as tabelas necessárias.
Otimização de Performance no VPS
Para garantir que o Krayin rode com a mesma velocidade das soluções enterprise como suitecrm self-hosted ou vtiger crm vps, é necessário otimizar o PHP-FPM e o Nginx.
Otimização do PHP-FPM:
Edite o arquivo de pool do PHP:
sudo nano /etc/php/8.1/fpm/pool.d/www.conf
Ajuste as diretrizes pm.max_children, pm.start_servers, pm.min_spare_servers e pm.max_spare_servers conforme a memória RAM disponível no seu VPS. Para um VPS de 2GB, valores como max_children = 10 são um bom ponto de partida.
Otimização do Nginx:
Habilite o gzip compression para reduzir o tamanho dos arquivos transferidos:
sudo nano /etc/nginx/nginx.conf
Dentro do bloco http, adicione:
gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
gzip_vary on;
Agendamento de Tarefas (Cron Jobs)
O Krayin CRM depende de tarefas agendadas para enviar e-mails, gerar relatórios e limpar logs. Configure o Cron do sistema:
sudo crontab -e
Adicione a seguinte linha ao final do arquivo:
* * * * * cd /var/www/krayin-crm && php artisan schedule:run >> /dev/null 2>&1
Conclusão e Próximos Passos
Você concluiu a instalação de um sistema Krayin CRM Laravel VPS robusto e seguro. Este ambiente oferece flexibilidade superior às versões SaaS, permitindo integrações customizadas com ERPs como dolibarr instalação ubuntu ou módulos específicos para erpnext vps tutorial.
Recomenda-se agora:
- Acessar o painel administrativo via
https://seu_dominio.com/admin. - Configurar os gateways de pagamento (Stripe, PayPal) nas configurações do módulo E-commerce.
- Implementar backups automáticos do banco de dados e do diretório
storageusando scripts shell ou ferramentas como BorgBackup.
Com esta base sólida, sua empresa está pronta para escalar operações de CRM e vendas utilizando tecnologia open source de ponta, mantendo o controle total sobre seus dados e infraestrutura.