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.


Įdiekite „Plesk“ „CentOS 7“.

Įdiekite „Plesk“ „CentOS 7“.

Naudojate kitą sistemą? Plesk yra patentuotas žiniatinklio prieglobos valdymo skydelis, leidžiantis vartotojams administruoti savo asmenines ir (arba) klientų svetaines, duomenų bazes

Nustatykite „Cacti“ naudodami „Debian Jessie“.

Nustatykite „Cacti“ naudodami „Debian Jessie“.

Įvadas Cacti yra atvirojo kodo stebėjimo ir grafikų sudarymo įrankis, visiškai pagrįstas RRD duomenimis. Naudodami „Cacti“ galite stebėti beveik bet kokio tipo įrenginius

Įdiekite „Lets Encrypt SSL“ „WordPress“ programoje vienu spustelėjimu

Įdiekite „Lets Encrypt SSL“ „WordPress“ programoje vienu spustelėjimu

Įvadas „Lets Encrypt“ yra sertifikatų išdavimo tarnyba, siūlanti nemokamus TLS/SSL sertifikatus. Diegimo procesą supaprastina Certbot,

Kaip nustatyti „Tekkit Classic“ serverį „Ubuntu 16.10“.

Kaip nustatyti „Tekkit Classic“ serverį „Ubuntu 16.10“.

Naudojate kitą sistemą? Kas yra Tekkit Classic? „Tekkit Classic“ yra visų žinomo ir mėgstamo žaidimo modifikacijų paketas; Minecraft. Jame yra keletas ver

„Debian Wheezy“ nustatykite „iRedMail“.

„Debian Wheezy“ nustatykite „iRedMail“.

Naudojate kitą sistemą? Ši pamoka parodys, kaip įdiegti grupinę programinę įrangą iRedMail naujai įdiegus Debian Wheezy. Turėtumėte naudoti tarnavimą

Jekyll tinklaraščio kūrimas Ubuntu 16.04

Jekyll tinklaraščio kūrimas Ubuntu 16.04

Naudojate kitą sistemą? „Jekyll“ yra puiki „WordPress“ alternatyva dienoraščių rašymui ar turinio dalijimuisi. Tam nereikia jokių duomenų bazių ir tai labai paprasta

Kaip įdiegti „Squid“ tarpinį serverį „CentOS“.

Kaip įdiegti „Squid“ tarpinį serverį „CentOS“.

Squid yra populiari nemokama „Linux“ programa, leidžianti sukurti persiuntimo žiniatinklio tarpinį serverį. Šiame vadove pamatysite, kaip įdiegti „Squid“ „CentOS“, kad paverstumėte jus

Kaip įdiegti „Lighttpd“ (LLMP Stack) „CentOS 6“.

Kaip įdiegti „Lighttpd“ (LLMP Stack) „CentOS 6“.

Įvadas Lighttpd yra „Apache“ šakutė, skirta daug mažiau išteklių imti. Jis yra lengvas, todėl jo pavadinimas ir yra gana paprastas naudoti. Įdiegti

Trys nemokami serverio valdymo skydeliai (greitasis diegimas)

Trys nemokami serverio valdymo skydeliai (greitasis diegimas)

1. Virtualmin/Webmin Virtualmin yra galingas ir lankstus interneto prieglobos valdymo skydelis, skirtas Linux ir UNIX sistemoms, pagrįstas gerai žinoma atvirojo kodo žiniatinklio baze

Yii programos nustatymas Ubuntu 14.04

Yii programos nustatymas Ubuntu 14.04

Yii yra PHP sistema, leidžianti greičiau ir lengviau kurti programas. „Yii“ įdiegimas „Ubuntu“ yra nesudėtingas, nes sužinosite tiksliai

Ekrano naudojimas Ubuntu 14.04

Ekrano naudojimas Ubuntu 14.04

Ekranas yra programa, leidžianti kelis kartus naudoti terminalo seansus viename lange. Tai leidžia imituoti kelis terminalo langus, kur tai ma

Logrotate naudojimas žurnalo failams tvarkyti

Logrotate naudojimas žurnalo failams tvarkyti

Įvadas Logrotate yra „Linux“ programa, supaprastinanti žurnalo failų administravimą. Paprastai jis veikia kartą per dieną per cron darbą ir tvarko žurnalų bazę

Statinio tinklo ir IPv6 konfigūravimas CentOS 7

Statinio tinklo ir IPv6 konfigūravimas CentOS 7

VULTR neseniai atliko pakeitimus, ir dabar viskas turėtų veikti gerai, kai įjungta „NetworkManager“. Jei norite išjungti

„Icinga2“ modifikavimas, kad būtų naudojamas pagrindinis / kliento modelis „CentOS 6“ arba „CentOS 7“.

„Icinga2“ modifikavimas, kad būtų naudojamas pagrindinis / kliento modelis „CentOS 6“ arba „CentOS 7“.

Icinga2 yra galinga stebėjimo sistema, o kai naudojama pagrindinio kliento modelyje, ji gali pakeisti NRPE pagrįstų stebėjimo patikrų poreikį. Meistras-klientas

Kaip įdiegti Apache Cassandra 3.11.x Ubuntu 16.04 LTS

Kaip įdiegti Apache Cassandra 3.11.x Ubuntu 16.04 LTS

Naudojate kitą sistemą? Apache Cassandra yra nemokama ir atviro kodo NoSQL duomenų bazių valdymo sistema, skirta užtikrinti mastelio keitimą, hig.

Kaip įdiegti „Apache Cassandra 3.11.x“ „CentOS 7“.

Kaip įdiegti „Apache Cassandra 3.11.x“ „CentOS 7“.

Naudojate kitą sistemą? Apache Cassandra yra nemokama ir atviro kodo NoSQL duomenų bazių valdymo sistema, skirta užtikrinti mastelio keitimą, hig.

Kaip įdiegti MODX Revolution Ubuntu 16.04 LAMP VPS

Kaip įdiegti MODX Revolution Ubuntu 16.04 LAMP VPS

Naudojate kitą sistemą? MODX Revolution yra greita, lanksti, keičiamo dydžio, nemokama ir atviro kodo, įmonės lygio turinio valdymo sistema (TVS), parašyta i.

Kaip įdiegti „Mattermost 4.1“ „CentOS 7“.

Kaip įdiegti „Mattermost 4.1“ „CentOS 7“.

Naudojate kitą sistemą? Mattermost yra atvirojo kodo, savarankiškai priglobta alternatyva Slack SAAS pranešimų paslaugai. Kitaip tariant, naudodami Mattermost, jūs apytiksliai

Kaip įdiegti MODX Revolution FreeBSD 11 FAMP VPS

Kaip įdiegti MODX Revolution FreeBSD 11 FAMP VPS

Naudojate kitą sistemą? MODX Revolution yra greita, lanksti, keičiamo dydžio atvirojo kodo, įmonės lygio turinio valdymo sistema (TVS), parašyta PHP. Tai i

Leidžia šifruoti Plesk

Leidžia šifruoti Plesk

„Plesk“ valdymo skydelyje yra labai graži „Lets Encrypt“ integracija. „Lets Encrypt“ yra vienas iš vienintelių SSL teikėjų, išduodančių visus sertifikatus

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.

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.

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.

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į