Hvernig á að setja upp sjálfstæðan Apache netþjón með nafnabyggðri sýndarhýsingu með SSL vottorði - Part 4


LFCE (stutt fyrir Linux Foundation Certified Engineer) er þjálfaður fagmaður sem hefur sérfræðiþekkingu til að setja upp, stjórna og leysa netþjónustu í Linux kerfum og hefur umsjón með hönnun, innleiðingu og áframhaldandi viðhald kerfisarkitektúrsins.

Í þessari grein munum við sýna þér hvernig á að stilla Apache til að þjóna vefefni og hvernig á að setja upp nafntengda sýndargestgjafa og SSL, þar á meðal sjálfundirritað vottorð.

Við kynnum Linux Foundation Certification Program (LFCE).

Athugið: Að þessi grein á ekki að vera ítarleg leiðarvísir um Apache, heldur upphafspunkt fyrir sjálfsnám um þetta efni fyrir LFCE prófið. Af þeirri ástæðu erum við ekki heldur að fjalla um álagsjafnvægi með Apache í þessari kennslu.

Þú gætir nú þegar vitað aðrar leiðir til að framkvæma sömu verkefni, sem er Í lagi miðað við að Linux Foundation vottunin er stranglega byggð á frammistöðu. Þannig að svo framarlega sem þú „kveikir verkinu“, hefurðu góða möguleika á að standast prófið.

Vinsamlegast skoðaðu 1. hluta af núverandi röð (\Setja upp netþjónustu og stilla sjálfvirka ræsingu við ræsingu) fyrir leiðbeiningar um uppsetningu og ræsingu Apache.

Núna ættir þú að hafa Apache vefþjóninn uppsettan og keyrðan. Þú getur staðfest þetta með eftirfarandi skipun.

# ps -ef | grep -Ei '(apache|httpd)' | grep -v grep

Athugið: Að ofangreind skipun athugar hvort annaðhvort apache eða httpd (algengustu nöfnin fyrir vefpúkann) sé til staðar á lista yfir ferla sem eru í gangi. Ef Apache er í gangi færðu úttak svipað og eftirfarandi.

Hin fullkomna aðferð til að prófa Apache uppsetninguna og athuga hvort hún sé í gangi er að ræsa vafra og benda á IP netþjóninn. Við ættum að fá eftirfarandi skjá eða að minnsta kosti skilaboð sem staðfesta að Apache sé að virka.

Stillir Apache

Aðalstillingarskrá fyrir Apache getur verið staðsett í mismunandi möppum eftir dreifingu þinni.

/etc/apache2/apache2.conf 		[For Ubuntu]
/etc/httpd/conf/httpd.conf		[For CentOS]
/etc/apache2/httpd.conf 		[For openSUSE]

Sem betur fer fyrir okkur eru stillingarleiðbeiningarnar einstaklega vel skjalfestar á Apache verkefnissíðunni. Við munum vísa til nokkurra þeirra í þessari grein.

Grunnnotkun Apache er að þjóna vefsíðum á sjálfstæðum netþjóni þar sem engir sýndargestgjafar hafa enn verið stilltir. DocumentRoot tilskipunin tilgreinir möppuna sem Apache mun þjóna vefsíðuskjölum úr.

Athugaðu að sjálfgefið eru allar beiðnir teknar úr þessari möppu, en þú getur líka notað táknræna tengla og/eða samnefni geta verið notuð til að benda á aðrar staðsetningar.

Nema samsvörun við Alias tilskipunina (sem gerir kleift að geyma skjöl í staðbundnu skráarkerfi í stað þess að vera í skránni sem tilgreind er af DocumentRoot), bætir þjónninn við slóðina frá umbeðinni vefslóð að skjalrótinni til að gera slóðina að skjalinu.

Til dæmis, gefið eftirfarandi DocumentRoot:

Þegar vafrinn bendir á [IP netþjónn eða hýsingarheiti]/lfce/tecmint.html opnast þjónninn /var/ www/html/lfce/tecmint.html (að því gefnu að slík skrá sé til) og vistaðu atburðinn í aðgangsskrá þess með 200 (OK) svari.

Aðgangsskráin er venjulega að finna inni í /var/log undir fulltrúanafni, eins og access.log eða access_log. Þú gætir jafnvel fundið þennan log (og villuskrána líka) inni í undirmöppu (til dæmis /var/log/httpd í CentOS). Að öðrum kosti verður atburðurinn sem mistókst enn skráður í aðgangsskrána en með 404 svari (finnist ekki).

Að auki verða mistökin skráð í villuskrána:

Hægt er að aðlaga snið aðgangsskrár í samræmi við þarfir þínar með því að nota LogFormat tilskipunina í aðalstillingarskránni, en þú getur ekki gert það sama með villuskránni .

Sjálfgefið snið aðgangsskrár er sem hér segir:

LogFormat "%h %l %u %t \"%r\" %>s %b" [nickname]

Þar sem hver stafur á undan með prósentumerki gefur til kynna að þjónninn skrái ákveðnar upplýsingar:

og gælunafn er valfrjálst samnefni sem hægt er að nota til að sérsníða aðra annála án þess að þurfa að slá inn allan stillingarstrenginn aftur.

Þú gætir vísað til LogFormat tilskipunarinnar [Sérsniðin annálssnið] í Apache skjölunum fyrir frekari valkosti.

Báðar notendaskrár (aðgangur og villa) tákna frábært úrræði til að greina fljótt í fljótu bragði hvað er að gerast á Apache þjóninum. Óþarfur að taka fram að þau eru fyrsta tólið sem kerfisstjóri notar til að leysa vandamál.

Að lokum, önnur mikilvæg tilskipun er Hlusta, sem segir þjóninum að samþykkja komandi beiðnir um tilgreinda gátt eða samsetningu heimilisfangs/gáttar:

Ef aðeins gáttarnúmer er skilgreint mun apache hlusta á gáttina á öllum netviðmótum (algildismerkið * er notað til að gefa til kynna „öll netviðmót“).

Ef bæði IP-tala og gátt er tilgreint, þá mun apache hlusta á samsetningu tiltekins tengis og netviðmóts.

Vinsamlegast athugaðu (eins og þú munt sjá í dæmunum hér að neðan) að hægt er að nota margar hlustunartilskipanir á sama tíma til að tilgreina mörg vistföng og tengi til að hlusta á. Þessi valkostur gefur þjóninum fyrirmæli um að bregðast við beiðnum frá einhverju af skráðum vistföngum og höfnum.

Setja upp nafnabyggða sýndargestgjafa

Hugmyndin um sýndargestgjafi skilgreinir einstaka síðu (eða lén) sem er þjónað af sömu líkamlegu vélinni. Reyndar er hægt að þjóna mörgum síðum/lénum frá einum \raunverulegum netþjóni sem sýndarhýsingaraðila. Þetta ferli er gagnsætt fyrir endanotandann, sem virðist sem mismunandi vefsvæði séu þjónað af mismunandi vefþjóna.

Sýndarhýsing sem byggir á nafni gerir þjóninum kleift að treysta á að viðskiptavinurinn tilkynni hýsingarheitið sem hluta af HTTP hausunum. Þannig, með því að nota þessa tækni, geta margir mismunandi gestgjafar deilt sömu IP tölu.

Hver sýndargestgjafi er stilltur í möppu innan DocumentRoot. Fyrir okkar tilvik munum við nota eftirfarandi dummy lén fyrir prófunaruppsetninguna, hvert staðsett í samsvarandi möppu:

  1. ilovelinux.com – /var/www/html/ilovelinux.com/public_html
  2. linuxrocks.org – /var/www/html/linuxrocks.org/public_html

Til þess að síður sjáist rétt munum við chmoda möppu hvers VirtualHost í 755:

# chmod -R 755 /var/www/html/ilovelinux.com/public_html
# chmod -R 755 /var/www/html/linuxrocks.org/public_html

Næst skaltu búa til sýnishorn af index.html skrá í hverri public_html möppu:

<html>
  <head>
    <title>www.ilovelinux.com</title>
  </head>
  <body>
    <h1>This is the main page of www.ilovelinux.com</h1>
  </body>
</html>

Að lokum, í CentOS og openSUSE skaltu bæta við eftirfarandi hluta neðst á /etc/httpd/conf/httpd.conf eða / etc/apache2/httpd.conf, í sömu röð, eða bara breyttu því ef það er þegar til staðar.

<VirtualHost *:80>
     ServerAdmin [email  
     DocumentRoot /var/www/html/ilovelinux.com/public_html
     ServerName www.ilovelinux.com
     ServerAlias www.ilovelinux.com ilovelinux.com
     ErrorLog /var/www/html/ilovelinux.com/error.log
     LogFormat "%v %l %u %t \"%r\" %>s %b" myvhost
     CustomLog /var/www/html/ilovelinux.com/access.log	myvhost
</VirtualHost>
<VirtualHost *:80>
     ServerAdmin [email  
     DocumentRoot /var/www/html/linuxrocks.org/public_html
     ServerName www.linuxrocks.org
     ServerAlias www.linuxrocks.org linuxrocks.org
     ErrorLog /var/www/html/linuxrocks.org/error.log
     LogFormat "%v %l %u %t \"%r\" %>s %b" myvhost
     CustomLog /var/www/html/linuxrocks.org/access.log	myvhost
</VirtualHost>

Vinsamlegast athugaðu að þú getur líka bætt við hverri sýndarhýsilskilgreiningu í aðskildum skrám í /etc/httpd/conf.d möppunni. Ef þú velur að gera það verður hver stillingarskrá að heita á eftirfarandi hátt:

/etc/httpd/conf.d/ilovelinux.com.conf
/etc/httpd/conf.d/linuxrocks.org.conf

Með öðrum orðum, þú þarft að bæta .conf við síðuna eða lénið.

Í Ubuntu er hver einstök stillingarskrá nefnd /etc/apache2/sites-available/[heiti vefsvæðis].conf. Hver síða er síðan virkjuð eða óvirk með a2ensite eða a2dissite skipunum, í sömu röð, eins og hér segir.

# a2ensite /etc/apache2/sites-available/ilovelinux.com.conf
# a2dissite /etc/apache2/sites-available/ilovelinux.com.conf
# a2ensite /etc/apache2/sites-available/linuxrocks.org.conf
# a2dissite /etc/apache2/sites-available/linuxrocks.org.conf

Skipanirnar a2ensite og a2dissite búa til tengla á stillingarskrá sýndarhýsilsins og setja (eða fjarlægja) þær í /etc/apache2/sites-enabled skrá.

Til að geta skoðað báðar síðurnar úr öðrum Linux kassa þarftu að bæta við eftirfarandi línum í /etc/hosts skrána í þeirri vél til að beina beiðnum til þessara léna á tiltekna IP heimilisfang.

[IP address of your web server]	www.ilovelinux.com
[IP address of your web server]	www.linuxrocks.org 

Sem öryggisráðstöfun mun SELinux ekki leyfa Apache að skrifa logs í aðra möppu en sjálfgefna /var/log/httpd.

Þú getur annað hvort slökkt á SELinux eða stillt rétt öryggissamhengi:

# chcon system_u:object_r:httpd_log_t:s0 /var/www/html/xxxxxx/error.log

þar sem xxxxxx er skráin inni í /var/www/html þar sem þú hefur skilgreint sýndargestgjafana þína.

Eftir að hafa endurræst Apache ættirðu að sjá eftirfarandi síðu á ofangreindum heimilisföngum:

Uppsetning og uppsetning SSL með Apache

Að lokum munum við búa til og setja upp sjálfundirritað vottorð til að nota með Apache. Svona uppsetning er ásættanleg í litlu umhverfi, eins og einka staðarneti.

Hins vegar, ef þjónninn þinn mun afhjúpa efni fyrir umheiminum í gegnum internetið, viltu setja upp vottorð undirritað af þriðja aðila til að staðfesta áreiðanleika þess. Hvort heldur sem er, vottorð gerir þér kleift að dulkóða upplýsingarnar sem eru sendar til, frá eða innan síðunnar þinnar.

Í CentOS og openSUSE þarftu að setja upp mod_ssl pakkann.

# yum update && yum install mod_ssl 		[On CentOS]
# zypper refresh && zypper install mod_ssl	[On openSUSE]

Í Ubuntu verður þú að virkja ssl eininguna fyrir Apache.

# a2enmod ssl

Eftirfarandi skref eru útskýrð með CentOS prófunarþjóni, en uppsetningin þín ætti að vera næstum eins í hinum dreifingunum (ef þú lendir í einhvers konar vandamálum skaltu ekki hika við að skilja eftir spurningar þínar með því að nota athugasemdirnar form).

Skref 1 [Valfrjálst]: Búðu til möppu til að geyma skírteinin þín.

# mkdir /etc/httpd/ssl-certs

Skref 2: Búðu til sjálf undirritað vottorð og lykilinn sem mun vernda það.

# openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/httpd/ssl-certs/apache.key -out /etc/httpd/ssl-certs/apache.crt

Stutt útskýring á valkostunum sem taldir eru upp hér að ofan:

  1. req -X509 gefur til kynna að við erum að búa til x509 vottorð.
  2. -hnútar (NO DES) þýðir ekki dulkóða lykilinn.
  3. -dagar 365 er fjöldi daga sem vottorðið mun gilda fyrir.
  4. -newkey rsa:2048 býr til 2048 bita RSA lykil.
  5. -keyout /etc/httpd/ssl-certs/apache.key er alger slóð RSA lykilsins.
  6. -out /etc/httpd/ssl-certs/apache.crt er alger slóð vottorðsins.

Skref 3: Opnaðu stillingaskrá sýndarhýsilsins (eða samsvarandi hluta hennar í /etc/httpd/conf/httpd.conf eins og útskýrt var áðan) og bættu eftirfarandi línum við sýndarhýsingaryfirlýsing sem hlustar á port 443.

SSLEngine on
SSLCertificateFile /etc/httpd/ssl-certs/apache.crt
SSLCertificateKeyFile /etc/httpd/ssl-certs/apache.key

Vinsamlegast athugaðu að þú þarft að bæta við.

NameVirtualHost *:443

efst, rétt fyrir neðan

NameVirtualHost *:80

Báðar tilskipanirnar gefa apache fyrirmæli um að hlusta á tengi 443 og 80 af öllum netviðmótum.

Eftirfarandi dæmi er tekið úr /etc/httpd/conf/httpd.conf:

Endurræstu síðan Apache,

# service apache2 restart 			[sysvinit and upstart based systems]
# systemctl restart httpd.service 		[systemd-based systems]

Og beindu vafranum þínum á https://www.ilovelinux.com. Þú verður kynntur með eftirfarandi skjá.

Farðu á undan og smelltu á \Ég skil áhættuna og \Bæta við undantekningu.

Að lokum skaltu haka við \Geyma þessa undantekningu varanlega og smella á \Staðfesta öryggisundanþágu.

Og þér verður vísað á heimasíðuna þína með https.

Samantekt

Í þessari færslu höfum við sýnt hvernig á að stilla Apache og nafnatengda sýndarhýsingu með SSL til að tryggja gagnaflutning. Ef þú lentir í einhverjum vandræðum af einhverjum ástæðum skaltu ekki hika við að láta okkur vita með því að nota athugasemdareyðublaðið hér að neðan. Við munum vera meira en ánægð með að hjálpa þér að framkvæma árangursríka uppsetningu.

Lestu líka

  1. Apache IP byggt og nafn byggt sýndarhýsing
  2. Búa til Apache sýndargestgjafa með virkja/slökkva á Vhosts valkostum
  3. Fylgstu með \Apache vefþjóni með því að nota \Apache GUI tól