Galaksija Nova 1-2020

Koliko zauvek je zauvek

Kada bi ljudi zidali zgrade kao što pišu softver, prvi detlić koji naiđe bi srušio civilizaciju. Dodao bih da je gospodin Conrad Schneiker, koji je ovo napisao 1975. godine, bio optimista - detlić uopšte nije neophodan, sve bi se urušilo samo od sebe. Što se još jednom dokazalo početkom januara 2020. godine na našem starom Web serveru

Dejan Ristanović

Internet je došao u Srbiju početkom 1996. godine. Bilo je to nešto novo, veličanstveno, nešto čemu se trebalo prilagoditi i, naročito, čemu je trebalo prilagoditi poslovanje. Odmah smo odlučili da PC Press treba da ima Web sajt, pa smo ga ubrzo i napravili. Ali časopis izlazi svakog meseca, pa barem toliko često treba menjati i sajt, što je bilo veoma naporno. Zato se došlo do ideje da napravitimo nešto što se danas zove CMS (content management system, sistem za upravljanje sadržajem). Nismo tada znali tako učen izraz, nego se govorilo da podatke o onome što je objavljeno u časopisu treba upisati u neku bazu podataka, pa odatle dinamički generisati Web stranice. Podloga za sve to su bile Microsoft tehnologije, pre svega operativni sistem Windows Server. Naš tadašnji webmaster Aleksandar Vacić je napravio sajt koristeći ASP i DHTML tehnologije; bio je to na neki način projekat ispred svog vremena, CMS pre CMS-a. O izradi tog sajta možete da čitate na pc.pcpress.rs/tekst.php?id=2990. CMS je lepo funkcionisao, potrajao je za Internet svet neverovatnih 15 godina, dok sredinom 2014. godine Milan Basrak nije napravio novi CMS i novi sajt, ovoga puta zasnovan na Linux-u, PHP-u i MySQL-u, pa migrirao stari sadržaj u novo okruženje (čitajte o tim doživljajima na pc.pcpress.rs/tekst.php?id=11347).

Sačuvajmo istoriju

Kada naprave novi sajt, ljudi obično obrišu stari i zaborave na njega. Tako se gube toliki vredni (i uzgred mnogi bezvredni), godinama prikupljani podaci. Pošto smo već migrirali sve podatke sa starog sajta u novo okruženje, ne bi se izgubilo ništa - mirne duše smo mogli da zaboravimo na sav ASP, DHTML, Microsoft SQL Server... No bilo nam je nekako žao da to uradimo - voleli smo stari sajt i želeli da se za istoriju sačuva i njegov originalni izgled. Osim toga, šta sa raznoraznim linkovima po svetu gde je neko referencirao tekst objavljen na starom sajtu, zar da klik na njih rezultuje greškom...

I tako rešimo da sačuvamo stari sajt u njegovom starom sjaju. Iznajmimo na EUNET-u jednu virtuelnu Windows Server mašinu i postavimo na nju stari sajt tako da bude na adresi pc2.pcpress.rs. A kad smo već bili u radnji, postavimo i prastari sajt, onaj koji je iz meseca u mesec ručno pisan, na pc1.pcpress.rs - što da se i on izgubi. Trebalo je još napraviti magiju da se svaki poziv na pc.pcpress.rs/*.asp.* rediriguje na pc2.pcpress.rs/*.asp.* (Voja Gašić ume da pravi takve stvari) i da tako staro opstane u Internet svetu paralelno sa novim. Idealna kombinacija.

To što mi čuvamo tradiciju ne znači nužno da je i ostali čuvaju. Eto recimo Microsoft - Windows Server 2003, na kome je naš sajt zasnovan, proglašen je zastarelim i podrška za njega je prestala sredinom 2015. godine. Prebaciti naš softver na aktuelni Windows Server 2019 nije lak zadatak, pošto se ASP jezik značajno promenio u međuvremenu - kada stavite stari kod, on prijavljuje hiljade grešaka; preveliki bi posao bio da se to prilagođava. I tako, rešimo da ostavimo Windows Server 2003 takav kakav je - za njega više nema bezbednosnih unapređenja, opasno je da takva mašina bude na Internetu, ali šta da se radi; ako se zapati neki virus, prosto ćemo vratiti ispravnu verziju sa backup-a. Pa dok služi - služi.

 

Prva verzija PC Press sajta iz januara 1997. godine. I dalje "živi" na muzejskom serveru, adresa http://pc1.pcpress.rs/arhiva/20

Crni četvrtak

Služilo je do četvrtka 9. januara 2020. godine. A onda, u večernjim časovima, javlja mi EUNET-ov (sada SBB-ov) automatski nadzorni sistem da nešto nije u redu. Mašina se, doduše, odaziva na ping, ali sajt se ne otvara. Probam da se prijavim na mašinu koristeći Remote Desktop, vrti se nešto... i ništa. Srećom ostavim ga da se vrti i posle nekog vremena, ničim izazvano, ulogujem se na mašinu. Tamo se sve vuče kao kornjača, ali startujem nekako Task Manager i vidim da je procesor opterećen 100%. Dobro, svi znamo da bi se problemi, kada bi automobili funkcionisali kao i računari, rešavali tako što izađeš iz vozila i ponovo uđeš u njega, pa u skladu s tim najpre restartujem računar. Valjda će sve da se reši samo.

Nije se rešilo. Jedina posledica je bila da je opet trebalo čekati "pola sata" da se prijavim na server, tek da bih ustanovio da je procesor i dalje zauzet 100%. Da vidimo koji proces troši resurse... Task Manager kaže - ni jedan. Kako to? Posle shvatim da Task Manager u osnovnom stanju prikazuje samo moje procese; kažem mu da prikaže i ostale procese na mašini, i vidim da Microsoft SQL Server 2005 angažuje 100% procesora. Ubijem taj proces, mašini lakne, sve odmah radi normalno, ali sajt ne funkcioniše jer su mu potrebni podaci koje dotični SQL Server čuva.

Moja prva (i jedina) pretpostavka je bila da je mašina, koja već pet godina živi na Internetu bez ikakvih sistemskih osvežavanja, fasovala neki virus i da sada masovno šalje spam po svetu, napada neke druge računare za potrebe nepoznatih nalogodavaca ili pravi neke druge nepodopštine. Malo čudno da se to dešava preko SQL Server-a, ali ko će ga znati... Instaliram Malwarebytes (morao sam da tražim staru verzija jer tekuća neće da se instalira, ali srećom i ta stara verzija posle učita najnovije definicije virusa), pustim ga da detaljno analizira disk i pročitam da nema štetnih sadržaja - sve je u redu. Samo što ništa ne radi.

Kad reklame presuše

Pošto nisam znao šta bih dalje, pošaljem poruku SBB-ovoj službi podrške i zamolim da pogledaju u čemu je stvar sa našim serverom, ili makar da vrate sajt na stanje od pre recimo nedelju dana - neće se time ništa izgubiti jer na sajtu i tako nije bilo promena već 6 godina. Oni mi ljubazno kažu da smo zakupili non-managed hosting, dakle da mi sami održavamo svoju mašinu, te nam daju nekoliko dobrih saveta šta treba da pogledamo. A vraćanje mašine u pređašnje stanje nije rešilo problem.

Pošto su oni fini ljudi s kojima već godinama sarađujemo, lepo ih zamolim da ipak pogledaju, i pošto su utrošili priličan broj radnih sati, stiže izveštaj u kome kaže da je računar OK, da je integritet fajl sistema i SQL baze podataka očuvan, a da havarija nastaje zato što se upit koji treba da ispisuje reklamne banere vrti u mrtvoj petlji.

I onda meni sine: baneri. Prodajemo, naravno, reklame na sajtu i za njih su u okviru dizajna rezervisane pozicije: gore, desno, između stavki... Za svaki baner postoji podatak kada počinje da se prikazuje i kada prestaje da se prikazuje. Pošto se na "istorijskom" sajtu niko neće oglašavati, ostavili smo banere koji su se u zadnjem trenutku zatekli i stavili da se oni vrte "zauvek". Ali kompjuter nema datum "zauvek", mora nešto da se napiše. I tako je onaj ko je to podešavao (možda sam to bio i ja) stavio da se baneri prikazuju do 01.01.2020. godine što je tamo neke 2014. godine zvučalo kao "zauvek". E pa dragi moji mi, 2020. godina nije zauvek... dan po dan, dođe i ona. I tako kažem Tihomiru iz službe podrške da vrati datum na mašini na 2019. godinu. I sajt proradi kao nov. Ulogujem se u administratorsku sekciju (trebalo je setiti se šest godina stare lozinke) i, naravno... baneri ističu 01.01.2020. godine, odnosno kako tamo piše 1. siječnja 2020. E sad zašto je mašina setovana na hrvatski, i zašto se baner ipak prikazivao do 9. siječnja... to pitajte našeg programera. A naročito ga pitajte zašto kad nema ni jednog banera za ispisivanje, SQL upit upadne u mrtvu petlju i "troši" 100% procesora.

Epilog? Postavio sam da baneri važe do 1. siječnja 2120, a da li je to zauvek... razgovaraćemo o tome za 100 godina!