InvoicePlane adalah aplikasi faktur free and open-source. Source code InvoicePlane dapat ditemukan di Github. Tutorial ini akan menunjukkan kepada Anda bagaimana menginstal InvoicePlane pada sistem Debian 9 (stretch) yang baru.

Requirements

  • WebServer (Apache, NGINX). Tutorial ini akan menggunakan Nginx.
  • MySQL versi 5.5 atau lebih besar atau versi yang setara dari MariaDB.
  • PHP versi 7.0, 7.1, atau 7.2 dengan ekstensi PHP berikut diinstal dan diaktifkan:
    • php-gd
    • php-hash
    • php-json
    • php-mbstring
    • php-mcrypt
    • php-mysqli
    • php-openssl
    • php-recode
    • php-xmlrpc
    • php-zlib

Persyaratan Tutorial

  • Sistem Debian 9
  • Memiliki akses ke user root atau user dengan hak akses sudo.

Langkah awal

Periksa versi Debian Anda:

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

Siapkan zona waktu server, Pada contoh kali ini kita akan mengatur pada zona waktu menjadi Asia/Jakarta :

timedatectl list-timezones
sudo timedatectl set-timezone 'Asia/Jakarta'

Perbarui paket sistem operasi Anda (software). Ini adalah langkah pertama yang penting karena memastikan Anda memiliki pembaruan terbaru dan perbaikan keamanan untuk paket perangkat lunak default sistem operasi Anda:

sudo apt update && sudo apt upgrade -y

Instal beberapa paket penting yang diperlukan untuk administrasi dasar sistem operasi Debian :

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

Langkah 1 – Install PHP dan PHP extensions

Aplikasi web InvoicePlane membutuhkan PHP versi 7.0 atau lebih tinggi.

Instal PHP, serta ekstensi PHP yang diperlukan:

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

Untuk menampilkan PHP yang dikompilasi dalam modul, Anda dapat menjalankan:

php -m

ctype
curl
exif
fileinfo
. . .
. . .

periksa versi PHP :

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 dan aktifkan PHP-FPM service:

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

Langkah 2: Install MariaDB

Install MariaDB:

sudo apt install -y mariadb-server

Check versi MariaDB :

mysql --version

Start dan aktifkan MariaDB service:

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

Mulai dengan menjalankan script mysql_secure_installation untuk melakukan peningkatan keamanan dasar:

sudo mysql_secure_installation

Perintah ini akan mengubah kata sandi root, menghapus pengguna anonim, melarang login root dari jarak jauh dan menghapus database pengujian. Jawab pertanyaan seperti yang ditunjukkan di bawah ini dan pastikan untuk memilih kata sandi yang aman untuk pengguna root:

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

Setelah MariaDB diamankan, masuk ke shell MariaDB dengan perintah berikut:

mysql -u root -p

Berikan kata sandi root Anda, lalu buat database dan user database untuk Textpattern dengan perintah berikut:

CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'g4nt!_d3n9aN_P@$$w0rD';
FLUSH PRIVILEGES;

Jangan lupa mengganti dbname, username, dan kata g4nt!_d3n9aN_P@$$w0rD dengan konfigurasi pilihan Anda. Setelah selesai, ketik perintah berikut untuk keluar.

quit

Langkah 3 – Instal dan Konfigurasi Nginx

Install Nginx webserver:

sudo apt install -y nginx

Periksa versi NGINX :

nginx -v
# nginx version: nginx/1.10.3

Start dan enable Nginx service:

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

Selanjutnya, konfigurasikan NGINX untuk InvoicePlane. Kita akan membuat server block untuk Automad CMS dan tambahkan konfigurasi berikut.

sudo vim /etc/nginx/sites-available/invoiceplane.conf
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;
    }
}

Aktifkan konfigurasiinvoiceplane.conf dengan membuat symlink ke direktori sites-enabled  :

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

Periksa konfigurasi NGINX untuk melihat tidak ada syntax errors:

sudo nginx -t

Reload Nginx dengan perintah berikut

sudo systemctl reload nginx.service

Langkah 4 – Install InvoicePlane

Buat direktori root dokumen untuk InvoicePlane dan Download tversi terbaru dari InvoicePlane dan extract archive:

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

Masuk ke direktori document root:

cd /var/www/invoiceplane

Buat salinan file ipconfig.php.example dan ganti nama menjadi ipconfig.php:

sudo cp ipconfig.php.example ipconfig.php

buka file ipconfig.php dan tambahkan url Anda :

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

Ubah kepemilikan direktori /var/www/invoiceplane menjadi www-data

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

Jalankan InvoicePlane installer dari browser web Anda dan ikuti instruksi:

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

Setelah instalasi selesai, Anda dapat masuk ke InvoicePlane menggunakan alamat email dan kata sandi yang Anda buat selama instalasi.

Jika Anda ingin mengamankan instalasi Anda, Anda dapat menonaktifkan pengaturan. Untuk melakukannya, ganti barisDISABLE_SETUP=false denganDISABLE_SETUP=true di file ipconfig.php

Langkah 5 – Selesaikan Setup InvoicePlane

InvoicePlane sekarang diinstal dan dikonfigurasikan, saatnya untuk mengakses wizard instalasi webnya.

Buka web browser Anda dan ketik URL website Anda. Anda akan diarahkan ke halaman berikut:

InvoicePlane web installer

Sekarang, klik tombol Setup. Anda akan melihat halaman berikut:

Choose language

Selanjutnya, pilih bahasa dan klik tombol Continue. Anda akan melihat halaman berikut:

Check system requirements

Selanjutnya, klik tombol Continue. Anda akan melihat halaman berikut:

Database details

Di sini, berikan detail database Anda dan klik tombol Try Again. Anda akan melihat halaman berikut:

Database connection successful

Sekarang, klik tombol Continue. Anda akan melihat halaman berikut:

Create user account

Sekarang, klik tombol Continue. Anda akan melihat halaman berikut:

InvoicePlane installation complete

Sekarang, berikan semua detail yang diperlukan, lalu klik tombol Continue. Setelah instalasi selesai, Anda akan melihat halaman berikut:

Login to InvoicePlane

Sekarang, klik tombol Login untuk mengakses administrasi InvoicePlane.