Si të instaloni Ninja faturë në Ubuntu 16.04
Invoice Ninja është një softuer me burim të hapur i bazuar në ueb për faturimin, pagesat, gjurmimin e kohës dhe shumë më tepër. Mund të krijoni Fatura në internet në sekonda, të ndërveproni me portat e pagesave si Stripe, PayPal, WePay dhe të tjera. Fatura Ninja mund t'ju tregojë një pamje paraprake të faturës drejtpërdrejt në formatin PDF. Mund ta ndryshoni vetë logon e kompanisë në shabllone lehtësisht. Invoice Ninja është i bazuar në PHP, i ndërtuar me Kornizën Laravel dhe mund të instalohet në Linux dhe Windows.
Në këtë tutorial, unë do t'ju tregoj se si të instaloni Invoice Ninja në Ubuntu 16.04. Unë do të përdor Nginx si server në internet dhe MariaDB si sistem të bazës së të dhënave.
Kusht paraprak
- Serveri Ubuntu 16.04.
- Privilegjet e rrënjës.
Hapi 1 - Instaloni Nginx
Në këtë hap, ne do të instalojmë serverin në internet Nginx. Lidhuni me serverin tuaj me llogarinë tuaj ssh root (ose identifikohuni me një përdorues tjetër dhe përdorni sudo -s për t'u bërë root) dhe përditësoni depon.
ssh
apt-get update
Instaloni Nginx me komandën apt më poshtë:
apt-get install -y nginx
Kur instalimi i nginx të ketë mbaruar, nisni Nginx dhe shtoni atë për të filluar në kohën e nisjes.
systemctl start nginx
systemctl enable nginx
Sigurohuni që nginx të funksionojë. Kontrolloni portin e përdorur nga nginx, porti i parazgjedhur i serverit në ueb është 80.
netstat -plntu
Hapi 2 - Instaloni dhe konfiguroni serverin MariaDB
Pas instalimit të Nginx, ne duhet të instalojmë serverin mariadb të paketës në sistem. Është në dispozicion në depon e Ubuntu. Instaloni serverin mariadb dhe varësitë e tij me komandën e mëposhtme.
apt-get install -y mariadb-server
Kur instalimi të ketë mbaruar, filloni shërbimin mariadb dhe aktivizoni që të fillojë në kohën e nisjes me këto komanda systemctl.
systemctl restart mysql
systemctl enable mysql
MariaDB është nisur, tani mund të vendosni fjalëkalimin rrënjë për mariadb me komandën më poshtë.
mysql_secure_installation
Vendosni fjalëkalimin tuaj të ri të MariaDB root.
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
Më pas, përpiquni të lidheni me shell-in mysql si përdorues rrënjë.
mysql -u root -p
TYPE YOUR ROOT PASSWORD
Ju do të shihni MySQL shell kur gjithçka funksionoi si duhet.
Tani duhet të krijojmë një bazë të dhënash të re dhe një përdorues të ri për Invoice Ninja. Do të krijoj një bazë të dhënash të re me emrin ninjadb, një përdorues të ri ninja me fjalëkalim aqwe123. Ju lutemi zgjidhni një fjalëkalim të ndryshëm dhe të sigurt për instalimin tuaj!
Krijoni ato me pyetjen mysql më poshtë. Krijoni një bazë të dhënash të re, krijoni përdorues dhe fjalëkalim të ri, jepni bazën e të dhënave përdoruesit të ri me një fjalëkalim.
create database ninjadb;
create user identified by 'aqwe123';
flush privileges;
MariaDB është instaluar dhe është krijuar një bazë të dhënash dhe përdorues i ri për Invoice Ninja.
Hapi 3 - Instaloni dhe konfiguroni PHP7.0-FPM
Fatura Ninja bazohet në PHP, kështu që ne duhet të instalojmë PHP në sistem. Ne do të përdorim PHP7.0-FPM për këtë instalim Invoice Ninja.
Instaloni PHP7.0-FPM dhe shtesa të tjera PHP të nevojshme nga Invoice Ninja me komandën më poshtë.
apt-get install -y php7.0-fpm php7.0-gd php7.0-xml php7.0-mysql php7.0-zip php7.0-mbstring php7.0-mcrypt php7.0-curl php7.0-gmp
Pas instalimit, shkoni te drejtoria e konfigurimit PHP dhe modifikoni skedarin php.ini.
cd /etc/php/7.0/
vim fpm/php.ini
Zhkomentoni linjën CGI më poshtë dhe ndryshoni vlerën në 0.
cgi.fix_pathinfo=0
Ruaje dhe dil.
Redaktoni skedarin php.ini në drejtorinë cli.
vim cli/php.ini
Zhkomentoni linjën CGI më poshtë dhe ndryshoni vlerën në 0.
cgi.fix_pathinfo=0
Ruaje dhe dil.
Më pas, nisni PHP7.0-FPM dhe aktivizoni atë të fillojë në kohën e nisjes.
systemctl restart php7.0-fpm
systemctl enable php7.0-fpm
Si parazgjedhje, PHP7.0-FPM funksionon me një skedar fole, kontrollojeni atë me komandën më poshtë dhe do të shihni skedarin e folesë PHP siç tregohet në pamjen e ekranit.
netstat -pl
PHP7.0-FPM dhe të gjitha shtesat e nevojshme nga Invoice Ninja janë instaluar.
Hapi 4 - Instaloni dhe konfiguroni Faturën Ninja
Në këtë hap, ne do të shkarkojmë dhe konfigurojmë Invoice Ninja. Së pari, instaloni unzip në sistemin tuaj.
apt-get install -y unzip
Shkoni te drejtoria /var/www dhe shkarkoni kodin burimor të Invoice Ninja me komandën wget.
cd /var/www/
wget https://download.invoiceninja.com/ninja-v3.1.0.zip
Ekstraktoni skedarin zip të Faturës Ninja dhe shkoni te drejtoria ninja.
unzip ninja-v3.1.0.zip
cd ninja/
Për projektin Laravel, ne duhet të instalojmë menaxherin e varësisë së kompozitorit për PHP. Ai është i disponueshëm në depon e Ubuntu, kështu që ne mund ta instalojmë atë me komandën apt.
apt-get install -y composer
Më tej, instaloni varësitë e Ninjas së Faturës me komandën e kompozitorit më poshtë.
composer install --no-dev -o
- --no-dev : Çaktivizon instalimin e paketave të kërkesave-dev
- -o : Optimizo ngarkuesin automatik gjatë shkarkimit të ngarkuesit automatik
Kur të përfundojë instalimi i varësisë, kopjoni skedarin .env dhe modifikoni me vim.
cp .env.example .env
vim .env
Ndryshoni vlerën e cilësimeve të bazës së të dhënave më poshtë.
DB_DATABASE=ninjadb
DB_USERNAME=ninja
DB_PASSWORD=aqwe123
Ruaje dhe dil.
Më pas, modifikoni konfigurimin e bazës së të dhënave në drejtorinë e konfigurimit.
vim config/database.php
Ne po përdorim bazën e të dhënave MariaDB/MySQL, shkoni te rreshti 55 MySQL.
'database' => env('DB_DATABASE', 'ninjadb'),
'username' => env('DB_USERNAME', 'ninja'),
'password' => env('DB_PASSWORD', 'aqwe123'),
Zëvendësoni fjalëkalimin me atë që keni vendosur për përdoruesin ninja!
Ruaje dhe dil.
Të gjithë skedarët e konfigurimit janë redaktuar. Tjetra, migroni bazën e të dhënave me komandën më poshtë.
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 të gjitha të dhënat.
php artisan db:seed
Shkruani po dhe shtypni Enter për të konfirmuar.
Gjeneroni një çelës të ri aplikacioni për projektin Laravel Invoice Ninja.
php artisan key:generate
Do të shihni çelësin e aplikacionit.
Redaktoni skedarin app.php me vim.
vim config/app.php
Shkoni te rreshti APP_KEY 85 dhe ngjitni çelësin që kemi krijuar.
'key' => env('APP_KEY', 'base64:0o5QLWbNeDCNer064+600Hl8oJ20OPCIymadKJQ1RGo='),
Ruaje dhe dil.
Së fundi, ndryshoni zotëruesin e drejtorisë /var/www/ninja në përdorues dhe grup www-data.
cd /var/www/
chown -R www-data:www-data ninja/
Fatura Ninja është konfiguruar dhe gati për instalim.
Hapi 5 - Konfiguro SSL dhe Virtual Host
Në këtë hap, ne do të gjenerojmë një skedar të certifikatës SSL me komandën OpenSSL dhe do të krijojmë konfigurimin e ri të hostit virtual për Invoice Ninja. Nëse je në një server të drejtpërdrejtë, mund të përdorësh një SSL falas nga Lets Encrypt në vend që të gjenerosh një certifikatë SSL të vetë-nënshkruar me OpenSSL.
Krijo një drejtori të re cert për skedarët SSL.
mkdir -p /etc/nginx/cert/
Drejtoni komandën openssl më poshtë për të gjeneruar skedarët e certifikatës.
openssl req -new -x509 -days 365 -nodes -out /etc/nginx/cert/ninja.crt -keyout /etc/nginx/cert/ninja.key
Ndryshoni lejen e skedarëve të certifikatës në 600.
chmod 600 /etc/nginx/cert/*
Më pas, shkoni te drejtoria Nginx dhe krijoni një skedar të ri të konfigurimit të hostit virtual të quajtur ninja.
cd /etc/nginx/
vim sites-available/ninja
Ngjitni konfigurimin e hostit virtual më poshtë.
server {
# Your Domain Name - hakase-labs.co
listen 80;
server_name ninja.co www.ninja.co;
# Rewrite redirect to https
add_header Strict-Transport-Security max-age=2592000;
rewrite ^ https://$server_name$request_uri? permanent;
}
server {
# Your Domain Name - hakase-labs.co
listen 443 default;
server_name ninja.co www.ninja.co;
# Enable SSL for Invoice Ninja
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;
# Invoice Ninja web root files
root /var/www/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:/run/php/php7.0-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;
}
}
Ruaje dhe dil.
Aktivizo hostin virtual ninja dhe testo konfigurimin Nginx, sigurohu që të mos ketë gabim.
ln -s /etc/nginx/sites-available/ninja /etc/nginx/sites-enabled/
nginx -t
Tani rinisni ueb serverin nginx.
systemctl restart nginx
Konfigurimi i hostit virtual të Invoice Ninja ka përfunduar.
Hapi 6 - Përfundimi i instalimit dhe testimit
Hapni shfletuesin tuaj të internetit dhe shkruani URL-në e Ninjas së Faturës: ninja.co. Do të ridrejtoheni te faqja e lidhjes dhe konfigurimit https.
Shkruani Cilësimet e aplikacionit, Lidhja e bazës së të dhënave, Cilësimet e postës elektronike, Detajet e përdoruesit dhe kontrolloni TOS-in e faturës Ninja.
Kliko Dorëzo dhe do të ridrejtohesh në faqen e hyrjes së Invoice Ninja.
Shkruani emailin dhe fjalëkalimin tuaj, më pas shtypni LOGIN.
Do të shihni Panelin e Faturës Ninja.
Faqja e cilësimeve të Ninja të faturës.
Fatura Ninja e instaluar me Nginx dhe MariaDB në Ubuntu 16.04.
Referenca
- https://github.com/Lykegenes/vps-toolkit/blob/master/apps/invoice-ninja-nginx