• Digitaaliset tarvikkeet
  • Palvelin
  • Digitaalinen elämä
  • Tietosuojakäytäntö
  • Ota meihin yhteyttä
  1. Home
  2. Article
  3. Ubuntu 20.04 -verkkopalvelimen määrittäminen – Answertopia

Ubuntu 20.04 -verkkopalvelimen määrittäminen – Answertopia

Rsdaa 23/12/2021 1061

Ubuntu-käyttöjärjestelmän monien pakettien joukossa on Apache-verkkopalvelin. Itse asiassa Ubuntun skaalautuvuus ja joustavuus tekevät siitä ihanteellisen alustan jopa eniten liikennöityjen web-sivustojen isännöimiseen.

Tässä luvussa selitämme, kuinka Ubuntu-järjestelmä määritetään toimimaan verkkopalvelimena Apachea käyttäen, mukaan lukien sekä suojatut (HTTPS) että suojaamattomat (HTTP) kokoonpanot.

1.1Ubuntu-verkkopalvelimen määrittämisen vaatimukset

Oman Web-sivuston luomiseen tarvitset tietokoneen (tai pilvipalvelininstanssin), käyttöjärjestelmän, verkkopalvelimen, verkkotunnuksen, nimen palvelin ja IP-osoite.

Käyttöjärjestelmän osalta oletamme tietysti, että käytät Ubuntua. Kuten aiemmin mainittiin, Ubuntu tukee Apache-verkkopalvelinta, joka voidaan helposti asentaa, kun käyttöjärjestelmä on valmis. Verkkotunnus voidaan rekisteröidä mihin tahansa verkkotunnusten rekisteröintipalveluun.

Jos käytät Ubuntua pilvi-instanssissa, palveluntarjoajan antama IP-osoite näkyy palvelimen yleiskatsauksessa. Jos isännöit omaa palvelintasi ja Internet-palveluntarjoajasi (ISP) on määrittänyt staattisen IP-osoitteen, sinun on liitettävä verkkotunnuksesi tähän osoitteeseen. Tämä saavutetaan nimipalvelimen avulla ja kaikki verkkotunnuksen rekisteröintipalvelut tarjoavat tämän palvelun puolestasi.

Jos sinulla ei ole staattista IP-osoitetta (eli Internet-palveluntarjoajasi tarjoaa sinulle dynaamisen osoitteen, joka vaihtuu usein), voit käyttää yhtä useista ilmaisista dynaamisista DNS-palveluista (lyhyesti DDNS tai DynDNS), jotka kartoittavat dynaamisen IP-osoite verkkotunnukseesi.

Kun olet määrittänyt verkkotunnuksesi ja nimipalvelimesi, seuraava vaihe on asentaa ja määrittää verkkopalvelimesi.

1.2Apache-verkkopalvelinpakettien asentaminen

Ubuntun nykyinen versio ei yleensä asenna oletusarvoisesti Apache-verkkopalvelinta. Voit tarkistaa, onko palvelin jo asennettu, suorittamalla seuraava komento:

Jos apt tuottaa seuraavanlaista tulosta, apache-palvelin on jo asennettu:

apache2/bionic-updates,bionic-security,nyt 2.4.29-1ubuntu4.13 amd64 [asennettu]

Jos apt-tuloste ei lue pakettia tai sisällä [asennettu]-tilaa, suorita Apache-asennus suorittamalla komentokehotteessa seuraava komento:

1.3Palomuurin määrittäminen

Ennen Apache-verkkopalvelimen käynnistämistä ja testaamista palomuuria on muutettava, jotta verkkopalvelin voi kommunikoida ulkomaailman kanssa. Oletusarvoisesti HTTP- ja HTTPS-protokollat ​​käyttävät portteja 80 ja 443, joten riippuen siitä, mitä protokollia käytetään, jompikumpi tai molemmat näistä porteista on avattava. Jos Ubuntu-järjestelmääsi suojaa mutkaton palomuuri, seuraavalla komennolla voidaan ottaa käyttöön vain suojaamaton verkkoliikenne (HTTP):

Vain suojatun (HTTPS) liikenteen käyttöönotto:

# ufw salli 'Apache Secure'

Vaihtoehtoisesti voit ottaa sekä suojatun että suojaamattoman verkkoliikenteen käyttöön seuraavasti:

# ufw salli 'Apache Full'

Jos käytät palomuuria, HTTP- ja HTTPS-porttien avaamiseen voidaan käyttää seuraavia komentoja. Kun avaat portteja, muista määrittää palomuurivyöhyke, joka koskee Internetiin päin olevaa verkkoyhteyttä:

# firewall-cmd --permanent --zone= --add-port=80/tcp# firewall-cmd --permanent --zone= --add-port=443/tcp

Kun olet avannut tarvittavat portit, muista ladata palomuuriasetukset uudelleen:

Pilvipalveluissa voi myös olla tarpeen ottaa käyttöön sopiva portti palvelinesiintymää varten pilvikonsolissa. Katso pilvipalveluntarjoajan dokumentaatiosta ohjeet tämän tekemiseen.

1.4-portin edelleenlähetys

Jos verkkopalvelinta isännöivä Ubuntu-järjestelmä on palomuurilla suojatussa verkossa (joko toisessa palomuuria käyttävässä tietokoneessa tai reitittimessä tai langattomassa tukiasemassa, jossa on sisäänrakennettu palomuurisuojaus ) sinun on määritettävä palomuuri välittämään portti 80 ja/tai portti 443 verkkopalvelinjärjestelmääsi. Tämän suorittamismekanismi vaihtelee palomuurien ja laitteiden välillä, joten tarkista dokumentaatiosta, kuinka portin edelleenohjaus määritetään.

1.5Apache-verkkopalvelimen käynnistäminen

Kun Apache-palvelin on asennettu ja palomuuri määritetty, seuraava vaihe on varmistaa, että palvelin on käynnissä, ja käynnistää se tarvittaessa.

Jos haluat tarkistaa Apache-palvelun tilan komentoriviltä, ​​kirjoita komentokehotteeseen seuraava:

# systemctl status apache2

Jos yllä oleva komento osoittaa, että httpd-palvelu ei ole käynnissä, se voidaan käynnistää komentoriviltä seuraavasti:

# systemctl start apache2

Jos haluat Apache httpd -palvelun käynnistyvän automaattisesti järjestelmän käynnistyessä, suorita seuraava komento:

# systemctl enable apache2

1.6Web-palvelimen testaus

Kun asennus on valmis, seuraava vaihe on varmistaa, että verkkopalvelin on toiminnassa.

Jos sinulla on pääsy (joko paikallisesti tai etänä) palvelimen työpöytäympäristöön, käynnistä verkkoselain ja kirjoita osoitepalkkiin http://127.0.0.1 (127.0.0.1 on silmukkaverkko osoite, joka käskee järjestelmän muodostamaan yhteyden paikalliseen koneeseen). Jos kaikki on asetettu oikein, selaimen pitäisi ladata kuvassa 32-1 näkyvä sivu:

Kuva 32-1

Jos työpöytäympäristö ei ole käytettävissä, muodosta yhteys joko toisesta järjestelmästä, joka on samassa paikallisessa verkossa kuin palvelin, tai käyttämällä järjestelmälle määritettyä ulkoista IP-osoitetta, jos sitä isännöidään etänä.

1.7Apache-verkkopalvelimen määrittäminen verkkotunnuksellesi

Seuraava vaihe verkkopalvelimen määrittämisessä on määrittää se verkkotunnuksellesi. Verkkopalvelimen asetukset aloita muuttamalla hakemistoon /etc/apache2, joka puolestaan ​​sisältää useita tiedostoja ja alihakemistoja. Pääasetustiedosto on nimeltään apache2.conf, ja se toimii keskeisenä pisteenä alihakemistoissa olevien modulaaristen asetustiedostojen järjestämisessä. Esimerkiksi apache2.conf-tiedosto sisältää rivin, jolla tuodaan sivustoja tukevassa kansiossa olevissa tiedostoissa ilmoitetut kokoonpanoasetukset:

# Sisällytä virtuaalisen isännän määritykset:IncludeOptional sites-enabled/*.conf

Samalla tavoin apache2.conf-tiedosto tuo ports.conf-tiedoston, joka määrittää portit, joissa Apache-palvelin kuuntelee verkkoliikennettä.

Jos haluat määrittää verkkosivuston toimialueen Ubuntussa, aloita vaihtamalla hakemisto hakemistoon /etc/apache2. Tästä hakemistosta löydät kaksi alihakemistoa, sites-available ja sites-enabled. Muuta hakemisto sivustoiksi saatavilla. Tästä hakemistosta löydät oletustiedoston, jota voidaan käyttää oman sivustosi mallina.

Kopioi oletustiedosto uuteen tiedostoon, jonka nimi vastaa verkkotunnuksesi nimeä. Esimerkiksi:

# cp 000-default.conf myexample.conf

Muokkaa myexample.com-tiedostoa suosikkieditorillasi, jossa se näkyy seuraavasti:

# ServerName-direktiivi asettaa pyyntömallin, isäntänimen ja portin, joita# palvelin käyttää tunnistaessaan itsensä. Tätä käytetään luotaessa # uudelleenohjaus-URL-osoitetta. Virtuaalisten isäntien yhteydessä PalvelimenNimi# määrittää, minkä isäntänimen tulee näkyä pyynnön Host:-otsikossa # vastaamaan tätä virtuaalista isäntää. Oletusvirtuaaliisännälle (tälle tiedostolle) tämä#-arvo ei ole ratkaiseva, koska sitä käytetään viimeisenä isäntänä siitä huolimatta.# Sinun on kuitenkin asetettava se kaikille muille virtuaalisille isäntäkoneille erikseen.#PalvelimenNimi www.esimerkki.fiPalvelimenhallinta [sähköposti suojattu ]DocumentRoot /var/www/html# Käytettävissä olevat lokitasot: trace8, ..., trace1, debug, info, notice, warn,# error, crit, alert, emerg.# On myös mahdollista määrittää lokitaso tietyille# moduuleille , esim.#LogLevel info ssl:warnErrorLog ${APACHE_LOG_DIR}/error.logCustomLog ${APACHE_LOG_DIR}/access.log combined# Useimmille conf-available/-määritystiedostoille, jotka ovat# käytössä tai pois käytöstä maailmanlaajuisesti to# sisältää rivin vain yhdelle tietylle virtuaaliselle isännälle. Esimerkiksi seuraava # rivi sallii CGI-määritykset tälle isännälle vain# sen jälkeen, kun se on globaalisti poistettu käytöstä komennolla "a2disconf".#Include conf-available/serve-cgi-bin.conf

ServerAdmin-direktiivi määrittää järjestelmänvalvojan sähköpostiosoitteen ihmisille, jotka haluavat ottaa yhteyttä sivustosi verkkovastaavaan. Muuta tämä sopivaksi sähköpostiosoitteeksi, josta sinuun voidaan ottaa yhteyttä:

Seuraavaksi ServerName-komentoa ei saa kommentoida (toisin sanoen poistaa #-merkin etuliite) ja määrittää, jotta verkkopalvelin tietää, mihin virtuaaliseen isäntään tämä asetustiedosto viittaa:

Seuraavassa vaiheessa meidän on määritettävä, missä Web-sivuston tiedostot sijoitetaan DocumentRoot-direktiivin avulla. Perinne on käyttää /var/www/domain-name:

DocumentRoot /var/www/myexample.com

Kun muutokset on tehty, meidän on nyt otettava sivusto käyttöön seuraavasti:

# a2ensite myexample.conf

Tämä komento luo symbolisen linkin sites-available-hakemistossa olevasta myexample.conf-tiedostosta sites-enabled-kansioon.

Kun sivusto on käytössä, poista oletustestisivusto käytöstä suorittamalla seuraava komento:

# a2dissite 000-default.conf

Luo seuraavaksi /var/www/myexample.com-hakemisto ja sijoita siihen index.html-tiedosto. Esimerkiksi:

EsimerkkiverkkosivuTervetuloa MyExample.comiin

Kun nämä muutokset on tehty, suorita apache2ctl-komento tarkistaaksesi määritystiedostot virheiden varalta:

# apache2ctl configtestSyntaksi OK

Jos virheitä ei raportoida, lataa Apache-verkkopalvelin uudelleen varmistaaksesi, että se tunnistaa uudet asetukset:

# systemctl reload apache2

Tarkista lopuksi, että palvelimen asetukset toimivat avaamalla selainikkuna ja siirtymällä sivustolle käyttämällä verkkotunnusta IP-osoitteen sijaan. Ladattavan verkkosivun tulee olla se, joka on määritetty yllä luodussa index.html-tiedostossa.

1.8Suojatun Web-sivuston perusteet

Tässä luvussa tähän mennessä luodut verkkopalvelimet ja web-sivustot käyttävät HTTP-protokollaa portissa 80, joten niitä pidetään turvattomina. Ongelmana on, että verkkopalvelimen ja asiakkaan (yleensä käyttäjän verkkoselaimen) välinen liikenne välittyy selkeänä tekstinä. Toisin sanoen tiedot ovat salaamattomia ja alttiin siepata. Vaikka se ei ole ongelma yleisessä web-selailussa, se on vakava heikkous suoritettaessa tehtäviä, kuten kirjautumista Web-sivustoihin tai siirrettäessä arkaluonteisia tietoja, kuten henkilöllisyys- tai luottokorttitietoja.

Nykyään Web-sivustojen odotetaan käyttävän HTTPS:ää, joka käyttää joko Secure Socket Layer (SSL) tai Transport Layer Security (TLS) suojattua, salattua viestintää verkkopalvelimen ja asiakkaan välillä. Tämä suojaus varmistetaan käyttämällä julkista, yksityistä ja istuntojen salausta yhdessä varmenteiden kanssa.

HTTPS-tuki edellyttää, että verkkosivustolla on varmenne, jonka on myöntänyt luotettava viranomainen, joka tunnetaan nimellä Certificate Authority (CA). Kun selain muodostaa yhteyden suojattuun Web-sivustoon, verkkopalvelin lähettää takaisin kopion verkkosivuston SSL-sertifikaatista, joka sisältää myös kopion sivuston julkisesta avaimesta. Sen jälkeen selain vahvistaa varmenteen aitouden luotetuilta varmentajilta.

Jos varmenne todetaan kelvolliseksi, selain käyttää palvelimen lähettämää julkista avainta istuntoavaimen salaamiseen ja välittää sen palvelimelle. Palvelin purkaa istuntoavaimen salauksen yksityisellä avaimella ja lähettää sen avulla salatun kuittauksen selaimelle. Kun tämä prosessi on valmis, selain ja palvelin käyttävät istuntoavainta salatakseen kaikki myöhemmät tiedonsiirrot istunnon päättymiseen saakka.

1.9Apachen määrittäminen HTTPS:lle

Oletusarvoisesti Apache-palvelin ei sisällä tarvittavaa moduulia suojatun HTTPS-verkkosivuston toteuttamiseen. Ensimmäinen askel on siksi ottaa Apache mod_ssl -moduuli käyttöön palvelinjärjestelmässä seuraavasti:

Käynnistä httpd uudelleen asennuksen jälkeen ladataksesi uuden moduulin Apache-palvelimeen:

# systemctl käynnistä apache2 uudelleen

Tarkista seuraavalla komennolla, että moduuli on ladattu palvelimeen:

Kun ssl-moduuli on asennettu, toista tämän luvun edellisen osan vaiheet luodaksesi määritystiedoston verkkosivustolle, tällä kertaa käyttämällä sivuston määritysten mallina tiedostoa sites-available/default-ssl.conf. tiedosto.

Jos moduuli on asennettu, seuraava vaihe on luoda SSL-varmenne verkkosivustolle.

1.10 SSL-varmenteen hankkiminen

Verkkosivuston varmenne on hankittava varmenteen myöntäjältä. Saatavilla on useita vaihtoehtoja eri hintaluokissa. Ylivoimaisesti paras vaihtoehto on kuitenkin hankkia ilmainen varmenne Let’s Encryptiltä seuraavasta URL-osoitteesta:

https://letsencrypt.org/

Let’s Encryptin varmenteen saaminen edellyttää vain Certbot-työkalun asentamista ja käyttämistä. Tämä työkalu skannaa palvelimella olevat Apache-määritystiedostot ja tarjoaa mahdollisuuden luoda varmenteita kaikille järjestelmään määritetyille virtuaalisille koneille. Se luo sitten varmenteen ja lisää virtuaalisia isäntämerkintöjä Apache-kokoonpanoon erityisesti vastaavia verkkosivustoja varten.

Asenna certbot-työkalu Ubuntu-järjestelmääsi seuraavasti:

# apt update# apt install software-properties-common# add-apt-repository universe# add-apt-repository ppa:certbot/certbot# apt install certbot python-certbot-apache

Kun certbot on asennettu, suorita se seuraavasti:

Kun Certbot on pyytänyt sähköpostiosoitetta ja pyytänyt käyttöehtojen hyväksyntää, se luettelee sivustot-käytettävissä-kansiossa olevat verkkotunnukset ja tarjoaa mahdollisuuden valita yksi tai useampi niistä sivustoista, joille varmenne asennetaan. Certbot suorittaa sitten joitain tarkistuksia ennen varmenteen hankkimista ja asentamista järjestelmään:

Mille nimille haluat aktivoida HTTPS:n?- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1: omaesimerkki.fi- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Valitse sopivat numerot pilkuilla ja/tai välilyönneillä erotettuina tai jätä syöte tyhjäksi valitaksesi kaikki näytetyt vaihtoehdot (peruuta kirjoittamalla c): 1Uuden varmenteen hankkiminenSuorita seuraavat haasteet:http-01-haaste for ebooktricity.com käytössä Apache-uudelleenkirjoitusmoduuliOdottaa vahvistusta.. .Siivoamishaasteet Luotiin SSL-vhost osoitteessa /etc/apache2/sites-available/myexample-le-ssl.confVarmenteen käyttöönotto VirtualHostiin /etc/apache2/sites-available/myexample-le-ssl.confOta käyttöön käytettävissä oleva sivusto: /etc/apache2 /sites-available/myexample-le-ssl.conf

Certbot on myös luonut uuden tiedoston nimeltä myexample-le-ssl.conf hakemistoon /etc/apache2/sitesavailable, joka sisältää suojatun virtuaalisen isäntämerkinnän jokaiselle verkkotunnukselle, jolle on luotu varmenne ja sallinut sivuston. että linkki tiedostoon on tehty /etc/apache2/sites-enabled-hakemistoon. Nämä merkinnät ovat samankaltaisia ​​kuin seuraavat:

..ServerName myexample.comServerAdmin [sähköposti suojattu]DocumentRoot /var/www/myexample.com..ErrorLog ${APACHE_LOG_DIR}/error.logCustomLog ${APACHE_LOG_DIR}/access.log/access.logateFiSS //cryptetcificateletsen live/myexample.com/fullchain.pemSSLCertificateKeyFile /etc/letsencrypt/live/myexample.com/privkey.pemInclude /etc/letsencrypt/options-ssl-apache.conf

Lopuksi Certbot kysyy, pitäisikö palvelimen ohjata tulevat HTTP-verkkopyynnöt HTTPS:ään. Toisin sanoen, jos käyttäjä yrittää käyttää osoitetta http://www.myexample.com, verkkopalvelin ohjaa käyttäjän osoitteeseen https://www.myexample.com:

Valitse, ohjataanko HTTP-liikenne HTTPS:ään vai ei, jolloin HTTP-yhteys poistetaan.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1: Ei uudelleenohjausta - Älä tee enää muutoksia verkkopalvelimen kokoonpanoon.2: Uudelleenohjaus - Ohjaa kaikki pyynnöt suojattuun HTTPS-käyttöön. Valitse tämä uusille sivustoille tai jos olet varma, että sivustosi toimii HTTPS:llä. Voit kumota tämän muutoksen muokkaamalla verkkopalvelimesi asetuksia.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Valitse oikea numero [1-2] ja sitten [enter] (peruuta painamalla 'c'): 2

Jos testaat parhaillaan HTTPS-kokoonpanoa ja haluat pitää HTTP-version käytössä myöhempään asti, valitse Ei uudelleenohjausta -vaihtoehto. Muussa tapauksessa HTTPS-uudelleenohjaus on yleensä suositeltavaa.

Kun varmenne on asennettu, testaa sitä selaimessa seuraavassa URL-osoitteessa (korvaa myexample.com omalla verkkotunnuksellasi):

https://www.ssllabs.com/ssltest/analyze.html?d=www.myexample.com

Jos varmenteen määritys onnistui, SSL Labs -raportti antaa korkean arvosanan kuvan 32-2 mukaisesti:

Kuva 32-2

Viimeisenä testinä avaa selainikkuna ja siirry verkkotunnukseesi käyttämällä https://-etuliitettä. Sivun tulee latautua kuten ennenkin ja selaimen tulee ilmoittaa, että yhteys selaimen ja palvelimen välillä on suojattu (yleensä osoiterivillä on lukkokuvake, jota voi napsauttaa saadaksesi lisätietoja):

Kuva 32-3

1.11 Yhteenveto

Ubuntu-järjestelmää voidaan käyttää web-sivustojen isännöimiseen asentamalla Apache-verkkopalvelin. Sekä suojaamattomia (HTTP) että suojattuja (HTTPS) verkkosivustoja voidaan ottaa käyttöön Ubuntussa. Suojatut web-sivustot käyttävät joko Secure Socket Layer (SSL) tai Transport Layer Security (TLS) salattua viestintää verkkopalvelimen ja asiakkaan välillä käyttämällä julkista, yksityistä ja istuntosalausta yhdessä luotettavan varmenteen myöntäjän myöntämän varmenteen kanssa.


PREV: Discord-palvelimen poistaminen - halukas tekemään

NEXT: Kuinka liikkua ja ohittaa kielto Discordissa - Alphr

Popular Articles

Hot Articles

Navigation Lists

Back to Top