Cum se configurează smartphone-uri și PC-uri. Portal informativ

Configurați găzduirea pe computer. Cum să-ți creezi propria găzduire VPS de la zero și să începi să câștigi bani pe ea (introducere)

Bună ziua, dragi cititori ai habr. Cu acest material, începem o serie de publicații despre cum să construim o găzduire VPS de la zero, bazată pe API-ul RUVDS White Label.

În această publicație introductivă, vă vom spune ce trebuie să faceți mai întâi pentru a începe să obțineți primul profit din propria găzduire VPS cât mai curând posibil, cum să o faceți relativ repede și cât de oportun și profitabil este. Dacă decideți să vă creați propria găzduire VPS de la zero, dar nu aveți propria infrastructură sau nu aveți fondurile și timpul pentru ao crea, bine ați venit sub cat.

Ai nevoie de un site web


Pentru a vă organiza propriul serviciu VPS, veți avea nevoie în primul rând de 2 lucruri - un site unde veți oferi servicii de închiriere de servere VPS și un furnizor de servicii care să vă ofere condiții favorabile de partener în aceste scopuri, o infrastructură proprie și un API de încredere cu o gamă largă. capabilități. Ce este un API? Acesta este un fel de interfață, folosind care puteți oferi clienților aceleași capacități de gestionare a serverului pe care furnizorul dvs. de servicii le oferă clienților săi.

Integrarea unui site web cu furnizorul dvs. de VPS prin intermediul API va fi mult mai ieftină și mai rapidă decât crearea propriei infrastructuri cloud de la zero, deoarece în acest caz „asumă” o mulțime de întrebări: nu trebuie să vă faceți griji cu privire la disponibilitatea resurse suficiente de la furnizor, despre cum să organizați un canal larg și tolerant la erori pentru accesul la Internet de pe servere virtuale, cum să colectați și să stocați date privind utilizarea resurselor de către servere etc.

Acum despre site. Pot exista multe opțiuni, le enumerăm pe cele mai comune:

  • sunteti proprietarul unui site care ofera servicii conexe (verificare/inregistrare domenii, inchiriere server DNS, administrare server la distanta).
  • vă creați site-ul de la zero folosind un CMS popular și pluginurile acestuia.
  • comandați un site web de la un studio web
  • introduceți alegerea dvs
Prima este cea mai bună opțiune, deoarece pentru a adăuga un nou serviciu de închiriere de server VPS, veți avea nevoie de foarte puține îmbunătățiri: nu va trebui să scrieți multe dintre lucrurile enumerate mai jos de la zero. Când vă construiți site-ul de la zero, timpii de lansare se pot schimba semnificativ în rău. Va trebui să implementați toate componentele din lista de mai jos (sau să utilizați implementări de la terți, după ce le-ați testat și adaptat în prealabil la proiectul dvs.). Vă recomandăm să utilizați cea de-a treia opțiune numai dacă nu aveți cunoștințele necesare pentru a crea site-uri web sau este imposibil să vă faceți site-ul așa cum doriți.

Să începem


Ce ar trebui implementat pe acest site?

Înregistrare, autentificare/autorizare utilizator, recuperare parole, formular de feedback.

Toți furnizorii de găzduire îl au fără excepție. Viitorul tău client trebuie să se poată înregistra, să recupereze o parolă dacă aceasta este pierdută, să aibă un cont personal pe site cu informații la zi despre soldul său, serverele achiziționate etc. De asemenea, trebuie să i se ofere posibilitatea de a raporta o problemă suportului tehnic. Pentru a evita înregistrarea în masă a conturilor „false”, vă recomandăm să nu neglijați mijloacele de protecție suplimentară, cum ar fi captcha pe formulare și, de asemenea, să salvați cantitatea maximă de informații disponibile despre utilizator, ceea ce vă poate ajuta în cazul a oricăror încălcări din partea sa. LA acest caz, există multe soluții gata făcute care necesită modificări minore. Dacă intenționați să vă creați site-ul bazat pe CMS, atunci funcționalitatea de mai sus fie este implementată într-o anumită măsură, fie poate fi conectată cu ușurință folosind plugin-uri.

Gestionarea datelor personale ale clientului

Ar trebui implementat într-o oarecare măsură, dar puteți face fără el. Această funcționalitate nu blochează pornirea serviciului dvs.

Managementul Client Server

Ce ar trebui să fie pe această pagină a site-ului dvs. depinde de cât de mult doriți să utilizați funcționalitatea disponibilă a furnizorului dvs. de servicii și de cât de mult control asupra serverului îl veți oferi clientului dvs. De exemplu, puteți crea un server dedicat pentru el după ce ați depus suma necesară pe sold și solicitarea sa scrisă către suportul tehnic sau îi puteți furniza un configurator complet pentru reglarea fină a caracteristicilor serverului, precum și interfețe pentru modificarea configurației în timpul funcționării, obținerea de statistici de încărcare a serverului, diverse posibilități precum reinstalarea sistemului de operare și așa mai departe. Viteza de lansare a găzduirii dvs. VPS, în funcție de opțiunea pe care o alegeți, va varia semnificativ. Vom analiza această problemă mai detaliat în următoarele articole din această serie.

Abilitatea de a utiliza o perioadă de probă

Evident, pentru promovarea inițială a noului tău serviciu de găzduire VPS, va trebui să implementezi posibilitatea utilizării unei perioade de testare. Acest lucru este necesar pentru ca clientul dumneavoastră să poată decide singur cât de mult corespunde prețul pe care l-ați anunțat pentru închirierea unui VPS cu calitatea serviciilor pe care le furnizați. Ce ar trebui luat în considerare în timpul implementării? În primul rând, trebuie să alegeți numărul de zile. Nu trebuie să faceți perioada de testare prea lungă - clienții care doresc doar să obțină un server gratuit pentru o anumită perioadă se vor înregistra la serviciul dvs., iar după terminarea perioadei de testare, vor înregistra un cont nou și vor încerca să folosească perioada de testare din nou. Pentru a te proteja într-o oarecare măsură de astfel de clienți, trebuie neapărat să înveți cum să-i identifici. Acest lucru este deosebit de important în stadiul inițial de dezvoltare a serviciului dumneavoastră, deoarece din cauza fiecărui astfel de client veți pierde un potențial profit. De asemenea, trebuie avut în vedere că o perioadă lungă de testare nu va fi foarte benefică pentru tine, deoarece nu există o perioadă de testare pe contul tău de partener, la care să fie conectate toate serverele pe care le-ai creat.

Facturare

Și cum își vor completa clienții soldul și cum vor cumpăra servere? Desigur, vom avea nevoie de o altă componentă foarte importantă, aceasta este facturarea. Ce includem în conceptul de „facturare”? Desigur, include crearea/editarea tarifelor curente, interfețe pentru acceptarea plăților clienților, mecanisme interne de procesare a plăților, crearea de promoții/reduceri, instrumente de monitorizare.

Implementarea propriei dvs. sau integrarea în proiectul dvs. de facturare terță parte ar trebui abordată în mod deosebit responsabil, deoarece capacitatea de a achiziționa un server VPS de pe site-ul dvs. (citiți primii bani) depinde direct de performanța acestei componente. Pentru a începe rapid să acceptați bani de la cele mai populare sisteme de plată, vă recomandăm să utilizați agregatoare de plăți. De ce? În primul rând, integrarea cu un singur agregator este mult mai rapidă și mai ușoară decât cu fiecare dintre sistemele de plată pe care le oferă. Acest lucru se datorează faptului că fiecare sistem de plată are propriul protocol de interacțiune, care trebuie implementat corect și unificat în sistemul dumneavoastră, ceea ce consumă extrem de mult timp. În al doilea rând, aveți o interfață care oferă cea mai mare parte a funcționalității necesare pentru a lucra cu plățile clienților - acesta este contul personal al agregatorului. Desigur, va trebui să plătiți un comision suplimentar pentru toate acestea, dar în opinia noastră, această soluție este optimă atunci când vă creați propriul serviciu VPS.

Desigur, înainte de integrarea cu un agregator de plăți, site-ul dvs. trebuie să îndeplinească anumite cerințe. Ca exemplu, putem cita cerințele agregatorului de plăți paymaster:

  • site-ul trebuie să fie complet umplut cu informații, pentru a funcționa;
  • site-ul trebuie să fie format din mai mult de o pagină;
  • site-ul ar trebui să conțină informații despre bunurile și serviciile vândute, precum și despre costul acestor bunuri și servicii;
  • site-ul nu ar trebui să fie găzduit pe o găzduire gratuită;
  • bunurile și serviciile oferite pe site nu trebuie să contravină legislației actuale a Federației Ruse și legislației internaționale;

De asemenea, ar trebui să acordați atenție faptului că lista sistemelor de plată, de regulă, este mult mai largă dacă încheiați un acord ca persoană juridică. În unele cazuri, conectarea anumitor sisteme de plată poate dura destul de mult, deoarece site-ul dvs. trebuie să îndeplinească cerințele fiecărui sistem de plată furnizat de agregator, iar procedura de verificare se efectuează pe partea sistemului de plată.

Aspect financiar


Ajungem la unul dintre cele mai importante aspecte (dacă nu cel mai important) - financiar. Lucrul cu furnizorul dvs. de VPS ar trebui să fie profitabil. Să ne gândim de ce este profitabil să organizezi un serviciu de închiriere de server VPS alegând un furnizor RUVDS ca furnizor de servicii.

Să luăm cele mai populare configurații VPS bazate pe sistemul de operare Windows Server 2012 R2 și să oferim câteva date pe care le-am primit atunci când am analizat piața serviciilor VPS din Rusia din februarie 2016:


Configurare

1

2

3

4

5

Numărul de procesoare

1

2

4

6

8

Cantitatea de RAM, GB

1

2

4

8

16

Dimensiunea discului, GB, HDD

20

40

120

300

600

Numărul de adrese IPv4

1

1

1

1

1

Prețul actual al configurației

La plata pe luna

300 r.

600 r.

1400 r.

2980 r.

5720 r.

Când se plătește pe an

2880 r.

5760 r.

13440 r.

28608 r.

54912 r.

Pentru a vă evalua potențialele câștiguri, vă prezentăm câștigul din prețul configurațiilor în fața prețului mediu al concurenților:

De asemenea, nu uitați că avem cheltuieli pentru plata comisioanelor pentru transferuri și retrageri către sistemele de plată.

Reducerea actuală pentru crearea de servere folosind API-ul este 10% .
Cum se evaluează câștigurile potențiale de la un server dintr-o anumită configurație, achiziționat timp de o lună? Puteți folosi următoarea formulă:
Câștiguri = curent. Preț RUVDS * 10% + Diferență cu configurația medie - Costuri comisioane.

Exemplu de calcul pentru configurația 3:

Câștiguri = 1400 * 0,1 + 794 (rotunjit în jos) -240 = 694 de ruble.

Acestea sunt câștiguri de la un server. Când clienții dvs. cumpără 25-30 de servere din această configurație, ajungeți la suma câștigurilor deja în 20 de mii de ruble pe lună.

În articolele următoare, vom descrie în detaliu posibilitățile

Eu (ca mulți dezvoltatori web) am aproximativ o duzină de site-uri care trebuie găzduite undeva.

Site-urile practic nu aduc profit, deoarece acestea sunt niște lucrări vechi (nu au intrat în producție din diverse motive), o pagină de pornire, un site frumos de e-mail și altele asemenea. Dar, în același timp, este păcat să abandonați aceste site-uri și, prin urmare, trebuie să cheltuiți bani destul de reali pe ele în fiecare lună pentru a cumpăra găzduire. Banii, sincer, sunt mici, dar cu toate acestea este păcat pentru ei, deoarece pe site-uri nu există nicio întoarcere.

În același timp disponibil:

  • Server de acasă pe Ubuntu
  • Internet rapid Ethernet de la MTS
Dar nu există nicio cheie - IP static. Dacă ar fi, atunci totul ar fi mult mai simplu și cu siguranță nu aș scrie acest articol. Și MTS-ul meu absolut nu dorește să emită un IP static (cu excepția cazului în care mă conectez ca client de afaceri).

Desigur, există servicii Dynamic DNS cunoscute precum noip.com, dar rezolvă cu succes doar problema accesului de la distanță la serverul nostru (prin SSH sau FTP), dar nu sunt absolut potrivite pentru găzduire, deoarece în setările domeniului pe serverul DNS trebuie să scriem A-record cu o adresă IP reală (nu o legătură către domeniul nostru virtual).

Ce să fac?

Nu mă voi opri asupra modului de a configura un server Linux (cu atât mai puțin despre cum să aleg unul), deoarece presupun că aveți deja unul. De asemenea, nu voi descrie în detaliu setările pentru nginx și Apache, pentru că din nou presupun că vă puteți descurca singur.

Primul lucru cu care am avut probleme a fost cum să redirecționez vizitatorii de pe domeniile mele (am 2 domenii) către serverul meu de acasă. Adică, astfel încât clientul care a tastat domain.com a ajuns exact pe serverul meu de acasă, ținând cont de faptul că adresa IP de pe acesta se schimbă în fiecare zi.

Pentru soluție, trebuie să configuram serverul DNS și anume următoarele înregistrări: SOA, NS, MX, A, CNAME. Este important să avem capacitatea de a seta TTL (time to live), deoarece durata de viață a înregistrărilor noastre ar trebui să fie foarte mică, literalmente 60-120 de secunde. În caz contrar, la schimbarea adresei IP a serverului, utilizatorii nu vor putea ajunge la serverul nostru pentru o perioadă lungă de timp (din cauza stocării în cache).

Deci, avem nevoie de un server DNS, opțiuni de soluție:

Să luăm în considerare ambele opțiuni.

Folosim servicii care ne oferă găzduire DNS

Există o serie de servicii gratuite pentru aceasta, dintre care freedns.afraid.org este cel mai popular. Pe astfel de servicii, puteți adăuga domeniul (domeniile) dvs. și aveți posibilitatea de a-și actualiza înregistrarea A prin API folosind un mic script.

Arată destul de bine, dar problema este că aceste servicii își rezervă dreptul de a adăuga subdomenii de nivel trei la domeniul tău. Adică, ați înregistrat user.ru cu ei și ei își adaugă calm site-urile precum hello.user.ru, shop.user.ru și așa mai departe. Desigur, poți refuza asta, dar... pentru bani. Nu văd niciun rost să plătești bani pentru astfel de servicii, pentru că pentru bani comparabili poți cumpăra o găzduire cu drepturi depline de la orice furnizor, fără să dansezi în jurul setărilor DNS.

Nu vom lua în considerare serviciile rămase, ci ne vom concentra pe a doua opțiune.

Folosim propriul nostru server DNS împreună cu un domeniu DDNS

Pentru această opțiune, noi, în primul rând, trebuie să avem un domeniu DDNS (care este actualizat când IP-ul se schimbă), de exemplu, domain.ddns.net, iar în al doilea rând, va trebui să instalăm și să configuram BIND pe serverul nostru.

În total, trebuie să faceți exact 5 pași. Peste tot sub cuvintele „domeniu” sau „domeniu.ru” se înțelege numele dvs. de domeniu (scurt sau complet).

1. Configurați 2 sau 3 subdomenii DDNS
De ce 2 sau 3? Deoarece un număr de înregistrați nu vă vor permite să utilizați un domeniu cu un singur server NS. Cel mai enervant lucru este că nu toată lumea va spune asta - domeniul tău pur și simplu nu va funcționa, dar nu vei înțelege de ce.

Totul este simplu aici - accesați noip.com, înregistrați un cont acolo și adăugați 3 subdomenii gratuite (mai mult de 3 nu vor funcționa).

2. Configurați-vă propriul server DNS
Instalați BIND:

$ sudo apt-get install bind9
Creați zone (o zonă pentru fiecare dintre domeniile noastre):

$ sudo nano /etc/bind/zones.my
cu continut:

Zona „domain.ru” ( tip master; fișier „/etc/bind/db.domain.ru”; );
și fișierul real de setări de zonă:

$ nano /etc/bind/db.domain.ru
si scrie inauntru:

; ; Fișier de date BIND pentru interfața loopback locală; $TTL 60 @ ÎN SOA domain.ru. admin.domain.ru (1477015437 ; Serial 10800 ; Reîmprospătare 3600 ; Reîncercați 604800 ; Expiră 1800) ; Cache negativ TTL @ IN NS domain.ddns.net. @ ÎN domeniul NS.ddnsking.com. @ ÎN domeniul NS.myftp.biz. @ IN MX 10 mx.yandex.net. @ ÎN UN 1.2.3.4 mail ÎN CNAME domain.mail.yandex.net. * ÎN CNAME domain.ru.
Notă: Vă atrag atenția asupra faptului că TTL este setat la 60 de secunde. În fișierul /etc/bind/named.conf.local, adăugați conexiunea noastră de zonă:

Includeți „/etc/bind/zones.my”;
Asta este, reporniți BIND:

$ sudo service bind9 reporniți
Și să ne uităm la /var/log/syslog, astfel încât să nu existe mesaje de eroare

3. Configurați domeniul (domeniile)
Mergem la panoul de control al registratorului și acolo în setările domeniului nostru specificăm subdomeniile DDNS create ca servere NS:

nameserver1=domeniu.ddns.net nameserver2=domeniu.ddnsking.com nameserver3=domeniu.myftp.biz
După aceea, poate fi necesar să așteptați câteva ore (sau chiar o zi) până când setările sunt replicate între toate serverele.

4. Configurați actualizarea periodică a adreselor IP
Routerul meu acceptă actualizarea adresei IP pe un domeniu, dar trebuie să fac acest lucru pentru 3 domenii simultan. În plus, trebuie să actualizăm adresa IP în configurația BIND, așa că haideți să scriem un script care va face:
  1. Determinați adresa noastră IP externă
  2. Verificați dacă adresa IP s-a schimbat, dacă nu s-a schimbat, atunci nu trebuie făcut nimic
  3. Actualizați adresa IP a tuturor subdomeniilor DDNS prin intermediul API-ului serviciului noip.com
  4. Înregistrați o nouă adresă IP în configurația BIND „a
  5. Reporniți BIND
Lăsați scriptul în sine să fie pe shell:

#!/bin/sh # Acest script funcționează prin serviciul noip.com + server local Bind # Setări ZONES_CONFIG=zones.my IP_FILE=./current_ip.txt DDNS_USER=utilizator DDNS_PASS=parolă DDNS_HOST=domain.ddns.net DDNS_HOSTS=domeniu. ddns.net,domain.ddnsking.com,domain.myftp.biz # Start DATE=$(data +"%Y-%m-%d %H:%M:%S") # detectează un IP IP extern=$ (sapă +scurt $DDNS_HOST) dacă [ $? -ne 0 ] || [ -z $IP ] || [ $IP = "0.0.0.0" ] ; apoi ecou „$DATE” Nu se poate detecta un IP la distanță. Se anulează." exit 1 fi # verifică schimbarea IP PREV_IP="(necunoscut)" dacă [ -e $IP_FILE ] ; apoi PREV_IP=$(cat $IP_FILE) fi dacă [ $IP = $PREV_IP ] ; apoi ecou "$DATE IP „$IP” nu s-a schimbat” else echo „$DATE IP a fost schimbat din „$PREV_IP” în „$IP”” echo „$DATE IP va fi actualizat pe serverul DDNS” /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 # verificați BIND config cd /etc/bind dacă [ ! -e $ ZONES_CONFIG ] ; apoi ecou „$DATE Fișier $ZONES_CONFIG nu a fost găsit!” exit 1 fi # citește lista zonelor active ZONE_FILES=$(fișier grep $ZONES_CONFIG | grep -v ^# | perl -ne "/fișier "(.+ )"/ && printează „$1\n"") pentru ZONE_FILE în $ZONE_FILES; ecou „$DATE Procesează configurația zonei $ZONE_FILE” cat $ZONE_FILE | perl -ne "s/([\t ]+IN[\t ]+A[\t ]+)[\d\.]*/\$(1)$(IP)/; tipăriți \$(_)" > $ZONE_FILE.tmp dacă [ $(diff -w $ZONE_FILE $ZONE_FILE.tmp | wc -l) -ne 0 ] ; atunci # actualizați numărul de serie STAMP=$(data +%s) cat $ZONE_FILE.tmp | perl -ne "s/\d+(?=.+Serial)/$STAMP/; print \$(_)" > $ZONE_FILE # reîncărcați serviciul BIND bind9 reload echo "$DATE Configurația $ZONE_FILE este actualizată" altfel # nimic de făcut rm $ZONE_FILE.tmp echo "$DATE Configurația $ZONE_FILE NU este schimbată" gata
Scriptul trebuie să fie rulat sub root (pentru a avea drepturi de a actualiza configurațiile lui BIND și de a-l reporni). Adăugați-l în crontab rădăcină pentru a-l rula în fiecare minut:

* * * * * cd /home/root && ./update_bind_config.sh >> /var/log/update_bind_config.log
Câteva cuvinte despre determinarea adresei IP curente. În scriptul de mai sus, acest lucru se face prin rezolvarea subdomeniului DDNS domain.ddns.net. Adică, mai întâi routerul nostru îl înregistrează acolo, apoi îl citim. Aceasta nu este o opțiune foarte bună, deoarece suntem legați de un router și putem pierde câteva minute până când adresa IP este actualizată pe subdomeniul DDNS la cel actual. În tot acest timp serverul nostru va fi indisponibil.

Prin urmare, am folosit o versiune îmbunătățită, care, în același timp, nu navighează pe internet:

IP=$(perl -le "utilizați LWP::UserAgent; my $content=LWP::UserAgent->new->get("http://router")->decoded_content(); $content =~ q( ([\d\.]+)); imprimați $1")
În această opțiune, încărcăm pagina principală a routerului (prin http), apoi găsim adresa IP curentă pe ea cu expresia regulă. Desigur, această opțiune nu este potrivită pentru toată lumea, dar funcționează pe firmware-ul DD-WRT.

5. Configurare router
Am scris deja despre necesitatea de a configura accesul la serviciul DDNS, dar nu uitați de necesitatea de a configura redirecționarea portului pe routerul dvs.:
  • HTTP - TCP, portul 80
  • DNS - TCP+UDP, portul 53

Concluzie

Deci cu ce am ajuns:
  • Site-urile mele trăiesc pe un server de acasă pentru care nu plătesc pe nimeni;
  • Domeniile mele sunt rezolvate prin propriul meu server DNS, durata de viață a recordului este de 1 minut, deci actualizarea este foarte rapidă;
  • Înregistrările NS nu sunt adrese IP reale (pe care le schimb adesea), ci subdomenii DDNS;
  • Relevanța înregistrărilor în subdomeniile DDNS și în configurația serverului meu DNS este furnizată automat, fără nicio intervenție din partea mea.
Conform măsurătorilor mele, atunci când MTS (furnizorul meu) îmi actualizează adresa IP, site-urile mele încep să funcționeze după aproximativ 2 minute. Acest lucru este perfect acceptabil pentru mine.

P.S. Dacă cuiva i-a plăcut această notă, atunci pot scrie a doua parte, unde vă voi spune cum să configurați lucrul folosind găzduirea Yandex DNS. Acest lucru vă va permite să vă refuzați propriul server DNS, să refuzați subdomeniile DDNS și să îmbunătățiți ușor fiabilitatea muncii (deoarece serverul DNS nu își va schimba niciodată IP-ul). Acesta este aspectul pe care îl folosesc în prezent.

Faceți cunoștință cu Demyan. Un blogger rus începător care s-a săturat să-și posteze notele pe Tumblr și își dorește propriul site. E doar Demyan - lacom. Atât de lacom încât îi pare rău pentru 3 USD pe lună pentru găzduire.

Odată, lui Demyan i s-a spus că poate face găzduire chiar pe computerul său. Da, nu doar găzduire, ci un întreg server dedicat care va trage nu doar un blog, ci și un magazin online unde Demyan își va vinde tricourile, pălăriile și alte marfă.

În acest articol, vom vorbi despre modul în care Demyan și-a făcut găzduirea. Și, de asemenea, de ce avarul plătește de două ori.

Instruire

Demyan poate transforma un computer în găzduire în aproximativ o oră. Dar mai întâi trebuie să se pregătească.

Un calculator

Demyan nu are computer - are doar un laptop de pe care stă pe VK și derulează fotografiile de pe Instagram. Chiar și Demyan înțelege că a face găzduire pe un laptop vechi, pe care îl trage cu el peste tot, nu este cumva comme il faut.

Demyan nu vrea să cumpere un computer din magazinele locale - toată lumea știe că prețurile locale sunt mai mari! Așa că vine la burghez http://pcpartpicker.com și, plângându-și banii câștigați cu greu, își montează o unitate de sistem. Demyan se oprește la un Pentium G4560 dual-core și 4 GB de RAM, care îl costă 250 de dolari. Cheltuiește încă 50 de dolari pe transport.

Văzând prețurile la Windows, Demian leșină. Dar Demyan nu este deloc prieten cu Linux și nu vrea să se familiarizeze. El descarcă un Windows piratat și îl instalează, promițând că va cumpăra o licență mai târziu - de la primul profit.

Internet

Demyan nu se poate lipsi de un internet bun - cum altfel vor veni mulțimile de cititori entuziaști la el? Iar actualul 10 Mbit/s nici măcar YouTube nu îi permite să se uite în mod normal.

Oftând cu tristețe, Demyan merge la furnizori în căutare de 100 Mbps ieftin. După ce au aflat de ce are nevoie de un astfel de canal, toți furnizorii își arată imediat cu degetul asupra Acordului de utilizare și oferă doar tarife speciale de găzduire - de 5 ori mai scumpe. Și unii nu permit găzduirea deloc. În cele din urmă, Demyan găsește un nou furnizor care este gata să-și conecteze găzduirea500 ruble pe lună - dar numai pentru prima dată.

În același loc, Demyan conectează o adresă IP dedicată. Costă și100 ruble pe lună.

Instalare software server

După ce și-a asamblat mașina și a conectat la ea un monitor găsit la o piață de vechituri, Demyan se pune în sfârșit la treabă. După ce a citit forumurile, află că pentru ca găzduirea lui să funcționeze cu CMS modern, sunt necesare programe speciale - serverul Apache, PHP, MySQL, PHPMyAdmin etc.

Le puteți descărca și instala pe rând - dar acest lucru este lung, complicat și poate duce la conflicte de versiuni. Din fericire, lui Demyan i se arată un set de programe care vor instala și configura totul pentru el - wampserver.

O jumătate de oră mai târziu, Demyan și-a dat seama cum să instaleze corect Wampserver, înregistrează domenii, le conectează la server și, frecându-și mâinile, începe să instaleze WordPress.

Rentabilitatea

Să calculăm câți bani a reușit să economisească Demyan:

  1. Electricitate. Tariful mediu de energie electrică în Rusia este de 5,31 r/kWh. Calculatorul mediu consumă aproximativ 600 Wh. Aceasta înseamnă că Demyan plătește 2.300 de ruble pe lună numai pentru electricitate.
  2. Internet. 100 Mbps îl costă pe Demyan 500 de ruble pe lună + 100 pentru IP. Și este încă foarte norocos cu un furnizor generos.

De aici înțelegem că un server dedicat costă Demyan 2950 de ruble pe lună.

în care:

  1. Fără suport tehnic. Toate problemele sunt rezolvate de Demyan însuși, folosind instrucțiuni și forumuri.
  2. Demyan are coșmaruri în legătură cu facturile de electricitate. E bine că are un sistem de cotă unică și nu trebuie să plătească pentru depășiri.
  3. Prezența unui blog pe internet depinde de rețeaua electrică a orașului.
  4. Windows fără licență de pe server îl face pe Demyan să tremure la fiecare sonerie.

Și Unihost oferă aproximativ același server pentru doar 2500 de ruble pe lună, fără toate problemele de mai sus. Adică, Demyan s-a „încălțat” pentru 450 de ruble pe lună și a avut, de asemenea, probleme cu legea.

  • DNS,
  • Gazduire
  • Eu (ca mulți dezvoltatori web) am aproximativ o duzină de site-uri care trebuie găzduite undeva.

    Site-urile practic nu aduc profit, deoarece acestea sunt niște lucrări vechi (nu au intrat în producție din diverse motive), o pagină de pornire, un site frumos de e-mail și altele asemenea. Dar, în același timp, este păcat să abandonați aceste site-uri și, prin urmare, trebuie să cheltuiți bani destul de reali pe ele în fiecare lună pentru a cumpăra găzduire. Banii, sincer, sunt mici, dar cu toate acestea este păcat pentru ei, deoarece pe site-uri nu există nicio întoarcere.

    În același timp disponibil:

    • Server de acasă pe Ubuntu
    • Internet rapid Ethernet de la MTS
    Dar nu există nicio cheie - IP static. Dacă ar fi, atunci totul ar fi mult mai simplu și cu siguranță nu aș scrie acest articol. Și MTS-ul meu absolut nu dorește să emită un IP static (cu excepția cazului în care mă conectez ca client de afaceri).

    Desigur, există servicii Dynamic DNS cunoscute precum noip.com, dar rezolvă cu succes doar problema accesului de la distanță la serverul nostru (prin SSH sau FTP), dar nu sunt absolut potrivite pentru găzduire, deoarece în setările domeniului pe serverul DNS trebuie să scriem A-record cu o adresă IP reală (nu o legătură către domeniul nostru virtual).

    Ce să fac?

    Nu mă voi opri asupra modului de a configura un server Linux (cu atât mai puțin despre cum să aleg unul), deoarece presupun că aveți deja unul. De asemenea, nu voi descrie în detaliu setările pentru nginx și Apache, pentru că din nou presupun că vă puteți descurca singur.

    Primul lucru cu care am avut probleme a fost cum să redirecționez vizitatorii de pe domeniile mele (am 2 domenii) către serverul meu de acasă. Adică, astfel încât clientul care a tastat domain.com a ajuns exact pe serverul meu de acasă, ținând cont de faptul că adresa IP de pe acesta se schimbă în fiecare zi.

    Pentru soluție, trebuie să configuram serverul DNS și anume următoarele înregistrări: SOA, NS, MX, A, CNAME. Este important să avem capacitatea de a seta TTL (time to live), deoarece durata de viață a înregistrărilor noastre ar trebui să fie foarte mică, literalmente 60-120 de secunde. În caz contrar, la schimbarea adresei IP a serverului, utilizatorii nu vor putea ajunge la serverul nostru pentru o perioadă lungă de timp (din cauza stocării în cache).

    Deci, avem nevoie de un server DNS, opțiuni de soluție:

    Să luăm în considerare ambele opțiuni.

    Folosim servicii care ne oferă găzduire DNS

    Există o serie de servicii gratuite pentru aceasta, dintre care freedns.afraid.org este cel mai popular. Pe astfel de servicii, puteți adăuga domeniul (domeniile) dvs. și aveți posibilitatea de a-și actualiza înregistrarea A prin API folosind un mic script.

    Arată destul de bine, dar problema este că aceste servicii își rezervă dreptul de a adăuga subdomenii de nivel trei la domeniul tău. Adică, ați înregistrat user.ru cu ei și ei își adaugă calm site-urile precum hello.user.ru, shop.user.ru și așa mai departe. Desigur, poți refuza asta, dar... pentru bani. Nu văd niciun rost să plătești bani pentru astfel de servicii, pentru că pentru bani comparabili poți cumpăra o găzduire cu drepturi depline de la orice furnizor, fără să dansezi în jurul setărilor DNS.

    Nu vom lua în considerare serviciile rămase, ci ne vom concentra pe a doua opțiune.

    Folosim propriul nostru server DNS împreună cu un domeniu DDNS

    Pentru această opțiune, noi, în primul rând, trebuie să avem un domeniu DDNS (care este actualizat când IP-ul se schimbă), de exemplu, domain.ddns.net, iar în al doilea rând, va trebui să instalăm și să configuram BIND pe serverul nostru.

    În total, trebuie să faceți exact 5 pași. Peste tot sub cuvintele „domeniu” sau „domeniu.ru” se înțelege numele dvs. de domeniu (scurt sau complet).

    1. Configurați 2 sau 3 subdomenii DDNS
    De ce 2 sau 3? Deoarece un număr de înregistrați nu vă vor permite să utilizați un domeniu cu un singur server NS. Cel mai enervant lucru este că nu toată lumea va spune asta - domeniul tău pur și simplu nu va funcționa, dar nu vei înțelege de ce.

    Totul este simplu aici - accesați noip.com, înregistrați un cont acolo și adăugați 3 subdomenii gratuite (mai mult de 3 nu vor funcționa).

    2. Configurați-vă propriul server DNS
    Instalați BIND:

    $ sudo apt-get install bind9
    Creați zone (o zonă pentru fiecare dintre domeniile noastre):

    $ sudo nano /etc/bind/zones.my
    cu continut:

    Zona „domain.ru” ( tip master; fișier „/etc/bind/db.domain.ru”; );
    și fișierul real de setări de zonă:

    $ nano /etc/bind/db.domain.ru
    si scrie inauntru:

    ; ; Fișier de date BIND pentru interfața loopback locală; $TTL 60 @ ÎN SOA domain.ru. admin.domain.ru (1477015437 ; Serial 10800 ; Reîmprospătare 3600 ; Reîncercați 604800 ; Expiră 1800) ; Cache negativ TTL @ IN NS domain.ddns.net. @ ÎN domeniul NS.ddnsking.com. @ ÎN domeniul NS.myftp.biz. @ IN MX 10 mx.yandex.net. @ ÎN UN 1.2.3.4 mail ÎN CNAME domain.mail.yandex.net. * ÎN CNAME domain.ru.
    Notă: Vă atrag atenția asupra faptului că TTL este setat la 60 de secunde. În fișierul /etc/bind/named.conf.local, adăugați conexiunea noastră de zonă:

    Includeți „/etc/bind/zones.my”;
    Asta este, reporniți BIND:

    $ sudo service bind9 reporniți
    Și să ne uităm la /var/log/syslog, astfel încât să nu existe mesaje de eroare

    3. Configurați domeniul (domeniile)
    Mergem la panoul de control al registratorului și acolo în setările domeniului nostru specificăm subdomeniile DDNS create ca servere NS:

    nameserver1=domeniu.ddns.net nameserver2=domeniu.ddnsking.com nameserver3=domeniu.myftp.biz
    După aceea, poate fi necesar să așteptați câteva ore (sau chiar o zi) până când setările sunt replicate între toate serverele.

    4. Configurați actualizarea periodică a adreselor IP
    Routerul meu acceptă actualizarea adresei IP pe un domeniu, dar trebuie să fac acest lucru pentru 3 domenii simultan. În plus, trebuie să actualizăm adresa IP în configurația BIND, așa că haideți să scriem un script care va face:
    1. Determinați adresa noastră IP externă
    2. Verificați dacă adresa IP s-a schimbat, dacă nu s-a schimbat, atunci nu trebuie făcut nimic
    3. Actualizați adresa IP a tuturor subdomeniilor DDNS prin intermediul API-ului serviciului noip.com
    4. Înregistrați o nouă adresă IP în configurația BIND „a
    5. Reporniți BIND
    Lăsați scriptul în sine să fie pe shell:

    #!/bin/sh # Acest script funcționează prin serviciul noip.com + server local Bind # Setări ZONES_CONFIG=zones.my IP_FILE=./current_ip.txt DDNS_USER=utilizator DDNS_PASS=parolă DDNS_HOST=domain.ddns.net DDNS_HOSTS=domeniu. ddns.net,domain.ddnsking.com,domain.myftp.biz # Start DATE=$(data +"%Y-%m-%d %H:%M:%S") # detectează un IP IP extern=$ (sapă +scurt $DDNS_HOST) dacă [ $? -ne 0 ] || [ -z $IP ] || [ $IP = "0.0.0.0" ] ; apoi ecou „$DATE” Nu se poate detecta un IP la distanță. Se anulează." exit 1 fi # verifică schimbarea IP PREV_IP="(necunoscut)" dacă [ -e $IP_FILE ] ; apoi PREV_IP=$(cat $IP_FILE) fi dacă [ $IP = $PREV_IP ] ; apoi ecou "$DATE IP „$IP” nu s-a schimbat” else echo „$DATE IP a fost schimbat din „$PREV_IP” în „$IP”” echo „$DATE IP va fi actualizat pe serverul DDNS” /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 # verificați BIND config cd /etc/bind dacă [ ! -e $ ZONES_CONFIG ] ; apoi ecou „$DATE Fișier $ZONES_CONFIG nu a fost găsit!” exit 1 fi # citește lista zonelor active ZONE_FILES=$(fișier grep $ZONES_CONFIG | grep -v ^# | perl -ne "/fișier "(.+ )"/ && printează „$1\n"") pentru ZONE_FILE în $ZONE_FILES; ecou „$DATE Procesează configurația zonei $ZONE_FILE” cat $ZONE_FILE | perl -ne "s/([\t ]+IN[\t ]+A[\t ]+)[\d\.]*/\$(1)$(IP)/; tipăriți \$(_)" > $ZONE_FILE.tmp dacă [ $(diff -w $ZONE_FILE $ZONE_FILE.tmp | wc -l) -ne 0 ] ; atunci # actualizați numărul de serie STAMP=$(data +%s) cat $ZONE_FILE.tmp | perl -ne "s/\d+(?=.+Serial)/$STAMP/; print \$(_)" > $ZONE_FILE # reîncărcați serviciul BIND bind9 reload echo "$DATE Configurația $ZONE_FILE este actualizată" altfel # nimic de făcut rm $ZONE_FILE.tmp echo "$DATE Configurația $ZONE_FILE NU este schimbată" gata
    Scriptul trebuie să fie rulat sub root (pentru a avea drepturi de a actualiza configurațiile lui BIND și de a-l reporni). Adăugați-l în crontab rădăcină pentru a-l rula în fiecare minut:

    * * * * * cd /home/root && ./update_bind_config.sh >> /var/log/update_bind_config.log
    Câteva cuvinte despre determinarea adresei IP curente. În scriptul de mai sus, acest lucru se face prin rezolvarea subdomeniului DDNS domain.ddns.net. Adică, mai întâi routerul nostru îl înregistrează acolo, apoi îl citim. Aceasta nu este o opțiune foarte bună, deoarece suntem legați de un router și putem pierde câteva minute până când adresa IP este actualizată pe subdomeniul DDNS la cel actual. În tot acest timp serverul nostru va fi indisponibil.

    Prin urmare, am folosit o versiune îmbunătățită, care, în același timp, nu navighează pe internet:

    IP=$(perl -le "utilizați LWP::UserAgent; my $content=LWP::UserAgent->new->get("http://router")->decoded_content(); $content =~ q( ([\d\.]+)); imprimați $1")
    În această opțiune, încărcăm pagina principală a routerului (prin http), apoi găsim adresa IP curentă pe ea cu expresia regulă. Desigur, această opțiune nu este potrivită pentru toată lumea, dar funcționează pe firmware-ul DD-WRT.

    5. Configurare router
    Am scris deja despre necesitatea de a configura accesul la serviciul DDNS, dar nu uitați de necesitatea de a configura redirecționarea portului pe routerul dvs.:
    • HTTP - TCP, portul 80
    • DNS - TCP+UDP, portul 53

    Concluzie

    Deci cu ce am ajuns:
    • Site-urile mele trăiesc pe un server de acasă pentru care nu plătesc pe nimeni;
    • Domeniile mele sunt rezolvate prin propriul meu server DNS, durata de viață a recordului este de 1 minut, deci actualizarea este foarte rapidă;
    • Înregistrările NS nu sunt adrese IP reale (pe care le schimb adesea), ci subdomenii DDNS;
    • Relevanța înregistrărilor în subdomeniile DDNS și în configurația serverului meu DNS este furnizată automat, fără nicio intervenție din partea mea.
    Conform măsurătorilor mele, atunci când MTS (furnizorul meu) îmi actualizează adresa IP, site-urile mele încep să funcționeze după aproximativ 2 minute. Acest lucru este perfect acceptabil pentru mine.

    P.S. Dacă cuiva i-a plăcut această notă, atunci pot scrie a doua parte, unde vă voi spune cum să configurați lucrul folosind găzduirea Yandex DNS. Acest lucru vă va permite să vă refuzați propriul server DNS, să refuzați subdomeniile DDNS și să îmbunătățiți ușor fiabilitatea muncii (deoarece serverul DNS nu își va schimba niciodată IP-ul). Acesta este aspectul pe care îl folosesc în prezent.


    V-ați întrebat vreodată cât de greu este să vă creați propria găzduire. De ce intrebi? În primul rând, pentru distracție și, în al doilea rând, pentru a înțelege cum să alegeți găzduirea potrivită de la companiile de găzduire. În al treilea rând, nimeni nu a anulat atractivitatea comercială a propriei găzduiri. Desigur, crearea propriei găzduiri nu este o sarcină ușoară, dar interesantă, iar căutând prin opțiunile de găzduire a ofertelor de închiriere, înțelegeți ce vă vine în minte pentru mulți.

    Cum să-ți creezi propria găzduire

    Nu mă voi opri asupra laturii etice a creării de găzduire comercială. Când creați un produs de vânzare, trebuie să înțelegeți că acesta nu este divertisment, ci o muncă serioasă de care depind străinii. Inițial, nu trebuie să încercați să creați proiecte de gunoi și să vă faceți inamici și rețele. Există dorința de a lucra cu crearea de găzduire, începe cu un mini proiect „pentru propriul tău”, apoi trece mai departe. Deci, 4 moduri de a vă crea găzduirea.

    Găzduire în cloud

    Folosirea unui server VDS cu împărțirea lui în bucăți de găzduire este o idee care se află la suprafață. Atractivitatea utilizării unui server VDS este costul scăzut al acestuia și posibilitatea unei creșteri treptate a resurselor. Dar asta este la prima vedere.

    Evoluția găzduirii pe VDS este simplă:

    • Luăm VDS ieftin, ruble pentru 500-600 pe lună. Va fi 1 GB de RAM, 10 GB de disc și 1 TB de trafic. De exemplu, aici: https://clodo.ru/
    • Închiriem sau luăm pentru totdeauna un panou de control, de exemplu, ISPmanager Business (1939 ruble / lună, licență perpetuă 27.000 ruble). L-am pus pe un VDS închiriat. Dacă nu vă puteți descurca singur, angajați o companie de administrare a rețelei. De exemplu, https://systemintegra.ru.
    • Pentru facturare cumpărăm, în același loc, al doilea VDS. Pentru facturare, cumpărăm o licență de facturare BILLmanager. Pentru început, ne limităm la versiunea Standard (6869 de ruble pe an). https://www.ispsystem.ru/software/billmanager.

    Opțiune, la prima vedere, ieftină. Dar chiar și cu încărcături medii pe site-uri, va trebui să cumpărați mai mult trafic și să cheltuiți bani pentru stocarea copiilor de rezervă.

    Gazduire pe un server dedicat

    A doua opțiune pentru găzduirea dvs., și este cea mai comună, este achiziționarea unui server dedicat. Mecanismul de creare este următorul:

    • Cumpărăm un server dedicat. De exemplu: http://ru.hetzner.com/hosting/produktmatrix/rootserver-produktmatrix-ex. Cost 39 Euro, 32 GB RAM, 8 TB disc SATA, 1 Gb/s skip.
    • Pentru management, luăm același panou ISPmanager Business (1939 ruble / lună). Instalați-l pe serverul nostru.
    • Pentru facturare, cumpărăm un VDS ieftin cu o licență BILLmanager Advanced (1030 ruble pe lună, / 20606 ruble pentru totdeauna).

    Gazduire cu pierderi minime

    După cum puteți vedea din prețuri, crearea de găzduire este o afacere costisitoare. Atunci când creăm o găzduire, înțelegem că s-ar putea să nu putem face față diverselor probleme care vor fi pe găzduire, s-ar putea să nu tragem setările și protecția, s-ar putea să nu găsim clienți deloc și să recuperăm costurile. Prin urmare, închiriem VDS cu costuri minime, închiriem panoul și facturarea lunar și în caz de defecțiune, pliăm cu grijă cu pierderi minime.

    Program de revânzare - revânzarea serviciilor de găzduire

    Există companii cu BillManager Corporate care vă permit să-și vindeți serviciile către conturi de reseller, cum ar fi facturarea. Schema funcționează astfel:

    • Există facturare externă, Corporate, eventual Avansat;
    • Pe facturare există și activată posibilitatea revânzării;
    • Creați un cont de reseller acolo;
    • Creați un server, configurați facturarea pe acesta, conectați un cont de reseller, importați planuri tarifare;

    Puteți începe să revândeți:

    La facturarea externă există un serviciu de găzduire pentru 150 de ruble, clientul vine la facturarea dvs. pe serverul dvs. și face o comandă. Aveți un cont în contul dvs. de reseller, iar atunci când un client plasează o comandă, aceasta este transferată către facturarea externă și primiți datele comenzii.

    Venituri reale, cu un număr mare de proiecte.

    Cum funcționează, este mai bine să te uiți în programul de revânzare, de exemplu, aici: https://firstvds.ru/partner/reseller.

    Aceștia sunt doar cei mai comuni pași pentru a vă crea propria găzduire. Există multe alte sarcini: crearea domeniului potrivit pentru găzduire, lucrul cu clienții DNS, protejarea împotriva atacurilor DDoS. În ciuda tuturor problemelor, găzduirea dvs. este aceeași afacere ca oricare alta, cu probleme, sarcini și soluțiile acestora.

    Top articole similare