{"id":36207,"date":"2019-10-31T22:10:17","date_gmt":"2019-10-31T19:10:17","guid":{"rendered":"https:\/\/prohoster.info\/blog\/ispsystem-prosti-i-proshhaj-pochemu-i-kak-my-napisali-svoyu-panel-upravleniya-serverami\/"},"modified":"2019-10-31T22:10:17","modified_gmt":"2019-10-31T19:10:17","slug":"ispsystem-prosti-i-proshhaj-pochemu-i-kak-my-napisali-svoyu-panel-upravleniya-serverami","status":"publish","type":"post","link":"https:\/\/prohoster.info\/hr\/blog\/administrirovanie\/ispsystem-prosti-i-proshhaj-pochemu-i-kak-my-napisali-svoyu-panel-upravleniya-serverami","title":{"rendered":"ISPsystem, oprosti i zbogom! Za\u0161to i kako smo napisali vlastitu upravlja\u010dku plo\u010du za poslu\u017eitelje","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"ISPsystem, oprosti i zbogom! Za\u0161to i kako smo napisali vlastitu upravlja\u010dku plo\u010du za poslu\u017eitelje\" src=\"\/wp-content\/uploads\/2019\/07\/512df00a9ec2d8ff8e3586dd57702924.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPozdrav! Mi smo \u00abHosting tehnologije\u00bb i prije 5 godina smo pokrenuli <noindex><a rel=\"nofollow\" href=\"https:\/\/vdsina.ru\/?partner=habr1\">VDSina<\/a><\/noindex> \u2014 prvi VDS hosting, stvoren posebno za programere. Nastojimo ga u\u010diniti udobnim kao DigitalOcean, ali s podr\u0161kom na ruskom jeziku, na\u010dinima pla\u0107anja i serverima u Rusiji. No, DigitalOcean nije samo pouzdanost i cijena, ve\u0107 i usluga.<\/p>\n<p>Softver od ISPsystema se pokazao kao konopac koji nam je vezivao ruke na putu do izvrsne usluge. Prije tri godine koristili smo billing Billmanager i upravlja\u010dku plo\u010du za servere VMmanager i brzo smo shvatili da je pru\u017eanje dobre usluge bez vlastite plo\u010de gotovo nemogu\u0107e. <br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Kako je ISPsystem uni\u0161tavao udobnost<\/h2>\n<p>\n<b>Gre\u0161ke<\/b><\/p>\n<p>Nismo mogli sami ispraviti gre\u0161ku \u2014 svaki put smo se morali obra\u0107ati vanjskoj podr\u0161ci i \u010dekati. Rje\u0161avanje bilo kojeg problema zahtijevalo je reakciju tre\u0107e strane. <\/p>\n<p>Podr\u0161ka ISPsystema je odgovarala normalno, ali popravci su dolazili samo kroz nekoliko izdanja, i to ne uvijek i ne sve. Ponekad su kriti\u010dne gre\u0161ke ispravljane nekoliko tjedana. Morali smo smirivati klijente, ispri\u010davati se i \u010dekati dok ISPsystem ne popravi gre\u0161ku.<\/p>\n<p><b>Prijetnja downtime-u<\/b><\/p>\n<p>A\u017euriranja su mogla uzrokovati nepredvidive downtimeove, \u0161to je provociralo nove gre\u0161ke. <\/p>\n<p>Svako a\u017euriranje je bilo lutrija: morali smo zatvoriti billing i donositi \u017ertve bogovima a\u017euriranja \u2014 nekoliko puta je a\u017euriranje uzrokovalo downtime od 10-15 minuta. Na\u0161i administratori su u tom vremenu sjedili s zebnjom \u2014 nikada nismo znali koliko \u0107e potrajati downtime i nismo mogli predvidjeti kada \u0107e ISPsystem odlu\u010diti objaviti novo a\u017euriranje. <\/p>\n<p>Na petoj generaciji Billmanagera postalo je bolje, ali da bismo dobili pristup potrebnim zna\u010dajkama morali smo instalirati beta verziju, koja se ve\u0107 a\u017eurirala svake tjedna. Ako se ne\u0161to pokvarilo, morali smo dati pristup stranim programerima da ne\u0161to isprave. <\/p>\n<p><b>Neudoban su\u010delje plo\u010de<\/b><\/p>\n<p>Sve je bilo razdijeljeno na razli\u010dite panele i upravljano iz razli\u010ditih mjesta. Na primjer, klijenti su pla\u0107ali preko Billmanagera, dok su morali ponovno pokrenuti ili reinstalirati VDS u VMManageru. Na\u0161im zaposlenicima je tako\u0111er bilo potrebno prebacivati se izme\u0111u prozora kako bi pomogli klijentu, provjerili optere\u0107enje na njegovom serveru ili pogledali koju operativnu sustav koristi.<\/p>\n<p>Takvo su\u010delje oduzima vrijeme \u2014 i na\u0161e, i klijenata. O udobnosti, kao kod DigitalOcean, u takvoj situaciji ne mo\u017ee biti ni govora. <\/p>\n<p><b>Kratki \u017eivotni ciklusi s \u010destim a\u017euriranjima API-a<\/b><\/p>\n<p>Napisali smo vlastite dodatke, na primjer, dodatak s dodatnim metodama pla\u0107anja koje nisu sadr\u017eane u VMManageru.<\/p>\n<p>Posljednjih godina VMManager je imao relativno kratak \u017eivotni ciklus, a u novim verzijama su se nasumi\u010dno mijenjali nazivi varijabli ili funkcija u API-ju \u2013 to je lomilo na\u0161e dodatke. Podr\u0161ka za stare verzije brzo je ukinuta i morali smo se a\u017eurirati.<\/p>\n<p><b>Nije mogu\u0107e doraditi<\/b><\/p>\n<p>Odnosno, mogu\u0107e je, ali iznimno neefikasno. Licencni uvjeti ne dopu\u0161taju promjene u izvoru, mo\u017eemo samo pisati dodatke. Maksimalni broj dodataka su neki elementi izbornika, korak-po-korak \u010darobnjaka. ISPsystem je usmjeren na univerzalnost, a nama su bila potrebna specijalizirana rje\u0161enja.<\/p>\n<p>Tako se razvilo rje\u0161enje za izradu vlastite upravlja\u010dke plo\u010de. Postavili smo ciljeve:<\/p>\n<ul>\n<li>Brzo reagirati na gre\u0161ke, bugove i imati mogu\u0107nost samostalnog rje\u0161avanja, bez \u010dekanja klijenta.<\/li>\n<li>Slobodno modificirati su\u010delje prema radnim procesima i potrebama klijenta.<\/li>\n<li>Pove\u0107ati upotrebljivost \u010distim i razumljivim dizajnom.<\/li>\n<\/ul>\n<p>\nI zapo\u010deli smo razvoj.<\/p>\n<h2>Arhitektura nove plo\u010de<\/h2>\n<p>\nImamo samostalni tim za razvoj, tako da smo plo\u010du napisali sami. <br \/>\nGlavni posao odradila su tri in\u017eenjera \u2013 tehni\u010dki direktor Sergej osmislio je arhitekturu i napisao server agenata, Aleksej je izradio billing, a frontend je sastavio na\u0161 frontend in\u017eenjer Artysh. <\/p>\n<h3>Korak 1. Server agent<\/h3>\n<p>Server agent je web server na Pythonu koji upravlja bibliotekom <noindex><a rel=\"nofollow\" href=\"https:\/\/libvirt.org\/\">libvirt<\/a><\/noindex>, koja, zauzvrat, upravlja <noindex><a rel=\"nofollow\" href=\"https:\/\/www.qemu.org\/\">hipervizorom Qemu-kvm<\/a><\/noindex>. <\/p>\n<p>Agent upravlja svim uslugama na serveru: kreiranje, zaustavljanje, brisanje vds-a, instalacija operativnih sustava, promjena parametara i tako dalje putem biblioteke libvirt. U trenutku objave ovog \u010dlanka, to je vi\u0161e od \u010detrdeset razli\u010ditih funkcija koje dodajemo ovisno o zadatku i potrebama klijenta.<\/p>\n<p>Teoretski, putem libvirta moglo se upravljati izravno iz billing-a, ali to je zahtijevalo previ\u0161e dodatnog koda, pa smo odlu\u010dili razdvojiti te funkcije izme\u0111u agenta i billing-a \u2013 billing jednostavno \u0161alje zahtjeve agentu putem JSON API-ja.<\/p>\n<p>Agent je prva stvar koju smo napravili, jer nije zahtijevao nikakvo su\u010delje, a mogao se testirati izravno iz konzole servera. <\/p>\n<p><b>\u0160to nam je donio server agent:<\/b> Pojavila se slojnica koja olak\u0161ava \u017eivot svima \u2014 naplati nije potrebno slati cijeli niz naredbi, ve\u0107 samo izvr\u0161iti zahtjev. A agent \u0107e u\u010diniti sve \u0161to je potrebno: na primjer, dodijelit \u0107e prostor na disku i radnu memoriju. <\/p>\n<h3>Korak 2. Naplata<\/h3>\n<p>\nZa na\u0161eg developera Alex-a ovo nije bila prva upravlja\u010dka plo\u010da \u2014 Alex je u hosting industriji ve\u0107 dugo, tako da je u velikoj mjeri razumio \u0161to klijent \u017eeli i \u0161to treba hosteru.<\/p>\n<p>Naplatu izme\u0111u sebe nazivamo 'upravlja\u010dkom plo\u010dom': u njemu nisu samo novac i usluge, ve\u0107 i upravljanje njima, podr\u0161ka korisnicima i mnogo toga drugog.<\/p>\n<p>Prilikom prijelaza s softvera ISPSystem, bilo je potrebno potpuno o\u010duvati prethodnu funkcionalnost za klijente, prenijeti sve financijske radnje korisnika iz starog sustava naplate u novi, kao i sve usluge i veze izme\u0111u njih. Istra\u017eili smo \u0161to postoji u trenutnom proizvodu, zatim rje\u0161enja konkurenata, uglavnom DO i Vultr. Pogledali smo nedostatke i prednosti, prikupili povratne informacije od ljudi koji su radili s starim proizvodima iz ISPsystem. <\/p>\n<p>U novoj naplati kori\u0161tena su dva stoga: klasi\u010dni PHP, MySQL (a u budu\u0107nosti je planirano prebacivanje na PostgreSQL), Yii2 kao okvir na backendu i VueJS na frontend. Stogovi rade neovisno jedan o drugome, razvijaju ih razli\u010diti ljudi i komuniciraju putem JSON API-ja. Za razvoj tada i sada koristimo <noindex><a rel=\"nofollow\" href=\"https:\/\/www.jetbrains.com\/phpstorm\/\">PHPStorm<\/a><\/noindex> i <noindex><a rel=\"nofollow\" href=\"https:\/\/www.jetbrains.com\/webstorm\/\">WebStorm<\/a><\/noindex> od JetBrains i nje\u017eno ih volimo (de\u010dki, pozdrav!)<\/p>\n<p>Panel je projektiran prema modularnom principu: moduli platnih sustava, modul registratora domena ili, na primjer, modul SSL certifikata. Lako je dodati novu funkciju ili ukloniti staru. Arhitektonski je zadr\u017ean potencijal za pro\u0161irenje, uklju\u010duju\u0107i i obrnuto, 'na hardver'.<br \/>\n<img decoding=\"async\" alt=\"ISPsystem, oprosti i zbogom! Za\u0161to i kako smo napisali vlastitu upravlja\u010dku plo\u010du za poslu\u017eitelje\" src=\"\/wp-content\/uploads\/2019\/07\/8f4b1bf9c16cc73023cacdde44cae0b3.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<b>\u0160to smo stekli<\/b>: upravlja\u010dka plo\u010da, nad kojom imamo punu kontrolu. Sada se gre\u0161ke ispravljaju za nekoliko sati, a ne tjednima, a nove funkcije se implementiraju na zahtjev klijenata, a ne prema \u017eelji ISPSystem.<\/p>\n<h3>Korak 3. Su\u010delje<\/h3>\n<p>\n<img decoding=\"async\" alt=\"ISPsystem, oprosti i zbogom! Za\u0161to i kako smo napisali vlastitu upravlja\u010dku plo\u010du za poslu\u017eitelje\" src=\"\/wp-content\/uploads\/2019\/07\/48be006688e2246f9a416d2d6a717a82.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nSu\u010delje \u2014 na\u0161e timsko djelo. <\/p>\n<p>Prvo smo pogledali \u0161to \u0107e se dogoditi ako napravimo nadogradnju nad API-jem ISPsystem, ne mijenjaju\u0107i previ\u0161e su\u010delje. Rezultat je bio osrednji pa smo odlu\u010dili sve napraviti ispo\u010detka.<\/p>\n<p>Vjerovali smo da je najva\u017enije stvoriti intuitivan su\u010delje s \u010distim i minimalisti\u010dkim dizajnom, i tako \u0107emo dobiti lijepu te\u010du. Raspored elemenata raspravili smo u Megaplanu, i postupno je nastalo ono su\u010delje koje korisnici sada vide u upravlja\u010dkoj plo\u010di. <\/p>\n<p>Prvi se pojavio dizajn stranice za naplatu, jer smo ve\u0107 izradili platne module za ISPsystem. <\/p>\n<p><b>Frontend<\/b><\/p>\n<p>Odlu\u010dili smo izraditi plo\u010du kao SPA aplikaciju \u2014 koja nije zahtjevna prema resursima i s brzim u\u010ditavanjem podataka. Na\u0161 frontend programer Arty\u0161 odlu\u010dio je raditi na Vue \u2014 u to vrijeme Vue je tek bio predstavljen. Pretpostavili smo da \u0107e se framework dinami\u010dno razvijati poput Reakta, te da \u0107e nakon nekog vremena Vue zajednica narasti i do\u0107i \u0107e do obilja biblioteka. Odabrali smo Vue i nismo za\u017ealili \u2014 sada dodavanje novih funkcija na frontend, koje su ve\u0107 programirane na backendu, traje vrlo malo vremena. O frontend dijelu plo\u010de detaljnije \u0107emo govoriti u posebnom \u010dlanku.<\/p>\n<p><b>Veza frontenda s backendom<\/b><\/p>\n<p>Frontend smo povezali s backendom putem push notifikacija. Morali smo se potruditi i napisati vlastiti obrtnik, ali sada se a\u017euriranje informacija na stranici doga\u0111a gotovo odmah.<\/p>\n<p><b>\u0160to smo postigli:<\/b> su\u010delje plo\u010de postalo je jednostavnije. U\u010dinili smo ga responzivnim, a brzo u\u010ditavanje omogu\u0107uje kori\u0161tenje \u010dak i s mobilnih ure\u0111aja u posljednjim minutama prije leta, bez potrebe za instaliranjem odvojene aplikacije za rad s plo\u010dom.<\/p>\n<h3>Korak 4. Testiranje i shema migracije <\/h3>\n<p>\nKad je sve proradilo i uspjeli smo u prvom testiranju, postavilo se pitanje migracije. Prvo smo instalirali naplatu i zapo\u010deli testirati njeno funkcioniranje s poslu\u017eiteljskim agentom.<\/p>\n<p>Zatim smo napisali jednostavan skript koji prenosi bazu podataka iz stare naplate u novu.<\/p>\n<p>Morali smo testirati i ponovno provjeriti doslovno sve, jer su podaci slijevani u novu bazu iz tri stare: Billmanager, VMmanager i IPmanager menad\u017eera. Vjerojatno su testne migracije bile najte\u017ei dio s kojim smo se suo\u010dili tijekom razvoja nove plo\u010de.<\/p>\n<p>Nakon ponovnih provjera, zatvorili smo staru naplatu. Zavr\u0161na migracija podataka bila je vrlo stresan trenutak, ali, hvala Bogu, izvr\u0161ena je za nekoliko minuta i bez zna\u010dajnijih problema. Bilo je sitnih gre\u0161aka koje smo ispravili tijekom tjedna. Najvi\u0161e vremena je potro\u0161eno na testiranje onoga \u0161to je postignuto.<\/p>\n<p>Zatim smo poslali e-poruke klijentima s adresom nove upravlja\u010dke plo\u010de i naplate te napravili preusmjeravanje. <\/p>\n<p><b>Na kraju:<\/b> <b>\u017dIVI JE!<\/b><\/p>\n<h2>Sretan zavr\u0161etak<\/h2>\n<p>\nOd prvih sati rada na\u0161eg softvera osjetili smo sve \u010dari prijelaza. Kod je bio potpuno na\u0161 s intuitivnom arhitekturom, a su\u010delje \u010disto i logi\u010dno.<br \/>\n<img decoding=\"async\" alt=\"ISPsystem, oprosti i zbogom! Za\u0161to i kako smo napisali vlastitu upravlja\u010dku plo\u010du za poslu\u017eitelje\" src=\"\/wp-content\/uploads\/2019\/07\/c673e49afb4bf25c8922161a8bb927a2.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Prva recenzija nakon pokretanja nove upravlja\u010dke plo\u010de<\/i><\/p>\n<p>Pokrenuli smo proces prijelaza u prosincu, pred Novu 2017. godinu, kada su optere\u0107enja bila najmanja, kako bismo olak\u0161ali prijelaz za klijente \u2014 gotovo nitko ne radi pred praznike.<\/p>\n<p>Najva\u017enije \u0161to smo dobili prijelazom na na\u0161 sustav (osim op\u0107e pouzdanosti i jednostavnosti) je mogu\u0107nost brze dodavanja funkcionalnosti za klju\u010dne klijente \u2014 biti njima lice, a ne stra\u017enjica.<\/p>\n<h3>\u0160to dalje?<\/h3>\n<p>\nRastemo, raste koli\u010dina podataka, klijenata, podataka klijenata. Na backend smo dodali Memcached poslu\u017eitelj i dva upravitelja redova s razli\u010ditim zadacima. Na frontend imamo ke\u0161iranje i vlastite redove. <\/p>\n<p>Naravno, imali smo jo\u0161 pustolovina tijekom razvoja i kompliciranja proizvoda, primjerice kada smo dodavali HighLoad. <\/p>\n<p>U sljede\u0107em \u010dlanku pri\u010dat \u0107emo o tome kako smo pokrenuli Hi-CPU tarif: o hardveru, softveru, koje smo zadatke rje\u0161avali i \u0161to smo postigli.<br \/>\n<br \/>Izvor: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/vdsina\/blog\/460107\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u0432\u0435\u0442! \u041c\u044b \u00ab\u0425\u043e\u0441\u0442\u0438\u043d\u0433 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438\u00bb \u0438 5 \u043b\u0435\u0442 \u043d\u0430\u0437\u0430\u0434 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b\u0438 VDSina \u2014 \u043f\u0435\u0440\u0432\u044b\u0439 vds \u0445\u043e\u0441\u0442\u0438\u043d\u0433, \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0439 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432. \u041c\u044b \u0441\u0442\u0440\u0435\u043c\u0438\u043c\u0441\u044f \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0435\u0433\u043e \u0443\u0434\u043e\u0431\u043d\u044b\u043c, \u043a\u0430\u043a DigitalOcean, \u043d\u043e \u0441 \u0440\u0443\u0441\u0441\u043a\u043e\u0439 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439, \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u043c\u0438 \u043e\u043f\u043b\u0430\u0442\u044b \u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u043c\u0438 \u0432 \u0420\u043e\u0441\u0441\u0438\u0438. \u041d\u043e DigitalOcean \u044d\u0442\u043e \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430\u0434\u0435\u0436\u043d\u043e\u0441\u0442\u044c \u0438 \u0446\u0435\u043d\u0430, \u044d\u0442\u043e \u0435\u0449\u0435 \u0438 \u0441\u0435\u0440\u0432\u0438\u0441. \u0421\u043e\u0444\u0442 \u043e\u0442 ISPsystem \u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u0432\u0435\u0440\u0435\u0432\u043a\u043e\u0439, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u0432\u044f\u0437\u044b\u0432\u0430\u043b\u0430 \u043d\u0430\u043c [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":27085,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-36207","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/hr\/blog\/administrirovanie\/ispsystem-prosti-i-proshhaj-pochemu-i-kak-my-napisali-svoyu-panel-upravleniya-serverami\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"hr_HR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47ISPsystem, \u043f\u0440\u043e\u0441\u0442\u0438 \u0438 \u043f\u0440\u043e\u0449\u0430\u0439! \u041f\u043e\u0447\u0435\u043c\u0443 \u0438 \u043a\u0430\u043a \u043c\u044b \u043d\u0430\u043f\u0438\u0441\u0430\u043b\u0438 \u0441\u0432\u043e\u044e \u043f\u0430\u043d\u0435\u043b\u044c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u043c\u0438 | ProHoster\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/hr\/blog\/administrirovanie\/ispsystem-prosti-i-proshhaj-pochemu-i-kak-my-napisali-svoyu-panel-upravleniya-serverami\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:10:17+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:10:17+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47ISPsystem, oprosti i zbogom! Za\u0161to i kako smo napisali svoj upravlja\u010dki panel za servere | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/hr\/blog\/administrirovanie\/ispsystem-prosti-i-proshhaj-pochemu-i-kak-my-napisali-svoyu-panel-upravleniya-serverami","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hr_HR","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47ISPsystem, \u043f\u0440\u043e\u0441\u0442\u0438 \u0438 \u043f\u0440\u043e\u0449\u0430\u0439! \u041f\u043e\u0447\u0435\u043c\u0443 \u0438 \u043a\u0430\u043a \u043c\u044b \u043d\u0430\u043f\u0438\u0441\u0430\u043b\u0438 \u0441\u0432\u043e\u044e \u043f\u0430\u043d\u0435\u043b\u044c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u043c\u0438 | ProHoster","og:url":"https:\/\/prohoster.info\/hr\/blog\/administrirovanie\/ispsystem-prosti-i-proshhaj-pochemu-i-kak-my-napisali-svoyu-panel-upravleniya-serverami","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:10:17+00:00","article:modified_time":"2019-10-31T19:10:17+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"36207","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-22 02:25:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:48:27","updated":"2026-01-22 02:25:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts\/36207","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/comments?post=36207"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts\/36207\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/media\/27085"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/media?parent=36207"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/categories?post=36207"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/tags?post=36207"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}