Se você busca flexibilidade, controle total e escalabilidade para sua loja virtual, a combinação de um **framework e-commerce** robusto como o Bagisto rodando em uma infraestrutura de nuvem é a escolha ideal para desenvolvedores e sysadmins exigentes. O Bagisto é uma solução ecommerce open source baseada no popular Laravel, oferecendo funcionalidades poderosas de gestão de produtos, pedidos e canais de venda sem as taxas mensais pesadas de plataformas SaaS proprietárias.
Migrar para um ambiente self-hosted em uma VPS otimizado permite que você ajuste recursos conforme a demanda, implemente caches personalizados e garanta alta disponibilidade. Neste tutorial, vamos guiar você pelo processo completo de instalar bagisto vps, configurando desde o servidor Linux até a validação final da loja virtual linux.
1. Preparação do Ambiente: Requisitos de Sistema
Antes de iniciar o download e a configuração, é fundamental garantir que sua VPS otimizado atenda aos requisitos técnicos do Bagisto. Como o sistema roda sobre o PHP e utiliza um banco de dados relacional, recursos insuficientes podem causar lentidão crítica durante a indexação de produtos ou processamento de pagamentos.
Recomendamos os seguintes mínimos para um ambiente de produção estável:
- CPU: Mínimo de 2 vCPUs para garantir resposta rápida nas requisições AJAX do painel administrativo.
- RAM: 2 GB ou mais. O processo de compilação do Laravel e a execução do PHP-FPM consomem memória significativamente durante o pico de tráfego.
- Armazenamento: SSD NVMe é preferível para melhorar a velocidade de leitura/gravação das sessões e uploads de mídia.
- Sistema Operacional: Ubuntu 22.04 LTS ou Debian 11/12 são as distribuições mais estáveis e bem documentadas para este setup.
Conecte-se ao seu servidor via SSH usando um usuário com privilégios sudo. A primeira etapa é atualizar o sistema operacional para garantir que todas as bibliotecas base estejam seguras e atualizadas.
sudo apt update && sudo apt upgrade -y
2. Instalação do Stack LEMP (Linux, Nginx, MySQL, PHP)
O Bagisto não possui um servidor web embutido para produção; ele depende de um proxy reverso eficiente. O Nginx é a escolha padrão da indústria por sua baixa latência e alto throughput. Além disso, precisaremos do PHP com extensões específicas e um banco de dados MySQL ou MariaDB.
2.1. Instalando o Banco de Dados
Vamos instalar o MySQL Server, que armazenará todas as informações de clientes, produtos e configurações da sua loja virtual linux.
sudo apt install mysql-server -y
Após a instalação, execute o script de segurança para definir uma senha forte para o root do banco de dados e remover acessos anônimos.
sudo mysql_secure_installation
2.2. Instalando o PHP e Extensões Necessárias
O Bagisto exige várias extensões do PHP para funcionar corretamente, incluindo suporte a JSON, OpenSSL, PDO, Mbstring, XML e Ctype. Instale o PHP 8.1 ou 8.2 (versões recomendadas) junto com o gerenciador de pacotes Composer.
sudo apt install php8.1-fpm php8.1-mysql php8.1-curl php8.1-mbstring php8.1-xml php8.1-gd php8.1-zip php8.1-bcmath php8.1-json php8.1-tokenizer -y
Também é necessário instalar o Composer, a ferramenta de gerenciamento de dependências do PHP.
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
2.3. Instalando e Configurando o Nginx
Instale o servidor web e crie um arquivo de configuração para o seu domínio. Substitua seudominio.com pelo nome real do seu domínio.
sudo apt install nginx -y
sudo nano /etc/nginx/sites-available/bagisto.conf
Cole a seguinte configuração básica no arquivo. Ela define o root do projeto, configura o suporte a PHP-FPM e garante que todas as requisições passem pelo index.php (regra padrão de frameworks MVC).
server {
listen 80;
server_name seudominio.com www.seudominio.com;
root /var/www/bagisto/public;
index index.php index.html;
charset utf8mb4;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
Ative a configuração e teste se há erros de sintaxe antes de reiniciar o serviço.
sudo ln -s /etc/nginx/sites-available/bagisto.conf /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
3. Configuração do Banco de Dados para o Bagisto
Agora que a infraestrutura está pronta, precisamos criar um banco de dados dedicado e um usuário com permissões limitadas para aumentar a segurança da sua hospedagem ecommerce.
sudo mysql -u root -p
Dentro do prompt do MySQL, execute os comandos abaixo. Troque senha_forte_aqui por uma senha complexa.
CREATE DATABASE bagisto_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'bagisto_user'@'localhost' IDENTIFIED BY 'senha_forte_aqui';
GRANT ALL PRIVILEGES ON bagisto_db.* TO 'bagisto_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
4. Deploy Bagisto: Download e Configuração do Projeto
Com o servidor preparado, vamos baixar o código-fonte do bagisto laravel. O método mais limpo é utilizar o Composer para criar um novo projeto a partir do template oficial.
sudo mkdir -p /var/www/bagisto
sudo chown $USER:$USER /var/www/bagisto
cd /var/www/bagisto
composer create-project bagisto/bagisto .
O processo de download pode levar alguns minutos dependendo da sua conexão. Ao final, você terá todos os arquivos necessários na pasta /var/www/bagisto.
4.1. Gerenciamento de Permissões
O Bagisto precisa escrever logs e armazenar arquivos de upload em diretórios específicos. É crucial definir as permissões corretas para evitar erros de "Permission denied" no painel administrativo.
cd /var/www/bagisto
sudo chown -R www-data:www-data storage bootstrap/cache
sudo chmod -R 775 storage bootstrap/cache
4.2. Configuração do Arquivo .env
Copie o arquivo de exemplo e edite as credenciais do banco de dados que criamos anteriormente.
cp .env.example .env
nano .env
Altere os seguintes campos:
DB_CONNECTION=mysqlDB_HOST=127.0.0.1DB_PORT=3306DB_DATABASE=bagisto_dbDB_USERNAME=bagisto_userDB_PASSWORD=senha_forte_aqui
Salve o arquivo e gere a chave de aplicação do Laravel.
php artisan key:generate --force
5. Instalação e Seed do Banco de Dados
Agora, vamos rodar as migrations para criar as tabelas necessárias e popular o banco com dados iniciais (categorias padrão, configurações do sistema, etc.). Isso é feito via Artisan, a ferramenta de linha de comando do Laravel.
php artisan bagisto:install
O script irá solicitar confirmação para instalar as tabelas e os dados. Pressione Enter ou digite 'yes' quando solicitado. Se tudo correr bem, você verá uma mensagem de sucesso indicando que o sistema está pronto.
6. Configuração de Segurança: SSL com Let's Encrypt
Uma loja virtual linux sem HTTPS não deve ser considerada em produção, pois navegadores modernos bloqueiam ou alertam os usuários sobre conexão "não segura". Vamos instalar o certificado SSL gratuito usando Certbot.
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d seudominio.com -d www.seudominio.com
O Certbot detectará automaticamente a configuração do Nginx criada anteriormente e solicitará o email para contato e aceitação dos termos. Em seguida, perguntará se deseja redirecionar todo o tráfego HTTP para HTTPS. Escolha a opção 2 (Redirecionar) para máxima segurança.
7. Otimização de Performance na VPS
Para garantir que seu deploy bagisto tenha alta performance, é necessário ajustar algumas configurações do PHP e do sistema operacional.
7.1. Ajustando o PHP-FPM
Edite o arquivo de pool do PHP-FPM para permitir um número adequado de processos filhos, dependendo da RAM disponível.
sudo nano /etc/php/8.1/fpm/pool.d/www.conf
Ajuste as diretrizes abaixo conforme a memória da sua VPS:
pm = dynamicpm.max_children = 50(Ajuste baseado na RAM: ex. 2GB de RAM suporta cerca de 40-50 processos se cada um consumir ~40MB)pm.start_servers = 5pm.min_spare_servers = 5pm.max_spare_servers = 35
Reinicie o serviço para aplicar as mudanças.
sudo systemctl restart php8.1-fpm
7.2. Cache de Configuração e Rota
No ambiente de produção, nunca deixe o Laravel gerar caches em tempo real. Execute os comandos abaixo para otimizar o carregamento das rotas e configurações.
cd /var/www/bagisto
php artisan config:cache
php artisan route:cache
php artisan view:cache
8. Acesso ao Painel Administrativo
Parabéns! Sua instalar bagisto vps está concluída. Agora você pode acessar o painel de administração para gerenciar sua loja.
- Admin URL:
https://seudominio.com/admin - Usuário Padrão: admin@bagisto.com
- Senha Padrão: admin123
Importante: Assim que fizer login pela primeira vez, altere imediatamente a senha e o email de administrador para evitar acessos não autorizados.
Considerações Finais sobre Manutenção
Manter um framework e-commerce self-hosted exige responsabilidade contínua. Diferente de plataformas SaaS, a segurança e a atualização do sistema são suas responsabilidades.
Mantenha o servidor atualizado regularmente com sudo apt update && sudo apt upgrade. Monitore os logs de erro do Nginx (/var/log/nginx/error.log) e as métricas de uso de CPU/RAM da sua VPS. Considere implementar um sistema de backup automatizado para a pasta storage/app (onde ficam os uploads de imagens) e o banco de dados diariamente.
Com essa infraestrutura sólida, você tem controle total sobre a experiência do usuário, tempo de carregamento e personalizações profundas, tornando sua solução de hospedagem ecommerce verdadeiramente competitiva no mercado digital.