Instalación · 7 min read · Nov 22, 2025

Cómo instalar SolidInvoice en Ubuntu 22.04

SolidInvoice es una solución de facturación gratuita, simple y elegante basada en PHP. Está diseñada para que las pequeñas empresas manejen sus operaciones de facturación diarias. SolidInvoice proporciona una API RESTful para integración y ofrece varios canales de notificación como mensajes de texto, correos electrónicos o HipChat.

Esta guía te mostrará cómo instalar SolidInvoice en un servidor Ubuntu 22.04. Configurarás SolidInvoice con el LAMP Stack y asegurarás la instalación con Certbot y letsencrypt.

Prerrequisitos

Antes de comenzar, asegúrate de tener:

  • Un servidor Ubuntu 22.04.
  • Un usuario no root con privilegios sudo.
  • Un nombre de dominio apuntando a una dirección IP del servidor.

Instalando dependencias

SolidInvoice es una aplicación de facturación de código abierto escrita en PHP y MySQL. Para instalarlo, debes instalar el LAMP Stack en tu sistema Ubuntu. En este primer paso, instalarás el LAMP Stack desde el repositorio predeterminado de Ubuntu.

Actualiza el índice de paquetes de Ubuntu con el siguiente comando.

sudo apt update

Ahora instala las dependencias del LAMP Stack (Linux, Apache, MySQL/MariaDB y PHP) usando el siguiente comando. En este ejemplo, utilizarás PHP 8.x por defecto para la instalación de 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

Escribe Y para confirmar la instalación.

instalar deps

Después de que la instalación haya finalizado, ejecuta el siguiente comando para verificar el estado de los servicios de Apache y MariaDB para asegurarte de que ambos servicios estén en funcionamiento.

sudo systemctl status apache2  
sudo systemctl status mysql

Si Apache o MariaDB están en funcionamiento, verás una salida active(running).

verificar apache

Por último, verifica la versión de PHP con el siguiente comando. Verás PHP 8.x instalado en tu sistema Ubuntu.

php -v

Configurando el servidor MariaDB

Después de instalar el LAMP Stack, necesitas configurar la instalación de tu servidor MariaDB. Primero, asegurarás el servidor MariaDB, luego crearás una nueva base de datos y un usuario que SolidInvoice utilizará.

Para asegurar la instalación del servidor MariaDB, ingresa lo siguiente:

sudo mariadb-secure-installation

En el proceso, ingresa Y para confirmar los cambios en MariaDB, o N para rechazarlos. A continuación se presentan las configuraciones del servidor MariaDB que se te solicitarán:

  • La instalación predeterminada de MariaDB viene sin una contraseña, presiona ENTER cuando se te pida la contraseña.
  • Ahora ingresa Y para configurar la contraseña de root de MariaDB. Luego, escribe la nueva contraseña para MariaDB y repite la contraseña.
  • Ingresa Y para eliminar el usuario anónimo de tu instalación de MariaDB.
  • Ingresa Y nuevamente cuando se te pida deshabilitar el inicio de sesión remoto para el usuario root de MariaDB.
  • Ingresa Y para eliminar la base de datos de prueba predeterminada de tu MariaDB.
  • Por último, ingresa Y para recargar los privilegios de las tablas y aplicar los nuevos cambios.

Ahora que has asegurado MariaDB, ingresa lo siguiente para iniciar sesión en MariaDB como el usuario root predeterminado. Ingresa tu contraseña de root de MariaDB cuando se te pida.

sudo mariadb -u root -p

Una vez que hayas iniciado sesión, ejecuta las siguientes consultas para crear una nueva base de datos solidinvoicedb, un usuario solidinvoice, con la contraseña p4ssword. Asegúrate de cambiar los detalles con tu información, estos detalles de la base de datos serán utilizados por SolidInvoice.

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

crear base de datos y usuario

Ahora ejecuta la consulta a continuación para verificar los privilegios del usuario solidinvoice. Asegúrate de que el usuario solidinvoice pueda acceder a la base de datos solidinvoicedb.

SHOW GRANTS FOR solidinvoice@localhost;

Por último, escribe quit para salir del servidor MariaDB.

verificar db

Configurando PHP

Con el servidor MariaDB asegurado y configurado, configurarás tu instalación de PHP. En este caso, necesitas modificar el archivo de configuración predeterminado de PHP php.ini.

Abre la configuración predeterminada de PHP /etc/php/8.1/apache2/php.ini usando el editor nano.

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

Cambia las configuraciones predeterminadas de PHP con lo siguiente, y asegúrate de ajustar memory_limit y date.timezone con tu entorno de servidor.

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

Guarda el archivo y sal.

Ahora reinicia el servicio de Apache para aplicar tus modificaciones a PHP con el siguiente comando.

sudo systemctl restart apache2

Descargando SolidInvoice

Ahora que tienes MariaDB y PHP configurados, puedes descargar el código fuente de SolidInvoice y configurar la instalación con los permisos y la propiedad adecuados.

Ve al directorio /var/www y descarga el código fuente de SolidInvoice usando wget. Consulta la página de lanzamientos de SolidInvoice para obtener la última versión.

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

Extrae el código fuente de SolidInvoice al directorio solidinvoice y cambia la propiedad al usuario www-data. Así que el DocumentRoot o Web-root para la instalación de SolidInvoice será /var/www/solidinvoice.

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

Ahora ejecuta el comando a continuación para asegurarte de que el usuario www-data pueda escribir en algunos de los directorios y archivos de 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 el host virtual de Apache

Después de haber configurado el directorio DocumentRoot para SolidInvoice, necesitas crear un nuevo host virtual de Apache que se utilizará para ejecutar la instalación. Así que asegúrate de haber preparado tu nombre de dominio para SolidInvoice.

Primero, ejecuta el siguiente comando para habilitar el módulo rewrite en Apache.

sudo a2enmod rewrite

Crea una nueva configuración de host virtual de Apache /etc/apache2/sites-available/solidinvoice.conf usando el comando del editor nano a continuación.

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

Inserta la siguiente configuración y asegúrate de cambiar la opción ServerName con tu dominio objetivo.

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

Guarda el archivo y sal del editor.

Ahora ingresa el siguiente comando para activar el archivo de host virtual solidinvoice.conf y verifica la sintaxis de tu Apache. Si tienes una sintaxis correcta, verás una salida ‘Syntax OK‘.

sudo a2ensite solidinvoice.conf  
sudo apachectl configtest

Por último, ingresa el comando a continuación para reiniciar Apache y aplicar el nuevo archivo de host virtual solidinvoice.conf. Una vez ejecutado, tu SolidInvoice debería estar en funcionamiento.

sudo systemctl restart apache2

configurar apache

Asegurando SolidInvoice con HTTPS

En este ejemplo, asegurarás SolidInvoice con certificados SSl/TLS a través de Certbot y letsencrypt. Así que ahora instalarás Certbot y generarás certificados SSL/TLS para tu nombre de dominio SolidInvoice.

Primero, instala Certbot y el complemento Certbot Apache con el siguiente comando. Ingresa Y para confirmar la instalación.

sudo apt install certbot python3-certbot-apache

Una vez que la instalación esté completa, genera certificados SSL/TLS usando el siguiente comando de certbot. Asegúrate de cambiar la información del nombre de dominio y la dirección de correo electrónico con tus detalles.

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

Después de que el proceso haya terminado, tus certificados SSL/TLS deberían estar disponibles en el directorio /etc/letsencrypt/live/domain.com. Además, tu instalación de SolidInvoice debería estar asegurada con HTTPS automáticamente.

Instalando SolidInvoice

Abre tu navegador web y visita tu nombre de dominio como https://invoice.howtoforge.local/. En el Verificación de requisitos del sistema, asegúrate de que todo esté OK, luego haz clic en Siguiente para confirmar.

requisitos

Selecciona el controlador de base de datos a MySQL e ingresa los detalles de tu base de datos y usuario de MariaDB para SolidInvoice. Una vez hecho, haz clic en Siguiente nuevamente.

configuración db

Ahora puedes ver que el esquema de la base de datos para SolidInvoice se ha creado, haz clic en Siguiente para continuar.

migraciones db

Para la Configuración del Sistema, selecciona el idioma predeterminado como inglés e ingresa los detalles de tu usuario administrador, correo electrónico y contraseña. Luego, haz clic en Siguiente nuevamente para confirmar.

configurar admin

Una vez que la instalación esté completa, verás la salida ‘¡Has instalado SolidInvoice con éxito!‘ y instrucciones adicionales para crear un trabajo cron.

instalación finalizada

Regresa a la terminal del servidor y crea un nuevo trabajo cron para el usuario www-data con el siguiente comando.

sudo crontab -u www-data -e

Pega el script de crontab de la página, luego guarda y cierra el archivo.

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

Vuelve a tu navegador web y haz clic en Iniciar sesión ahora.

iniciar sesión

Ahora se te pedirá que crees el nombre de tu empresa y la moneda predeterminada. Haz clic en Crear para confirmar.

crear organización

Si todo va bien, deberías ver el panel de control de SolidInvoice como el siguiente.

panel de control

Conclusión

¡Felicidades! Has instalado SolidInvoice en el servidor Ubuntu 22.04. Tienes SolidInvoice funcionando con el LAMP Stack (Apache, MySQL/MariaDB y PHP) en Ubuntu y has asegurado tu instalación con HTTPS a través de Letsencrypt. Ahora puedes agregar nuevos componentes como el servidor SMTP a SolidInvoice y usarlo.

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.