SolidInvoice is an open-source invoicing and billing application ideal for small businesses or freelancers. This guide outlines the steps to install SolidInvoice on Debian/Ubuntu using Apache and MariaDB.
Prerequisites
Before proceeding, ensure your system is updated:
sudo apt update && sudo apt upgrade
Step 1: Install Required Packages
Install Apache, MariaDB, PHP, and other necessary PHP extensions:
sudo apt install apache2 mariadb-server libicu-dev 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 unzip
Step 2: Configure MariaDB
Log in to MySQL and create a new database and user for SolidInvoice:
sudo mysql
CREATE DATABASE solidinvoice;
CREATE USER 'solidinvoice'@'localhost' IDENTIFIED BY 'solidinvoice123';
GRANT ALL PRIVILEGES ON solidinvoice.* TO 'solidinvoice'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Step 3: Download and Set Up SolidInvoice
Navigate to your web server directory and download SolidInvoice:
cd /var/www/html
sudo mkdir solidinvoice
wget https://master.dl.sourceforge.net/project/solidinvoice.mirror/2.2.6/SolidInvoice-2.2.6.zip
sudo unzip SolidInvoice-2.2.6.zip -d solidinvoice
Set the correct file permissions:
sudo chown -R www-data:www-data solidinvoice
sudo chmod -R 775 /var/www/html/solidinvoice
Step 4: Configure Apache
Create a new Apache configuration file for SolidInvoice:
sudo vim /etc/apache2/sites-available/solidinvoice.conf
Add the following content:
<VirtualHost *:80>
ServerName your-domain.com
DocumentRoot /var/www/html/solidinvoice
<Directory /var/www/html/solidinvoice>
AllowOverride All
Order allow,deny
Allow from All
</Directory>
ErrorLog /var/log/apache2/solidinvoice.error.log
CustomLog /var/log/apache2/solidinvoice.access.log combined
</VirtualHost>
Enable the new site and Apache modules:
sudo a2ensite solidinvoice.conf
sudo a2enmod rewrite
Restart Apache:
sudo systemctl reload apache2 && sudo systemctl restart apache2
Step 5: Finalizing Installation
Visit http://your-domain.com in your browser to complete the SolidInvoice setup.
Reference: https://github.com/SolidInvoice/SolidInvoice