Paano mag-set up ng isang web server at mag-host ng isang web sa GNU / Linux

Web url

Kung naisip mo kung paano ang ilan mga serbisyo sa pagho-host ang umiiral sa network ay maaaring mag-host ng isang web page o kung ano ang isang web server at kung paano ito gumagana, kasama ang kung ano ang mga bar na lilitaw sa URL ng ilang mga web page, kung paano makakonekta ang isang client sa isang web page nang malayo, atbp., sa Malilinaw ito ng artikulong ito sa iyo. Ituturo ko sa iyo hindi lamang ang mga konsepto ng kung ano ang isang server, malalaman mo rin kung paano lumikha ng iyong sariling web server nang sunud-sunod salamat sa aming simpleng tutorial.

Ngayon lahat tayo ay gumagamit ng mga malalayong serbisyo ng lahat ng uri, pati na rin ang lumalaking cloud computing, ngunit kung mayroong isang serbisyo na nakatayo sa itaas ng natitirang bahagi, marahil ito ang ibibigay nila mga web server, dahil maraming toneladang website na binibisita namin araw-araw upang basahin ang aming paboritong balita, suriin ang mga email mula sa mga interface ng web na nagbibigay ng ilang mga serbisyo tulad ng GMail, gumawa ng mga transaksyon, magtrabaho, bumili ng online, atbp. Walang nakatakas sa mga serbisyong ito, di ba? Gayunpaman, para sa marami sa mga gumagamit nito mananatili silang hindi alam kung ano ang nasa likod nila ...

Ano ang isang server?

Server sakahan

Iniisip ng ilang mga gumagamit na ang isang server ay isang bagay na espesyal, isang bagay na ibang-iba sa kung ano talaga ito. Ngunit sinabi sa simpleng wika, ang isang server ay hindi hihigit sa isang computer tulad ng maaari nating makuha sa aming bahay, tanging sa halip na kumilos bilang isang kliyente, ginagawa ito bilang isang server, iyon ay, nagbibigay ito ng isang serbisyo. Maaari mong isipin na, sa kasong iyon, kung bakit ang mga imaheng iyon na nakikita natin sa TV o sa iba pang media kapag lumabas ang mga server ay napakabihirang ...

Kaya, ang mga imaheng iyon tulad ng isa na isinama ko rito ay mga larawan ng mga bukid ng server. Ito ang pangalang ibinigay sa isang serye ng mga kumpol ng mga computer na nagtutulungan bilang isang solong server. Tandaan na ang mga serbisyong karaniwang inaalok ng mga server na ito ay inilaan para sa daan-daang, libo o milyon-milyong mga gumagamit na kumikilos bilang kliyente sa kanilang mga computer, smartphone, tablet, matalinong TV, atbp. Samakatuwid, ang mga capacities na dapat hawakan nila ay mas mataas kaysa sa isang computer sa bahay.

Kailangan mo lamang isipin ang tungkol sa mga serbisyo tulad ng Twitter, kung gaano karaming milyun-milyong mga gumagamit ang mayroon ng social network na ito, kung gaano karaming mga file at mensahe ang inililipat bawat segundo. Kung iisipin mo, a malaking halaga ng dataSamakatuwid, hindi ito wasto sa isang koneksyon tulad ng mayroon kami sa bahay at isang normal na computer. Napakabilis na koneksyon ay kinakailangan upang walang mga pagkaantala sa mga pag-access ng lahat ng mga gumagamit, at bigyan ito ng kinakailangang kakayahan upang ma-host nila ang lahat ng impormasyong iyon.

Sa pamamagitan nito ang ibig kong sabihin ay para iyon sa ang serbisyong ito dose-dosenang o daan-daang mga "computer" ang ginagamit kagaya ng mga magagamit natin sa bahay na nakalagay sa mga kabinet na may racks. Ngunit sa esensya, ang bawat isa sa kanila ay hindi malayo sa isang desktop computer tulad ng mayroon tayo sa aming tahanan. Marahil ang ilan ay may mga espesyal na microprocessor tulad ng AMD EPYC, Intel Xeon, atbp. Marahil mayroon din silang maraming mga hard drive na naka-configure bilang RAID upang maiwasan na kung may alinman sa kanila na nabigo, nawala ang impormasyon, ngunit tulad ng sinabi ko, panatilihin na sila ay mga computer kagaya ng pinamamahalaan mo ngayon, at sasabihin ko sa iyo ito dahil ngayon ipapaliwanag ko sa iyo kung paano gawing isang mahinhin na server ang iyong PC ...

Syempre mga ito maraming uri ang mga server, may mga nagbibigay ng mga serbisyong cloud, tulad ng pag-iimbak, may mga nagbibigay ng mga serbisyo sa email, mga web server, ilan din na simpleng mga serbisyo tulad ng DNS, NTP, DHCP, LDAP, atbp., ibig sabihin, lahat ng huli ay napaka kinakailangan at tiyak na gamitin ang mga ito araw-araw nang hindi man namamalayan, dahil ang mga ito ay mga serbisyo na ibinibigay sa amin ng ilang ISP (Internet Service Provider) o Internet service provider.

Ano ang isang web page?

Website sa iba't ibang mga aparato

Nauna naming nabanggit na ang ilang mga web server, nagbibigay sila ng pagho-host o pagho-host mga web page. Ang isang web page ay isang hanay ng impormasyong elektronik o digital (HTML, PHP, CSS, ...) na maaaring naglalaman lamang ng teksto, o iba pang nilalaman tulad ng mga web app na nakasulat sa ilang partikular na mga wika o script sa pagprograma (Perl, JavaScript, Ruby kasama ang Ang balangkas ng RoR o Ruby on Rails, PHP, atbp.), Nilalaman ng multimedia (mga imahe, video, tunog, atbp.), At mga link din na karaniwang nagdidirekta sa iyo sa ibang lugar sa parehong web page na ito o sa iba.

At para posible ito mayroon kaming mga web server na nagho-host sa kanila, iyon ay, iniimbak nito ang lahat ng data na ito sa hard drive nito, at isang serye rin ng mga network protokol tulad ng HTTP (HyperText Transfer Protocol) at HTTPS (HTTP na may seguridad ng SSL / TLS na sertipiko). Pangangalagaan ito ng isang software dahil magtuturo kami sa iyo sa paglaon, iyon ay, upang magpatupad ng isang koneksyon sa bidirectional para sa kliyente at maaari siyang mag-navigate sa pamamagitan ng nilalamang hypertext, iyon ay, ang mga paraan upang maibahagi, mai-link at makipag-ugnay sa inangkop na impormasyon sa WWW (World Wide Web).

Paano ito gumagana?

Koneksyon sa Client-Server

Sa gayon, alam na natin kung ano ang isang web at isang web server, ipinaliwanag sa aking sariling pamamaraan at may simpleng wika upang higit o mas kaunti ang maunawaan ito ng lahat, kahit na ang mga walang kaalaman tungkol sa teknolohiyang ito. At ngayon nagpatuloy ako sa seksyong ito kung saan susubukan kong linawin ang pagpapatakbo ng system ng client-server na ito. Ngunit para sa mga ito, una ay makikilala ko ang dalawa:

  • Kliente: ang client ay ang gumagamit na nag-a-access sa website mula sa kanilang aparato, maging ito ay isang laptop, desktop, tablet, smartphone, atbp. Para sa pag-access, kailangan mo lamang ng koneksyon sa Internet at isang web browser, isang napakahalagang software sa panig ng kliyente na namamahala sa pagpapakita ng lahat ng nilalaman ng web sa isang madaling gamitin na paraan at pinapayagan ang gumagamit na makipag-ugnay dito. At para dito kakailanganin lamang namin ang address ng web page o isang IP ..., kahit na naiisip mo na hindi ito palaging kinakailangan upang ma-access, dahil may mga search engine (hal: Google) na, sa pamamagitan ng mga keyword, pinapayagan ang sa amin upang ipakita ang mga website na ito na na-index, at tama ka.
  • Server: Tulad ng ipinaliwanag namin, maglalaman ito ng lahat ng data at isang software na kumikilos bilang isang server, iyon ay, pinapayagan ang kliyente na kumonekta upang gawin ang kailangan nilang gawin. Sa kaso ng isang web server ito ay, halimbawa, Apache, Lighttpd, atbp.

Gusto kong ituro ang iba pa, at ito ay tulad ng alam mo, ang IP address Ito ang tumutukoy sa isang makina na nakakonekta sa isang network, sa kasong ito ito ang magiging IP ng web server. Mayroong mga ilang mga serbisyong tulad nito ipapakita sa iyo ang IP ng iyong paboritong pahina, halimbawa, kung maghanap ka sa google.es ipapakita sa iyo ang IP na naaayon sa server kung saan naka-host ang serbisyong ito. Kung susubukan mong ipasok ang numerong ito sa address bar ng iyong web browser, makikita mo ang pareho sa pamamagitan ng paglalagay ng www.google.es at nasabing IP, sa parehong kaso ipapakita nito ang Google.

Bakit ko nasasabi to? Kaya dahil nakakatulong ito sa akin na mag-link Mga DNS server. Ang mga server na ito ay iba pang mga serbisyo na naglalaman ng mga talahanayan na may mga pangalan ng mga website at ang kanilang kaukulang IP, upang kapag may naghahanap ng isang address ayon sa pangalan at hindi gumagamit ng IP, ipinapakita ng server sa browser ang nilalaman ng nasabing website. Ginagawa ito upang gawing mas madaling maunawaan para sa mga tao. Hindi natin madaling maalala ang lahat ng mga numerong iyon, ngunit maaari nating matandaan ang mga pangalan ng aming paboritong website, tama ba?

At nagtatapos ako sa pamamagitan ng pagtukoy kung ano ang URL (Unipormasyong Tagahanap ng Mapagkukunan) o unipormeng tagahanap ng mapagkukunan, na nakikita namin sa tuktok ng bar ng aming browser kapag na-access namin ang isang website. Halimbawa, isipin na nagparehistro ka sa domain myweb.es. Sa kasong ito, magiging iyo ang domain na iyon at magagamit mo ito upang maipakita ang iyong web page. Isipin na may nag-access sa address na http://www.miweb.es/info/inicio.html#web:

  • http://: Isinasaad na nag-a-access kami gamit ang HTTP protocol, kahit na maaaring ito rin ay HTTPS, FTP, atbp. Ngunit sa kasong ito ito ang una, samakatuwid ito ay isang nilalaman sa web.
  • Www: alam mo galing ito sa World Wide Web.
  • myweb.es: ito ang domain na iyong nairehistro, iyon ay, ang pangalan na pumapalit sa IP ng server o host na naglalaman ng iyong website. Samakatuwid, ito ay magiging isang pangalan na kumikilala sa isang server o machine, pagkatapos ng lahat ... Bilang karagdagan, naglalaman ito ng isang TLD (Top Level Domain) na sa kasong ito ay .es, upang makilala na ito ay isang website mula sa Espanya, bagaman maaaring ito ay .se mula sa Sweden, .com mula sa kumpanya, .org Organization, atbp.
  • /info/home.html#web: tinutukoy lamang nito na na-access ang nilalamang ito, iyon ay, isang direktoryo ng impormasyon at sa loob nito ay isang home.html file na may hypertext at partikular na ang seksyon web. Maaari rin itong isang imahe, PDF, video, atbp. Tulad ng nangyayari sa iyong file manager kapag pumunta ka sa isang landas sa iyong lokal na hard drive, tama ba?

Sa tingin ko na sa ito mayroong sapat malinaw na operasyon ipinaliwanag sa isang simpleng paraan.

Tutorial: bumuo ng iyong sariling web server nang sunud-sunod

Web ng pagsubok sa Apache

Kung mayroon kang isang Pamamahagi ng GNU / Linux anumangDapat mong malaman na sa sandaling na-configure mo nang maayos ang iyong network, dahil hindi ka maaaring magkaroon ng isang dynamic na IP, dapat itong static o kung hindi man ay mababago nito ang halaga at magiging mas mahirap i-access ang web. Bilang karagdagan, dapat mo ring bigyang-pansin kung mayroon kang isang firewall na naka-configure sa mga iptable o iba pang software na walang panuntunan na nagbabawal sa mga paglipat sa pamamagitan ng port 80 o 8080, atbp., Na parang mayroon kang AppArmor o SELinux, dapat na pinapayagan nila ang gumagamit na kumilos. web server daemon, sa kasong ito Apache.

Ang susunod na hakbang ay i-install ang software upang maipatupad ang aming web server, sa kasong ito Apache at iba pang mga karagdagang pakete upang makumpleto ang LAMP, ngunit maaaring ito ay isa pa. Sa aking kaso, mula kay Debian:

sudo apt-get update

sudo apt-get install apache2
sudo service apache2 restart
sudo apt-get install mysql-server php5-mysql
mysql -u root
mysql -u root -p (sin no introdujiste el password durante la instalación)
sudo apt-get install php libapache2-mod-php5 php5-mycrypt
sudo apt-get install php5-sqlite

Pagkatapos ay maaari mo i-configure ang ilang mga parameter mula sa server kung kailangan mo ito, o marahil kung hindi ito gumana at makuha mo ang pahina na ipinakita ko sa iyo sa nakaraang imahe, tingnan ang mga tala dahil may isang bagay na naging mali ... Sa pamamagitan ng paraan, maaari mong makita ang pahinang iyon sa pamamagitan ng pag-access sa iyong web browser at pagtatakda ng localhost 127.0.0.1 .2 sa address bar o ang static IP na na-configure mo para sa iyong server. Ang mga default na port ay nasa /etc/apacheXNUMX/ports.conf kung sakaling nais mong baguhin ang mga ito.

Kung nais mo maaari mo ring i-install ang iba pa mga karagdagang pakete, kung plano mo ring magkaroon ng isang mail server, o ilang mga configure panel tulad ng phpAdmin, atbp.

I-host ang iyong website sa server

Pagtatayo ng website

Kapag handa na ang aming server, tandaan na ang PC na iyong naukol sa server ay dapat palaging nasa at konektado sa network upang ma-access ang web mula sa anumang iba pang aparato, kung hindi man ang server ay "pababa". Ngayon meron lang tayo host sa aming website, na maaaring nilikha namin ito mismo gamit ang HTML o iba pang code, o kahit na magamit ang isang CMS tulad ng WordPress na ginagawang mas madali para sa amin ang mga bagay at maaari kaming mag-host sa parehong lugar ...

At para dito gagawin natin ito sa ang / var / www / html / direktoryo na maliban kung binago namin ang pagsasaayos ng Apache, nandiyan ito kung saan naka-host ang mga web. Halimbawa, maaari kang gumawa ng isang maliit na pagsubok gamit ang PHP sa pamamagitan ng paglikha ng isang file kasama ang iyong paboritong text editor na may nilalaman:

<?php phpinfo() ?>

Tawagin mo pagsubok.php at ngayon, pagkatapos i-restart ang apache2 daemon, magagawa mong makita kung ma-access ito mula sa browser: 127.0.0.1/test.php.

Inaasahan ko na ang tutorial na ito ay nakatulong sa iyo at kahit papaano ay mas naiintindihan mo kung paano gumana ang mga server, upang sa tuwing maa-access mo ang aming blog upang mabasa ang isang item ng balita, alam mo ang lahat sa likod nito. Huwag kalimutan na iwanan ang iyong komento, pagdududa, o mungkahi, ...