Kuidas installida CentOS 8-sse virtuaalserveriga Apache


Apache veebiserver on avatud lähtekoodiga ja populaarne HTTP veebiserver, millel on jätkuvalt tohutu turuosa hostimistööstuses. Sellel on hulgaliselt funktsioone, sealhulgas moodulite täiustused, mitme protokolli tugi, lihtsustatud seadistamine ja mitmekeelne tugi.

Selles juhendis tutvustame teid virtuaalse hostikeskkonnaga CentOS 8 ja RHEL 8 Apache veebiserveri installimisel. Selle õpetuse kirjutamise ajal on Apache uusim versioon Apache 2.2.43.

Apache veebiserveri installimine

Alustamiseks värskendage esmalt oma CentOS 8 või RHEL 8 süsteemipakettide loendit järgmise käsuga dnf.

$ sudo dnf update

Kui värskendus on lõppenud, installige Apache veebiserver, käivitades järgmise käsu.

$ sudo dnf install httpd

Pärast installimist saate Apache versiooni kontrollida käsu rpm abil.

$ rpm -qi httpd

Käsk prindib välja hulga teavet, nagu paketi versioon, väljaandmise kuupäev, järk ja arhitektuur.

Apache HTTP veebiteenuse käivitamiseks käivitage käsk systemctl.

$ sudo systemctl start httpd

Teenuse töötamise kinnitamiseks käivitage.

$ sudo systemctl status httpd

Väljundist näitab rohelise olek ‘aktiivne’, et Apache veebiserver töötab ja töötab.

Veebiserveri töötamise kahtluste kõrvaldamiseks taotlege Apache'ilt testlehte, sirvides oma serveri IP-aadressi või domeeninime, nagu näidatud.

http://server-ip  

Serveri IP saate hankides käsu curl.

$ curl ifconfig.me 
OR
$ curl -4 icanhazip.com

Kui sirvite serveri IP-aadressi, peaksite kuvama järgmise veebilehe.

See on kindel kinnitus, et veebiserver töötab.

Apache'i veebiserveri haldamine

Kui Apache on installitud ja töötab, saate Apache'i haldamiseks kasutada kontrollimissüsteemi systemctl.

Näiteks Apache peatamiseks käivitage käsk:

$ sudo systemctl stop httpd

Teenuse uuesti käivitamiseks toimige järgmiselt.

$ sudo systemctl start httpd

Kui olete mõne selle konfiguratsioonifaili muutnud ja peate muudatuste rakendamiseks taaskäivitama, käivitage käsk:

$ sudo systemctl restart httpd

Teenuse taaskäivitamine põhjustab tavaliselt teenuses häireid. Parem alternatiiv on lihtsalt uuesti laadida ilma ühenduse katkestusteta.

$ sudo systemctl reload httpd

Apache veebiserveri käivitamiseks käivitamisel või taaskäivitamisel käivitage järgmine käsk. See tagab, et Apache käivitub automaatselt ilma teie sekkumiseta.

$ sudo systemctl enable httpd

Kui otsustate teenust käivitamisel automaatselt mitte käivitada, käivitage:

$ sudo systemctl disable httpd

Apache virtuaalsete hostide seadistamine

Vaikimisi on Apache veebiserver konfigureeritud esitama või majutama ainult ühte veebisaiti. Kui soovite majutada ainult ühte veebisaiti, pole see samm vajalik. Kuid kui plaanite oma serveris mitut domeeni majutada, peate konfigureerima Apache virtuaalsed hostid.

Virtuaalne host on eraldi fail, mis sisaldab konfiguratsioone, mis võimaldavad teil seadistada vaikedomeenist eraldi domeeni. Selle juhendi jaoks seadistame domeeni crazytechgeek.info jaoks virtuaalse hosti.

Vaikimisi virtuaalne host asub kataloogis /var/www/html . See töötab ainult ühe saidi jaoks. Oma domeeni jaoks eraldi virtuaalse hosti loomiseks loome kataloogis /var/www veel ühe kataloogistruktuuri, nagu näidatud.

$ sudo mkdir -p /var/www/crazytechgeek.info/html

Lisaks saate logifailide salvestamiseks luua ka kataloogi.

$ sudo mkdir -p /var/www/crazytechgeek.info/log

Järgmisena muutke faili lubasid keskkonnamuutujaga $USER , nagu näidatud.

$ sudo chown -R $USER:$USER /var/www/crazytechgeek.info/html

Samuti reguleerige veebijuure kataloogi õigusi, nagu näidatud.

$ sudo chmod -R 755 /var/www

Seejärel looge näidisfail index.html , nagu näidatud.

$ sudo vim /var/www/crazytechgeek.info/html/index.html

Vajutage klaviatuuril tähte i ja kleepige näidisesisu, nagu näidatud, mis kuvatakse veebibrauseris virtuaalse hosti testimisel.

<html>
  <head>
    <title>Welcome to crazytechgeek.info!</title>
  </head>
  <body>
    <h1>Success! The crazytechgeek.info virtual host is up and perfectly working!</h1>
  </body>
</html>

Salvestage konfiguratsioonifail ja väljuge sellest.

Loodud näidisfaili ja saidikataloogi abil saate nüüd jätkata ja luua virtuaalse hostifaili. Virtuaalne hostifail sisaldab teie domeeni saidi konfiguratsiooni ja juhendab Apache'i, kuidas see klientide taotlustele reageerib.

Virtuaalne hostifail sisaldab teie domeeni saidi konfiguratsiooni ja juhendab Apache'i, kuidas see klientide taotlustele reageerib. Kuid jätkates peate looma 2 kataloogi: kataloogid saidid-saadaval ja saidid-toega .

Virtuaalne hostifail salvestatakse kataloogi saidid-saadaval , kataloogis saidid-lubatud aga sümboolne link virtuaalsele hostile.

Looge mõlemad kataloogid nagu näidatud.

$ sudo mkdir /etc/httpd/sites-available
$ sudo mkdir /etc/httpd/sites-enabled

Järgmisena muutke Apache veebiserveri peamist konfiguratsioonifaili ja juhendage Apache'i, kus saitidel lubatud kataloogis virtuaalne hosti leida.

$ sudo vim /etc/httpd/conf/httpd.conf

Lisage rida, nagu on näidatud konfiguratsioonifaili lõpus.

IncludeOptional sites-enabled/*.conf

Salvesta ja välju.

Nüüd looge virtuaalne hostifail, nagu näidatud:

$ sudo vim /etc/httpd/sites-available/crazytechgeek.info

Kleepige allpool olev sisu ja asendage crazytechgeek.info oma domeeninimega.

<VirtualHost *:80>
    ServerName www.crazytechgeek.info
    ServerAlias crazytechgeek.info
    DocumentRoot /var/www/crazytechgeek.info/html
    ErrorLog /var/www/crazytechgeek.info/log/error.log
    CustomLog /var/www/crazytechgeek.info/log/requests.log combined
</VirtualHost>

Salvestage ja väljuge failist.

Nüüd lubage virtuaalne hostifail, luues kataloogis saidid lubatud sümboolse lingi.

$ sudo ln -s /etc/httpd/sites-available/crazytechgeek.info.conf /etc/httpd/sites-enabled/crazytechgeek.info.conf

Virtuaalsete hostide SELinuksi lubade kohandamine

CentOS 8 ja RHEL 8 tarnitakse SELinuxiga, mis on Linuxi turvalisuse tugevdamise turvamoodul. Kuna eelmises etapis seadistasite kohandatud logikataloogi, peate värskendama mõnda SELinuksi poliitikat, et anda Apache'i veebiserverile juhised kataloogi kirjutamiseks.

SELinuxi Apache'i poliitikate kohandamisel on kaks lähenemisviisi: poliitikate kohandamine universaalselt ja kataloogis olevad poliitikad. Viimast eelistatakse, kuna see on eelistatum.

Logikataloogi SELinuksi lubade muutmine annab teile täieliku kontrolli Apache'i veebiserveri poliitikate üle. See meetod on üsna pikk ja nõuab kontekstitüübi käsitsi konfigureerimist virtuaalse hosti konfiguratsioonifailis täpsustatud täiendavate kataloogide jaoks.

Enne alustamist kinnitage esmalt SELinuxi logikataloogile määratud kontekstitüüp:

$ sudo ls -dlZ /var/www/crazytechgeek.info/log/

Väljund peaks olema sarnane sellega, mis meil allpool on.

Väljundist on määratud kontekst httpd_sys_content_t. See näitab, et veebiserver saab lugeda faile ainult logikataloogis. Apache'i loomiseks ja kataloogi logikirjete lisamiseks peate selle konteksti muutma aadressiks httpd_log_t.

Seetõttu käivitage käsk:

$ sudo semanage fcontext -a -t httpd_log_t "/var/www/crazytechgeek.info/log(/.*)?"

Kui juhtub, et ilmub viga allpool “semanage: käsku ei leitud”.

See tähendab, et semanage'i käsku pakkuvad paketid pole installitud. Selle vea parandamiseks peate need paketid installima. Kõigepealt kontrollige käivitades, millised paketid pakuvad semanage'i käsku:

$ sudo dnf whatprovides /usr/sbin/semanage

Väljund annab meile paketi, mis pakub semanage'i, milleks on policycoreutils-python-utils.

Nüüd installige pakett nagu näidatud, kasutades DNF-i paketihaldurit.

$ sudo dnf install policycoreutils-python-utils

Konteksti muutmise käsk peaks nüüd töötama.

$ sudo semanage fcontext -a -t httpd_log_t "/var/www/crazytechgeek.info/log(/.*)?"

Muudatuste salvestamiseks ja nende püsivaks muutmiseks väljastage käsk restorecon nagu näidatud:

$ sudo restorecon -R -v /var/www/crazytechgeek.info/log

Muudatusi saate kinnitada, käskluse uuesti käivitades:

$ sudo ls -dlZ /var/www/crazytechgeek.info/log/

Pange tähele, et kontekstitüübiks on valitud httpd_log_t , nagu väljundis näha on.

Rakendatavate muudatuste jaoks taaskäivitage Apache.

$ sudo systemctl restart httpd

Nüüd saate kinnitada, kas Apache salvestab logifaile logikataloogi, lisades selle sisu, nagu näidatud:

$ ls -l /var/www/crazytechgeek.info/log/

Teil peaks olema võimalus näha kahte logifaili, nagu näidatud: tõrkelogi ja taotluslogifaile.

Apache virtuaalse hosti testimine

Lõpuks peate olema kindel, et Apache veebiserver serveerib teie virtuaalset hostifaili. Selleks avage brauser ja minge oma serveri IP-aadressile või domeeninimele:

http://domain-name

Täiuslik! See näitab, et kõik läks hästi ja meie virtuaalset hostit teenindati ootuspäraselt.

Selles juhendis oleme õppinud, kuidas installida Apache veebiserverit CentOS 8 ja RHEL 8 ning kuidas konfigureerida virtuaalse hostifaili sisu serveerimiseks täiendava domeeni jaoks. Konfigureerige julgelt mitu virtuaalset hostifaili, kui peate seda sobivaks täiendavate domeenide mahutamiseks.

Kui soovite seadistada täieliku hostikorstna, soovitasin teil installida CentOS 8-le LAMP-i virna.