Installazione software · 7 min read · Nov 22, 2025
Come installare SolidInvoice su Ubuntu 22.04

SolidInvoice è una soluzione di fatturazione gratuita, semplice ed elegante basata su PHP. È progettata per le piccole imprese per gestire le loro operazioni di fatturazione quotidiane. SolidInvoice fornisce un’API RESTful per l’integrazione e offre vari canali di notifica come messaggi di testo, email o HipChat.
Questa guida ti mostrerà come installare SolidInvoice su un server Ubuntu 22.04. Configurerai SolidInvoice con il LAMP Stack e proteggerai l’installazione con Certbot e letsencrypt.
Requisiti
Prima di iniziare, assicurati di avere:
- Un server Ubuntu 22.04.
- Un utente non root con privilegi sudo.
- Un nome di dominio puntato a un indirizzo IP del server.
Installazione delle dipendenze
SolidInvoice è un’applicazione di fatturazione open-source scritta in PHP e MySQL. Per installarlo, devi installare il LAMP Stack sul tuo sistema Ubuntu. In questo primo passaggio, installerai il LAMP Stack dal repository predefinito di Ubuntu.
Aggiorna l’indice dei pacchetti di Ubuntu con il comando qui sotto.
sudo apt updateOra installa le dipendenze del LAMP Stack (Linux, Apache, MySQL/MariaDB e PHP) utilizzando il seguente comando. In questo esempio, utilizzerai PHP 8.x predefinito per l’installazione di 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-apcuDigita Y per confermare l’installazione.

Dopo che l’installazione è terminata, esegui il seguente comando per controllare lo stato dei servizi Apache e MariaDB per assicurarti che entrambi i servizi siano in esecuzione.
sudo systemctl status apache2
sudo systemctl status mysqlSe Apache o MariaDB sono in esecuzione, vedrai un output active(running).

Infine, controlla la versione di PHP con il comando qui sotto. Dovresti vedere PHP 8.x installato sul tuo sistema Ubuntu.
php -vConfigurazione del server MariaDB
Dopo aver installato il LAMP Stack, devi configurare l’installazione del tuo server MariaDB. Prima, proteggerai il server MariaDB, poi creerai un nuovo database e un utente che SolidInvoice utilizzerà.
Per proteggere l’installazione del server MariaDB, inserisci quanto segue:
sudo mariadb-secure-installationDurante il processo, inserisci Y per confermare le modifiche a MariaDB, o N per rifiutarle. Di seguito sono riportate le configurazioni del server MariaDB a cui verrai invitato:
- L’installazione predefinita di MariaDB viene fornita senza password, premi INVIO quando ti viene chiesta la password.
- Ora inserisci Y per impostare la password di root di MariaDB. Quindi, digita la nuova password per MariaDB e ripeti la password.
- Inserisci Y per rimuovere l’utente anonimo dalla tua installazione di MariaDB.
- Inserisci Y di nuovo quando ti viene chiesto di disabilitare il login remoto per l’utente root di MariaDB.
- Inserisci Y per rimuovere il database di test predefinito dalla tua MariaDB.
- Infine, inserisci Y per ricaricare i privilegi delle tabelle e applicare le nuove modifiche.
Ora che hai protetto MariaDB, inserisci quanto segue per accedere a MariaDB come utente root predefinito. Inserisci la tua password di root di MariaDB quando richiesto.
sudo mariadb -u root -pUna volta effettuato l’accesso, esegui le seguenti query per creare un nuovo database solidinvoicedb, un utente solidinvoice, con la password p4ssword. Assicurati di cambiare i dettagli con le tue informazioni, questi dettagli del database saranno utilizzati da SolidInvoice.
CREATE DATABASE solidinvoicedb;
CREATE USER solidinvoice@localhost IDENTIFIED BY 'p4ssword';
GRANT ALL PRIVILEGES ON solidinvoicedb.* TO solidinvoice@localhost;
FLUSH PRIVILEGES;
Ora esegui la query qui sotto per controllare i privilegi per l’utente solidinvoice. Assicurati che l’utente solidinvoice possa accedere al database solidinvoicedb.
SHOW GRANTS FOR solidinvoice@localhost;Infine, digita quit per uscire dal server MariaDB.

Configurazione di PHP
Con il server MariaDB protetto e configurato, configurerai la tua installazione di PHP. In questo caso, devi modificare il file di configurazione PHP predefinito php.ini.
Apri il file di configurazione PHP predefinito /etc/php/8.1/apache2/php.ini utilizzando l’editor nano.
sudo nano /etc/php/8.1/apache2/php.iniCambia le configurazioni PHP predefinite con le seguenti, e assicurati di regolare memory_limit e date.timezone con l’ambiente del tuo server.
date.timezone = Europe/Amsterdam
memory_limit=512M
upload_max_filesize=64M
post_max_size=120M
max_execution_time=120Salva il file e esci.
Ora riavvia il servizio Apache per applicare la tua modifica a PHP con il seguente comando.
sudo systemctl restart apache2Download di SolidInvoice
Ora che hai configurato MariaDB e PHP, puoi scaricare il codice sorgente di SolidInvoice e impostare l’installazione con i permessi e la proprietà corretti.
Vai alla directory /var/www e scarica il codice sorgente di SolidInvoice utilizzando wget. Controlla la pagina di rilascio di SolidInvoice per ottenere l’ultima versione.
cd /var/www/
wget https://github.com/SolidInvoice/SolidInvoice/releases/download/2.2.5/SolidInvoice-2.2.5.zipEstrai il codice sorgente di SolidInvoice nella directory solidinvoice e cambia la proprietà all’utente www-data. Quindi la directory DocumentRoot o Web-root per l’installazione di SolidInvoice sarà /var/www/solidinvoice.
unzip SolidInvoice-2.2.5.zip -d solidinvoice
sudo chown -R www-data:www-data /var/www/solidinvoiceOra esegui il comando qui sotto per assicurarti che l’utente www-data possa scrivere in alcune delle directory e dei file di 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/logssudo chmod u+rw /var/www/solidinvoice/web/upload
sudo chmod u+rw /var/www/solidinvoice/app/config/parameters.ymlConfigurazione dell’host virtuale Apache
Dopo aver configurato la directory DocumentRoot per SolidInvoice, devi creare un nuovo host virtuale Apache che sarà utilizzato per eseguire l’installazione. Assicurati di aver preparato il tuo nome di dominio per SolidInvoice.
Per prima cosa, esegui il comando qui sotto per abilitare il modulo rewrite in Apache.
sudo a2enmod rewriteCrea una nuova configurazione dell’host virtuale Apache /etc/apache2/sites-available/solidinvoice.conf utilizzando il comando dell’editor nano qui sotto.
sudo nano /etc/apache2/sites-available/solidinvoice.confInserisci la seguente configurazione e assicurati di cambiare l’opzione ServerName con il tuo dominio target.
ServerName invoice.howtoforge.local
ServerAlias www.invoice.howtoforge.local
DocumentRoot /var/www/solidinvoice/public
# abilita le riscritture .htaccess
AllowOverride All
Order allow,deny
Allow from All
ErrorLog /var/log/apache2/solidinvoice.error.log
CustomLog /var/log/apache2/solidinvoice.access.log combined
Salva il file e esci dall’editor.
Ora inserisci il seguente comando per attivare il file dell’host virtuale solidinvoice.conf e controlla la sintassi di Apache. Se hai una sintassi corretta, vedrai un output ‘Syntax OK‘.
sudo a2ensite solidinvoice.conf
sudo apachectl configtestInfine, inserisci il comando qui sotto per riavviare Apache e applicare il nuovo file dell’host virtuale solidinvoice.conf. Una volta eseguito, il tuo SolidInvoice dovrebbe essere in esecuzione.
sudo systemctl restart apache2
Proteggere SolidInvoice con HTTPS
In questo esempio, proteggerai SolidInvoice con certificati SSl/TLS tramite Certbot e letsencrypt. Ora installerai Certbot e genererai certificati SSL/TLS per il tuo nome di dominio SolidInvoice.
Per prima cosa, installa Certbot e il plugin Certbot Apache con il seguente comando. Inserisci Y per confermare l’installazione.
sudo apt install certbot python3-certbot-apacheUna volta completata l’installazione, genera certificati SSL/TLS utilizzando il seguente comando certbot. Assicurati di cambiare le informazioni del nome di dominio e dell’indirizzo email con i tuoi dettagli.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d howtoforge.localDopo che il processo è terminato, i tuoi certificati SSL/TLS dovrebbero essere disponibili nella directory /etc/letsencrypt/live/domain.com. Inoltre, la tua installazione di SolidInvoice dovrebbe essere protetta automaticamente con HTTPS.
Installazione di SolidInvoice
Apri il tuo browser web e visita il tuo nome di dominio come https://invoice.howtoforge.local/. Nella Verifica dei requisiti di sistema, assicurati che tutto sia OK, quindi fai clic su Avanti per confermare.

Seleziona il driver del database su MySQL e inserisci i dettagli del tuo database MariaDB e dell’utente per SolidInvoice. Una volta fatto, fai clic su Avanti di nuovo.

Ora puoi vedere che lo schema del database per SolidInvoice è stato creato, fai clic su Avanti per continuare.

Per le Impostazioni di sistema, seleziona la lingua predefinita in inglese e inserisci i dettagli del tuo utente admin, email e password. Quindi, fai clic su Avanti di nuovo per confermare.

Una volta completata l’installazione, vedrai l’output ‘Hai installato SolidInvoice con successo!‘ e ulteriori istruzioni per creare un cron job.

Torna al terminale del server e crea un nuovo cron job per l’utente www-data con il comando qui sotto.
sudo crontab -u www-data -eIncolla lo script crontab dalla pagina, quindi salva e chiudi il file.
* * * * * php /var/www/solidinvoice/bin/console cron:run -e prod -nTorna al tuo browser web e fai clic su Accedi ora.

Ora ti verrà chiesto di creare il nome della tua azienda e la valuta predefinita. Fai clic su Crea per confermare.

Se tutto va bene, dovresti vedere il dashboard di SolidInvoice come segue.

Conclusione
Congratulazioni! Hai installato SolidInvoice su un server Ubuntu 22.04. Hai SolidInvoice in esecuzione con il LAMP Stack (Apache, MySQL/MariaDB e PHP) su Ubuntu e hai protetto la tua installazione con HTTPS tramite Letsencrypt. Ora puoi aggiungere nuovi componenti come il server SMTP a SolidInvoice e utilizzarlo.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.