Kako postaviti pametne telefone i računala. Informativni portal

Kreirajte hosting na svom računalu. Kako stvoriti vlastiti VPS hosting od nule i početi zarađivati ​​na njemu (uvod)

Pozdrav, dragi čitatelji Habra. Ovim materijalom započinjemo seriju publikacija o tome kako izgraditi VPS hosting od nule na temelju RUVDS White Label API-ja.

U ovoj uvodnoj publikaciji reći ćemo vam što prvo trebate učiniti kako biste što prije počeli ostvarivati ​​svoju prvu zaradu od vlastitog VPS hostinga, kako to učiniti relativno brzo i koliko je to izvedivo i isplativo. Ako se odlučite kreirati vlastiti VPS hosting od nule, ali nemate vlastitu infrastrukturu ili nemate sredstava i vremena za izradu, dobrodošli na cat.

Trebate li web stranicu


Za organiziranje vlastite VPS usluge prvo će vam trebati 2 stvari - web stranica na kojoj ćete nuditi usluge najma VPS servera i pružatelj usluge koji će vam osigurati povoljne partnerske uvjete za te namjene, njegova infrastruktura i pouzdani API sa širokim mogućnostima . Što je API? Ovo je sučelje pomoću kojeg svojim klijentima možete pružiti sve iste mogućnosti upravljanja poslužiteljem koje pruža pružatelj usluga svojim klijentima.

Integracija web stranice s vašim VPS pružateljem putem API-ja bit će mnogo jeftinija i brža od stvaranja vlastite infrastrukture u oblaku od nule, budući da u ovom slučaju ona "brine" mnoge probleme: ne morate brinuti o dostupnosti dovoljnog količina resursa od davatelja, kako organizirati širok i otporan na greške kanal za pristup Internetu s virtualnih poslužitelja, kako prikupljati i pohranjivati ​​podatke o korištenju resursa od strane poslužitelja, i tako dalje.

Sada o stranici. Ovdje može biti mnogo opcija, navest ćemo najčešće:

  • vlasnik ste web stranice koja nudi povezane usluge (provjera/registracija domene, najam DNS poslužitelja, udaljena administracija poslužitelja).
  • kreirate svoju web stranicu od nule koristeći popularni CMS i dodatke za nju.
  • naručite web stranicu od web studija
  • unesite svoju opciju
Prva je najbolja opcija, budući da će za dodavanje nove usluge iznajmljivanja VPS poslužitelja biti potrebno vrlo malo izmjena: nećete morati ispočetka pisati mnoge od dolje navedenih stvari. Prilikom izrade vaše web stranice od nule, vremenski okvir pokretanja može se značajno promijeniti na gore. Morat ćete sami implementirati sve komponente s popisa u nastavku (ili koristiti implementacije trećih strana, nakon što ste ih prethodno testirali i prilagodili svom projektu). Treću opciju preporučamo koristiti samo ako nemate potrebno znanje o izradi web stranica ili ako je nemoguće napraviti web stranicu onako kako želite.

Počnimo


Što bi trebalo implementirati na ovu stranicu?

Registracija, autentifikacija/autorizacija korisnika, oporavak lozinke, obrazac za povratne informacije.

To imaju svi pružatelji usluga hostinga bez iznimke. Vaš budući klijent mora biti u mogućnosti registrirati se, oporaviti lozinku ako ju izgubi, imati osobni račun na web stranici s ažuriranim podacima o stanju, kupljenim serverima itd. Također, mora mu se dati mogućnost da prijavi problem tehničkoj podršci. Kako bismo izbjegli masovnu registraciju "lažnih" računa, preporučujemo da ne zanemarite dodatne sigurnosne mjere, kao što je captcha na obrascima, kao i održavanje maksimalne količine dostupnih informacija o korisniku, što može pomoći ako se otkriju bilo kakva kršenja s njegove strane . U u ovom slučaju, postoji mnogo gotovih rješenja koja zahtijevaju manje izmjene. Ako planirate izraditi svoju web stranicu na temelju CMS-a, tada je gore opisana funkcionalnost do neke mjere implementirana ili se može jednostavno povezati pomoću dodataka.

Upravljanje osobnim podacima klijenata

Trebalo bi to implementirati donekle, ali možete i bez toga. Ova funkcionalnost ne blokira pokretanje vaše usluge.

Upravljanje klijent poslužiteljem

Što bi se trebalo nalaziti na određenoj stranici vašeg web-mjesta ovisi o tome koliko želite koristiti dostupne funkcionalnosti vašeg davatelja usluga i koliko kontrole nad poslužiteljem ćete dati svom klijentu. Na primjer, možete stvoriti namjenski poslužitelj za njega nakon polaganja potrebnog iznosa na ravnotežu i njegovog pisanog zahtjeva tehničkoj podršci ili mu možete dati potpuni konfigurator za fino podešavanje karakteristika poslužitelja, kao i sučelja za promjenu konfiguracije tijekom rada, dobivanje statistike opterećenja poslužitelja, razne opcije poput ponovne instalacije OS-a i tako dalje. Brzina pokretanja vašeg VPS hostinga značajno će varirati ovisno o odabranoj opciji. Ovo ćemo pitanje detaljnije razmotriti u sljedećim člancima iz ove serije.

Mogućnost korištenja probnog roka

Očito, za početnu promociju vaše nove VPS hosting usluge morat ćete implementirati mogućnost korištenja testnog razdoblja. To je potrebno kako bi vaš klijent mogao sam odlučiti odgovara li cijena koju oglašavate za najam VPS-a kvaliteti usluga koje pružate. Što biste trebali uzeti u obzir prilikom implementacije? Prije svega, trebate odabrati broj dana. Testno razdoblje ne smijete predugačiti – klijenti koji jednostavno žele dobiti besplatni server na određeno razdoblje registrirat će se na Vašu uslugu, a nakon završetka testnog razdoblja registrirat će novi račun i ponovno pokušati iskoristiti testno razdoblje . Kako biste se koliko-toliko zaštitili od takvih klijenata, svakako ih morate naučiti prepoznati. Ovo je osobito važno u početnoj fazi razvoja vaše usluge, jer ćete za svakog takvog klijenta dobiti manji potencijalni profit. Također biste trebali uzeti u obzir da vam dugo testno razdoblje neće biti od velike koristi, budući da na vašem affiliate računu, na koji su povezani svi poslužitelji koje kreirate, nema testnog razdoblja.

Naplata

Kako će klijenti nadopuniti svoj saldo i kupiti servere? Naravno, trebat će nam još jedna vrlo važna komponenta, naplata. Što uključujemo u koncept "naplate"? Naravno, uključuje kreiranje/uređivanje trenutnih tarifa, sučelja za prihvaćanje korisničkih plaćanja, interne mehanizme obrade plaćanja, kreiranje promocija/popusta i alate za praćenje.

Implementaciji vlastite ili integraciji naplate treće strane u svoj projekt trebali biste pristupiti posebno odgovorno, jer mogućnost kupnje VPS poslužitelja na vašoj web stranici (čitaj vaš prvi novac) izravno ovisi o izvedbi ove komponente. Kako biste brzo počeli prihvaćati novac iz najpopularnijih sustava plaćanja, preporučujemo da koristite agregatore plaćanja. Zašto? Prvo, integracija s jednim agregatorom puno je brža i lakša nego integracija sa svakim od sustava plaćanja koji nudi. To je zbog činjenice da svaki sustav plaćanja ima svoj vlastiti protokol interakcije, koji mora biti ispravno implementiran i raditi s njim objedinjeno unutar vašeg sustava, što je izuzetno radno intenzivno. Drugo, imate jedno sučelje koje pruža većinu potrebnih funkcija za rad s korisničkim plaćanjima - ovo je osobni račun agregatora. Naravno, za sve to ćete morati platiti dodatnu proviziju, ali po našem mišljenju ovo rješenje je optimalno kada kreirate vlastitu VPS uslugu.

Naravno, prije integracije s agregatorom plaćanja, vaša stranica mora ispunjavati određene zahtjeve. Kao primjer možemo navesti zahtjeve upravitelja plaćanja agregatora plaćanja:

  • stranica mora biti u potpunosti ispunjena informacijama i funkcijama;
  • stranica se mora sastojati od više od jedne stranice;
  • web stranica mora sadržavati informacije o prodanoj robi i uslugama, kao io cijeni te robe i usluga;
  • stranica ne smije biti smještena na besplatnom hostingu;
  • roba i usluge ponuđene na web mjestu ne smiju biti u suprotnosti s važećim zakonodavstvom Ruske Federacije i međunarodnim pravom;

Također, vrijedi obratiti pozornost na činjenicu da je popis platnih sustava obično mnogo širi ako ugovor sklapate kao pravna osoba. U nekim slučajevima povezivanje određenih sustava plaćanja može potrajati dosta dugo, jer vaša stranica mora ispunjavati zahtjeve svakog sustava plaćanja koji nudi agregator, a postupak verifikacije provodi se na strani sustava plaćanja.

Financijski aspekt


Došli smo do jednog od najvažnijih aspekata (ako ne i najvažnijeg) – financijskog. Rad s vašim pružateljem VPS usluga trebao bi biti isplativ. Razmotrimo zašto je isplativo organizirati uslugu najma VPS poslužitelja odabirom RUVDS davatelja usluga kao davatelja usluga.

Uzmimo najpopularnije VPS konfiguracije temeljene na Windows Server 2012 R2 operativnom sustavu i predstavimo neke podatke koje smo dobili analizirajući tržište VPS usluga u Rusiji od veljače 2016.:


Konfiguracija

1

2

3

4

5

Broj procesora

1

2

4

6

8

Kapacitet RAM-a, GB

1

2

4

8

16

Kapacitet diska, GB, HDD

20

40

120

300

600

Broj IPv4 adresa

1

1

1

1

1

Cijena trenutne konfiguracije

Kod mjesečnog plaćanja

300 rub.

600 rub.

1400 rub.

2980 rub.

5720 rub.

Kod plaćanja godišnje

2880 rub.

5760 rub.

13440 rub.

28 608 RUB

54912 rub.

Kako bismo procijenili vašu potencijalnu zaradu, prikazujemo dobitak u cijeni konfiguracija u odnosu na prosječnu cijenu konkurenata:

Također, ne zaboravite da imamo troškove za plaćanje provizija za prijenose i isplate u platne sustave.

Trenutačni popust za izradu poslužitelja pomoću API-ja je 10% .
Kako procijeniti potencijalnu zaradu od jednog servera zadane konfiguracije, kupljenog za mjesec dana? Možete koristiti sljedeću formulu:
Zarada = Trenutačna. cijena RUVDS * 10% + Razlika u odnosu na prosječnu konfiguraciju - Troškovi plaćanja provizija.

Primjer izračuna za konfiguraciju 3:

Zarada = 1400 * 0,1 + 794 (zaokruženo prema dolje) -240 = 694 rubalja.

Ovo je zarada od jednog servera. Kada vaši klijenti kupe 25-30 poslužitelja ove konfiguracije, zaradit ćete iznos zarade koji već postoji 20 tisuća rubalja mjesečno.

U sljedećim člancima ćemo detaljno govoriti o mogućnostima

Ja (poput mnogih web programera) imam desetak web stranica koje treba negdje smjestiti.

Web stranice praktički ne donose zaradu, jer su to neki stari radovi (iz raznih razloga koji nisu ušli u produkciju), početna stranica, web stranica postavljena s lijepim mailom i slično. Ali u isto vrijeme, šteta je napustiti ove stranice, pa morate svaki mjesec potrošiti vrlo stvaran novac na njih za kupnju hostinga. Novac je, iskreno govoreći, mali, ali ipak je šteta, jer nema povrata sa stranica.

Istovremeno, na zalihama imamo:

  • Kućni poslužitelj na Ubuntuu
  • Brzi ethernet internet od MTS-a
Ali nema ključa - statički IP. Da jest, onda bi sve bilo puno jednostavnije i definitivno ne bih napisao ovaj članak. A moj MTS apsolutno ne želi izdati statički IP (osim ako se ne povežem kao poslovni klijent).

Naravno, postoje dobro poznati Dynamic DNS servisi poput noip.com, ali oni samo uspješno rješavaju problem udaljenog pristupa našem poslužitelju (putem SSH ili FTP), ali za hosting su nam potpuno neprikladni, jer trebamo registrirajte u postavkama domene na DNS poslužitelju Zapis A sa stvarnom IP adresom (ne poveznica na našu virtualnu domenu).

Što uraditi?

Neću duljiti o tome kako postaviti Linux poslužitelj (a još manje kako ga odabrati), jer pretpostavljam da ga već imate. Također, neću detaljno opisivati ​​postavke nginxa i Apachea, jer opet pretpostavljam da to možete sami riješiti.

Prva stvar s kojom sam imao problema je kako preusmjeriti posjetitelje sa svojih domena (imam 2 domene) na svoj kućni server. Odnosno, da klijent koji upiše domain.com dođe točno na moj kućni server, s obzirom na to da se IP adresa na njemu mijenja svaki dan.

Da bismo to riješili, moramo konfigurirati DNS poslužitelj, odnosno sljedeće zapise: SOA, NS, MX, A, CNAME. Bitno je da imamo mogućnost konfiguriranja TTL-a (time to live), budući da životni vijek naših snimaka treba biti vrlo kratak, doslovno 60-120 sekundi. U suprotnom, prilikom promjene IP adrese poslužitelja, korisnici neće moći doći do našeg poslužitelja dugo vremena (zbog predmemoriranja).

Dakle, trebamo DNS poslužitelj, rješenja:

Razmotrimo obje opcije.

Koristimo usluge koje nam pružaju DNS hosting

Za to postoje brojne besplatne usluge, od kojih je najpopularnija freedns.afraid.org. Na takvim uslugama možete dodati svoje domene i moći ažurirati njihov A-zapis putem API-ja pomoću male skripte.

Izgleda prilično dobro, ali caka je u tome što ti servisi zadržavaju pravo dodavanja poddomena treće razine vašoj domeni. To jest, registrirali ste user.ru kod njih, a oni lako dodaju svoje stranice kao što su hello.user.ru, shop.user.ru i tako dalje. Naravno, ovo možete odbiti, ali... za novac. Ne vidim smisla plaćati novac za takve usluge, jer za usporedivi novac možete kupiti punopravni hosting kod nekog pružatelja usluga bez ikakvih problema oko DNS postavki.

Nećemo razmatrati preostale usluge, već ćemo se usredotočiti na drugu opciju.

Koristimo vlastiti DNS poslužitelj u kombinaciji s DDNS domenom

Za ovu opciju, prvo, moramo imati DDNS domenu (koja se ažurira kada se promijeni IP), na primjer, domain.ddns.net, i drugo, morat ćemo instalirati i konfigurirati BIND na našem poslužitelju.

Ukupno trebate poduzeti točno 5 koraka. Posvuda riječi "domena" ili "domena.ru" označavaju naziv vaše domene (kratak ili puni).

1. Postavite 2 ili 3 DDNS poddomene
Zašto 2 ili 3? Budući da vam određeni broj registranata neće dopustiti korištenje domene samo s jednim NS poslužiteljem. Najneugodnije je to što neće svi reći o tome - vaša domena jednostavno neće raditi, ali nećete razumjeti zašto.

Ovdje je sve jednostavno - idite na noip.com, tamo registrirajte račun i dodajte 3 besplatne poddomene (više od 3 neće raditi).

2. Postavite vlastiti DNS poslužitelj
Instalirajte BIND:

$ sudo apt-get install bind9
Kreiramo zone (jedna zona za svaku našu domenu):

$ sudo nano /etc/bind/zones.my
sa sadržajem:

Zona "domain.ru" (upišite master; datoteka "/etc/bind/db.domain.ru"; );
i stvarna datoteka s postavkama zone:

$ nano /etc/bind/db.domain.ru
i napiši unutra:

; ; BIND podatkovna datoteka za lokalno sučelje povratne petlje; $TTL 60 @ U SOA domeni.ru. admin.domain.ru. (1477015437; Serijski 10800; Osvježi 3600; Ponovi 604800; Istek 1800) ; Negativna predmemorija TTL @ IN NS domain.ddns.net. @ U NS domeni.ddnsking.com. @ U NS domeni.myftp.biz. @ U MX 10 mx.yandex.net. @ IN A 1.2.3.4 pošta IN CNAME domain.mail.yandex.net. * IN CNAME domain.ru.
Napomena: imajte na umu da smo postavili TTL na 60 sekundi. U datoteku /etc/bind/named.conf.local dodajemo vezu za našu zonu:

Uključi "/etc/bind/zones.my";
To je to, ponovno pokrenimo BIND:

$ sudo servis bind9 ponovno pokrenite
I pogledajte /var/log/syslog tako da tamo nema poruka o greškama

3. Postavite naše domene
Idemo na upravljačku ploču registrara i tamo u postavkama naše domene označavamo stvorene DDNS poddomene kao NS poslužitelje:

Nameserver1 = domain.ddns.net nameserver2 = domain.ddnsking.com nameserver3 = domain.myftp.biz
Nakon toga ćete možda morati pričekati nekoliko sati (ili čak dan) dok se postavke repliciraju između svih poslužitelja.

4. Konfigurirajte povremena ažuriranja IP adrese
Moj ruter podržava ažuriranje IP adrese na jednoj domeni, ali to moram učiniti za 3 domene odjednom. Osim toga, moramo ažurirati IP adresu u BIND konfiguraciji, pa ćemo napisati skriptu koja će učiniti:
  1. Odredite našu vanjsku IP adresu
  2. Provjerite je li se IP adresa promijenila; ako nije, ne morate ništa poduzimati.
  3. Ažurirajte IP adresu svih DDNS poddomena putem API-ja usluge noip.com
  4. Registrirajte novu IP adresu u BIND konfiguraciji
  5. Ponovno pokrenite BIND
Neka sama skripta bude u ljusci:

#!/bin/sh # Ova skripta radi preko usluge noip.com + lokalni Bind poslužitelj # Postavke ZONES_CONFIG=zones.my IP_FILE=./current_ip.txt DDNS_USER=korisnik DDNS_PASS=lozinka DDNS_HOST=domain.ddns.net DDNS_HOSTS=domena. ddns.net,domain.ddnsking.com,domain.myftp.biz # Početak DATE=$(datum +"%Y-%m-%d %H:%M:%S") # otkrivanje vanjske IP adrese IP=$ (dig +kratko $DDNS_HOST) if [ $? -ne 0 ] || [ -z $IP ] || [ $IP = "0.0.0.0" ] ; then echo "$DATE ne mogu otkriti udaljeni IP. Prekidam." exit 1 fi # verify IP change PREV_IP="(unknown)" if [ -e $IP_FILE ] ; then PREV_IP=$(cat $IP_FILE) fi if [ $IP = $PREV_IP ] ; then echo "$DATE IP "$IP" nije promijenjen" else echo "$DATE IP je promijenjen iz "$PREV_IP" u "$IP"" echo "$DATE IP će biti ažuriran na DDNS poslužitelju" /usr/bin/curl -u $DDNS_USER :$DDNS_PASS "https://dynupdate.no-ip.com/nic/update?hostname=$DDNS_HOSTS&myip=$IP" fi echo $IP > $IP_FILE # provjerite BIND config cd /etc/bind if [ ! -e $ ZONES_CONFIG ] ; zatim echo "$DATE Datoteka $ZONES_CONFIG nije pronađena!" exit 1 fi # čitanje popisa aktivnih zona ZONE_FILES=$(grep datoteka $ZONES_CONFIG | grep -v ^# | perl -ne "/file "(.+ )"/ && print "$1\n"") za ZONE_FILE u $ZONE_FILES; do echo "$DATE Obradi konfiguraciju zone $ZONE_FILE" cat $ZONE_FILE | perl -ne "s/([\t ]+IN[\t ]+A[\t ]+)[\d\.]*/\$(1)$(IP)/; print \$(_)" > $ZONE_FILE.tmp if [ $(diff -w $ZONE_FILE $ZONE_FILE.tmp | wc -l) -ne 0 ] ; then # update serial number STAMP=$(date +%s) cat $ZONE_FILE.tmp | perl -ne "s/\d+(?=.+Serial)/$STAMP/; print \$(_)" > $ZONE_FILE # reload BIND service bind9 reload echo "$DATE Konfiguracija $ZONE_FILE je ažurirana" else # ništa za učiniti rm $ZONE_FILE.tmp echo "$DATE Konfiguracija $ZONE_FILE NIJE promijenjena" fi gotovo
Skriptu je potrebno pokrenuti kao root (tako da ima dovoljno prava za ažuriranje BIND konfiguracija i ponovno pokretanje). Dodamo je u rootov crontab da je pokrećemo svake minute:

* * * * * cd /home/root && ./update_bind_config.sh >> /var/log/update_bind_config.log
Nekoliko riječi o određivanju trenutne IP adrese. U gornjoj skripti to se radi rješavanjem DDNS poddomene domain.ddns.net. Odnosno, prvo ga naš ruter registrira tamo, a zatim ga mi čitamo. Ovo nije baš dobra opcija, budući da smo vezani za router i možemo izgubiti nekoliko minuta dok se IP adresa ažurira na DDNS poddomeni na trenutnu. Za to vrijeme naš poslužitelj neće biti dostupan.

Stoga sam koristio poboljšanu verziju za sebe, koja u isto vrijeme ne pristupa Internetu:

IP=$(perl -le "koristi LWP::UserAgent; moj $content=LWP::UserAgent->new->get("http://router")->decoded_content(); $content =~ q( ([\d\.]+)); ispis $1")
U ovoj opciji učitavamo glavnu stranicu rutera (preko http-a), zatim koristimo regexp da pronađemo trenutnu IP adresu na njoj. Naravno, ova opcija nije prikladna za sve, ali radi na DD-WRT firmware-u.

5. Postavljanje routera
Već sam pisao o potrebi konfiguriranja pristupa DDNS usluzi, ali ne zaboravite na potrebu konfiguriranja prosljeđivanja portova na vašem usmjerivaču:
  • HTTP - TCP, port 80
  • DNS - TCP+UDP, port 53

Zaključak

Dakle, što sam dobio na kraju:
  • Moje stranice žive na kućnom poslužitelju, za što nikome ne plaćam;
  • Moje domene se rješavaju preko vlastitog DNS servera, vijek trajanja zapisa je 1 minuta, odnosno ažuriranje se odvija vrlo brzo;
  • NS zapisi nisu prave IP adrese (koje se meni često mijenjaju), već DDNS poddomene;
  • Relevantnost zapisa u DDNS poddomenama iu konfiguraciji mog DNS poslužitelja osigurava se automatski, bez ikakve moje intervencije.
Prema mojim mjerenjima, kada MTS (moj davatelj) ažurira moju IP adresu, moje stranice počinju raditi nakon otprilike 2 minute. Ovo mi je sasvim prihvatljivo.

p.s. Ako se nekome svidio ovaj članak, onda mogu napisati drugi dio, gdje ću vam reći kako postaviti rad pomoću Yandex DNS hostinga. To će vam omogućiti da napustite vlastiti DNS poslužitelj, napustite DDNS poddomene, a također malo poboljšate pouzdanost rada (budući da DNS poslužitelj nikada neće promijeniti svoj IP). Ovo je upravo shema koju trenutno koristim.

Upoznajte Demyana. Ruski bloger u usponu koji je umoran od objavljivanja svojih bilješki na Tumblr i želi vlastitu web stranicu. Ali Demyan je pohlepan. Toliko pohlepan da mu je žao 3 dolara mjesečno za hosting.

Jednog dana, Demyanu je rečeno da može kreirati hosting izravno na svom računalu. I ne samo hosting, već cijeli namjenski poslužitelj koji će ugostiti ne samo blog, već i internetsku trgovinu u kojoj će Demyan prodavati svoje majice, kape i drugu robu.

U ovom članku ćemo govoriti o tome kako je Demyan napravio svoj hosting. I također zašto škrt plaća dvaput.

Priprema

Demyan može pretvoriti računalo u hosting za oko sat vremena. Ali prvo se mora pripremiti.

Računalo

Demyan nema računalo - ima samo prijenosno računalo s kojeg koristi VK i lista fotografije na Instagramu. Čak i Demyan shvaća da hosting na starom laptopu koji svuda nosi sa sobom nekako nije comme il faut.

Demyan ne želi kupiti računalo u lokalnim trgovinama - svi znaju da su lokalne cijene više! Zato ide u buržuj http://pcpartpicker.com i, oplakujući svoj novac, sastavlja sistemsku jedinicu za sebe. Demyan se odlučio za dvojezgreni Pentium G4560 i 4 GB RAM-a koji ga košta 250 dolara. Na dostavu potroši još 50 dolara.

Vidjevši cijene Windowsa, Demyan se onesvijesti. Ali Demyan uopće nije prijatelj Linuxa i ne želi se upoznati. Skine piratski Windows i instalira ga, obećavajući da će kasnije kupiti licencu - od prve zarade.

Internet

Demyan ne može bez dobre internetske veze - kako će mu inače doći mnoštvo entuzijastičnih čitatelja? A trenutnih 10 Mbit/s ne dopušta mu ni gledanje YouTubea kako treba.

Tužno uzdahnuvši, Demyan obilazi provajdere u potrazi za jeftinim 100 Mbit/s. Saznavši zašto mu treba takav kanal, svi pružatelji odmah upiru prstom u korisnički ugovor i nude samo posebne tarife za hosting - 5 puta skuplje. A neki uopće ne dopuštaju hosting. Napokon, Demyan pronalazi novog pružatelja usluga za kojeg je spreman povezati svoj hosting500 rubalja mjesečno - ali samo prvi put.

Tamo Demyan povezuje namjensku IP adresu. Ovo košta drugo100 rubalja mjesečno.

Instalacija poslužiteljskog softvera

Nakon što je sastavio svoj auto i na njega spojio monitor pronađen na buvljaku, Demyan se konačno bacio na posao. Nakon što je pročitao forume, saznao je da su mu potrebni posebni programi, kako bi njegov hosting radio s modernim CMS-om - Apache server, PHP, MySQL, PHPMyAdmin itd.

Možete ih preuzeti i instalirati jednu po jednu - ali to je dugo, teško i može dovesti do sukoba verzija. Srećom, Demyanu je prikazan skup programa koji će sve instalirati i konfigurirati umjesto njega - Wampserver.

Pola sata kasnije Demyan smišlja kako pravilno instalirati Wampserver, registrira domene, povezuje ih sa serverom i počinje instalirati WordPress, prilično trljajući ruke.

Profitabilnost

Izračunajmo koliko je novca Demyan uspio uštedjeti:

  1. Struja. Prosječna cijena električne energije u Rusiji je 5,31 rublja/kWh. Prosječno računalo troši oko 600 Wh. To znači da Demyan plaća 2300 rubalja mjesečno samo za struju.
  2. Internet. 100 Mbit/s košta Demyan 500 rubalja mjesečno + 100 za IP. Također je imao puno sreće s velikodušnim davateljem usluga.

Iz ovoga dobivamo da namjenski poslužitelj košta Demyan 2950 rubalja mjesečno.

pri čemu:

  1. Nema tehničke podrške. Sve probleme rješava sam Demyan, koristeći upute i forume.
  2. Demyan ima noćne more o svojim računima za struju. Dobro je da ima jednotarifni sustav i ne mora plaćati prekoračenje.
  3. Prisutnost bloga na internetu ovisi o gradskoj električnoj mreži.
  4. Nelicencirani Windowsi na poslužitelju tjeraju Demyana da se trzne svaki put kad zazvoni zvono na vratima.

A Unihost nudi približno isti poslužitelj za samo 2500 rubalja mjesečno, bez svih gore navedenih problema. Odnosno, Demyan je sebe "prevario" za 450 rubalja mjesečno, a također je upao u probleme sa zakonom.

  • DNS
  • Usluge poslužitelja
  • Ja (poput mnogih web programera) imam desetak web stranica koje treba negdje smjestiti.

    Web stranice praktički ne donose zaradu, jer su to neki stari radovi (iz raznih razloga koji nisu ušli u produkciju), početna stranica, web stranica postavljena s lijepim mailom i slično. Ali u isto vrijeme, šteta je napustiti ove stranice, pa morate svaki mjesec potrošiti vrlo stvaran novac na njih za kupnju hostinga. Novac je, iskreno govoreći, mali, ali ipak je šteta, jer nema povrata sa stranica.

    Istovremeno, na zalihama imamo:

    • Kućni poslužitelj na Ubuntuu
    • Brzi ethernet internet od MTS-a
    Ali nema ključa - statički IP. Da jest, onda bi sve bilo puno jednostavnije i definitivno ne bih napisao ovaj članak. A moj MTS apsolutno ne želi izdati statički IP (osim ako se ne povežem kao poslovni klijent).

    Naravno, postoje dobro poznati Dynamic DNS servisi poput noip.com, ali oni samo uspješno rješavaju problem udaljenog pristupa našem poslužitelju (putem SSH ili FTP), ali za hosting su nam potpuno neprikladni, jer trebamo registrirajte u postavkama domene na DNS poslužitelju Zapis A sa stvarnom IP adresom (ne poveznica na našu virtualnu domenu).

    Što uraditi?

    Neću duljiti o tome kako postaviti Linux poslužitelj (a još manje kako ga odabrati), jer pretpostavljam da ga već imate. Također, neću detaljno opisivati ​​postavke nginxa i Apachea, jer opet pretpostavljam da to možete sami riješiti.

    Prva stvar s kojom sam imao problema je kako preusmjeriti posjetitelje sa svojih domena (imam 2 domene) na svoj kućni server. Odnosno, da klijent koji upiše domain.com dođe točno na moj kućni server, s obzirom na to da se IP adresa na njemu mijenja svaki dan.

    Da bismo to riješili, moramo konfigurirati DNS poslužitelj, odnosno sljedeće zapise: SOA, NS, MX, A, CNAME. Bitno je da imamo mogućnost konfiguriranja TTL-a (time to live), budući da životni vijek naših snimaka treba biti vrlo kratak, doslovno 60-120 sekundi. U suprotnom, prilikom promjene IP adrese poslužitelja, korisnici neće moći doći do našeg poslužitelja dugo vremena (zbog predmemoriranja).

    Dakle, trebamo DNS poslužitelj, rješenja:

    Razmotrimo obje opcije.

    Koristimo usluge koje nam pružaju DNS hosting

    Za to postoje brojne besplatne usluge, od kojih je najpopularnija freedns.afraid.org. Na takvim uslugama možete dodati svoje domene i moći ažurirati njihov A-zapis putem API-ja pomoću male skripte.

    Izgleda prilično dobro, ali caka je u tome što ti servisi zadržavaju pravo dodavanja poddomena treće razine vašoj domeni. To jest, registrirali ste user.ru kod njih, a oni lako dodaju svoje stranice kao što su hello.user.ru, shop.user.ru i tako dalje. Naravno, ovo možete odbiti, ali... za novac. Ne vidim smisla plaćati novac za takve usluge, jer za usporedivi novac možete kupiti punopravni hosting kod nekog pružatelja usluga bez ikakvih problema oko DNS postavki.

    Nećemo razmatrati preostale usluge, već ćemo se usredotočiti na drugu opciju.

    Koristimo vlastiti DNS poslužitelj u kombinaciji s DDNS domenom

    Za ovu opciju, prvo, moramo imati DDNS domenu (koja se ažurira kada se promijeni IP), na primjer, domain.ddns.net, i drugo, morat ćemo instalirati i konfigurirati BIND na našem poslužitelju.

    Ukupno trebate poduzeti točno 5 koraka. Posvuda riječi "domena" ili "domena.ru" označavaju naziv vaše domene (kratak ili puni).

    1. Postavite 2 ili 3 DDNS poddomene
    Zašto 2 ili 3? Budući da vam određeni broj registranata neće dopustiti korištenje domene samo s jednim NS poslužiteljem. Najneugodnije je to što neće svi reći o tome - vaša domena jednostavno neće raditi, ali nećete razumjeti zašto.

    Ovdje je sve jednostavno - idite na noip.com, tamo registrirajte račun i dodajte 3 besplatne poddomene (više od 3 neće raditi).

    2. Postavite vlastiti DNS poslužitelj
    Instalirajte BIND:

    $ sudo apt-get install bind9
    Kreiramo zone (jedna zona za svaku našu domenu):

    $ sudo nano /etc/bind/zones.my
    sa sadržajem:

    Zona "domain.ru" (upišite master; datoteka "/etc/bind/db.domain.ru"; );
    i stvarna datoteka s postavkama zone:

    $ nano /etc/bind/db.domain.ru
    i napiši unutra:

    ; ; BIND podatkovna datoteka za lokalno sučelje povratne petlje; $TTL 60 @ U SOA domeni.ru. admin.domain.ru. (1477015437; Serijski 10800; Osvježi 3600; Ponovi 604800; Istek 1800) ; Negativna predmemorija TTL @ IN NS domain.ddns.net. @ U NS domeni.ddnsking.com. @ U NS domeni.myftp.biz. @ U MX 10 mx.yandex.net. @ IN A 1.2.3.4 pošta IN CNAME domain.mail.yandex.net. * IN CNAME domain.ru.
    Napomena: imajte na umu da smo postavili TTL na 60 sekundi. U datoteku /etc/bind/named.conf.local dodajemo vezu za našu zonu:

    Uključi "/etc/bind/zones.my";
    To je to, ponovno pokrenimo BIND:

    $ sudo servis bind9 ponovno pokrenite
    I pogledajte /var/log/syslog tako da tamo nema poruka o greškama

    3. Postavite naše domene
    Idemo na upravljačku ploču registrara i tamo u postavkama naše domene označavamo stvorene DDNS poddomene kao NS poslužitelje:

    Nameserver1 = domain.ddns.net nameserver2 = domain.ddnsking.com nameserver3 = domain.myftp.biz
    Nakon toga ćete možda morati pričekati nekoliko sati (ili čak dan) dok se postavke repliciraju između svih poslužitelja.

    4. Konfigurirajte povremena ažuriranja IP adrese
    Moj ruter podržava ažuriranje IP adrese na jednoj domeni, ali to moram učiniti za 3 domene odjednom. Osim toga, moramo ažurirati IP adresu u BIND konfiguraciji, pa ćemo napisati skriptu koja će učiniti:
    1. Odredite našu vanjsku IP adresu
    2. Provjerite je li se IP adresa promijenila; ako nije, ne morate ništa poduzimati.
    3. Ažurirajte IP adresu svih DDNS poddomena putem API-ja usluge noip.com
    4. Registrirajte novu IP adresu u BIND konfiguraciji
    5. Ponovno pokrenite BIND
    Neka sama skripta bude u ljusci:

    #!/bin/sh # Ova skripta radi preko usluge noip.com + lokalni Bind poslužitelj # Postavke ZONES_CONFIG=zones.my IP_FILE=./current_ip.txt DDNS_USER=korisnik DDNS_PASS=lozinka DDNS_HOST=domain.ddns.net DDNS_HOSTS=domena. ddns.net,domain.ddnsking.com,domain.myftp.biz # Početak DATE=$(datum +"%Y-%m-%d %H:%M:%S") # otkrivanje vanjske IP adrese IP=$ (dig +kratko $DDNS_HOST) if [ $? -ne 0 ] || [ -z $IP ] || [ $IP = "0.0.0.0" ] ; then echo "$DATE ne mogu otkriti udaljeni IP. Prekidam." exit 1 fi # verify IP change PREV_IP="(unknown)" if [ -e $IP_FILE ] ; then PREV_IP=$(cat $IP_FILE) fi if [ $IP = $PREV_IP ] ; then echo "$DATE IP "$IP" nije promijenjen" else echo "$DATE IP je promijenjen iz "$PREV_IP" u "$IP"" echo "$DATE IP će biti ažuriran na DDNS poslužitelju" /usr/bin/curl -u $DDNS_USER :$DDNS_PASS "https://dynupdate.no-ip.com/nic/update?hostname=$DDNS_HOSTS&myip=$IP" fi echo $IP > $IP_FILE # provjerite BIND config cd /etc/bind if [ ! -e $ ZONES_CONFIG ] ; zatim echo "$DATE Datoteka $ZONES_CONFIG nije pronađena!" exit 1 fi # čitanje popisa aktivnih zona ZONE_FILES=$(grep datoteka $ZONES_CONFIG | grep -v ^# | perl -ne "/file "(.+ )"/ && print "$1\n"") za ZONE_FILE u $ZONE_FILES; do echo "$DATE Obradi konfiguraciju zone $ZONE_FILE" cat $ZONE_FILE | perl -ne "s/([\t ]+IN[\t ]+A[\t ]+)[\d\.]*/\$(1)$(IP)/; print \$(_)" > $ZONE_FILE.tmp if [ $(diff -w $ZONE_FILE $ZONE_FILE.tmp | wc -l) -ne 0 ] ; then # update serial number STAMP=$(date +%s) cat $ZONE_FILE.tmp | perl -ne "s/\d+(?=.+Serial)/$STAMP/; print \$(_)" > $ZONE_FILE # reload BIND service bind9 reload echo "$DATE Konfiguracija $ZONE_FILE je ažurirana" else # ništa za učiniti rm $ZONE_FILE.tmp echo "$DATE Konfiguracija $ZONE_FILE NIJE promijenjena" fi gotovo
    Skriptu je potrebno pokrenuti kao root (tako da ima dovoljno prava za ažuriranje BIND konfiguracija i ponovno pokretanje). Dodamo je u rootov crontab da je pokrećemo svake minute:

    * * * * * cd /home/root && ./update_bind_config.sh >> /var/log/update_bind_config.log
    Nekoliko riječi o određivanju trenutne IP adrese. U gornjoj skripti to se radi rješavanjem DDNS poddomene domain.ddns.net. Odnosno, prvo ga naš ruter registrira tamo, a zatim ga mi čitamo. Ovo nije baš dobra opcija, budući da smo vezani za router i možemo izgubiti nekoliko minuta dok se IP adresa ažurira na DDNS poddomeni na trenutnu. Za to vrijeme naš poslužitelj neće biti dostupan.

    Stoga sam koristio poboljšanu verziju za sebe, koja u isto vrijeme ne pristupa Internetu:

    IP=$(perl -le "koristi LWP::UserAgent; moj $content=LWP::UserAgent->new->get("http://router")->decoded_content(); $content =~ q( ([\d\.]+)); ispis $1")
    U ovoj opciji učitavamo glavnu stranicu rutera (preko http-a), zatim koristimo regexp da pronađemo trenutnu IP adresu na njoj. Naravno, ova opcija nije prikladna za sve, ali radi na DD-WRT firmware-u.

    5. Postavljanje routera
    Već sam pisao o potrebi konfiguriranja pristupa DDNS usluzi, ali ne zaboravite na potrebu konfiguriranja prosljeđivanja portova na vašem usmjerivaču:
    • HTTP - TCP, port 80
    • DNS - TCP+UDP, port 53

    Zaključak

    Dakle, što sam dobio na kraju:
    • Moje stranice žive na kućnom poslužitelju, za što nikome ne plaćam;
    • Moje domene se rješavaju preko vlastitog DNS servera, vijek trajanja zapisa je 1 minuta, odnosno ažuriranje se odvija vrlo brzo;
    • NS zapisi nisu prave IP adrese (koje se meni često mijenjaju), već DDNS poddomene;
    • Relevantnost zapisa u DDNS poddomenama iu konfiguraciji mog DNS poslužitelja osigurava se automatski, bez ikakve moje intervencije.
    Prema mojim mjerenjima, kada MTS (moj davatelj) ažurira moju IP adresu, moje stranice počinju raditi nakon otprilike 2 minute. Ovo mi je sasvim prihvatljivo.

    p.s. Ako se nekome svidio ovaj članak, onda mogu napisati drugi dio, gdje ću vam reći kako postaviti rad pomoću Yandex DNS hostinga. To će vam omogućiti da napustite vlastiti DNS poslužitelj, napustite DDNS poddomene, a također malo poboljšate pouzdanost rada (budući da DNS poslužitelj nikada neće promijeniti svoj IP). Ovo je upravo shema koju trenutno koristim.


    Jeste li se ikada zapitali koliko je teško napraviti vlastiti hosting? Možete pitati zašto? Prvo, za zabavu, a drugo, da shvatite kako odabrati pravi hosting od hosting tvrtki. Treće, nitko nije otkazao komercijalnu privlačnost vlastitog hostinga. Naravno, stvaranje vlastitog hostinga nije lak zadatak, ali je zanimljiv, a gledajući opcije za ponude za najam hostinga, shvatit ćete što mnogima pada na pamet.

    Kako kreirati vlastiti hosting

    Neću se dugo zadržavati na etičkoj strani stvaranja komercijalnog hostinga. Kada stvarate proizvod za prodaju, morate shvatiti da to nije zabava, već ozbiljan posao o kojem ovise stranci. U početku, nema potrebe pokušavati stvoriti smeće projekte i stvoriti neprijatelje i mreže. Ako želite raditi na stvaranju usluga hostinga, počnite s mini projektom "za svoje", a zatim krenite dalje. Dakle, 4 načina za kreiranje vlastitog hostinga.

    Cloud hosting

    Korištenje VDS poslužitelja i njegovo dijeljenje na hosting dijelove je ideja koja leži na površini. Atraktivnost korištenja VDS poslužitelja je njegova niska cijena i mogućnost postupnog povećanja resursa. Ali ovo je na prvi pogled.

    Evolucija stvaranja VDS hostinga je jednostavna:

    • Uzimamo jeftini VDS, 500-600 rubalja mjesečno. To će biti 1 GB RAM-a, 10 GB diska i 1 TB prometa. Na primjer, ovdje: https://clodo.ru/
    • Upravljačku ploču iznajmljujemo ili uzimamo zauvijek, na primjer ISPmanager Business (1939 rubalja mjesečno, trajna licenca 27 000 rubalja). Instaliramo ga na iznajmljeni VDS. Ako ne možete sami, angažirajte tvrtku za mrežnu administraciju. Na primjer, https://systemintegra.ru.
    • Za naplatu kupujemo, na istom mjestu, drugi VDS. Za naplatu kupujemo BILLmanager licencu za naplatu. Za početak, ograničavamo se na standardnu ​​verziju (6869 rubalja godišnje). https://www.ispsystem.ru/software/billmanager.

    Ova se opcija na prvi pogled čini jeftinom. Ali čak i uz prosječna opterećenja na web-mjestima, morat ćete kupiti dodatni promet i potrošiti novac na pohranu sigurnosnih kopija.

    Hosting namjenskog poslužitelja

    Druga opcija za vaš hosting, a i najčešća je kupnja namjenskog poslužitelja. Mehanizam stvaranja je sljedeći:

    • Kupujemo namjenski server. Na primjer: http://ru.hetzner.com/hosting/produktmatrix/rootserver-produktmatrix-ex. Cijena 39 eura, 32 GB RAM-a, 8 TB SATA disk, 1 GB/s propusnost.
    • Za upravljanje uzimamo istu ploču ISPmanager Business (1939 rubalja / mjesec) Instaliramo je na našem poslužitelju.
    • Za naplatu kupujemo jeftini VDS s licencom BILLmanager Advanced (1030 rubalja mjesečno, / 20606 rubalja trajno).

    Hosting uz minimalne gubitke

    Kao što vidite iz cijena, izrada hostinga je skupa. Prilikom izrade hostinga razumijemo da se možda nećemo moći nositi s raznim problemima koji će se pojaviti na hostingu, možda nećemo moći riješiti postavke i zaštitu, možda nećemo moći pronaći klijente uopće i nadoknaditi troškove . Stoga iznajmljujemo VDS uz minimalne troškove, iznajmljujemo ploču i naplatu na mjesečnoj bazi, au slučaju kvara pažljivo ga zatvaramo uz minimalne gubitke.

    Reselling program – preprodaja hosting usluga

    Postoje tvrtke s BillManager Corporate koje vam omogućuju prodaju svojih usluga prodajnim računima, poput naplate-naplate. Shema funkcionira ovako:

    • Postoji vanjska naplata, Corporate, eventualno Advanced;
    • Opcija preprodaje dostupna je i aktivirana na naplati;
    • Tamo stvorite račun preprodavača;
    • Stvorite poslužitelj, instalirajte naplatu na njega, povežite račun prodavača, uvezite tarifne planove;

    Preprodaju možete započeti:

    Na vanjskoj naplati postoji usluga hostinga za 150 rubalja, klijent odlazi na vašu naplatu na vašem poslužitelju i naručuje. Na vašem prodajnom računu postoji faktura, a kada kupac izvrši narudžbu, ona se prebacuje na eksternu naplatu, a vi dobivate podatke o narudžbi.

    Realni prihodi, s velikim brojem projekata.

    Bolje je pogledati kako to funkcionira u programu preprodavača, na primjer, ovdje: https://firstvds.ru/partner/reseller.

    Ovo su samo najopćenitiji koraci za stvaranje vlastitog hostinga. Postoji mnogo drugih zadataka: stvaranje prave domene za hosting, rad s DNS klijentima, zaštita od DDoS napada. Unatoč svim problemima, vlastiti hosting je posao kao i svaki drugi, s problemima, zadacima i njihovim rješenjima.

    Najbolji članci na temu