Si të instaloni Ninja faturë në Ubuntu 16.04

Prezantimi

Invoice Ninja është një aplikacion falas dhe me burim të hapur i bazuar në ueb që mund të përdoret për faturim, pagesa, gjurmim të kohës dhe shumë më tepër. Është zgjidhja më e mirë për faturimin dhe faturimin e klientëve. Ju lehtë mund të krijoni dhe dërgoni fatura në internet në sekonda. Invoice Ninja ju lejon të krijoni fatura të personalizuara dhe të shfaqni fatura të drejtpërdrejta si një skedar PDF.

Në këtë tutorial, unë do të shpjegoj se si të instaloni Invoice Ninja në serverin Ubuntu 16.04.

Parakushtet

  • Një shembull i serverit Ubuntu 16.04 me 2 GB RAM të instaluar.
  • Një përdorues sudo me privilegje rrënjësore.
  • Ju do të duhet të dini IP-në kryesore të shembullit të serverit tuaj. Në këtë tutorial, unë do të përdor 192.168.0.227.

Hapi 1: Përditësoni sistemin

Përpara se të instaloni ndonjë paketë në shembullin e serverit Ubuntu, rekomandohet të përditësoni sistemin. Hyni në serverin tuaj nëpërmjet SSH si përdoruesi juaj sudo dhe ekzekutoni komandën e mëposhtme:

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

Hapi 2: Instaloni stack LEMP

Para se të filloni, do t'ju duhet të konfiguroni një pirg LEMP (Nginx, MariaDB dhe PHP) në serverin tuaj.

Së pari, instaloni Nginx dhe MariaDB me komandën e mëposhtme:

sudo apt-get install nginx mariadb-server -y

Pasi të përfundojë instalimi, nisni shërbimet Nginx dhe MariaDB dhe mundësojini ato të fillojnë në boot:

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

Më pas, do t'ju duhet PHP 7 dhe PHP-FPM për instalimin e Invoice Ninja.

Ju mund të instaloni PHP-FPM dhe shtesat e tjera të kërkuara PHP me komandën e mëposhtme:

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

Pasi të ketë përfunduar instalimi, do t'ju duhet të modifikoni php.iniskedarin e konfigurimit:

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

Ndryshoni rreshtin e mëposhtëm:

cgi.fix_pathinfo=0

Ruani dhe mbyllni skedarin.

Hapi 3: Konfiguro bazën e të dhënave

Si parazgjedhje, instalimi i MariaDB nuk është siguruar. Do t'ju duhet ta siguroni atë. Ju mund ta bëni këtë duke vrapuar mysql_secure_installation script.

sudo mysql_secure_installation

Përgjigjuni të gjitha pyetjeve siç tregohet më poshtë:

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

Kur gjithçka të ketë mbaruar, lidheni duke përdorur guaskën MySQL me komandën e mëposhtme:

mysql -u root -p

Futni fjalëkalimin tuaj root dhe shtypni "enter", do të shihni guaskën MySQL (MariaDB).

Krijo një bazë të dhënash të re dhe një përdorues të ri për 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

Hapi 4: Konfiguro PHP-FPM

Konfiguro grupin PHP-FPM për përdoruesin Nginx:

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

Shtoni rreshtat e mëposhtëm:

[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 = /

Ruani dhe mbyllni skedarin kur të keni mbaruar, më pas rinisni PHP-FPM për të zbatuar këto ndryshime.

systemctl restart php7.0-fpm

Hapi 5: Shkarkoni dhe konfiguroni Invoice Ninja

Ju mund të shkarkoni versionin më të fundit të qëndrueshëm të Invoice Ninja nga depoja e GitHub me komandën e mëposhtme:

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

Do t'ju duhet gjithashtu të instaloni Composer, një menaxher varësie për PHP. Mund ta instaloni me komandën e mëposhtme:

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

Tjetra, instaloni të gjitha varësitë e Faturës Ninja duke përdorur composerkomandën siç tregohet më poshtë:

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

Pasi të përfundojë instalimi, riemërtoni .envskedarin dhe bëni disa ndryshime.

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

Ndryshoni linjat siç tregohet më poshtë:

DB_DATABASE=ninja_db
DB_USERNAME=ninja
DB_PASSWORD=password

Ruani skedarin kur të keni mbaruar, më pas ekzekutoni komandën e mëposhtme për të përgatitur bazën e të dhënave:

sudo php artisan migrate

Do t'ju kërkohet të ekzekutoni komandën, shkruani "po" dhe shtypni "enter".

Më pas, vendosni bazën e të dhënave me regjistrime siç tregohet më poshtë:

sudo php artisan db:seed

Shkruani "po" dhe shtypni "enter".

Më pas, ndryshoni pronësinë e /var/www/html/ninjadrejtorisë:

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

Hapi 6: Konfiguro Nginx për Ninja-n e faturës

Më pas, do t'ju duhet të krijoni një certifikatë SSL dhe të krijoni një konfigurim të ri të hostit virtual për Invoice Ninja.

Së pari, krijoni një direktori për SSL:

sudo mkdir -p /etc/nginx/cert/

Më pas, gjeneroni një certifikatë SSL me komandën e mëposhtme:

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

Jepni lejet e duhura skedarit të certifikatës.

sudo chmod 600 /etc/nginx/cert/*

Krijo një skedar të ri të konfigurimit të hostit virtual brenda /etc/nginx/drejtorisë.

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

Shtoni rreshtat e mëposhtëm:

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;
       }
    }

Ruani dhe mbyllni skedarin. Pastaj aktivizoni hostin virtual me komandën e mëposhtme.

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

Më në fund, rinisni serverin në internet Nginx.

sudo systemctl restart nginx

Hapi 7: Hyni në Ninja në faturë

Përpara se të hyni në ndërfaqen e internetit të Invoice Ninja, do t'ju duhet të lejoni shërbimet HTTP dhe HTTPS përmes murit të zjarrit UFW. Ekzekutoni komandat e mëposhtme për të hapur këto porte:

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

Më në fund, hapni shfletuesin tuaj të internetit dhe hyni në URL https://192.168.0.227. Më pas mund të përfundoni hapat e kërkuar për të përfunduar instalimin.

urime! Ne kemi instaluar me sukses Invoice Ninja me Nginx dhe MariaDB në serverin Ubuntu 16.04.

Lëreni një koment

Ngritja e makinave: Aplikimet në botën reale të AI

Ngritja e makinave: Aplikimet në botën reale të AI

Inteligjenca Artificiale nuk është në të ardhmen, është këtu në të tashmen Në këtë blog Lexoni se si aplikacionet e inteligjencës artificiale kanë ndikuar në sektorë të ndryshëm.

Sulmet DDOS: Një përmbledhje e shkurtër

Sulmet DDOS: Një përmbledhje e shkurtër

A jeni edhe ju viktimë e Sulmeve DDOS dhe jeni konfuz në lidhje me metodat e parandalimit? Lexoni këtë artikull për të zgjidhur pyetjet tuaja.

A e keni pyetur ndonjëherë veten se si fitojnë para hakerët?

A e keni pyetur ndonjëherë veten se si fitojnë para hakerët?

Ju mund të keni dëgjuar se hakerët fitojnë shumë para, por a keni menduar ndonjëherë se si i fitojnë ato para? Le te diskutojme.

Shpikjet revolucionare nga Google që do tju bëjnë të lehtë jetën tuaj.

Shpikjet revolucionare nga Google që do tju bëjnë të lehtë jetën tuaj.

Dëshironi të shihni shpikjet revolucionare nga Google dhe se si këto shpikje ndryshuan jetën e çdo njeriu sot? Më pas lexoni në blog për të parë shpikjet nga Google.

E Premte Thelbësore: Çfarë ndodhi me Makinat e drejtuara nga AI?

E Premte Thelbësore: Çfarë ndodhi me Makinat e drejtuara nga AI?

Koncepti i makinave vetë-drejtuese për të dalë në rrugë me ndihmën e inteligjencës artificiale është një ëndërr që e kemi prej kohësh. Por, pavarësisht nga disa premtime, ato nuk shihen askund. Lexoni këtë blog për të mësuar më shumë…

Singulariteti teknologjik: Një e ardhme e largët e qytetërimit njerëzor?

Singulariteti teknologjik: Një e ardhme e largët e qytetërimit njerëzor?

Ndërsa Shkenca evoluon me një ritëm të shpejtë, duke marrë përsipër shumë nga përpjekjet tona, rriten edhe rreziqet për t'iu nënshtruar një Singulariteti të pashpjegueshëm. Lexoni, çfarë mund të thotë singulariteti për ne.

Funksionalitetet e shtresave të arkitekturës së referencës së të dhënave të mëdha

Funksionalitetet e shtresave të arkitekturës së referencës së të dhënave të mëdha

Lexoni blogun për të njohur shtresat e ndryshme në arkitekturën e të dhënave të mëdha dhe funksionalitetet e tyre në mënyrën më të thjeshtë.

Evolucioni i ruajtjes së të dhënave - Infografik

Evolucioni i ruajtjes së të dhënave - Infografik

Metodat e ruajtjes së të dhënave kanë evoluar mund të jenë që nga lindja e të dhënave. Ky blog mbulon evolucionin e ruajtjes së të dhënave në bazë të një infografike.

6 Përfitimet e mahnitshme të të pasurit pajisje shtëpiake inteligjente në jetën tonë

6 Përfitimet e mahnitshme të të pasurit pajisje shtëpiake inteligjente në jetën tonë

Në këtë botë të drejtuar nga dixhitali, pajisjet inteligjente të shtëpisë janë bërë një pjesë thelbësore e jetës. Këtu janë disa përfitime të mahnitshme të pajisjeve shtëpiake inteligjente se si ato e bëjnë jetën tonë të vlefshme dhe më të thjeshtë.

Përditësimi shtesë i macOS Catalina 10.15.4 po shkakton më shumë probleme sesa zgjidhja

Përditësimi shtesë i macOS Catalina 10.15.4 po shkakton më shumë probleme sesa zgjidhja

Së fundmi Apple lëshoi ​​macOS Catalina 10.15.4 një përditësim shtesë për të rregulluar problemet, por duket se përditësimi po shkakton më shumë probleme që çojnë në bricking të makinerive mac. Lexoni këtë artikull për të mësuar më shumë