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 updateAhora 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-apcuEscribe Y para confirmar la instalación.

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 mysqlSi Apache o MariaDB están en funcionamiento, verás una salida active(running).

Por último, verifica la versión de PHP con el siguiente comando. Verás PHP 8.x instalado en tu sistema Ubuntu.
php -vConfigurando 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-installationEn 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 -pUna 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;
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.

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.iniCambia 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=120Guarda el archivo y sal.
Ahora reinicia el servicio de Apache para aplicar tus modificaciones a PHP con el siguiente comando.
sudo systemctl restart apache2Descargando 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.zipExtrae 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/solidinvoiceAhora 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/logssudo chmod u+rw /var/www/solidinvoice/web/upload
sudo chmod u+rw /var/www/solidinvoice/app/config/parameters.ymlConfigurando 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 rewriteCrea 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.confInserta 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 configtestPor ú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
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-apacheUna 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.localDespué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.

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.

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

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.

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.

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 -ePega el script de crontab de la página, luego guarda y cierra el archivo.
* * * * * php /var/www/solidinvoice/bin/console cron:run -e prod -nVuelve a tu navegador web y haz clic en Iniciar sesión ahora.

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

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

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.
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.