Instalação FOSSBilling · 15 min read · Oct 20, 2025
Como Instalar o FossBilling com Nginx no Rocky Linux 9

FOSSBilling é um sistema de faturamento gratuito e de código aberto projetado para ser fácil para clientes e vendedores. FOSSBilling é um fork do BoxBilling. Ele fornece uma excelente experiência para os clientes com uma interface intuitiva e suporta múltiplos gateways de pagamento. FOSSBilling é adequado para vários negócios, desde pequenos a médios ou até grandes empresas. FOSSBilling pode ajudá-lo a automatizar sua faturação, pagamentos recebidos e gerenciamento e comunicação com clientes.
Neste guia, instalarei o FOSSBilling em um servidor Rocky Linux 9. Este passo a passo inclui a instalação do servidor web Nginx, do servidor de banco de dados MariaDB, do PHP-FPM 8.2 e da ferramenta Certbot para gerar certificados SSL/TSL. No final, você terá uma solução de faturamento e gerenciamento de clientes que pode ser usada para o seu dia a dia nos negócios.
Pré-requisitos
Para finalizar este guia, você precisará dos seguintes requisitos:
- Um servidor com Rocky Linux 9 instalado - Este exemplo usa um Rocky Linux com hostname ‘fossbilling-rocky‘.
- Um usuário não-root com privilégios de administrador sudo/root.
- SELinux em execução no modo permissivo.
- Um nome de domínio apontado para o endereço IP do seu servidor - Este exemplo usa um subdomínio ‘fossbilling.howtoforge.local‘.
Se esses requisitos estiverem prontos, você pode concluir a instalação do FOSSBilling.
Instalando o Servidor Web Nginx
O FOSSBilling pode ser executado com os servidores web Nginx e Lighttpd. Este guia usará o Nginx como servidor web. Você instalará o Nginx do repositório oficial do Rocky Linux AppStream nesta etapa.
Para começar, certifique-se de que o repositório EPEL está adicionado ao seu sistema. Ou você pode instalá-lo via o comando dnf abaixo.
sudo dnf install epel-releaseEm seguida, instale o servidor web Nginx usando o comando dnf abaixo. Quando solicitado, digite y para confirmar e pressione ENTER para prosseguir.
sudo dnf install nginxSaída:

Uma vez que o Nginx estiver instalado, execute o comando systemctl abaixo para iniciar e habilitar o serviço Nginx. Isso iniciará e executará o Nginx na porta HTTP padrão 80 e habilitará o Nginx para ser executado automaticamente na inicialização do sistema.
sudo systemctl start nginx
sudo systemctl enable nginxAgora verifique o status do serviço Nginx usando o utilitário de comando systemctl abaixo. Você deve receber uma saída indicando que o serviço Nginx está em execução e habilitado.
sudo systemctl status nginxSaída:

O serviço Nginx está agora em execução, você precisará abrir ambos os protocolos HTTP e HTTPS no firewalld. Para conseguir isso, você pode executar o comando firewall-cmd abaixo.
sudo firewall-cmd --add-service={http,https} --permanentUma vez que os protocolos HTTP e HTTPS foram adicionados ao firewalld, execute o comando abaixo para recarregar o firewalld e aplicar as alterações. Em seguida, verifique a lista de serviços habilitados no firewalld.
Você deve ver que os protocolos HTTP e HTTPS foram adicionados ao firewalld.
sudo firewall-cmd --reload
sudo firewall-cmd --list-allSaída:

Com isso, você instalou o servidor web Nginx e configurou o firewalld para abrir os protocolos HTTP e HTTPS. Na próxima etapa, você iniciará a instalação do servidor de banco de dados MariaDB.
Instalando o Servidor MariaDB
O FOSSBilling usa MySQL/MariaDB para armazenar os dados dos usuários. É necessário pelo menos o MySQL 8 ou o servidor MariaDB 10.x. Nesta etapa, você instalará o servidor MariaDB do repositório oficial do Rocky Linux, que é o MariaDB 10.5 e é compatível com a versão mais recente do FOSSBilling.
Instale o servidor de banco de dados MariaDB no seu sistema Rocky Linux via o comando dnf abaixo. Digite y quando solicitado e pressione ENTER para prosseguir.
sudo install mariadb-serverSaída:

Uma vez que o MariaDB estiver instalado, execute o utilitário de comando systemctl abaixo para iniciar e habilitar o serviço MariaDB.
sudo systemctl start mariadb
sudo systemctl enable mariadbEm seguida, execute o comando systemctl abaixo para verificar o serviço MariaDB e garantir que o serviço está em execução. A saída ‘active (running)‘ confirma que o servidor MariaDB está em execução. E a saída ‘loaded (../mariadb.service; enabled;)‘ confirma que o serviço MariaDB está habilitado e será executado automaticamente na inicialização do sistema.
sudo systemctl status mariadbSaída:

Com o servidor MariaDB em execução, agora você irá proteger o MariaDB via o comando ‘mariadb-secure-installation’. Isso inclui configurar uma senha root para o MariaDB, desabilitar o login remoto para o usuário root do MariaDB, etc.
Execute o comando ‘mariadb-secure-installation‘ abaixo para proteger a implantação do MariaDB.
sudo mariadb-secure-installationVocê será questionado sobre algumas configurações do MariaDB abaixo:
- Mudar a autenticação local para unix_socket? Digite n para não.
- Configurar a senha root do MariaDB? Digite y, em seguida, digite a nova senha root do MariaDB e repita.
- Remover o usuário anônimo padrão? Digite y para confirmar.
- Desabilitar o login remoto para o usuário root? Digite y para confirmar.
- Remover o banco de dados de teste padrão? Digite y para confirmar.
- Recarregar privilégios de tabela e aplicar alterações? Digite y para confirmar.
Com o servidor MariaDB instalado e em execução, você irá criar um novo banco de dados MariaDB e um usuário que serão usados para a instalação do FOSSBilling.
Criando Banco de Dados e Usuário
Nesta etapa, você criará um novo banco de dados MariaDB e um usuário que serão usados para a instalação do FOSSBilling.
Execute o comando ‘mariadb‘ abaixo para fazer login no MariaDB via o usuário root. Quando solicitado por uma senha, digite sua senha root do MariaDB e pressione ENTER.
sudo mariadb -u root -pApós fazer login no shell do MariaDB, execute as seguintes consultas para criar um novo banco de dados MariaDB e um usuário. Neste exemplo, você criará um novo banco de dados fossbillingdb com o usuário ‘fossbilling‘. Além disso, certifique-se de alterar a senha padrão na consulta abaixo.
CREATE DATABASE fossbillingdb;
CREATE USER fossbilling@localhost IDENTIFIED BY 'password';
GRANT ALL ON fossbillingdb.* TO fossbilling@localhost WITH GRANT OPTION;
FLUSH PRIVILEGES;Saída:

Por fim, execute a consulta abaixo para verificar o usuário MariaDB fossbilling@localhost para garantir que o usuário tem privilégios para acessar o banco de dados ‘fossbillingdb‘.
A saída ‘GRANT ALL PRIVILEGES ON fossbillingdb. to fossbilling@localhost‘ confirma que o usuário fossbilling@localhost tem privilégios para acessar o banco de dados ‘fossbillingdb*’.
Digite quit para sair do shell do MariaDB.
SHOW GRANTS FOR fossbilling@localhost;
quitSaída:

Agora que você criou o banco de dados MariaDB e o usuário para o FOSSBilling. Na próxima etapa, você instalará o PHP e o PHP-FPM no seu servidor Rocky Linux.
Instalando PHP-FPM 8.2
A versão mais recente do FOSSBilling é suportada com PHP 8.x. Nesta etapa, você instalará o PHP e o PHP-FPM 8.2 via o repositório Remi. Então, primeiro, você configurará o repositório Remi, instalará os pacotes PHP e PHP-FPM e, em seguida, configurará o PHP-FPM com o servidor web Nginx.
Adicione o repositório PHP Remi via o comando dnf abaixo. Este comando instalará o repositório Remi no seu sistema Rocky Linux. O arquivo RPM ‘remi-release-9.rpm’ confirma que isso pode ser usado para a distribuição RHEL 9. Além disso, digite y quando solicitado e pressione ENTER para prosseguir.
sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-9.rpmSaída:

Em seguida, execute o comando dnf abaixo para redefinir o módulo do repositório para PHP. Depois, verifique a lista de módulos do repositório PHP que estão disponíveis no seu sistema.
sudo dnf module reset php
sudo dnf module list phpQuando solicitado a configurar a chave GPG para o repositório Remi, digite y para confirmar e pressione ENTER.

Após o comando ‘dnf module list php’ ser executado, você verá várias versões do PHP fornecidas pelo repositório oficial do Rocky Linux AppStream e pelo repositório Remi.

Execute o comando abaixo para habilitar o repositório PHP para ‘remi-8.2‘. Com isso, toda vez que você instalar pacotes PHP, estará instalando pacotes PHP 8.2 do repositório Remi.
Digite y quando solicitado e pressione ENTER para habilitá-lo.
sudo dnf module enable php:remi-8.2Saída:

Com o repositório PHP Remi configurado, você pode instalar pacotes PHP.
Execute o comando dnf abaixo para instalar os pacotes PHP e PHP-FPM no seu servidor Rocky Linux. Digite y quando solicitado e pressione ENTER para prosseguir.
sudo dnf install php php-fpm php-mysql php-curl php-cli php-zip php-common php-mbstring php-xmlSaída:

Você também será solicitado a confirmar a chave GPG para o repositório Remi. Digite y para confirmar e pressione ENTER.

Após o PHP ser instalado, abra o arquivo de configuração do PHP ‘/etc/php.ini‘ usando o comando do editor nano abaixo.
sudo nano /etc/php.iniAltere a configuração padrão do PHP com as seguintes linhas.
upload_max_filesize = 16M
post_max_size = 32M
memory_limit = 256M
max_execution_time = 600
max_input_vars = 3000
max_input_time = 1000Salve e saia do arquivo ‘/etc/php.ini‘ quando terminar.
Para executar o PHP-FPM com o Nginx em distribuições baseadas em RHEL, você deve garantir que o PHP-FPM esteja em execução com o usuário e grupo padrão ‘nginx‘.
No RHEL, o servidor web Nginx é executado por padrão sob o usuário ‘nginx‘. Enquanto em distribuições baseadas em Debian, tanto o Nginx quanto o Apache2 estão sendo executados sob o mesmo usuário e grupo ‘www-data‘.
Abra a configuração do pool do PHP-FPM ‘/etc/php-fpm.d/www.conf‘ usando o comando do editor nano abaixo.
sudo nano /etc/php-fpm.d/www.confAltere os parâmetros padrão ‘user‘ e ‘group‘ para ‘nginx‘.
user = nginx
group = nginxSalve e feche o arquivo quando terminar.
Em seguida, execute o utilitário de comando systemctl abaixo para iniciar e habilitar o serviço PHP-FPM. Isso iniciará o serviço PHP-FPM com o arquivo sock padrão ‘/run/php-fpm/www.sock‘ e habilitará o PHP-FPM para iniciar automaticamente na inicialização do sistema.
A saída ‘Created symlink …‘ confirma que o serviço PHP-FPM está habilitado.
sudo systemctl start php-fpm
sudo systemctl enable php-fpmSaída:

Agora execute o comando systemctl abaixo para verificar o status do serviço PHP-FPM. Você deve obter uma saída indicando que o PHP-FPM está ‘active (running)‘, o que confirma que o PHP-FPM está em execução. E a saída ‘Loaded …/…/; enabled;‘ confirma que o serviço PHP-FPM está habilitado.
sudo systemctl status php-fpmSaída:

Por fim, execute o comando php abaixo para verificar a versão do PHP que está instalada no seu sistema. Em seguida, verifique a lista de extensões habilitadas no seu sistema.
Você receberá uma saída PHP 8.2 e a lista de extensões PHP que estão habilitadas, e certifique-se de que essas extensões ‘curl’, ‘openssl’, ‘pdo_mysql’ e ‘zlib’ estão habilitadas.
php --version
php -mSaída:

Com isso, você instalou o PHP e o PHP-FPM 8.2 no sistema Rocky Linux. Você também configurou o PHP-FPM para ser executado com o servidor web Nginx. Na próxima etapa, você iniciará a instalação do FOSSBilling baixando o código-fonte.
Baixando o Código-Fonte do FOSSBilling
Nesta etapa, você baixará o código-fonte do FOSSBilling e configurará o diretório de instalação do FOSSBilling para ‘/var/www/fossbilling’.
Antes de começar, execute o comando dnf abaixo para instalar o pacote unzip no seu sistema.
sudo dnf install unzip -yAgora crie um novo diretório ‘/var/www/fossbilling‘ e mova seu diretório de trabalho para ele. Em seguida, você pode baixar a versão estável mais recente do FOSSBilling via o comando curl como abaixo.
mkdir -p /var/www/fossbilling; cd /var/www/fossbilling
curl https://fossbilling.org/downloads/stable -L --output FOSSBilling.zipSaída:

Quando o código-fonte do FOSSBilling for baixado, você verá o arquivo FOSSBilling.zip em seu diretório de trabalho. Execute o comando unzip abaixo para extrair o arquivo ‘FOSSBilling.zip’. Em seguida, mude a propriedade do diretório de instalação do FOSSBilling ‘/var/www/fossbilling‘ para o usuário e grupo ‘nginx‘.
unzip FOSSBilling.zip
sudo chown -R nginx:nginx /var/www/fossbillingCom o código-fonte do FOSSBilling baixado e o diretório de instalação configurado, você irá configurar o bloco do servidor Nginx que será usado para executar o aplicativo web FOSSBilling.
Configurando o Bloco do Servidor Nginx
Nesta etapa, você configurará um novo arquivo de configuração do bloco do servidor Nginx que será usado para executar o aplicativo web FOSSBilling. Antes de começar, certifique-se de que seu nome de domínio está apontado para o endereço IP do servidor.
Crie um novo arquivo de configuração do bloco do servidor Nginx ‘/etc/nginx/conf.d/fossbilling.conf‘ usando o comando do editor nano abaixo.
sudo nano /etc/nginx/conf.d/fossbilling.confAdicione as seguintes linhas ao arquivo. Certifique-se de alterar o nome de domínio de instalação de destino ‘fossbilling.howtoforge.local‘.
server {
listen 80;
set $root_path '/var/www/fossbilling';
server_name fossbilling.howtoforge.local;
index index.html index.htm index.php;
root $root_path;
try_files $uri $uri/ @rewrite;
sendfile off;
include /etc/nginx/mime.types;
# Bloquear acesso a arquivos sensíveis e retornar 404 para torná-los indistinguíveis de um arquivo ausente
location ~* .(ini|sh|inc|bak|twig|sql)$ {
return 404;
}
# Bloquear acesso a arquivos ocultos, exceto para .well-known
location ~ /(?!well-known/) {
return 404;
}
# Desabilitar execução de PHP em /uploads
location ~* /uploads/.*\.php$ {
return 404;
}
# Negar acesso a /data
location ~* /data/ {
return 404;
}
location @rewrite {
rewrite ^/page/(.*)$ /index.php?_url=/custompages/$1;
rewrite ^/(.*)$ /index.php?_url=/$1;
}
location ~ \.php {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# fastcgi_pass precisa ser alterado de acordo com sua configuração de servidor:
# phpx.x é sua configuração de servidor
# exemplos: /var/run/phpx.x-fpm.sock, /var/run/php/phpx.x-fpm.sock ou /run/php/phpx.x-fpm.sock são todas opções válidas
# Ou até mesmo localhost:port (O padrão 9000 funcionará bem)
# Por favor, verifique sua configuração de servidor
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_intercept_errors on;
include fastcgi_params;
}
location ~* ^/(css|img|js|flv|swf|download)/(.+)$ {
root $root_path;
expires off;
}
}Salve e saia do arquivo quando terminar.
Em seguida, execute o comando abaixo para verificar a configuração do Nginx. Depois, reinicie o serviço Nginx para aplicar as alterações. Se o teste da configuração do Nginx for bem-sucedido, você deve obter uma saída como ‘teste bem-sucedido - sintaxe ok‘.
sudo nginx -t
sudo systemctl restart nginxSaída:

Neste ponto, você tem o FOSSBilling em execução com o servidor web Nginx. Mas, ainda está na conexão HTTP insegura. Na próxima etapa, você irá proteger o FOSSBilling com certificados SSL/TLS via Certbot e Letsencrypt.
Protegendo o FOSSBilling com SSL/TLS Letsencrypt
Com a configuração do bloco do servidor Nginx criada, você irá proteger a instalação do FOSSBilling com certificados SSL/TLS, e você pode conseguir isso usando a ferramenta Certbot e certificados SSL gratuitos do Letsencrypt.
Antes de começar, certifique-se de que seu nome de domínio está apontado para o endereço IP do servidor e certifique-se de que você possui um endereço de e-mail que será usado para se registrar no Letsencrypt.
Agora execute o comando dnf abaixo para instalar o Certbot e o plugin Certbot Nginx. Digite y quando solicitado e pressione ENTER para prosseguir.
sudo dnf install certbot python3-certbot-nginxSaída:

Após o Certbot ser instalado, execute o comando abaixo para gerar certificados SSL/TLS para seu nome de domínio. Além disso, certifique-se de alterar o nome de domínio e o endereço de e-mail no seguinte comando.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d fossbilling.howtoforge.localCom este comando, os novos certificados SSL/TLS serão gerados para seu nome de domínio. Além disso, isso configurará automaticamente o HTTPS no seu bloco do servidor Nginx e configurará o redirecionamento automático de HTTP para HTTPS. Seus certificados SSL/TLS são gerados no diretório ‘/etc/elstencrypt/live/fossbilling.howtoforge.local/‘.
Iniciar a Instalação do FOSSBilling
Abra seu navegador web e visite o nome de domínio da sua instalação do FosssBilling (ou seja: https://fossbilling.howtoforge.local/).
O instalador do FOSSBilling agora deve verificar e validar os detalhes do seu sistema. Certifique-se de que os requisitos tenham o status ‘Ok‘ com a cor verde. Clique em Próximo para continuar.

Agora insira os detalhes do banco de dados MariaDB e do usuário que você criou e clique em Próximo novamente.

Em seguida, insira os novos detalhes do administrador para o FOSSBilling. Insira seu nome de usuário, endereço de e-mail, senha e moeda padrão. Então, clique em Próximo para continuar.

Quando a instalação do FOSSBilling for bem-sucedida, você deve receber a mensagem ‘Parabéns! O FOSSBilling foi instalado com sucesso.’
Você também verá algumas instruções para concluir sua instalação do FOSSBilling.

Volte ao terminal do seu servidor Rocky Linux e execute os seguintes comandos para finalizar sua instalação do FOSSBilling.
Remova o diretório ‘install‘ do FOSSBilling.
sudo rm -rf /var/www/fossbilling/installAltere a permissão do arquivo de configuração do FOSSBilling ‘config.php‘ para 0644. Isso removerá a permissão ‘de escrita‘ para outros e grupos.
sudo chmod 0644 /var/www/fossbilling/config.phpCrie um novo cron para o FOSSBilling via o comando abaixo.
crontab -u nginx -eSelecione o editor de código que você deseja usar. Em seguida, insira as seguintes linhas no arquivo.
*/5 * * * * php /var/www/fossbilling/cron.phpSalve o arquivo e saia do editor quando terminar.

Agora volte ao navegador web e clique em Concluir.
Você agora verá a seguinte página.

Se você clicar no botão ‘Área do Cliente‘, será redirecionado para a página inicial do FOSSBilling.

Se você clicar no botão ‘Área do Administrador‘, será redirecionado para a página de login do administrador.
Faça login com seu endereço de e-mail e senha, e clique em ‘Entrar‘.

Se for bem-sucedido, você verá o painel de administração do FOSSBilling.

Com isso, você agora terminou a instalação do FOSSBilling e a protegeu com certificados SSL/TLS via Certbot e Letsencrypt.
Conclusão
Neste guia, você instalou um sistema de faturamento e gerenciamento de usuários de código aberto FOSSBilling em um servidor Rocky Linux 9. Você também configurou a pilha LEMP (servidor web Nginx, banco de dados MariaDB e PHP-FPM) em um sistema Rocky Linux. Além disso, você protegeu a instalação do FOSSBilling com certificados SSL/TLS gerados via Certbot e Letsencrypt.
A partir daqui, você pode agora usar o FOSSBilling para o seu negócio. Você pode adicionar mais usuários, configurar um servidor SMTP e muito mais.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.