Instalação · 7 min read · Nov 22, 2025

Como Instalar o SolidInvoice no Ubuntu 22.04

SolidInvoice é uma solução de faturamento gratuita, simples e elegante baseada em PHP. É projetada para pequenas empresas gerenciarem suas operações de faturamento diárias. O SolidInvoice fornece uma API RESTful para integração e oferece vários canais de notificação, como mensagens de texto, e-mails ou HipChat.

Este guia mostrará como instalar o SolidInvoice em um servidor Ubuntu 22.04. Você configurará o SolidInvoice com a pilha LAMP e protegerá a instalação com Certbot e letsencrypt.

Pré-requisitos

Antes de começar, certifique-se de que você tem:

  • Um servidor Ubuntu 22.04.
  • Um usuário não-root com privilégios sudo.
  • Um nome de domínio apontado para um endereço IP do servidor.

Instalando dependências

O SolidInvoice é um aplicativo de fatura de código aberto escrito em PHP e MySQL. Para instalá-lo, você deve instalar a pilha LAMP em seu sistema Ubuntu. Neste primeiro passo, você instalará a pilha LAMP a partir do repositório padrão do Ubuntu.

Atualize o índice de pacotes do Ubuntu com o comando abaixo.

sudo apt update

Agora instale as dependências da pilha LAMP (Linux, Apache, MySQL/MariaDB e PHP) usando o seguinte comando. Neste exemplo, você usará o PHP 8.x padrão para a instalação do SolidInvoice.

sudo apt install apache2 mariadb-server mariadb-client php php-curl php-common php-mbstring php-json php-mysql php-opcache php-bcmath php-intl php-gd php-xml php-soap php-zip php-apcu

Digite Y para confirmar a instalação.

install deps

Após a instalação ser concluída, execute o seguinte comando para verificar o status dos serviços Apache e MariaDB para garantir que ambos os serviços estão em execução.

sudo systemctl status apache2  
sudo systemctl status mysql

Se o Apache ou MariaDB estiverem em execução, você verá uma saída active(running).

check apache

Por fim, verifique a versão do PHP com o comando abaixo. Você verá o PHP 8.x instalado em seu sistema Ubuntu.

php -v

Configurando o servidor MariaDB

Após instalar a pilha LAMP, você precisa configurar a instalação do seu servidor MariaDB. Primeiro, você protegerá o servidor MariaDB, depois criará um novo banco de dados e usuário que o SolidInvoice usará.

Para proteger a instalação do servidor MariaDB, insira o seguinte:

sudo mariadb-secure-installation

No processo, digite Y para confirmar as alterações no MariaDB, ou N para rejeitá-las. Abaixo estão as configurações do servidor MariaDB que você será solicitado:

  • A instalação padrão do MariaDB vem sem uma senha, pressione ENTER quando solicitado pela senha.
  • Agora insira Y para configurar a senha root do MariaDB. Em seguida, digite a nova senha para o MariaDB e repita a senha.
  • Insira Y para remover o usuário anônimo da sua instalação do MariaDB.
  • Insira Y novamente quando solicitado para desabilitar o login remoto para o usuário root do MariaDB.
  • Insira Y para remover o banco de dados de teste padrão do seu MariaDB.
  • Por fim, insira Y para recarregar os privilégios da tabela e aplicar novas alterações.

Agora que você protegeu o MariaDB, insira o seguinte para fazer login no MariaDB como o usuário root padrão. Insira sua senha root do MariaDB quando solicitado.

sudo mariadb -u root -p

Uma vez logado, execute as seguintes consultas para criar um novo banco de dados solidinvoicedb, um usuário solidinvoice, com a senha p4ssword. Certifique-se de alterar os detalhes com suas informações, esses detalhes do banco de dados serão usados pelo SolidInvoice.

CREATE DATABASE solidinvoicedb;  
CREATE USER solidinvoice@localhost IDENTIFIED BY 'p4ssword';  
GRANT ALL PRIVILEGES ON solidinvoicedb.* TO solidinvoice@localhost;  
FLUSH PRIVILEGES;

create datbase and user

Agora execute a consulta abaixo para verificar os privilégios do usuário solidinvoice. Certifique-se de que o usuário solidinvoice pode acessar o banco de dados solidinvoicedb.

SHOW GRANTS FOR solidinvoice@localhost;

Por fim, digite quit para sair do servidor MariaDB.

check db

Configurando o PHP

Com o servidor MariaDB protegido e configurado, você configurará sua instalação do PHP. Neste caso, você precisa modificar o arquivo de configuração padrão do PHP php.ini.

Abra o arquivo de configuração padrão do PHP /etc/php/8.1/apache2/php.ini usando o editor nano.

sudo nano /etc/php/8.1/apache2/php.ini

Altere as configurações padrão do PHP com o seguinte, e certifique-se de ajustar o memory_limit e date.timezone com o seu ambiente de servidor.

date.timezone = Europe/Amsterdam  
memory_limit=512M  
upload_max_filesize=64M  
post_max_size=120M  
max_execution_time=120

Salve o arquivo e saia.

Agora reinicie o serviço Apache para aplicar suas modificações ao PHP com o seguinte comando.

sudo systemctl restart apache2

Baixando o SolidInvoice

Agora que você tem o MariaDB e o PHP configurados, você pode baixar o código-fonte do SolidInvoice e configurar a instalação com as permissões e propriedade adequadas.

Vá até o diretório /var/www e baixe o código-fonte do SolidInvoice usando wget. Verifique a página de lançamentos do SolidInvoice para obter a versão mais recente.

cd /var/www/  
wget https://github.com/SolidInvoice/SolidInvoice/releases/download/2.2.5/SolidInvoice-2.2.5.zip

Extraia o código-fonte do SolidInvoice para o diretório solidinvoice e altere a propriedade para o usuário www-data. Assim, o diretório DocumentRoot ou Web-root para a instalação do SolidInvoice será /var/www/solidinvoice.

unzip SolidInvoice-2.2.5.zip -d solidinvoice  
sudo chown -R www-data:www-data /var/www/solidinvoice

Agora execute o comando abaixo para garantir que o usuário www-data pode escrever em alguns diretórios e arquivos do SolidInvoice.

sudo chmod u+rw /var/www/solidinvoice/app/cache  
sudo chmod u+rw /var/www/solidinvoice/app/logs  
sudo chmod u+rw /var/www/solidinvoice/var/cache  
sudo chmod u+rw /var/www/solidinvoice/var/logs
sudo chmod u+rw /var/www/solidinvoice/web/upload  
sudo chmod u+rw /var/www/solidinvoice/app/config/parameters.yml

Configurando o host virtual do Apache

Depois de configurar o diretório DocumentRoot para o SolidInvoice, você precisa criar um novo host virtual do Apache que será usado para executar a instalação. Portanto, certifique-se de que você preparou seu nome de domínio para o SolidInvoice.

Primeiro, execute o comando abaixo para habilitar o módulo rewrite no Apache.

sudo a2enmod rewrite

Crie uma nova configuração de host virtual do Apache /etc/apache2/sites-available/solidinvoice.conf usando o comando do editor nano abaixo.

sudo nano /etc/apache2/sites-available/solidinvoice.conf

Insira a seguinte configuração e certifique-se de alterar a opção ServerName com seu domínio de destino.

  
 ServerName invoice.howtoforge.local  
 ServerAlias www.invoice.howtoforge.local  
  
 DocumentRoot /var/www/solidinvoice/public  
   
 # habilitar as reescritas .htaccess  
 AllowOverride All  
 Order allow,deny  
 Allow from All  
   
  
 ErrorLog /var/log/apache2/solidinvoice.error.log  
 CustomLog /var/log/apache2/solidinvoice.access.log combined  

Salve o arquivo e saia do editor.

Agora insira o seguinte comando para ativar o arquivo de host virtual solidinvoice.conf e verificar sua sintaxe do Apache. Se você tiver uma sintaxe adequada, verá uma saída ‘Syntax OK‘.

sudo a2ensite solidinvoice.conf  
sudo apachectl configtest

Por fim, insira o comando abaixo para reiniciar o Apache e aplicar o novo arquivo de host virtual solidinvoice.conf. Uma vez executado, seu SolidInvoice deve estar em execução.

sudo systemctl restart apache2

setup apache

Protegendo o SolidInvoice com HTTPS

Neste exemplo, você protegerá o SolidInvoice com certificados SSl/TLS via Certbot e letsencrypt. Portanto, agora você instalará o Certbot e gerará certificados SSL/TLS para o seu nome de domínio SolidInvoice.

Primeiro, instale o Certbot e o plugin Certbot Apache com o seguinte comando. Digite Y para confirmar a instalação.

sudo apt install certbot python3-certbot-apache

Uma vez que a instalação esteja completa, gere certificados SSL/TLS usando o seguinte comando certbot. Certifique-se de alterar as informações do nome de domínio e endereço de e-mail com seus detalhes.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d howtoforge.local

Após o processo ser concluído, seus certificados SSL/TLS devem estar disponíveis no diretório /etc/letsencrypt/live/domain.com. Além disso, sua instalação do SolidInvoice deve estar protegida com HTTPS automaticamente.

Instalando o SolidInvoice

Abra seu navegador da web e visite seu nome de domínio, como https://invoice.howtoforge.local/. Na Verificação dos Requisitos do Sistema, certifique-se de que tudo está OK, então clique em Próximo para confirmar.

requirements

Selecione o driver do banco de dados para MySQL e insira os detalhes do seu banco de dados MariaDB e usuário para o SolidInvoice. Uma vez feito, clique em Próximo novamente.

db configuration

Agora você pode ver o esquema do banco de dados para o SolidInvoice sendo criado, clique em Próximo para continuar.

db migrations

Para as Configurações do Sistema, selecione o idioma padrão como inglês e insira os detalhes do seu usuário administrador, e-mail e senha. Em seguida, clique em Próximo novamente para confirmar.

setup admin

Uma vez que a instalação esteja completa, você verá a saída ‘Você instalou o SolidInvoice com sucesso!‘ e instruções adicionais para criar um cron job.

installation finished

Volte ao terminal do servidor e crie um novo cron job para o usuário www-data com o comando abaixo.

sudo crontab -u www-data -e

Cole o script do crontab da página, depois salve e feche o arquivo.

* * * * * php /var/www/solidinvoice/bin/console cron:run -e prod -n

Volte ao seu navegador da web e clique em Entrar agora.

login

Agora você será solicitado a criar o nome da sua empresa e a moeda padrão. Clique em Criar para confirmar.

create orgz

Se tudo correr bem, você deve ver o painel do SolidInvoice como o seguinte.

dashboard

Conclusão

Parabéns! Você instalou o SolidInvoice no servidor Ubuntu 22.04. Você tem o SolidInvoice em execução com a pilha LAMP (Apache, MySQL/MariaDB e PHP) no Ubuntu e protegeu sua instalação com HTTPS via Letsencrypt. Agora você pode adicionar novos componentes, como o servidor SMTP ao SolidInvoice e usá-lo.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.