Cum se configurează un server web dedicat gratuit

Toate site-urile mari au un server excelent în spatele lor. În acest tutorial, vă voi arăta cum să configurați un server web dedicat (cu Apache, MySQL și PHP) folosind computerul vechi pe care l-ați găsit în jurul casei și niște software liber.


1. O prezentare rapidă

În acest tutorial, urmărim să realizăm câteva lucruri:

  • Vom instala sistemul de operare Ubuntu Server. Folosesc în mod obișnuit Ubuntu din cauza ușurinței de utilizare și
    administrare simplă. De asemenea, are o comunitate destul de mare și extrem de activă în spatele ei, ceea ce face obtinerea
    susține o briză.
  • Vom instala un server OpenSSH. Acest lucru vă permite să administrați serverul dvs. de la computerele la distanță.
  • O stivă de LAMP (Linux, Apache, MySQL și PHP) va fi instalată. Aceasta oferă coloana vertebrală care va rula
    site-ul tau. Apache este serverul web standard industrial bazat pe sistemele de operare bazate pe Unix; este ceea ce majoritatea gazde web
    (NETTUTS o folosește chiar acum!) și este ceea ce vom folosi.
  • Vom instala un firewall pentru a vă proteja serverul împotriva accesului neautorizat.

Pentru a urma acest tutorial, veți avea nevoie de câteva elemente:

  • Un computer de utilizat ca server. Nu trebuie să fie puternic; atâta timp cât nu este vechi, va funcționa bine. Vă rog
    nu faceți acest lucru pe PC-ul desktop; Ubuntu va șterge complet calculatorul.
  • Un arzător pentru CD-uri și un CD gol. Acestea sunt astfel încât să puteți arde Ubuntu pe un disc pentru al instala.
  • Timp. Serios, acest proces consumă mult timp, mai ales dacă vă confruntați cu probleme. Încearcă să renunți la o după-amiază
    pentru a urma acest tutorial.

Poate că vă întrebați de ce doriți să aveți propriul server web. Există mai multe motive, dintre care câteva sunt: ​​puteți avea propriile teste
teren pentru site-urile dvs. web; cu o mică modificare, puteți găzdui propriul site; și veți învăța multe despre Linux / Unix pe măsură ce mergeți.
Cu asta a spus, să începem!


2. Descărcați Ubuntu Server

În primul rând, vom avea nevoie de un CD cu Ubuntu pe el. Punctați-vă browserul web la adresa http://www.ubuntu.com/,
și faceți clic pe descărcare din meniul din stânga. Veți primi acum o casetă cu două file: "Desktop Edition" și
"Server Edition". Faceți clic pe fila "Server Edition" și selectați "Ubuntu 8.04 LTS". Apoi, selectați o locație de descărcare din
drop-down box. În cele din urmă, apăsați butonul "Începeți descărcarea".

Acum trebuie să scrieți ISO (fișierul pe care l-ați descărcat) pe un CD gol. Dacă nu știți cum să faceți acest lucru, există un
ghid excelent la https://help.ubuntu.com/community/BurningIsoHowto


3. Instalați Ubuntu Server

Acum că ați descărcat și ați ars ISO, hai să instalăm Ubuntu pe serverul dvs. Puneți discul în unitate și porniți-l de pe CD. În majoritatea computerelor moderne, acest lucru se va întâmpla în mod implicit dacă un disc este în unitate atunci când îl porniți. Dacă nu, atunci trebuie să apăsați o tastă de pe tastatură dreapta când o porniți. Pentru laptopul meu, este F12, iar pentru serverul meu, este F2. Depinde doar de computer. Puteți să o găsiți uitându-te la textul de pe ecran chiar când porniți computerul, în timpul BIOS-ului. Veți vedea ceva de genul "Apăsați [KEY] pentru a schimba ordinea de încărcare". Apăsați tasta respectivă și selectați unitatea CD.

Încă cu mine? Bun. Acum că ați încărcat Ubuntu, ar trebui să vedeți următorul ecran:

Selectați limba dvs. și apăsați pe Enter. Acum veți vedea acest ecran:

Selectați "Install Ubuntu Server" și plecați!

Programul de instalare vă va întreba acum dacă doriți să detectați aspectul tastaturii. Personal, întotdeauna aleg nu, pentru că
este mai rapid să selectați o tastatură americană standard din listă decât să îl puteți detecta de către instalator. Oricare dintre opțiuni este bună,
urmați instrucțiunile de pe ecran.

După ce ați făcut acest lucru, veți vedea acum o mulțime de ecrane de încărcare spunând lucruri cum ar fi "Detectarea unităților CD-ROM" și astfel.
Acestea ar trebui să treacă repede și fără probleme. Cu toate acestea, în timpul acestor ecrane, instalatorul va încerca să vă configureze automat
setari de retea. În majoritatea cazurilor, acest lucru va funcționa fără plângere. Cu toate acestea, dacă nu funcționează pentru dvs., urmați doar
instrucțiuni de pe ecran pentru a funcționa.

După ce sa terminat cu toate acestea, vă va cere un nume de gazdă. De obicei, puteți seta acest lucru la orice; Întotdeauna am pus-o
mea de a "web-server".

Sistemul va dori acum să setați fusul orar pentru ceas. Pentru mine, e Pacific. Alegeți una la care se aplică
tu.

Acum, sistemul va detecta mai multe componente hardware și vi se va cere să "pariați discul". Selectați "Guided - use entire
disc".

Acum trebuie să selectați discul pe care doriți să îl partiționați. Pentru majoritatea setărilor, va fi disponibil doar un singur disc; in orice caz,
pentru sisteme mai specializate, mai multe opțiuni vor fi disponibile aici. Alegeți-o pe cea care vi se aplică.

Vă va întreba dacă doriți să scrieți modificările pe disc. Selectați "Da" și apăsați pe Enter. Instalatorul va continua
pentru a formata unitatea și a configura partițiile.

Acum, magia se întâmplă. Sistemul va începe să se instaleze. În timp ce se întâmplă acest lucru, du-te lua o ceașcă de cafea. Acest lucru poate lua oriunde
de la 10 minute la o oră. Depinde doar de sistemul tău. S-ar putea să existe vremuri că se pare că este înghețat; nu-ți face griji,
nu este. Doar lăsați-o să facă ceva. Cu toate acestea, dacă este blocat pe un singur lucru pentru mai mult de o oră, atunci da, este înghețat.

Acum, când sistemul este instalat, trebuie să configurați contul pe care îl veți conecta. În primul rând, dă-i plinul
numele și apăsați "Continuați".

Acum, dați-i numele de utilizator. În mod normal, acesta va fi doar primul nume,
dar o poți schimba. Un nume pe care nu îl folosiți este "root".

Acum vi se va cere să furnizați o parolă. Este esențial să alegeți o parolă puternică, sau serverul dvs. nu va
să fie sigură deloc. Recomand la LEAST un amestec de numere, litere mici și majuscule. Cu toate acestea, pentru serverele mele
Eu folosesc simboluri, precum și un amestec al celor de mai sus. NU utilizați o parolă mai mică de 7 caractere.

Apoi, reintroduceți parola pentru a verifica dacă ați introdus-o corect.

Sistemul va încerca acum să configureze "Managerul de pachete" (vom ajunge la ceea ce este în curând). Furnizați-l cu dvs.
informația proxy sau lăsați-o goală dacă nu utilizați un proxy și selectați "Continuați".

Sistemul va scana acum mai multe servere care caută actualizări și setări de configurare.

După ce ați finalizat, veți primi câteva opțiuni pentru a instala software-ul serverului. Acum, ascultă foarte atent.
Selectați serverul OpenSSH și apăsați SPACE, NOT ENTER. Dacă apăsați Enter, instalarea va continua fără a instala serverul OpenSSH.

Ați putea instala "serverul LAMP", dar nu am nici o experiență cu această opțiune, așa că o să instalăm cu totul altfel
mai târziu.

Sistemul va instala acum software-ul selectat, precum și alte componente ale sistemului.

În cele din urmă, instalarea se va termina. Scoateți CD-ul și apăsați pe Enter. Computerul va reporni. Dacă totul merge bine, vei fi
prezentat cu un ecran care arată similar cu următoarele:

Felicitări! Tocmai ați terminat partea cea mai grea. Ubuntu este acum instalat și este timpul să vă transformați acest computer
un server web.


4. Actualizați-vă noul server

Înainte de a merge mai departe, trebuie să vă asigurați că serverul dvs. este actualizat. Pentru a face acest lucru, trebuie să vă conectați. Mai întâi, introduceți numele de utilizator
(cea pe care ați ales-o mai devreme), apăsați enter, apoi introduceți parola. Pe măsură ce introduceți parola, veți observa că nimic
pare să se întâmple. Nu vă faceți griji, așa a fost proiectat să funcționeze. După ce terminați să introduceți parola, apăsați pe Enter,
iar ecranul dvs. ar trebui să pară similar celui de mai jos, dacă toate au mers bine:

Acum, tastați:

sudo aptitude update și & sudo aptitude dist-upgrade

Vă va cere să vă parolați și, din nou, nu veți vedea nimic pe măsură ce îl tastați. După ce ați făcut acest lucru, vă va întreba dacă
doriți să continuați. Introduceți "y" și apăsați pe Enter. Ecranul dvs. va arăta similar cu următoarele:

Sistemul dvs. va descărca acum și va instala toate cele mai recente actualizări. Acest lucru va dura ceva timp, în funcție de conexiunea la internet. După
a terminat, va trebui să reporniți computerul. Pentru aceasta, tastați:

sudo shutdown -r acum

Și lăsați-l să repornească. Serverul dvs. este actualizat complet.


O notă rapidă despre "Sudo"

Până acum, ați observat că toate comenzile pe care le-ați tastat au început cu "sudo". Acest lucru se datorează faptului că acestea necesită
privilegii de administrator, și asta face "sudo". Acesta execută comanda (adică "închiderea") ca administrator, permițându-i să funcționeze
în mod corespunzător. Acesta este și motivul pentru care vă solicită parola. Cu toate acestea, după ce ați introdus o dată "sudo" și ați introdus parola,
nu trebuie să introduceți din nou parola timp de cinci minute. Nu toate comenzile necesită sudo, doar cele care modifică părți ale sistemului.
Ai toate astea? Bun.


5. Instalați Apache, MySQL și PHP

Acum este momentul să instalați câteva programe. Pentru a accesa site-urile dvs. de pe internet, vom avea nevoie să instalați un server web (Apache). În plus față de serverul web, vom
doriți și un server de bază de date (MySQL) și o limbă de server (PHP), astfel încât să putem rula aplicații populare, cum ar fi WordPress. Asa de,
hai să ajungem la asta!

Instalarea programelor pe Ubuntu este mult diferită de instalarea programelor pe Windows sau
OS X, prin faptul că Ubuntu va descărca și instala programele pentru tine cu o comandă simplă. Acest lucru se datorează faptului că Ubuntu are ceva numit
A Manager de pachete, care gestionează aproape toate programele din sistemul dvs. Tot ce trebuie să faceți este să spuneți administratorului de pachete
(numit "aptitude") că dorim să instaleze Apache, MySQL și PHP. Pentru aceasta, tastați următoarea comandă:

sudo aptitude instalare apache2 php5-mysql libapache2-mod-php5 mysql-server

Și apăsați enter. Aptitude va descărca și instala programele pe care le-ați specificat. De asemenea, va descărca și instala orice
dependențe.

În timpul procesului de instalare, MySQL vă va cere o parolă de root. Puteți seta acest lucru la orice, doar asigurați-vă că îl faceți lung și sigur.
Indiferent ce faceți, NU lăsați acest lucru gol.

După ce toate au terminat, aveți acum un server web complet de lucru. Pentru a le testa, mai întâi găsiți IP-ul serverului dvs. tastând:

ifconfig | grep inet

Este de obicei primul IP returnat. În cazul meu, e 192.168.177.129. Acum că știți IP-ul, deschideți browserul dvs. web și indicați-l
la serverul IP. Dacă vedeți "Funcționează!" mesaj, apoi felicitări, funcționează.

Cu toate acestea, nu am terminat încă. Nu vrem ca Apache sau PHP să dezvăluie informații despre ei înșiși, deoarece aceste informații nu sunt necesare
de către utilizatorii dvs. și ar putea reprezenta un risc de securitate. Mai întâi, creați copii de rezervă pentru fișierul original de configurare Apache:

sudo cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf.bak

Deschideți acum fișierul de configurare:

sudo nano /etc/apache2/apache2.conf

Derulați în jos (săgeată în jos) în locația "ServerTokens Full" și schimbați-l pentru a citi "ServerTokens Prod"

Acum, derulați în jos un pic mai departe și schimbați "ServerSignature On" la "ServerSignature Off"

În cele din urmă, apăsați Control-O urmat de Control-X. Aceasta va salva fișierul și va ieși din editorul de text.

Acum, trebuie să facem același lucru și pentru PHP. În primul rând, creați copii de rezervă pentru fișierul original de configurare PHP:

sudo cp /etc/php5/apache2/php.ini /etc/php5/apache2/php.ini.bak

Deschideți fișierul de configurare:

sudo nano /etc/php5/apache2/php.ini

Schimbați "expose_php = Pornit" la "expose_php = Dezactivat"

Din nou, apăsați Control-O urmat de Control-X. Acum, că fișierele de configurare sunt actualizate, reporniți Apache:

sudo /etc/init.d/apache2 restart

Ați terminat instalarea Apache, MySQL și PHP.


6. Instalați un Firewall

Acum o să blocăm serverul nostru mai mult, instalând Shorewall, un firewall de linie de comandă. Pentru ao instala:

sudo aptitude install shorewall

Implicit, Shorewall este instalat fără reguli, permițând accesul complet. Cu toate acestea, acesta nu este comportamentul pe care îl dorim.
În schimb, vom bloca toate conexiunile la orice altceva decât portul 80 (HTTP) și portul 22 (SSH). Mai întâi, copiați configurația
fișierelor din directorul Shorewall:

sudo cp / usr / share / doc / shorewall-common / exemple / one-interface / * / etc / shorewall /

Acum, deschideți fișierul "rules":

sudo nano / etc / shorewall / reguli

Adăugați aceste linii deasupra în care se afișează "#LAST LINE"

HTTP / ACCEPT net $ FW SSH / ACCEPT net $ FW

Apoi apăsați Control-O și Control-X. Paravanul dvs. de protecție este acum configurat să accepte numai traficul HTTP și SSH. Ultimul lucru de care avem nevoie
face-i să-i spui lui Shorewall să înceapă la boot. Deci, deschideți fișierul principal de configurare Shorewall:

sudo nano /etc/shorewall/shorewall.conf

Derulați în jos până la "STARTUP_ENABLED = Nu" și setați-o la "STARTUP_ENABLED = Da"

Apăsați Control-O și Control-X. Acum, deschideți fișierul de configurare implicit Shorewall:

sudo nano / etc / implicit / shorewall

Și schimbați "startup = 0" la "startup = 1". Apăsați Control-O și Control-X. În cele din urmă, porniți paravanul de protecție:

sudo /etc/init.d/shorewall începe

Felicitări! Paravanul dvs. de protecție este acum configurat și vă protejează serverul.


7. Adăugați site-ul Web pe serverul dvs. Web

Acum, că ați făcut totul în ordine, probabil că doriți să adăugați un site web la acesta. În mod implicit, toate fișierele Apache servește
până la internet se află la "/ var / www /". Cu toate acestea, nu puteți scrie în acest dosar. Să facem așa încât să puteți:

sudo usermod -g www-date [YOUR USERNAME] sudo chown -R www-data: www-data / var / www sudo chmod -R 775 / var / www

Ce sa întâmplat acolo a fost adăugarea dvs. la grupul "www-data", și a făcut folderul site-ului web scris de membrii "www-data"
grup.

Acum, te vei conecta la server folosind SFTP (nu trebuie confundat cu FTPS). Unii clienți care acceptă SFTP sunt:
WinSCP (Windows, gratuit), FileZilla (Windows, Linux, OS X, gratuit),
Cyberduck (OS X, Free) și, preferatul meu personal, Transmiteți
(OS X, $ 30)

Conectați-vă la server folosind numele de utilizator și parola și, dacă clientul dvs. îl acceptă, o cale implicită de "/ var / www" (dacă nu,
pur și simplu navigați la / var / www odată ce v-ați conectat): (Transmite imaginea)

Acum puteți adăuga fișierele în acest dosar (/ var / www) și acestea se vor afișa pe server când navigați la el cu ajutorul
browser web.

Acum, vă puteți întreba de ce folosim SFTP în loc de FTP. În principal, deoarece SFTP este deja încorporat în OpenSSH (pe care l-ați instalat
mai devreme). Cu toate acestea, este, de asemenea, mult mai sigur decât FTP și face dificilă (dacă nu chiar imposibilă) accesul utilizatorilor rău-intenționați
la acreditările dvs. de conectare.


8. Faceți-vă serverul accesibil la Internet

Cele mai multe rețele moderne de acasă se află în spatele unui router în aceste zile. Din acest motiv, serverul dvs. web nu va fi vizibil pe internet fără
o mică lucrare. Deoarece nu am la dispoziție niciun router disponibil, pot să vă dau doar indicații generale în acest domeniu.

Există două moduri de a vă deschide serverul până la internet: un DMZ sau Port Forwarding. Principala diferență pe care o veți observa este că, cu un DMZ, serverul dvs. utilizează
firewall instalat mai devreme pentru a se proteja. Cu toate acestea, cu Port Forwarding, serverul dvs. va fi protejat de paravanul de protecție al routerului.

Cu toate acestea, înainte de a continua, veți dori să dați serverului dvs. o adresă LAN statică. Pentru a face acest lucru, conectați-vă la router și căutați ceva
de-a lungul liniilor "IP-uri statice" sau "rutare statică". După ce ați dat serverului dvs. o adresă LAN statică, puteți face următoarele părți. Tine minte,
Google este prietenul tău.

Pentru a porni foward, există un site excelent, PortForward.com, care, în timp ce urât, poate
vă ajuta să obțineți treaba pentru aproape orice router. Porturile pe care doriți să le transmiteți sunt 22 și 80.

Pentru a crea un DMZ, trebuie să vă conectați la router și să căutați ceva de genul "Setări DMZ". Odată ce ați găsit, adăugați-vă serverul la
DMZ, iar tu vei fi setat. Din nou, Google este util în astfel de situații.

Acum, găsiți IP-ul public și voila! Puteți accesa serverul dvs. de oriunde
pe măsură ce IP-ul dvs. nu se modifică.


9. Administrarea serverului de la distanță

Pe lângă faptul că vă permite să încărcați fișiere, OpenSSH vă permite să vă conectați la serverul dvs. de oriunde, atâta timp cât știți că este IP. Pentru Windows, veți face asta
nevoie de un client SSH. Îi recomand pe Putty. Pentru OS X, SSH este
deja instalat. Pur și simplu deschideți terminalul și tastați "ssh tu@yourip"Pentru Putty, alegeți SSH și introduceți adresa IP, numele de utilizator și parola
când o cere. Veți observa că, odată ce vă conectați, acesta arată exact la fel ca ecranul de pe server:

Puteți face orice de aici, pe care ați face-o de fapt așezat la server. Pentru a vă deconecta de la server, pur și simplu tastați "exit" și apăsați enter.


10. Asta este!

Acum aveți un server web complet funcțional. Ea face pentru un mare teren de testare, și ar fi chiar adecvate pentru a găzdui site-uri web cu trafic destul de scăzut. Există, evident, a mult stânga pentru a fi învățat, dar sperăm că ați câștigat o mică perspectivă asupra modului în care funcționează serverele web.

Dacă doriți să citiți mai multe despre subiectele pe care le-am abordat, iată câteva sfaturi utile:

  • Instalarea software-ului
  • Configurarea Apache, MySQL și PHP
  • Shorewall Ghid de configurare
  • Cum să porți portul

De asemenea, asigurați-vă că verificați mii de scripturi PHP utile pe Envato Market. Cu totul, de la forme și căruțe de cumpărături până la abstracții de baze de date, este sigur că există ceva care să vă ajute în etapa următoare a activității dvs. de dezvoltator.

Script-uri PHP pe Envato Market
Cod