Kaip įdiegti sąskaitą faktūrą Ninja Ubuntu 16.04

Įvadas

Invoice Ninja yra nemokama atvirojo kodo žiniatinklio programa, kurią galima naudoti sąskaitoms faktūroms išrašyti, mokėjimams, laiko stebėjimui ir dar daugiau. Tai geriausias sprendimas klientams išrašyti sąskaitas ir atsiskaityti. Galite lengvai sukurti ir išsiųsti sąskaitas internetu per kelias sekundes. Invoice Ninja leidžia kurti pasirinktines sąskaitas faktūras ir rodyti tiesiogines sąskaitas faktūras kaip PDF failą.

Šioje pamokoje paaiškinsiu, kaip įdiegti „Invoice Ninja“ Ubuntu 16.04 serveryje.

Būtinos sąlygos

  • Ubuntu 16.04 serverio egzempliorius su įdiegta 2 GB RAM.
  • Sudo vartotojas su root teisėmis.
  • Turėsite žinoti pagrindinį savo serverio egzemplioriaus IP adresą. Šioje pamokoje aš naudosiu 192.168.0.227.

1 veiksmas: atnaujinkite sistemą

Prieš diegiant bet kokius paketus Ubuntu serverio egzemplioriuje, rekomenduojama atnaujinti sistemą. Prisijunkite prie savo serverio per SSH kaip sudo vartotojas ir paleiskite šią komandą:

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

2 veiksmas: įdiekite LEMP kamino

Prieš pradėdami, savo serveryje turėsite sukonfigūruoti LEMP (Nginx, MariaDB ir PHP) krūvą.

Pirmiausia įdiekite „Nginx“ ir „MariaDB“ naudodami šią komandą:

sudo apt-get install nginx mariadb-server -y

Baigę diegti, paleiskite Nginx ir MariaDB paslaugas ir įgalinkite jas paleisti:

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

Tada jums reikės PHP 7 ir PHP-FPM, kad galėtumėte įdiegti „Invoice Ninja“.

Galite įdiegti PHP-FPM ir kitus reikalingus PHP plėtinius naudodami šią komandą:

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

Kai diegimas bus baigtas, turėsite pakeisti php.inikonfigūracijos failą:

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

Pakeiskite šią eilutę:

cgi.fix_pathinfo=0

Išsaugokite ir uždarykite failą.

3 veiksmas: sukonfigūruokite duomenų bazę

Pagal numatytuosius nustatymus MariaDB diegimas nebuvo apsaugotas. Jums reikės jį apsaugoti. Tai galite padaryti paleisdami mysql_secure_installation script.

sudo mysql_secure_installation

Atsakykite į visus klausimus, kaip parodyta žemiau:

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

Kai viskas bus padaryta, prisijunkite naudodami MySQL apvalkalą naudodami šią komandą:

mysql -u root -p

Įveskite savo root slaptažodį ir paspauskite "enter", pamatysite MySQL (MariaDB) apvalkalą.

Sukurkite naują „Invoice Ninja“ duomenų bazę ir naują naudotoją.

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 veiksmas: sukonfigūruokite PHP-FPM

Sukonfigūruokite PHP-FPM telkinį Nginx vartotojui:

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

Pridėkite šias eilutes:

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

Išsaugokite ir uždarykite failą, kai baigsite, tada iš naujo paleiskite PHP-FPM, kad pritaikytumėte šiuos pakeitimus.

systemctl restart php7.0-fpm

5 veiksmas: atsisiųskite ir sukonfigūruokite „Invoice Ninja“.

Galite atsisiųsti naujausią stabilią „Invoice Ninja“ versiją iš „GitHub“ saugyklos naudodami šią komandą:

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

Taip pat turėsite įdiegti „Composer“ – PHP priklausomybės tvarkyklę. Jį galite įdiegti naudodami šią komandą:

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

Tada įdiekite visas sąskaitos faktūros Ninja priklausomybes naudodami composerkomandą, kaip parodyta toliau:

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

Baigę diegti, pervardykite .envfailą ir atlikite kai kuriuos pakeitimus.

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

Pakeiskite eilutes, kaip parodyta žemiau:

DB_DATABASE=ninja_db
DB_USERNAME=ninja
DB_PASSWORD=password

Baigę išsaugokite failą, tada paleiskite šią komandą, kad paruoštumėte duomenų bazę:

sudo php artisan migrate

Būsite paraginti paleisti komandą, įveskite „taip“ ir paspauskite „enter“.

Tada įdėkite į duomenų bazę su įrašais, kaip parodyta toliau:

sudo php artisan db:seed

Įveskite „taip“ ir paspauskite „įvesti“.

Tada pakeiskite /var/www/html/ninjakatalogo nuosavybės teisę :

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

6 veiksmas: sukonfigūruokite „Nginx“, skirtą „Invoice Ninja“.

Tada turėsite sukurti SSL sertifikatą ir sukurti naują virtualios prieglobos konfigūraciją, skirtą Invoice Ninja.

Pirmiausia sukurkite SSL katalogą:

sudo mkdir -p /etc/nginx/cert/

Tada sugeneruokite SSL sertifikatą naudodami šią komandą:

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

Suteikite tinkamus leidimus sertifikato failui.

sudo chmod 600 /etc/nginx/cert/*

Sukurkite naują virtualaus pagrindinio kompiuterio konfigūracijos failą /etc/nginx/kataloge.

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

Pridėkite šias eilutes:

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

Išsaugokite ir uždarykite failą. Tada įgalinkite virtualųjį pagrindinį kompiuterį naudodami šią komandą.

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

Galiausiai iš naujo paleiskite „Nginx“ žiniatinklio serverį.

sudo systemctl restart nginx

7 veiksmas: pasiekite sąskaitą faktūrą „Ninja“.

Prieš prisijungdami prie „Invoice Ninja“ žiniatinklio sąsajos, turėsite leisti HTTP ir HTTPS paslaugas per UFW užkardą. Vykdykite šias komandas, kad atidarytumėte šiuos prievadus:

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

Galiausiai atidarykite žiniatinklio naršyklę ir pasiekite URL https://192.168.0.227. Tada galite atlikti reikiamus veiksmus, kad užbaigtumėte diegimą.

Sveikiname! Sėkmingai įdiegėme „Invoice Ninja“ su „Nginx“ ir „MariaDB“ Ubuntu 16.04 serveryje.

Palikti komentarą

Mašinų augimas: AI pritaikymas realiame pasaulyje

Mašinų augimas: AI pritaikymas realiame pasaulyje

Dirbtinis intelektas nėra ateityje, jis čia, dabartyje Šiame tinklaraštyje Skaitykite, kaip dirbtinio intelekto programos paveikė įvairius sektorius.

DDOS atakos: trumpa apžvalga

DDOS atakos: trumpa apžvalga

Ar taip pat esate DDOS atakų auka ir esate sumišęs dėl prevencijos metodų? Perskaitykite šį straipsnį, kad išspręstumėte savo užklausas.

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Galbūt girdėjote, kad įsilaužėliai uždirba daug pinigų, bet ar kada susimąstėte, kaip jie uždirba tokius pinigus? padiskutuokime.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Ar norite pamatyti revoliucinius „Google“ išradimus ir kaip šie išradimai pakeitė kiekvieno žmogaus gyvenimą šiandien? Tada skaitykite tinklaraštį, kad pamatytumėte „Google“ išradimus.

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Savavaledžių automobilių koncepcija, kuri išvažiuotų į kelius su dirbtinio intelekto pagalba, yra svajonė, kurią jau kurį laiką svajojame. Tačiau nepaisant kelių pažadų, jų niekur nematyti. Skaitykite šį tinklaraštį, kad sužinotumėte daugiau…

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Kadangi mokslas sparčiai vystosi, perimdamas daug mūsų pastangų, taip pat didėja rizika, kad pateksime į nepaaiškinamą singuliarumą. Skaitykite, ką mums gali reikšti išskirtinumas.

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Skaitykite tinklaraštį, kad paprasčiausiai sužinotumėte apie skirtingus didžiųjų duomenų architektūros sluoksnius ir jų funkcijas.

Duomenų saugojimo raida – infografika

Duomenų saugojimo raida – infografika

Duomenų saugojimo metodai gali būti tobulinami nuo pat Duomenų gimimo. Šiame tinklaraštyje, remiantis infografika, aprašoma duomenų saugojimo raida.

6 nuostabūs išmaniųjų namų įrenginių privalumai

6 nuostabūs išmaniųjų namų įrenginių privalumai

Šiame skaitmeniniu būdu pagrįstame pasaulyje išmanieji namų įrenginiai tapo svarbia gyvenimo dalimi. Štai keletas nuostabių išmaniųjų namų įrenginių privalumų, kaip jie daro mūsų gyvenimą vertą gyventi ir paprastesnį.

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

Neseniai „Apple“ išleido „macOS Catalina 10.15.4“ priedą, skirtą problemoms išspręsti, tačiau atrodo, kad dėl atnaujinimo kyla daugiau problemų, dėl kurių „Mac“ įrenginiai blokuojami. Norėdami sužinoti daugiau, perskaitykite šį straipsnį