InvoicePlane met Nginx op Debian 9 te installeren

InvoicePlaneis een gratis en open-source factureringsprogramma. De broncode ervan kun je vinden op deze Github. Deze handleiding laat je zien hoe je InvoicePlane op een vers Debian 9 (stretch) systeem kunt installeren.

Vereisten

  • WebServer (Apache, NGINX). Dezehandleiding gebruikt Nginx.
  • MySQL versie 5.5 of hoger of de gelijkwaardige versie van MariaDB.
  • PHP versie 7.0, 7.1, of 7.2 met de volgende PHP uitbreidingen geïnstalleerd en geactiveerd:
  • php-gd
  • php-hash
  • php-json
  • php-mbstring
  • php-mcrypt
  • php-mysqli
  • php-openssl
  • php-recode
  • php-xmlrpc
  • php-zlib

Vereisten

  • Een server waarop Debian 9 draait.
  • Een niet-root gebruiker met sudo privileges.

Eerste stappen

Controleer je Debian versie:

lsb_release -ds
# Debian GNU/Linux 9 (stretch)

Stel de tijdzone in:

sudo dpkg-reconfigure tzdata

Werk je besturingssysteem pakketten (software) bij. Dat is een essentiële eerste stap omdat je er zo zeker van bent dat je de laatste updates en beveiligingsfixes voor de standaard softwarepakketten van je besturingssysteem hebt:

sudo apt update && sudo apt upgrade -y

Installeer enkele essentiële pakketten die nodig zijn voor het basisbeheer van het Debian besturingssysteem:

sudo apt install -y curl wget vim git unzip socat bash-completion apt-transport-https

Stap 1 – Installeer PHP en de vereiste PHP uitbreidingen

De webapplicatie InvoicePlane vereist PHP versie 7.0 of hoger.

Installeer PHP, en ook de nodige PHP uitbreidingen:

sudo apt install -y php-cli php-fpm php-common php-gd php-json php-mbstring php-mysql php-xmlrpc php-recode

Om PHP gecompileerd in modules te tonen, kun je:

php -m

ctype
curl
exif
fileinfo
. . .
. . .

Controleer de PHP versie:

php --version

# PHP 7.0.9-1~deb10u1 (cli) (built: Sep 18 2019 10:33:23) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.3.9, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.0.9-1~deb10u1, Copyright (c) 1999-2018, by Zend Technologies

Start en schakel de PHP-FPM dienst in:

sudo systemctl start php7.0-fpm.service
sudo systemctl enable php7.0-fpm.service

Stap 2 – Installeer MariaDB

Installeer MariaDB:

sudo apt install -y mariadb-server

Controleer de MariaDB versie:

mysql --version

Start en schakel de MariaDB dienst in:

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

Voer mysql_secure installation script uit om MariaDB beter te beveiligen en stel het wachtwoord in voor MariaDB root gebruiker:

sudo mysql_secure_installation

Beantwoord alle vragen zoals hieronder aangegeven:

Enter current password for root (enter for none):
Set root password? [Y/n]: Y
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]: Y
Reload privilege tables now? [Y/n]: Y

Log in MariaDB shell in als de gebruiker root:

mysql -u root -p
# Enter password

Maak een MariaDB database en gebruiker die je voor je installatie van InvoicePlane zult gebruiken, en onthoud de credentials:

CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

Verlaat de MariaDB shell:

quit

Vervangdbname,gebruikersnaam, enwachtwoord door je eigen namen.

Stap 3 – Installeer NGINX

Installeer de webserver Nginx:

sudo apt install -y nginx

Controleer de NGINX versie:

nginx -v
# nginx version: nginx/1.10.3

Start en schakel Nginx service in:

sudo systemctl start nginx.service
sudo systemctl enable nginx.service

ConfigureerNGINX voor InvoicePlane. Voer sudo vim /etc/nginx/sites-available/invoiceplane.conf uit en vul het bestand met de volgende configuratie:

server {
    listen 80;
    listen [::]:80;

    server_name example.com;

    root /var/www/InvoicePlane;

    index index.php index.html;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
include snippets/fastcgi-php.conf; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; } }

Activeer de nieuwe invoiceplane.conf configuratie door het bestand te koppelen aan de sites-enabled map:

sudo ln -s /etc/nginx/sites-available/invoiceplane.conf /etc/nginx/sites-enabled/

Test de NGINX configuratie:

sudo nginx -t

Herlaad NGINX:

sudo systemctl reload nginx.service

Stap 4 - Installeer InvoicePlane

Download de laatste stabiele versie van InvoicePlane en pak het archief uit:

sudo mkdir -p /var/www
cd /var/www
sudo curl -O -J -L https://invoiceplane.com/download/v1.5.9
sudo unzip v1.5.9.zip
sudo rm v1.5.9.zip
sudo mv ip invoiceplane

Navigeer naar de map /var/www/invoiceplane:

cd /var/www/invoiceplane

Maak een kopie van het ipconfig.php.example bestand en hernoem de kopie tot ipconfig.php:

sudo cp ipconfig.php.example ipconfig.php

Open het ipconfig.php bestand en voeg er je URL aan toe:

sudo vim ipconfig.php
# Something like this
IP_URL=http://example.com

Verander het eigendom van de map /var/www/invoiceplane in www-data:

sudo chown -R www-data:www-data /var/www/InvoicePlane

Start sudo vim /etc/php.ini en stel in date.timezone:

date.timezone = Region/City

Start de PHP-FPM dienst opnieuw:

sudo systemctl restart php7.0-fpm.service

Start de InvoicePlane installer vanuit je web browser en volg de instructies:

http://example.com/index.php/setup

Als de installatie voltooid is, kun je inloggen in InvoicePlane met het e-mailadres en wachtwoord dat je tijdens de installatie gekozen hebt.

Als je je installatie wilt beveiligen, kun je de setup uitschakelen. Vervang daartoe de regelDISABLE_SETUP=falsedoor DISABLE_SETUP=true in je ipconfig.php bestand.

Stap 5 - Voltooi de installatie van InvoicePlane

InvoicePlane is nu geïnstalleerd en geconfigureerd, het is tijd om de web installatie wizard te openen.

Open je web browser en typ de URL http://example.com. Je wordt doorverwezen naar de volgende pagina:

FactuurPlane web installer

Klik nu op de Setup knop. Je zou de volgende pagina moeten zien:

Kies taal

Kies vervolgens de taal en klik op de Ga door knop. Je zou de volgende pagina moeten zien:

Controleer systeemeisen

Klik nu op het Ga verder knopje. Je zou de volgende pagina moeten zien:

Gegevensbestand

Geef hier je database gegevens op en klik op de Try Again knop. Je zou de volgende pagina moeten zien:

Database verbinding geslaagd

Klik nu op het Continue knopje. Je zou de volgende pagina moeten zien:

Maak gebruikersaccount aan

Klik nu op het Continue knopje. Je zou de volgende pagina moeten zien:

FactuurPlane installatie voltooid

Geef nu alle vereiste gegevens op en klik dan op de Continue knop. Als de installatie voltooid is, zou je de volgende pagina moeten zien:

Inloggen op InvoicePlane

Klik nu op de Login knop om het beheer van InvoicePlane te openen.