Home » Web Dev | Tech

VPS i .NET za sirotinju

20. October 2009 by Hudo 4 Comments
ssh shell vps ubuntu

Svaki pravi web developer bi sigurno htio imati jedan web server! Cijeli server, sa pristupom cijelom operativnom sustavu, da si moze naštimavati sve opcije, optimizirati, podešavati i tjunirati svaki HTTP paket koji odlazi. Kod shared hosting paketa se dobije samo FTP pristup i osnovna funkcionalnost putem nekog Control Panela, ali dalje od tih opcija se ne može. Nista od štimanja ISAPI filtera, mapiranja ekstenzija, dodavanja neograničeno domena i slicnih stvarčica. Za takve stvari ipak treba imati telnet, ssh ili remote desktop pristup, i dozvole podešavanja. To imaju Dedicated i VPS server, od kojih je ovaj prvi pre skup (cca od 50$/mj) i odmah ću ga odbaciti, ali ovaj drugi, VPS server, se ipak može pronaći za skromnije novce. Cijena uglavnom ovisi o dostupnom RAMu i procesorskoj snazi.

Pošto se ovdje radi o pokretanju .NET web aplikacija, u obzir prirodno dolaze samo Windows serveri, ali zahvaljujući Novellu i Miguel de Icazi, aplilacije možemo pokretati i na Linuxu uz pomnoć Mono projekta.

Ako spojimo VPS Linux hosting i Mono framework, znači da već za 9,99$ mjesečno imamo svoj vlastiti server s kojim možemo raditi što god nas je volja! Već neko vrijeme planiram zakupiti jedan takav VPS server i poigrati se. Neki da sam konačno našao vremena, volje, i 10$ viška i zakupio mjesec dana VPSa na jednom od hosting providera. Kroz par postova ću probati opisati postupak konfiguriranja servera, u cilju pokretanja ASP.NET stranica, točnije ovog bloga, i za moje privatne (fuš) potrebe, N2CMSa. Još nisam siguran dali će N2CMS raditi, ali BlogEngine.NET provjereno radi na Mono frameworku.

Krenimo redom; prvo je potrebno izabrati hosting providera sa VPS uslugom. Neki koje sam ja pronašao guglajući su: Fsckvps, IntoVPS, EnjojVPS. Sve su to UNMANAGED serveri, što znači da se dobije ssh pristup, i to je to, snalazi se sam. Uvijek sam mislio da to uključuje kompajliranje kernela i piskaranje gomila konfiguracijskih fajlova, ali nije tako; kernel dođe kompajliran, a konfiguracijske skripte se moraju samo malo piskarati ;) Znači čaša je na pola puna, a ne prazna!

Kada se zakupi VPS, dobije se SSH pristup shellu, kojem pristupamo pomoći nekog ssh/telnet programa poput PuTTy.  Također, gotovo svi hosting provideri daju mogučnost odabira Linux distribucije, i ja sam za ovu priliku izabrao Ubuntu (iako sam prvo uzeo SuSE, pošto je njegov proizvođač Novell, a on je napravio i Mono, ali na njemu mi ništa nije htjelo proraditi, pa sam se prebacio na Ubuntu). Većina providera ima Ubuntu 9.04 Jaunty.

Nakon što smo se spojili na naš novi server, ostaje nam za napraviti sljedeće:

  1. refreshati repozitorije: na Linuxima postoji pojam paketa i repozotorija. To je centralizirano mjesto za instalaciju aplikacija. Takvog čega nema na Windowsima, a radi se o spisku dostupnih aplikacija (paketa) koji je sadržan u jednom ili više repozitora. Korisnik samo mora odabrati željenu aplikaciju (paket), a aplikacijski instalacijski program (apt-get, zypper, yast, …) će ju instalirati, uključujući zavisne biblioteke i programe (nešto tipa DLLova)
    Naredba za update repozitorija: apt-get update
    Naredba za instalaciju aplikacija: apt-get install NazivAplikacije
    Pregled liste dostupnih aplikacija: apt-cache search [NazivApp*]
  2. pošto nisam vičan radu u Bashu preko SSH (ala command prompt na win), ja sam instalirao i sljedeće: Gnome desktop grafično sučelje, VNC server za pristup (ala Remote Desktop)
    Cijeli postupak je objašnjen ovdje, i meni osobno je prošao bez ikakvih problema:
    http://markus.revti.com/2009/08/installing-vnc-remote-desktop-on-ubuntu-linux-vps/
    uz jednu napomenu; ubuntu dolazi sa VI editorom (ala DOSov Edit, ili Win Notepad), koji je meni jako zbunjujuć za raditi, pa sam ja instalirao Nano editor:
    sudo apt-get install nano (ovaj sudo označava pokretanje programa sa root pravima)
  3. instalacija Mono frameworka
  4. instalacija Apache web poslužitelja
  5. instalacija XSP (mono web server, služi Apachu za izvršavanje ASP.NET aplikacija). Konfiguracija mod_mono, da Apache koristi XSP za ASP.NET
  6. testitranje sa više domena i poddomena, N2CMS, BlogEngine.net,…
  7. instaliranje i podešavanje Firewalla

Za sada sam došao do koraka 3, a daljnji napredak ću opisati u sljedećim postovima. Trenutno imam remote desktop pristup serveru, i u instalacijom programu Gnomea (izbornik System/Administration/Synaptic Package Manager)  se nalazi Mono framework 2.0. Zadnja verzija Mono frameworka je 2.4 (podržava C# 3.0, MVC, bez LINQ2SQL), i potrebno je dodati ovaj repozitorij:
deb http://ppa.launchpad.net/directhex/monoxide/ubuntu jaunty main (u Synapticu, izbornik Settings/Repositories/Third party sw). Time smo dobili mogučnost instalacije Mono 2.4 frameworka. Putem Synaptica možemo instalirati i Monodevelop, IDE alat za razvoj .NET aplikacija.

Jedna sitnica, ako vam layout tastature ne štima, odnosno pritisnete D a on ispiše F, onda pogledajte ove upute: https://bugs.launchpad.net/ubuntu/+source/vino/+bug/112955/comments/55

Nastavak slijedi brzo…

Bookmark and Share


Comments

xajler
Croatia xajler said:

Mislim da si pogrijesio sa instaliranjem Gnomea, mislim da je vrijedno nauciti bash (bash je strasno jednostavan), a server drzati bez X Servera (ili  bez GUI-a).
Po meni si trebao instalirati Linux negdje lokalno na laptop, ili preko VirtualBoxa i tamo sve isprobati pa onda krenuti na server, istim koracima. MonoDevelop po meni nema sta raditi na serveru.
I umjesto Ubuntua ja sam presao na Fedoru, iz jednostavnog razloga jer Ubuntu je Debian like Linux i strasno kasni s paketima, dok Fedora je on the edge sa paketima, mislim i CentOS, ali nisam nikad radio s njim.
Pojednostavljeno, na Linux serveru bi trebalo biti instalirano samo ono sto je potrebno da vrti potrebne daemone (servise) i nista vise, cak i kill-ani svi ostali deamoni koji nisu potrebni, a po defaultu se vrte.
Kako god, zanemari moje filozofiranje (ali to su Best practices in Linux World), nadam se da ces uspijeti u svojoj nakani sa N2CMS-om i podizanjem XSP servera i ako imas kakvo pitanje, rado cu ti pomoci, sa mojim minimalnim znanjem Smile

hudo
Croatia hudo said:

Thanx za info. Gnome sam i na kraju deinstalirao, jer mi stvarno  ne treba. Htio sam samo isprobati VNC i vidjeti kako to radi. Kako server ima 512MB Ram, gnome i vnc server zauzmu do 300-350MB, pa se ne isplati to imati. Da ne govorim o security risku.
Evo danas sam uspio zavrsiti instalaciju zadnje verzije Mono frameworka, kompajlirao ga (traje dobrih 1h!) i stvar radi. Takodzer sam mapirao i dvije domene, sto je isto proradilo na kraju Smile
Jedina losa vijest je da N2CMS ne prolazi validaciju za Mono, pola Castle biblioteka nije kompatibilno. Vidjeti cu jos sta cu s time.

xajler
Croatia xajler said:

Problem kod deinstaliranja Gnomea je da ga vjerojatno cijelog ne deinstalira nego ostane gomila junka. Kako si provjerio da N2CMS nije kompatibilan?
Preostaje ti jedino da rewriteas N2 da bude kompatibilan s Monom, ali onda moraš biti syncan sa N2 patchevima, bas me zanima kako ćeš to riješiti!

hudo
Croatia hudo said:

Imas MoMA utility koji ti skenira DLLove i kaze dali ce raditi na monou. N2 puca na Castle-ovim dll-ovima, a i autor N2 je napisao da za sada ne radi. Razmisljam si mozda uzeti sada neki Win vps, cisto da vidim kako radi.

Comments are closed