Kako namestiti Invoice Ninja na CentOS 7

Uvod

Invoice Ninja je brezplačna in odprtokodna programska oprema za spletne baze, ki se lahko uporablja za izdajanje računov, plačila, spremljanje časa in še veliko več. To je najboljša rešitev za izdajanje računov in obračunavanje strank. Račune lahko preprosto ustvarite in pošljete na spletu v nekaj sekundah. Račun Ninja vam omogoča, da ustvarite lasten račun po meri in prikažete račun v živo kot datoteko PDF.

V tej vadnici vam bom razložil, kako namestiti Invoice Ninja na strežnik CentOS 7.

Predpogoji

  • Primerek CentOS 7 x64 z nameščenim 2 GB RAM-a.
  • Uporabnik sudo .

1. korak: Posodobite sistem

Pred namestitvijo kakršnih koli paketov na primerek strežnika CentOS je priporočljivo posodobiti sistem. Prijavite se v svoj strežnik prek SSH kot uporabnik sudo in zaženite naslednji ukaz:

sudo yum install epel-release -y
sudo yum update -y
sudo shutdown -r now

2. korak: Namestite strežnik LEMP.

Preden začnete, boste morali na svoj strežnik namestiti LEMP (Nginx, MariaDB in PHP).

Najprej namestite Nginx in MariaDB z naslednjim ukazom:

sudo yum install nginx mariadb-server -y

Ko je namestitev končana, zaženite storitev Nginx in MariaDB in jima omogočite zagon ob zagonu:

sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl start mariadb
sudo systemctl enable mariadb

Nato boste potrebovali PHP7 in PHP7.0-FPM za namestitev Invoice Ninja.

Najprej dodajte repozitorij PHP7.0 v sistem z naslednjim ukazom:

sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Nato namestite PHP7.0-FPM in druge potrebne razširitve PHP z naslednjim ukazom:

sudo yum install install php70w-fpm php70w-cli php70w-pear php70w-gd php70w-xml php70w-curl php70w-gmp php70w-pdo php70w-mysql php70w-zip php70w-mbstring php70w-mcrypt -y

Ko je namestitev končana, boste morali spremeniti konfiguracijsko datoteko php.ini:

sudo nano /etc/php.ini

Spremenite naslednjo vrstico:

cgi.fix_pathinfo=0

Shranite in zaprite datoteko.

3. korak: Konfigurirajte bazo podatkov

Privzeto namestitev MariaDB ni zavarovana, zato jo boste morali najprej zavarovati. To lahko storite tako, da zaženete skript za varno namestitev mysql :

sudo mysql_secure_installation

Answer all the questions as shown below:

Set root password? [Y/n] Y
New password:
Re-enter new password:
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

When all is done, connect with MySQL shell with the following command:

mysql -u root -p

Enter your root password and press enter, you will see the MySQL shell:

Next, create a new database and a new user for Invoice Ninja:

MariaDB [(none)]> CREATE DATABASE ninja_db;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON ninja_db.* TO 'ninja'@'localhost' IDENTIFIED BY 'password';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> \q

Step 4: Configure PHP-FPM

Next, you will need to configure PHP-FPM pool for Nginx user:

sudo nano /etc/php-fpm.d/www.conf

Change the following lines:

user = nginx
group = nginx
listen = /var/run/php/php-fpm.sock
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp

Save and close the file when you are finished.

Next, you will need to create a new directory for PHP session and socket file:

sudo mkdir -p /var/lib/php/session
sudo mkdir -p /var/run/php/
sudo chown -R nginx:nginx /var/lib/php/session/
sudo chown -R nginx:nginx /var/run/php/

Finally, start PHP7.0-FPM service and add it to start at boot time:

sudo systemctl start php-fpm
systemctl enable php-fpm

Step 5: Download and Configure Invoice Ninja

You can download the latest stable version of the Invoice Ninja from the GitHub repository with the following command:

cd /var/www/html/
sudo git clone https://github.com/hillelcoren/invoice-ninja.git ninja

You will also need to install Dependency Manager for PHP (composer). You can iinstall it with the following command:

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=composer

Nato namestite vse odvisnosti Invoice Ninja z ukazom composer, kot je prikazano spodaj:

cd /var/www/html/ninja
sudo composer install --no-dev -o

Ko je namestitev končana, preimenujte datoteko .env in naredite nekaj sprememb:

sudo mv .env.example .env
sudo nano .env

Spremenite vrstice, kot je prikazano spodaj:

DB_DATABASE=ninja_db
DB_USERNAME=ninja
DB_PASSWORD=password

Ko končate, shranite datoteko, nato zaženite naslednji ukaz, da pripravite bazo podatkov:

sudo php artisan migrate

Pozvani boste, da zaženete ukaz, vnesite "da" in pritisnite "enter".

Nato zapolnite bazo podatkov z zapisi, kot je prikazano spodaj:

sudo php artisan db:seed

Vnesite "da" in pritisnite "enter".

Nato spremenite lastništvo /var/www/html/ninjaimenika:

sudo chown -R nginx:nginx /var/www/html/ninja/

6. korak: Konfigurirajte Nginx za račun Ninja

Nato boste morali ustvariti potrdilo SSL in ustvariti novo konfiguracijo navideznega gostitelja za Invoice Ninja.

Najprej ustvarite imenik za SSL:

sudo mkdir -p /etc/nginx/cert/

Nato ustvarite potrdilo SSL z naslednjim ukazom:

sudo openssl req -new -x509 -days 365 -nodes -out /etc/nginx/cert/ninja.crt -keyout /etc/nginx/cert/ninja.key

Nato dajte ustrezno dovoljenje datoteki potrdila:

sudo chmod 600 /etc/nginx/cert/*

Nato ustvarite novo konfiguracijsko datoteko navideznega gostitelja v imeniku /etc/nginx/:

sudo nano /etc/nginx/conf.d/ninja.conf

Dodajte naslednje vrstice:

server {
    listen  80;
    server_name 192.168.15.23;
    add_header Strict-Transport-Security max-age=2592000;
    rewrite ^ https://$server_name$request_uri? permanent;
}

server {
    listen  443 default;
    server_name 192.168.15.23;
    ssl on;
    ssl_certificate     /etc/nginx/cert/ninja.crt;
    ssl_certificate_key /etc/nginx/cert/ninja.key;
    ssl_session_timeout 5m;
    ssl_ciphers  'AES128+EECDH:AES128+EDH:!aNULL';
    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    root /var/www/html/ninja/public;
    index index.html index.htm index.php;
    charset utf-8;
    location / {
    try_files $uri $uri/ /index.php?$query_string;
       }

    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }

    # Access and Error Log for Invoice Ninja
    access_log  /var/log/nginx/ininja.access.log;
    error_log   /var/log/nginx/ininja.error.log;

    sendfile off;

    # Handle PHP Applications
    location ~ \.php$ {
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass unix:/var/run/php/php-fpm.sock;
    fastcgi_index index.php;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_intercept_errors off;
    fastcgi_buffer_size 16k;
    fastcgi_buffers 4 16k;
    }

    location ~ /\.ht {
       deny all;
       }
    }

Shranite in zaprite datoteko ter znova zaženite spletni strežnik Nginx:

sudo systemctl restart nginx

7. korak: Dostop do računa Ninja

Preden dostopate do spletnega vmesnika Invoice Ninja, boste morali prek požarnega zidu omogočiti storitev http in https. Zaženite spodnje ukaze, da odprete vrata:

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

Na koncu odprite spletni brskalnik in vnesite URL https://192.168.15.23, nato pa dokončajte zahtevane korake za dokončanje namestitve.

Čestitam! Na strežniku CentOS 7 smo uspešno namestili Invoice Ninja z Nginxom in MariaDB.


Namestite Plesk na CentOS 7

Namestite Plesk na CentOS 7

Uporaba drugega sistema? Plesk je lastniška nadzorna plošča spletnega gostitelja, ki uporabnikom omogoča upravljanje svojih osebnih in/ali strank spletnih mest, baz podatkov

Kako namestiti Squid Proxy na CentOS

Kako namestiti Squid Proxy na CentOS

Squid je priljubljen brezplačen program za Linux, ki vam omogoča ustvarjanje spletnega proxyja za posredovanje. V tem priročniku boste videli, kako namestiti Squid na CentOS, da vas obrne

Kako namestiti Lighttpd (LLMP Stack) na CentOS 6

Kako namestiti Lighttpd (LLMP Stack) na CentOS 6

Uvod Lighttpd je razdelek Apache, katerega namen je biti veliko manj intenziven vir. Je lahek, od tod tudi njegovo ime, in je precej preprost za uporabo. Namestite

Konfiguriranje statičnega omrežja in IPv6 na CentOS 7

Konfiguriranje statičnega omrežja in IPv6 na CentOS 7

VULTR je pred kratkim naredil spremembe na svoji strani in zdaj bi moralo vse delovati v redu iz škatle z omogočenim NetworkManagerjem. Če želite onemogočiti

Spreminjanje Icinga2 za uporabo modela Master/Client na CentOS 6 ali CentOS 7

Spreminjanje Icinga2 za uporabo modela Master/Client na CentOS 6 ali CentOS 7

Icinga2 je zmogljiv sistem za spremljanje in če se uporablja v modelu glavni-odjemalec, lahko nadomesti potrebo po nadzornih pregledih, ki temeljijo na NRPE. Glavni naročnik

Kako namestiti Apache Cassandra 3.11.x na CentOS 7

Kako namestiti Apache Cassandra 3.11.x na CentOS 7

Uporaba drugega sistema? Apache Cassandra je brezplačen in odprtokodni sistem za upravljanje baz podatkov NoSQL, ki je zasnovan tako, da zagotavlja razširljivost, visoko

Kako namestiti Microweber na CentOS 7

Kako namestiti Microweber na CentOS 7

Uporaba drugega sistema? Microweber je odprtokodna povleci in spusti CMS in spletna trgovina. Izvorna koda Microweber gostuje na GitHubu. Ta vodnik vam bo pokazal

Kako namestiti Mattermost 4.1 na CentOS 7

Kako namestiti Mattermost 4.1 na CentOS 7

Uporaba drugega sistema? Mattermost je odprtokodna alternativa sporočilni storitvi Slack SAAS, ki jo gosti sami. Z drugimi besedami, z Mattermostom si pribl

Ustvarjanje omrežja strežnikov Minecraft z BungeeCord na Debian 8, Debian 9 ali CentOS 7

Ustvarjanje omrežja strežnikov Minecraft z BungeeCord na Debian 8, Debian 9 ali CentOS 7

Kaj potrebujete Vultr VPS z vsaj 1 GB RAM-a. SSH dostop (z root/administrativnimi pravicami). 1. korak: Namestitev BungeeCord Najprej najprej

Omogočamo šifriranje na Plesku

Omogočamo šifriranje na Plesku

Nadzorna plošča Plesk ima zelo lepo integracijo za Lets Encrypt. Lets Encrypt je eden edinih ponudnikov SSL, ki izdaja potrdila v celoti

Namestite MariaDB 10 na CentOS 6

Namestite MariaDB 10 na CentOS 6

V času pisanja je MariaDB 10.1 razvojna različica MariaDB. Temelji na MariaDB 5.5 in vključuje funkcije, prenesene nazaj iz MySQL 5.6. Ther

Omogoča šifriranje na cPanelu

Omogoča šifriranje na cPanelu

Lets Encrypt je certifikacijski organ, ki je namenjen brezplačnemu zagotavljanju certifikatov SSL. cPanel je zgradil lepo integracijo za vas in vašo stranko

Kako namestiti Concrete5 na CentOS 7

Kako namestiti Concrete5 na CentOS 7

Uporaba drugega sistema? Concrete5 je odprtokodni CMS, ki ponuja številne značilne in uporabne funkcije za pomoč urednikom pri preprosti izdelavi vsebine.

Kako namestiti pregledno ploščo na CentOS 7

Kako namestiti pregledno ploščo na CentOS 7

Uporaba drugega sistema? Review Board je brezplačno in odprtokodno orodje za pregledovanje izvorne kode, dokumentacije, slik in še veliko več. Gre za spletno programsko opremo

Nastavite preverjanje pristnosti HTTP z Nginxom na CentOS 7

Nastavite preverjanje pristnosti HTTP z Nginxom na CentOS 7

V tem priročniku se boste naučili, kako nastaviti preverjanje pristnosti HTTP za spletni strežnik Nginx, ki deluje na CentOS 7. Zahteve Za začetek boste potrebovali

Kako namestiti YOURLS na CentOS 7

Kako namestiti YOURLS na CentOS 7

YOURLS (Your Own URL Shortener) je odprtokodna aplikacija za krajšanje URL-jev in analitiko podatkov. V tem članku bomo obravnavali postopek namestitve

Kako namestiti in konfigurirati ArangoDB na CentOS 7

Kako namestiti in konfigurirati ArangoDB na CentOS 7

Uporaba drugega sistema? Uvod ArangoDB je odprtokodna baza podatkov NoSQL s prilagodljivim podatkovnim modelom za dokumente, grafe in ključe-vrednosti. je

Uporaba Etckeeperja za nadzor različic /etc

Uporaba Etckeeperja za nadzor različic /etc

Uvod Imenik /etc/ igra ključno vlogo pri delovanju sistema Linux. Razlog za to je skoraj vsaka sistemska konfiguracija

Zakaj bi morali uporabljati SSHFS? Kako namestiti oddaljeni datotečni sistem s SSHFS na CentOS 6

Zakaj bi morali uporabljati SSHFS? Kako namestiti oddaljeni datotečni sistem s SSHFS na CentOS 6

Številni sistemski skrbniki upravljajo velike količine strežnikov. Ko je treba do datotek dostopati prek različnih strežnikov, se prijavite v vsakega posebej ca

Nastavitev strežnika Half Life 2 na CentOS 6

Nastavitev strežnika Half Life 2 na CentOS 6

Ta vadnica bo obravnavala postopek namestitve igralnega strežnika Half Life 2 na sistem CentOS 6. 1. korak: Namestitev predpogojev Za nastavitev ou

Vzpon strojev: aplikacije AI v resničnem svetu

Vzpon strojev: aplikacije AI v resničnem svetu

Umetna inteligenca ni v prihodnosti, tukaj je prav v sedanjosti. V tem blogu preberite, kako so aplikacije umetne inteligence vplivale na različne sektorje.

DDOS napadi: kratek pregled

DDOS napadi: kratek pregled

Ste tudi vi žrtev DDOS napadov in ste zmedeni glede načinov preprečevanja? Preberite ta članek, če želite rešiti svoja vprašanja.

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Morda ste že slišali, da hekerji zaslužijo veliko denarja, a ste se kdaj vprašali, kako zaslužijo takšen denar? razpravljajmo.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Ali želite videti revolucionarne izume Googla in kako so ti izumi danes spremenili življenje vsakega človeka? Nato preberite v blogu in si oglejte Googlove izume.

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Koncept samovozečih avtomobilov, ki zapeljejo na ceste s pomočjo umetne inteligence, so sanje, ki jih imamo že nekaj časa. A kljub številnim obljubam jih ni nikjer. Preberite ta blog, če želite izvedeti več…

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Ker se znanost hitro razvija in prevzame veliko naših prizadevanj, se povečuje tudi tveganje, da se podvržemo nerazložljivi singularnosti. Preberite, kaj bi za nas lahko pomenila singularnost.

Razvoj shranjevanja podatkov – Infografika

Razvoj shranjevanja podatkov – Infografika

Metode shranjevanja podatkov so se lahko razvijale od rojstva podatkov. Ta blog pokriva razvoj shranjevanja podatkov na podlagi infografike.

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Preberite blog, če želite na najpreprostejši način spoznati različne plasti v arhitekturi velikih podatkov in njihove funkcionalnosti.

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

V tem digitalno vodenem svetu so pametne naprave za dom postale ključni del življenja. Tukaj je nekaj neverjetnih prednosti pametnih naprav za dom o tem, kako naredijo naše življenje vredno življenja in poenostavijo.

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Pred kratkim je Apple izdal macOS Catalina 10.15.4 dopolnilno posodobitev za odpravo težav, vendar se zdi, da posodobitev povzroča več težav, ki vodijo do opečenja računalnikov Mac. Preberite ta članek, če želite izvedeti več