Een webserver opzetten en een web hosten op GNU / Linux

Web url

Als je je ooit hebt afgevraagd hoe sommige hosting diensten die op het netwerk bestaan, kunnen een webpagina hosten of wat een webserver is en hoe het werkt, inclusief wat zijn de balken die verschijnen in de URL van sommige webpagina's, hoe een cliënt op afstand verbinding kan maken met een webpagina, enz., in Dit artikel gaat het je duidelijk maken. Ik zal je niet alleen de concepten leren van wat een server is, je zult ook stap voor stap weten hoe je je eigen webserver kunt maken dankzij onze eenvoudige tutorial.

Tegenwoordig maken we allemaal gebruik van allerlei soorten externe diensten, ook van de bloeiende cloud computing, maar als er een dienst is die boven de rest uitsteekt, is dat misschien de dienst die ze aanbieden webservers, aangezien er talloze websites zijn die we dagelijks bezoeken om ons favoriete nieuws te lezen, e-mails te checken van webinterfaces die bepaalde diensten bieden, zoals GMail, transacties uitvoeren, werken, online aankopen doen, enz. Niemand ontsnapt toch aan deze diensten? Voor veel van zijn gebruikers weten ze echter nog steeds niet wat er achter hen ligt ...

Wat is een server?

Server-farm

Sommige gebruikers denken dat een server is iets speciaals, iets heel anders dan het werkelijk is. Maar in eenvoudige bewoordingen gezegd: een server is niets meer dan een computer zoals die we in huis kunnen hebben, alleen dat hij in plaats van als cliënt op te treden, het als server doet, dat wil zeggen dat hij een dienst levert. U denkt misschien dat, in dat geval, de afbeeldingen die we op tv of in andere media zien wanneer servers verschijnen zo zeldzaam zijn ...

Welnu, die afbeeldingen zoals degene die ik hier heb opgenomen, zijn afbeeldingen van server farms. Dit is de naam die wordt gegeven aan een reeks clusters van computers die samenwerken als een enkele server. Houd er rekening mee dat de services die deze servers doorgaans bieden, bedoeld zijn voor honderden, duizenden of miljoenen gebruikers die als client optreden op hun computers, smartphones, tablets, smart-tv's, enz. Daarom zijn de capaciteiten die ze moeten verwerken veel hoger dan die van een homecomputer.

Je hoeft alleen maar te denken aan diensten zoals Twitter, hoeveel miljoenen gebruikers dit sociale netwerk heeft, hoeveel bestanden en berichten er elke seconde worden overgedragen. Als je erover nadenkt, is het een grote hoeveelheid gegevensDaarom is het niet geldig met een verbinding zoals die we thuis hebben en een normale computer. Er zijn zeer snelle verbindingen nodig zodat er geen vertragingen zijn in de toegang van al die gebruikers, en geef het de nodige capaciteit zodat ze al die informatie kunnen hosten.

Daarmee bedoel ik dat voor deze dienst er worden tientallen of honderden "computers" gebruikt zoals degene die we thuis kunnen gebruiken die in kasten met rekken zijn ondergebracht. Maar in wezen is elk van hen niet ver verwijderd van een desktopcomputer zoals die we bij ons thuis hebben. Sommige hebben misschien speciale microprocessors zoals AMD EPYC, Intel Xeon, enz., Misschien hebben ze ook verschillende harde schijven geconfigureerd als RAID om te voorkomen dat als een van hen faalt, de informatie verloren gaat, maar zoals ik al zei, houd dat het computers zijn zoals de die je nu beheert, en ik vertel je dit omdat ik nu zal uitleggen hoe je van je pc een bescheiden server kunt maken ...

Natuurlijk deze servers zijn van vele soorten, er zijn er die cloudservices bieden, zoals opslag, er zijn er die e-maildiensten leveren, webservers, ook enkele die simpelweg services bieden zoals DNS, NTP, DHCP, LDAP, enz., dat wil zeggen, deze laatste zijn allemaal erg noodzakelijk en zeker u gebruikt ze dagelijks zonder het zelfs maar te beseffen, aangezien het diensten zijn die een ISP (Internet Service Provider) of internetprovider ons biedt.

Wat is een webpagina?

Website op verschillende apparaten

We hebben eerder vermeld dat sommige webservers, ze hosting of hosting bieden webpagina's. Een webpagina is een verzameling elektronische of digitale informatie (HTML, PHP, CSS, ...) die alleen tekst kan bevatten, of ook andere inhoud, zoals webapps geschreven in bepaalde programmeertalen of scripts (Perl, JavaScript , Ruby met het RoR- of Ruby on Rails-framework, PHP, enz.), Multimedia-inhoud (afbeeldingen, video's, geluiden, enz.), En ook links die u gewoonlijk naar een andere plaats op dezelfde webpagina of naar een andere leiden .

En om dit mogelijk te maken, hebben we de webservers die ze hosten, dat wil zeggen, het slaat al deze gegevens op zijn harde schijf op, en ook een reeks netwerkprotocollen zoals HTTP (HyperText Transfer Protocol) en HTTPS (HTTP met SSL / TLS-certificaatbeveiliging). Een software zorgt hiervoor, zoals we u later zullen leren, dat wil zeggen om een ​​bidirectionele verbinding voor de klant te implementeren en dat hij door de hypertext-inhoud kan navigeren, dat wil zeggen, de middelen om te delen, te linken en te communiceren met de informatie aangepast aan het WWW (World Wide Web).

Hoe werkt het?

Client-server-verbinding

Nou, we weten al wat een web en een webserver is, uitgelegd op mijn eigen manier en in eenvoudige taal, zodat min of meer iedereen het kan begrijpen, zelfs degenen die geen kennis hebben van deze technologie. En nu ga ik verder met dit gedeelte waarin ik zal proberen het duidelijk te maken werking van dit client-serversysteem. Maar hiervoor zal ik eerst een onderscheid maken tussen de twee:

  • Klant: de klant is de gebruiker die toegang heeft tot de website vanaf zijn apparaat, of het nu een laptop, desktop, tablet, smartphone, enz. is. Voor toegang heeft u alleen een internetverbinding en een webbrowser nodig, een zeer belangrijke software aan de clientzijde die ervoor zorgt dat al die webinhoud op een gebruiksvriendelijke manier wordt weergegeven en waarmee de gebruiker ermee kan communiceren. En hiervoor hebben we alleen het adres van de webpagina of een IP-adres nodig ..., hoewel u misschien denkt dat dit niet altijd nodig is om toegang te krijgen, aangezien er zoekmachines zijn (bijvoorbeeld: Google) die via trefwoorden ons om deze websites te laten zien die zijn geïndexeerd, en je hebt gelijk.
  • Server: Zoals we hebben uitgelegd, bevat het alle gegevens en software die als server fungeert, dat wil zeggen dat de client verbinding kan maken om te doen wat ze moeten doen. In het geval van een webserver is dit bijvoorbeeld Apache, Lighttpd, etc.

Ik zou graag op iets anders willen wijzen, en het is dat, zoals u wel weet, het IP-adres Het is degene die een machine identificeert die is verbonden met een netwerk, in dit geval is dit het IP-adres van de webserver. Er zijn een paar diensten zoals deze die u het IP-adres van uw favoriete pagina tonen, als u bijvoorbeeld op google.es zoekt, wordt het IP-adres weergegeven dat overeenkomt met de server waarop deze service wordt gehost. Als u dit nummer in de adresbalk van uw webbrowser probeert in te voeren, zult u dat zien door zowel www.google.es als het genoemde IP-adres in te voeren, in beide gevallen wordt Google weergegeven.

Waarom zeg ik dit? Nou, omdat het me helpt om verbinding te maken met DNS-servers. Deze servers zijn andere services die tabellen bevatten met de namen van de websites en hun bijbehorende IP, zodat wanneer iemand naar een adres zoekt op naam en niet het IP gebruikt, de server de browser de inhoud van die website laat tonen. Dit wordt gedaan om het voor mensen intuïtiever te maken. We kunnen al die cijfers niet gemakkelijk onthouden, maar we kunnen de namen van onze favoriete website wel onthouden, toch?

En ik eindig door te specificeren wat de URL (Uniform Resource Locator) of uniforme resource locator, die we bovenaan de balk van onze browser zien wanneer we een website bezoeken. Stel u bijvoorbeeld voor dat u het domein myweb.es registreert. In dat geval is dat domein van u en kunt u het gebruiken om uw webpagina weer te geven. Stel je voor dat iemand het adres http://www.miweb.es/info/inicio.html#web opent:

  • http://: Geeft aan dat we toegang hebben via het HTTP-protocol, hoewel het ook HTTPS, FTP, enz. Kan zijn. Maar in dit geval is het de eerste, daarom is het een webcontent.
  • WWW: je weet dat het van het World Wide Web komt.
  • miweb.es: dit is het domein dat u heeft geregistreerd, dat wil zeggen de naam die het IP-adres van de server of host vervangt die uw website bevat. Daarom zal het tenslotte een naam zijn die een server of machine identificeert ... Bovendien bevat het een TLD (Top Level Domain), in dit geval .es, om te identificeren dat het een website uit Spanje is, hoewel het kan .se uit Zweden zijn, .com van bedrijf, .org Organization, etc.
  • /info/inicio.html#web: dit definieert eenvoudigweg dat deze inhoud is geopend, dat wil zeggen een infomap en daarin is een home.html-bestand met de hypertext en specifiek de sectie web. Het kan ook een afbeelding, pdf, video, etc. zijn. Zoals het gebeurt in uw bestandsbeheerder wanneer u naar een pad op uw lokale harde schijf gaat, toch?

Ik denk dat er hiermee genoeg is duidelijke operatie uitgelegd op een eenvoudige manier.

Tutorial: bouw stap voor stap uw eigen webserver

Apache-testweb

Als u een GNU / Linux-distributie elkU moet weten dat als u eenmaal uw netwerk correct heeft geconfigureerd, aangezien u geen dynamisch IP-adres kunt hebben, het statisch moet zijn, anders verandert het de waarde en wordt het moeilijker om toegang te krijgen tot internet. Bovendien moet je er ook op letten dat als je een firewall hebt geconfigureerd met iptables of andere software dat er geen regel is die overdrachten via poort 80 of 8080, enz. Beperkt, alsof je AppArmor of SELinux hebt, ze de gebruiker zouden moeten toestaan ​​om te handelen. webserverdaemon, in dit geval Apache.

De volgende stap is het installeren van de software om in dit geval onze webserver te implementeren Apache en andere aanvullende pakketten om de LAMP te voltooien, maar het had een andere kunnen zijn. In mijn geval, van 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

Dan zou je kunnen configureer enkele parameters van de server als je het nodig hebt, of misschien als het niet werkt en je de pagina krijgt die ik je in de vorige afbeelding laat zien, kijk dan naar de logboeken omdat er iets mis is gegaan ... Trouwens, je kunt die pagina zien door naar je webbrowser te gaan en de localhost 127.0.0.1 in te stellen .2 in de adresbalk of het statische IP-adres dat u voor uw server heeft geconfigureerd. De standaardpoorten bevinden zich in /etc/apacheXNUMX/ports.conf voor het geval je ze wilt wijzigen.

Als je wilt kun je ook andere installeren extra pakketten, als u ook van plan bent om een ​​mailserver te hebben, of configuratieschermen zoals phpAdmin, enz.

Host uw website op de server

Website constructie

Zodra we onze server gereed hebben, onthoud dan dat de pc die u aan de server heeft toegewezen altijd aan moet staan ​​en verbonden moet zijn met het netwerk, zodat het web toegankelijk is vanaf elk ander apparaat, anders zal de server "down" zijn. Nu hebben we alleen host onze website, dat we het zelf kunnen hebben gemaakt met HTML of andere code, of zelfs gebruik kunnen maken van een CMS zoals WordPress dat het ons veel gemakkelijker maakt en dat we op dezelfde plek konden hosten ...

En hiervoor zullen we het doen de / var / www / html / directory dat tenzij we de Apache-configuratie hebben gewijzigd, het daar zal zijn waar de websites worden gehost. U kunt bijvoorbeeld een kleine test doen met PHP door een bestand te maken met uw favoriete teksteditor met de inhoud:

<?php phpinfo() ?>

Noem het test.php en nu, na het herstarten van de apache2-daemon, kun je zien of deze toegankelijk is via de browser: 127.0.0.1/test.php.

Ik hoop dat deze tutorial je heeft geholpen en dat je in ieder geval een beetje beter begrijpt hoe servers werken, zodat je nu elke keer dat je onze blog bezoekt om een ​​nieuwsbericht te lezen, alles erachter weet. Vergeet niet uw opmerkingen, twijfels of suggesties, ...


De inhoud van het artikel voldoet aan onze principes van redactionele ethiek. Klik op om een ​​fout te melden hier.

8 reacties, laat de jouwe achter

Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.

  1.   Pedro zei

    Hoi. Vind je het niet logisch om PHP 5 in 2018 te gebruiken?

  2.   Noe Taipe zei

    Hey.
    Ik ben een beginner als het om servers gaat.
    Welke ip moet de router hebben?
    Welke ip moet de pc hebben die als server werkt
    Apache welke ip moet het hebben?
    Zijn openbare vaste IP?

  3.   jucapopo zei

    Helemaal mee eens Noe Taipe
    Ik heb een aantal weken gezocht naar informatie om een ​​Linux-webserver op te zetten en in alle forums zetten ze «trucs» die alleen werken in een intern of lokaal netwerk en ik veronderstel dat je doel is om een ​​webserver op te zetten en dat iemand je op elk moment kan zien op een andere computer buiten je netwerk in een andere stad, land, ...
    Ik ben erin geslaagd om een ​​webserver het in het externe netwerk te laten zien, dat al was het maar door mijn openbare IP te plaatsen en de poort in mijn modemrouter te openen, ik Bind9 installeerde, om het domein te kunnen wijzen dat in mijn interne netwerk is uitgevonden en dat werkt correct in mijn netwerk, maar ik kan geen informatie vinden over hoe hetzelfde te doen via internet en dat mensen niet mijn IP maar het uitgevonden domein plaatsen zoals zij dat doen, google, het land, de wereld, de Engelse rechtbank, ... .
    Groeten en ik hoop dat je er informatie over vindt.

  4.   Logiteckno1 zei

    Ik probeer ook te leren hoe ik een server moet mounten, maar wat me interesseert is hoe ik een server moet mounten voor productie en ik kan nog steeds geen goede informatie vinden.
    Als je het probleem nog niet hebt opgelost, raad ik je aan om een ​​account aan te maken op noip.com. U maakt een gratis domein aan, plaatst het publieke ip-adres en configureert de DDNS op uw modem. Ik laat een link voor je achter: https://www.youtube.com/watch?v=6ijBQhn06CA
    Groeten.

  5.   GustavoIP zei

    Bedankt voor de bijdrage, ik heb zojuist een LEMP-server geïnstalleerd en dankzij je blog heb ik al een idee hoe ik mijn WEB-pagina's moet implementeren, leer nu een beetje PHP of HTML, wat voor mij en verder het gemakkelijkst is.
    Groeten.

  6.   Fabian Ariel Wolf zei

    Stel je voor dat je, gezien je openingswoorden, een stapsgewijze zelfstudie zou doen voor onervaren mensen zoals ik ... Ik had het mis.

  7.   Diego Ramos zei

    Het heeft me genoeg gediend, heel erg bedankt.

  8.   Miguel Angel Silva zei

    Goed slecht deze tutorial ...