A Invoice Ninja telepítése az Ubuntu 16.04 rendszeren

Bevezetés

Az Invoice Ninja egy ingyenes és nyílt forráskódú web-alapú alkalmazás, amely számlázásra, fizetésre, időkövetésre és még sok másra használható. Ez a legjobb megoldás az ügyfelek számlázására és számlázására. Könnyen, másodpercek alatt online hozhat létre és küldhet számlákat. Az Invoice Ninja lehetővé teszi egyéni számlák létrehozását, és élő számlák megjelenítését PDF-fájlként.

Ebben az oktatóanyagban elmagyarázom, hogyan telepíthető az Invoice Ninja az Ubuntu 16.04 kiszolgálóra.

Előfeltételek

  • Egy Ubuntu 16.04 szerverpéldány 2 GB RAM-mal.
  • Root jogosultsággal rendelkező sudo felhasználó.
  • Ismernie kell a kiszolgálópéldány fő IP-címét. Ebben az oktatóanyagban a következőt fogom használni 192.168.0.227.

1. lépés: Frissítse a rendszert

Mielőtt bármilyen csomagot telepítene az Ubuntu kiszolgálópéldányra, ajánlott frissíteni a rendszert. Jelentkezzen be a szerverére SSH-n keresztül sudo felhasználóként, és futtassa a következő parancsot:

sudo apt-get update -y
sudo apt-get upgrade -y
sudo shutdown -r now

2. lépés: Telepítse a LEMP-vermet

Mielőtt elkezdené, konfigurálnia kell egy LEMP-t (Nginx, MariaDB és PHP) a kiszolgálón.

Először telepítse az Nginxet és a MariaDB-t a következő paranccsal:

sudo apt-get install nginx mariadb-server -y

A telepítés befejezése után indítsa el az Nginx és MariaDB szolgáltatásokat, és engedélyezze, hogy elinduljanak a rendszerindításkor:

sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl start mysql
sudo systemctl enable mysql

Ezután PHP 7-re és PHP-FPM-re lesz szüksége a Invoice Ninja telepítéséhez.

A PHP-FPM és a többi szükséges PHP kiterjesztés a következő paranccsal telepíthető:

sudo apt-get install php7.0-fpm php7.0-gd php7.0-xml php7.0-mysql php7.0-zip php7.0-curl php7.0-gmp php7.0-mbstring php7.0-mcrypt

A telepítés befejezése után módosítania kell a php.inikonfigurációs fájlt:

sudo nano /etc/php/7.0/fpm/php.ini

Módosítsa a következő sort:

cgi.fix_pathinfo=0

Mentse és zárja be a fájlt.

3. lépés: Állítsa be az adatbázist

Alapértelmezés szerint a MariaDB telepítése nincs biztonságban. Biztosítania kell. Ezt futással teheti meg mysql_secure_installation script.

sudo mysql_secure_installation

Válaszoljon az összes kérdésre az alábbiak szerint:

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

Ha minden kész, csatlakozzon a MySQL shell használatával a következő paranccsal:

mysql -u root -p

Írja be a root jelszavát, és nyomja meg az "enter" gombot, ekkor megjelenik a MySQL (MariaDB) shell.

Hozzon létre egy új adatbázist és egy új felhasználót az Invoice Ninja számára.

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

4. lépés: A PHP-FPM konfigurálása

Állítsa be a PHP-FPM-készletet az Nginx felhasználó számára:

sudo nano /etc/php/7.0/fpm/pool.d/www-data.conf

Adja hozzá a következő sorokat:

[www-data]
user = www-data
group = www-data
listen = /var/run/php-fpm-www-data.sock
listen.owner = www-data
listen.group = www-data
listen.mode = 0666
pm = ondemand
pm.max_children = 5
pm.process_idle_timeout = 10s
pm.max_requests = 200
chdir = /

Mentse és zárja be a fájlt, ha végzett, majd indítsa újra a PHP-FPM-et a változtatások alkalmazásához.

systemctl restart php7.0-fpm

5. lépés: Töltse le és konfigurálja a Invoice Ninja alkalmazást

A következő paranccsal letöltheti az Invoice Ninja legújabb stabil verzióját a GitHub tárolóból:

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

Ezenkívül telepítenie kell a Composert, a PHP függőségi kezelőjét. A következő paranccsal telepítheti:

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

Ezután telepítse az összes Invoice Ninja függőséget az composeralábbi paranccsal:

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

A telepítés után nevezze át a .envfájlt, és hajtson végre néhány módosítást.

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

Változtassa meg a sorokat az alábbiak szerint:

DB_DATABASE=ninja_db
DB_USERNAME=ninja
DB_PASSWORD=password

Ha végzett, mentse a fájlt, majd futtassa a következő parancsot az adatbázis előkészítéséhez:

sudo php artisan migrate

A rendszer kéri, hogy futtassa a parancsot, írja be a „yes”-t, és nyomja meg az „enter” billentyűt.

Ezután indítsa el az adatbázist rekordokkal az alábbiak szerint:

sudo php artisan db:seed

Írja be a „yes”-t, és nyomja meg az „enter” gombot.

Ezután módosítsa a /var/www/html/ninjacímtár tulajdonjogát :

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

6. lépés: Az Nginx konfigurálása a Invoice Ninja számára

Ezután létre kell hoznia egy SSL-tanúsítványt, és létre kell hoznia egy új virtuális gazdagép-konfigurációt az Invoice Ninja számára.

Először hozzon létre egy könyvtárat az SSL számára:

sudo mkdir -p /etc/nginx/cert/

Ezután hozzon létre egy SSL-tanúsítványt a következő paranccsal:

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

Adjon megfelelő engedélyeket a tanúsítványfájlhoz.

sudo chmod 600 /etc/nginx/cert/*

Hozzon létre egy új virtuális gazdagép konfigurációs fájlt a /etc/nginx/könyvtárban.

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

Adja hozzá a következő sorokat:

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

server {
    listen  443 default;
    server_name 192.168.0.227;
    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-fpm-www-data.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;
       }
    }

Mentse és zárja be a fájlt. Ezután engedélyezze a virtuális gazdagépet a következő paranccsal.

sudo ln -s /etc/nginx/sites-available/ninja /etc/nginx/sites-enabled/

Végül indítsa újra az Nginx webszervert.

sudo systemctl restart nginx

7. lépés: Hozzáférés a számla nindzsához

Mielőtt hozzáférne az Invoice Ninja webes felületéhez, engedélyeznie kell a HTTP és HTTPS szolgáltatásokat az UFW tűzfalon keresztül. Futtassa a következő parancsokat a portok megnyitásához:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

Végül nyissa meg a webböngészőt, és nyissa meg az URL-t https://192.168.0.227. Ezután elvégezheti a szükséges lépéseket a telepítés befejezéséhez.

Gratulálunk! Sikeresen telepítettük az Invoice Ninja-t az Nginx-szel és a MariaDB-vel az Ubuntu 16.04 kiszolgálón.


Telepítse a Plesket a CentOS 7 rendszeren

Telepítse a Plesket a CentOS 7 rendszeren

Más rendszert használ? A Plesk egy szabadalmaztatott webtárhely-vezérlőpult, amely lehetővé teszi a felhasználók számára, hogy adminisztrálják személyes és/vagy ügyfeleik webhelyeit, adatbázisait

A Cacti beállítása a Debian Jessie-n

A Cacti beállítása a Debian Jessie-n

Bevezetés A Cacti egy nyílt forráskódú megfigyelő és grafikus eszköz, amely teljes mértékben az RRD adatokon alapul. A Cactuson keresztül szinte bármilyen típusú eszközt felügyelhet

Telepítse a Lets Encrypt SSL-t az egykattintásos WordPress alkalmazásban

Telepítse a Lets Encrypt SSL-t az egykattintásos WordPress alkalmazásban

Bevezetés A Lets Encrypt egy hitelesítésszolgáltató szolgáltatás, amely ingyenes TLS/SSL-tanúsítványokat kínál. A telepítés folyamatát a Certbot leegyszerűsíti,

Tekkit Classic kiszolgáló beállítása Ubuntu 16.10 rendszeren

Tekkit Classic kiszolgáló beállítása Ubuntu 16.10 rendszeren

Más rendszert használ? Mi az a Tekkit Classic? A Tekkit Classic egy modpack ahhoz a játékhoz, amelyet mindenki ismer és szeret; Minecraft. Tartalmaz néhányat a ver

Az iRedMail beállítása a Debian Wheezy rendszeren

Az iRedMail beállítása a Debian Wheezy rendszeren

Más rendszert használ? Ez az oktatóanyag megmutatja, hogyan telepítheti a csoportmunka iRedMail programot a Debian Wheezy friss telepítésére. Használnia kell egy szervát

Jekyll blog létrehozása Ubuntu 16.04-en

Jekyll blog létrehozása Ubuntu 16.04-en

Más rendszert használ? A Jekyll nagyszerű alternatíva a WordPress helyett blogíráshoz vagy tartalommegosztáshoz. Nem igényel adatbázist, és nagyon egyszerű i

Felügyelet nélküli frissítések beállítása Debian 9-en (Stretch)

Felügyelet nélküli frissítések beállítása Debian 9-en (Stretch)

Más rendszert használ? Ha Debian szervert vásárol, akkor mindig rendelkeznie kell a legújabb biztonsági javításokkal és frissítésekkel, akár alszik, akár nem

A PHP 7.0 vagy PHP 7.1 telepítése és konfigurálása Ubuntu 16.04 rendszeren

A PHP 7.0 vagy PHP 7.1 telepítése és konfigurálása Ubuntu 16.04 rendszeren

A PHP és a kapcsolódó csomagok a leggyakrabban használt összetevők a webszerverek telepítésekor. Ebben a cikkben megtudjuk, hogyan kell beállítani a PHP 7.0 vagy PHP 7.1 o verzióját

A Squid Proxy telepítése a CentOS rendszeren

A Squid Proxy telepítése a CentOS rendszeren

A Squid egy népszerű, ingyenes Linux-program, amely lehetővé teszi továbbítási webproxy létrehozását. Ebben az útmutatóban megtudhatja, hogyan telepítheti a Squid-et a CentOS rendszerre, hogy megfordítsa

A Lighttpd (LLMP Stack) telepítése a CentOS 6 rendszeren

A Lighttpd (LLMP Stack) telepítése a CentOS 6 rendszeren

Bevezetés A Lighttpd az Apache forkja, amely sokkal kevésbé erőforrás-igényes. Könnyű, innen kapta a nevét, és meglehetősen egyszerű a használata. Telepítés

Három ingyenes szervervezérlő panel (gyors telepítés)

Három ingyenes szervervezérlő panel (gyors telepítés)

1. Virtualmin/Webmin A Virtualmin egy hatékony és rugalmas web hosting vezérlőpanel Linux és UNIX rendszerek számára, amely a jól ismert nyílt forráskódú webbázison alapul.

Yii alkalmazás beállítása Ubuntu 14.04-en

Yii alkalmazás beállítása Ubuntu 14.04-en

A Yii egy PHP-keretrendszer, amely lehetővé teszi alkalmazások gyorsabb és egyszerűbb fejlesztését. A Yii telepítése Ubuntura egyszerű, amint azt pontosan megtudhatja

A képernyő használata Ubuntu 14.04-en

A képernyő használata Ubuntu 14.04-en

A Screen egy olyan alkalmazás, amely lehetővé teszi a terminálmunkamenetek többszöri használatát egy ablakon belül. Ez lehetővé teszi több terminálablak szimulálását, ahol ez ma

Állítsa be a saját DNS-kiszolgálóját a Debian/Ubuntu rendszeren

Állítsa be a saját DNS-kiszolgálóját a Debian/Ubuntu rendszeren

Ez az oktatóanyag elmagyarázza, hogyan állíthat be DNS-kiszolgálót a Bind9 használatával Debian vagy Ubuntu rendszeren. A cikkben ennek megfelelően helyettesítse be a saját-domain-neve.com címet. TH-nál

A Logrotate használata naplófájlok kezelésére

A Logrotate használata naplófájlok kezelésére

Bevezetés A Logrotate egy Linux segédprogram, amely leegyszerűsíti a naplófájlok kezelését. Általában naponta egyszer fut egy cron-feladaton keresztül, és kezeli a naplóbázist

A statikus hálózat és az IPv6 konfigurálása CentOS 7 rendszeren

A statikus hálózat és az IPv6 konfigurálása CentOS 7 rendszeren

A VULTR a közelmúltban változtatásokat hajtott végre a saját oldalukon, és most már mindennek jól kell működnie, ha a NetworkManager engedélyezve van. Ha szeretné letiltani

Az Icinga2 módosítása a mester/kliens modell használatához CentOS 6 vagy CentOS 7 rendszeren

Az Icinga2 módosítása a mester/kliens modell használatához CentOS 6 vagy CentOS 7 rendszeren

Az Icinga2 egy hatékony felügyeleti rendszer, és mester-kliens modellben használva helyettesítheti az NRPE-alapú felügyeleti ellenőrzések szükségességét. A mester-kliens

A Red5 Media Server beállítása az Ubuntu 16.04 rendszeren

A Red5 Media Server beállítása az Ubuntu 16.04 rendszeren

Más rendszert használ? A Red5 egy Java nyelven megvalósított nyílt forráskódú médiaszerver, amely lehetővé teszi többfelhasználós Flash-alkalmazások, például élő streamin futtatását.

Fordítsa le és telepítse az Nginx-et a PageSpeed ​​Modul segítségével a Debian 8 rendszeren

Fordítsa le és telepítse az Nginx-et a PageSpeed ​​Modul segítségével a Debian 8 rendszeren

Ebben a cikkben látni fogjuk, hogyan fordíthatja le és telepítheti az Nginx fővonalat az Nginx hivatalos forrásaiból a PageSpeed ​​modullal, amely lehetővé teszi a

Az Apache Cassandra 3.11.x telepítése Ubuntu 16.04 LTS rendszeren

Az Apache Cassandra 3.11.x telepítése Ubuntu 16.04 LTS rendszeren

Más rendszert használ? Az Apache Cassandra egy ingyenes és nyílt forráskódú NoSQL adatbázis-kezelő rendszer, amelyet úgy terveztek, hogy biztosítsa a méretezhetőséget,

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A mesterséges intelligencia nem a jövőben, hanem itt a jelenben. Ebben a blogban Olvassa el, hogyan hatott a mesterséges intelligencia alkalmazások különböző ágazatokra.

DDOS támadások: Rövid áttekintés

DDOS támadások: Rövid áttekintés

Ön is DDOS támadások áldozata, és tanácstalan a megelőzési módszereket illetően? Olvassa el ezt a cikket a kérdések megoldásához.

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Talán hallottál már arról, hogy a hackerek sok pénzt keresnek, de elgondolkodtál már azon, hogyan kereshetnek ennyi pénzt? beszéljük meg.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

Szeretné látni a Google forradalmi találmányait, és azt, hogy ezek a találmányok hogyan változtatták meg minden mai ember életét? Ezután olvassa el a blogot, és nézze meg a Google találmányait.

Essential péntek: Mi történt az AI-vezérelt autókkal?

Essential péntek: Mi történt az AI-vezérelt autókkal?

Az önvezető autók koncepciója, hogy mesterséges intelligencia segítségével kerüljenek az utakra, már egy ideje álmunk. De számos ígéret ellenére sehol sem látszanak. Olvassa el ezt a blogot, hogy többet megtudjon…

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Ahogy a tudomány gyors ütemben fejlődik, átveszi erőfeszítéseink nagy részét, megnő annak a kockázata is, hogy alávetjük magunkat egy megmagyarázhatatlan szingularitásnak. Olvassa el, mit jelenthet számunkra a szingularitás.

Az adattárolás fejlődése – Infografika

Az adattárolás fejlődése – Infografika

Az adatok tárolási módjai az Adatok születése óta alakulhatnak. Ez a blog egy infografika alapján mutatja be az adattárolás fejlődését.

A Big Data Reference Architecture Layerek funkciói

A Big Data Reference Architecture Layerek funkciói

Olvassa el a blogot, hogy a legegyszerűbb módon ismerje meg a Big Data Architecture különböző rétegeit és azok funkcióit.

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Ebben a digitálisan vezérelt világban az intelligens otthoni eszközök az élet döntő részévé váltak. Íme az intelligens otthoni eszközök néhány elképesztő előnye, hogyan teszik életünket érdemessé és egyszerűbbé.

A macOS Catalina 10.15.4 kiegészítés frissítése több problémát okoz, mint a megoldás

A macOS Catalina 10.15.4 kiegészítés frissítése több problémát okoz, mint a megoldás

Az Apple a közelmúltban kiadott egy kiegészítést a macOS Catalina 10.15.4-hez a problémák megoldására, de úgy tűnik, hogy a frissítés több problémát okoz, ami a Mac gépek blokkolásához vezet. További információért olvassa el ezt a cikket