QNAP oraz InvoiceNinja = webowe fakturowanie za darmo na naszym serwerze

Jest wiele serwisów online gdzie możemy fakturować, jednak po co płacić za to skoro posiadamy QNAP oraz możemy samodzielnie taką aplikację uruchomić na naszym serwerze.
Wykorzystamy tutaj konteneryzację oraz aplikację Invoice Ninja która jest też w wersji polskiej – mowa o pakietach językowych.
Na początek utworzymy kontener LXC z systemem Debian, tutaj celowo idę w LXC, a nie dockera gdyż mamy większe pole do konfiguracji.
Prościej też będzie zainstalowac aplikację jak i dodatki typu certyfikat SSL dla naszej aplikacji.
Konfiguracja sieciowa będzie opierać się na wczesniej utworzonym wirtualnym switchu oraz sam kontener otrzyma sięc typu bridge, co ułatwi nam zarządzanie. Aplikacja w moim wypadku otrzyma adres IP z mojego routera
Na początek zatem tworzymy kontener z systemem Debian.


Pamietajmy aby uprzednio zrobić wirtualny przełącznik a sam kontener ustawić w bridge

Kolejnym etapem jest przejście do terminala oraz wykonanie upgrade debiana do wersji najnowszej -> https://www.8px.pl/aktualizacja-debian-8-jessie-do-debian-9-stretch-na-qnap/

Instalujemy dodatkowe pakiety:

Konfigurujemy czas oraz locale

dodajemy

teraz musimy się przelogować

Ustawiamy polską strefę czasową

wybieramy strefę czasową Europa/Warszawa

Ustawiamy łatwy dostęp do SSH dla konta root

zmieniamy:

na

oraz restartujemy ssh i nadajemy hasło root

Po zalogowaniu się do SSH instalujemy wymagane komponenty, najnowszą wersję php, nginx oraz mariadb

Na początek php:

Jako dodatek można dodać redis, który aplikacja wspiera

Teraz instalacja serwera WWW, w tym wypadku mój ulubiony czyli nginx

dodajemy repo oficjalne nginx:

oraz instalujemy pakiety

Teraz czas na MariaDB jako baza mysql

Ustawiamy hasło root do bazy mysql

Czas konfigurację – tutaj będzie ona bardzo domyślna, jedyna modyfikacja to SSL/TLS oraz http2.

Tworzymy konfigurację:

Nie posługuję się domeną a adresem IP 192.168.1.108 – produkcyjnie ustawiamy swoje wartości

Podmieniamy zawartość na coś takiego:

Tworzymy katalog gdzie będzie składowana nasza aplikacja

Można sprawdzić czy konfiguracja nginx jest poprawna

I wykonujemy restart serwera aby załadował nową konfigurację

Poprawiamy usera, którym php będzię się posługiwał. W przypadku instalacji z repo nginx jest to nginx. Jeżeli byśmy instalowali wszystko z repo debiana to będzie to www-data. Celowo instaluje z repo dodatkowych aby uzyskać najnowsze wersję oprogramowania

Restart php-fpm

Zakładamy bazę oraz usera:

Teraz musimy pobrać aplikację – użyjemy git-a

Musimy zainstalować składniki wymagane przez aplikację

Teaz czekamy na instalację pakietów wymaganych przez naszą aplikację.

Nadajemy odpowiedniego właściciela do katalogu

Teraz można instalować aplikację.

Musimy podać adres jakim będziemy się posługiwać oraz dane do bazy SQL

Warto dodać konfigurację SMTP aby aplikacja mogła wysyłać maile

oraz konfiguracja pierwszego usera

Gotowe :)

Teraz tylko ustawiamy polską lokalizację, dane firmy i działamy.


Linux, Qnap, WebDev