Hvernig á að setja upp Apache með Virtual Host á CentOS 8
Apache vefþjónninn er opinn og vinsæll HTTP vefþjónn sem heldur áfram að njóta gríðarlegrar markaðshlutdeildar í hýsingariðnaðinum. Það kemur með fullt af eiginleikum, þar á meðal endurbótum á einingum, stuðningi við fjölsamskiptareglur, einfaldaðri uppsetningu og stuðningi á mörgum tungumálum svo aðeins fátt eitt sé nefnt.
Í þessari handbók munum við leiða þig í gegnum uppsetningu Apache vefþjónsins á CentOS 8 og RHEL 8 með Virtual Host umhverfi. Þegar þessi einkatími er skrifaður er nýjasta útgáfan af Apache Apache 2.2.43.
Að setja upp Apache vefþjón
Til að byrja, uppfærðu fyrst CentOS 8 eða RHEL 8 kerfispakkalistann þinn með því að nota eftirfarandi dnf skipun.
$ sudo dnf update
Þegar uppfærslunni er lokið skaltu setja upp Apache vefþjón með því að framkvæma eftirfarandi skipun.
$ sudo dnf install httpd
Þegar það hefur verið sett upp geturðu staðfest útgáfu Apache með því að keyra rpm skipunina.
$ rpm -qi httpd
Skipunin prentar út fjölda upplýsinga eins og útgáfu, útgáfudag, smíði og arkitektúr pakkans.
Til að ræsa Apache HTTP vefþjónustuna skaltu keyra systemctl skipunina.
$ sudo systemctl start httpd
Til að staðfesta hvort þjónustan sé í gangi skaltu framkvæma.
$ sudo systemctl status httpd
Frá úttakinu gefur „virk“ staða í grænu til kynna að Apache vefþjónninn sé í gangi.
Til að taka af allan vafa um að vefþjónninn sé í gangi skaltu biðja um prófunarsíðu frá Apache með því að skoða IP tölu eða lén netþjónsins þíns eins og sýnt er.
http://server-ip
Þú getur fengið IP netþjóninn þinn með því að keyra curl skipunina.
$ curl ifconfig.me OR $ curl -4 icanhazip.com
Þegar þú vafrar um IP tölu netþjónsins ættirðu að birta eftirfarandi vefsíðu.
Þetta er örugg staðfesting á því að vefþjónninn sé í gangi.
Umsjón með Apache vefþjóni
Með Apache uppsett og í gangi geturðu notað systemctl skoðunarverkfæri til að stjórna Apache.
Til dæmis, til að stöðva Apache skaltu keyra skipunina:
$ sudo systemctl stop httpd
Til að hefja þjónustuna aftur skaltu framkvæma:
$ sudo systemctl start httpd
Ef þú hefur gert breytingar á einhverjum af stillingarskrám þess og þú þarft að endurræsa til að beita breytingunum skaltu framkvæma skipunina:
$ sudo systemctl restart httpd
Endurræsing á þjónustunni veldur venjulega þjónusturöskun. Betri valkostur er einfaldlega að endurhlaða án þess að trufla tenginguna.
$ sudo systemctl reload httpd
Til að ræsa Apache vefþjóninn sjálfkrafa við ræsingu eða endurræsingu skaltu keyra skipunina hér að neðan. Þetta mun tryggja að Apache ræsist sjálfkrafa án afskipta þinnar.
$ sudo systemctl enable httpd
Ef þú velur að ræsa ekki þjónustuna sjálfkrafa við ræsingu skaltu keyra:
$ sudo systemctl disable httpd
Uppsetning Apache sýndargestgjafa
Sjálfgefið er að Apache vefþjónn sé stilltur til að þjóna eða hýsa aðeins eina vefsíðu. Ef þú vilt hýsa aðeins eina vefsíðu, þá er þetta skref ekki krafist. En ef þú ætlar að hýsa mörg lén á netþjóninum þínum, þá þarftu að stilla Apache sýndargestgjafa.
Sýndargestgjafi er sérstök skrá sem inniheldur stillingar sem gera þér kleift að setja upp sérstakt lén frá sjálfgefna. Fyrir þessa handbók munum við setja upp sýndargestgjafa fyrir lénið crazytechgeek.info.
Sjálfgefinn sýndargestgjafi er staðsettur í /var/www/html
möppunni. Þetta virkar aðeins fyrir eina síðu. Til að búa til sérstakan sýndargestgjafa fyrir lénið okkar munum við búa til aðra möppuuppbyggingu í /var/www
skránni eins og sýnt er.
$ sudo mkdir -p /var/www/crazytechgeek.info/html
Að auki geturðu líka búið til möppu til að geyma annálaskrár.
$ sudo mkdir -p /var/www/crazytechgeek.info/log
Næst skaltu breyta skráarheimildum með því að nota $USER
umhverfisbreytuna eins og sýnt er.
$ sudo chown -R $USER:$USER /var/www/crazytechgeek.info/html
Stilltu einnig heimildir vefrótarskrárinnar eins og sýnt er.
$ sudo chmod -R 755 /var/www
Næst skaltu búa til sýnishorn af index.html
skrá eins og sýnt er.
$ sudo vim /var/www/crazytechgeek.info/html/index.html
Smelltu á bókstafinn i
á lyklaborðinu og límdu smá sýnishorn af efni eins og sýnt er sem mun birtast í vafranum þegar sýndargestgjafinn er prófaður.
<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>
Vistaðu og lokaðu stillingarskránni.
Með sýnishornsskránni og vefskránni búin til, geturðu nú haldið áfram og búið til sýndarhýsingarskrána. Sýndarhýsingarskráin mun innihalda uppsetningu vefsvæðis lénsins þíns og leiðbeina Apache hvernig hún mun bregðast við beiðnum viðskiptavina.
Sýndarhýsingarskráin mun innihalda uppsetningu vefsvæðis lénsins þíns og leiðbeina Apache hvernig hún mun bregðast við beiðnum viðskiptavina. En þegar þú heldur áfram þarftu að búa til 2 möppur: sites-available
og sites-enabled
möppurnar.
Sýndarhýsingarskráin verður geymd í sites-available
skránni á meðan sites-enabled
skráin mun innihalda táknræna hlekkinn á sýndarhýsilinn.
Búðu til báðar möppurnar eins og sýnt er.
$ sudo mkdir /etc/httpd/sites-available $ sudo mkdir /etc/httpd/sites-enabled
Næst skaltu breyta aðalstillingarskrá Apache vefþjónsins og leiðbeina Apache hvar á að finna sýndarhýsinguna inni í möppunni sem er virkt fyrir vefsvæði.
$ sudo vim /etc/httpd/conf/httpd.conf
Bættu við línunni eins og sýnt er aftast í stillingarskránni.
IncludeOptional sites-enabled/*.conf
Vista og hætta.
Búðu til sýndarhýsingarskrá eins og sýnt er:
$ sudo vim /etc/httpd/sites-available/crazytechgeek.info
Límdu efnið hér að neðan og skiptu crazytechgeek.info
út fyrir þitt eigið lén.
<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>
Vistaðu og lokaðu skránni.
Virkjaðu nú sýndarhýsingarskrána með því að búa til táknrænan hlekk í sites-enabled
möppunni.
$ sudo ln -s /etc/httpd/sites-available/crazytechgeek.info.conf /etc/httpd/sites-enabled/crazytechgeek.info.conf
Aðlögun SELinux heimilda fyrir sýndargestgjafa
CentOS 8 og RHEL 8 eru með SELinux sem er öryggiseining til að styrkja öryggi Linux kerfisins. Þar sem þú stilltir sérsniðna annálaskrá í fyrra skrefi þarftu að uppfæra nokkrar SELinux reglur til að gefa Apache vefþjóninum fyrirmæli um að skrifa í möppuna.
Það eru 2 aðferðir við að breyta SELinux Apache stefnum: Aðlaga aðlögunarreglur almennt og reglurnar í möppu. Hið síðarnefnda er valið vegna þess að það er meira valið.
Að breyta SELinux heimildum fyrir annálaskrána gefur þér algera stjórn á stefnu Apache vefþjónsins. Þessi aðferð er nokkuð löng og krefst þess að þú stillir samhengisgerð handvirkt fyrir viðbótarskrár sem tilgreindar eru í stillingarskrá sýndarhýsilsins.
Áður en þú byrjar skaltu fyrst staðfesta samhengisgerðina sem SELinux hefur úthlutað annálaskránni:
$ sudo ls -dlZ /var/www/crazytechgeek.info/log/
Úttakið ætti að vera svipað og við höfum hér að neðan.
Frá úttakinu er stillt samhengi httpd_sys_content_t. Þetta gefur til kynna að vefþjónninn geti aðeins lesið skrár í annálaskránni. Þú þarft að breyta þessu samhengi í httpd_log_t til að gera Apache kleift að búa til og bæta annálsfærslum við möppuna.
Þess vegna skaltu framkvæma skipunina:
$ sudo semanage fcontext -a -t httpd_log_t "/var/www/crazytechgeek.info/log(/.*)?"
Ef þú skyldir fá villuna fyrir neðan \semanage: skipun fannst ekki.
Það gefur til kynna að pakkarnir sem gera ráð fyrir semanage skipuninni eru ekki settir upp. Til að laga þessa villu þarftu að setja upp þessa pakka. En fyrst skaltu athuga hvaða pakkar bjóða upp á semanage skipun með því að keyra:
$ sudo dnf whatprovides /usr/sbin/semanage
Úttakið gefur okkur pakkann sem gerir ráð fyrir semanage, sem er policycoreutils-python-utils.
Settu nú upp pakkann eins og sýnt er með DNF pakkastjóranum.
$ sudo dnf install policycoreutils-python-utils
Skipunin til að breyta samhenginu ætti nú að virka.
$ sudo semanage fcontext -a -t httpd_log_t "/var/www/crazytechgeek.info/log(/.*)?"
Til að vista breytingarnar og gera þær viðvarandi skaltu gefa út restorecon skipunina eins og sýnt er:
$ sudo restorecon -R -v /var/www/crazytechgeek.info/log
Þú getur staðfest breytingarnar með því að keyra aftur skipunina:
$ sudo ls -dlZ /var/www/crazytechgeek.info/log/
Athugaðu að samhengisgerðin hefur breyst í httpd_log_t
eins og sést í úttakinu.
Endurræstu Apache til að breytingarnar verði notaðar.
$ sudo systemctl restart httpd
Þú getur nú staðfest hvort Apache sé að vista annálaskrár í annálaskránni með því að skrá innihald hennar eins og sýnt er:
$ ls -l /var/www/crazytechgeek.info/log/
Þú ættir að geta séð tvær annálsskrár eins og sýnt er: villuskrá og beiðniskrár.
Prófa Apache sýndargestgjafa
Að lokum þarftu að vera viss um að Apache vefþjónninn þjóni sýndarhýsingarskránni þinni. Til að gera þetta, opnaðu vafrann þinn og farðu á IP tölu eða lén netþjónsins þíns:
http://domain-name
Fullkomið! Þetta gefur til kynna að allt hafi gengið vel og sýndargestgjafi okkar er þjónað eins og búist var við.
Í þessari handbók höfum við lært hvernig á að setja upp Apache vefþjóninn á CentOS 8 og RHEL 8 og einnig hvernig á að stilla sýndarhýsingarskrá til að þjóna efni fyrir auka lén. Ekki hika við að stilla margar sýndarhýsingarskrár eins og þú telur henta til að koma til móts við fleiri lén.
Ef þú vilt setja upp heilan hýsingarstafla, mælti ég með því að þú settir upp LAMP-stafla á CentOS 8.