SSL şahadatnamasy bilen ada esaslanýan wirtual hosting bilen özbaşdak Apache serwerini nädip gurmaly - 4-nji bölüm


A LFCE (gysgaça Linux gaznasynyň kepillendirilen inereneri üçin gysga) Linux ulgamlarynda tor hyzmatlaryny gurmak, dolandyrmak we näsazlyklary düzetmek boýunça tejribä eýe we jogapkärdir. ulgam arhitekturasynyň dizaýny, durmuşa geçirilmegi we dowam etdirilmegi.

Bu makalada, web mazmunyna hyzmat etmek üçin Apache-ni nädip sazlamalydygyny, öz-özüňe gol çekilen şahadatnamany goşmak bilen, ada esaslanýan wirtual hostlary we SSL-i nädip sazlamalydygyny görkezeris.

Linux gaznasynyň kepillendiriş programmasy (LFCE) bilen tanyşdyrmak.

Bellik: Bu makalanyň Apaçi barada giňişleýin gollanma bolmaly däl-de, eýsem LFCE ekzameni üçin bu mowzuk hakda özbaşdak öwrenmek üçin başlangyç nokat bolmaly. Şol sebäpli bu sapakda Apache bilen ýük balansyny hem gurşap almaýarys.

Linux gaznasynyň kepilnamasynyň berk öndürijilige esaslanýandygyny göz öňünde tutup, şol bir meseleleri ýerine ýetirmegiň başga usullaryny bilip bilersiňiz. Şeýlelik bilen, işi ýerine ýetirseňiz bolsaňyz, ekzamen tabşyrmak üçin gowy mümkinçilikleriňiz bar.

Apache gurmak we işe girizmek boýunça görkezmeler üçin häzirki seriýanyň 1-nji bölümine serediň.

Şu wagta çenli Apache web serwerini gurnamaly we işlemeli. Muny aşakdaky buýruk bilen tassyklap bilersiňiz.

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

Bellik: aboveokardaky buýruk, işleýän amallaryň sanawynda apache ýa-da httpd (web daemon üçin iň köp ýaýran atlar) barlygyny barlaýar. “Apache” işleýän bolsa, aşakdakylara meňzeş çykyş alarsyňyz.

Apache gurnamasyny barlamagyň we işleýändigini barlamagyň iň soňky usuly web brauzerini açmak we serweriň IP-sini görkezmekdir. Bize aşakdaky ekran ýa-da iň bolmanda Apaçiniň işleýändigini tassyklaýan habar berilmelidir.

Apache sazlamak

Apache üçin esasy konfigurasiýa faýly, paýlanyşyňyza baglylykda dürli kataloglarda ýerleşip biler.

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

Bagtymyza, konfigurasiýa görkezmeleri Apache taslamasynyň web sahypasynda gaty gowy dokumentleşdirilen. Bu makalanyň dowamynda olaryň käbirine ýüzleneris.

Apache-iň iň esasy ulanylyşy, entek hiç hili wirtual host düzülmedik özbaşdak serwerde web sahypalaryna hyzmat etmekdir. DocumentRoot direktiwasynda Apache web sahypa resminamalaryna hyzmat etjek katalogy kesgitleýär.

Üns beriň, islegleriň hemmesi bu katalogdan alynýar, ýöne simwoliki baglanyşyklary hem ulanyp bilersiňiz we/ýa-da lakamlary beýleki ýerlere hem görkezmek üçin ulanylyp bilner.

Alias görkezmesi bilen gabat gelmese (resminamalary DocumentRoot tarapyndan görkezilen bukjanyň ýerine ýerli faýl ulgamynda saklamaga mümkinçilik berýär), serwer talap edilýän URL-den ýol goşýar resminama barýan ýoly etmek üçin resminama köküne.

Mysal üçin, aşakdaky DocumentRoot berilýär:

Web brauzeri [ Serwer IP ýa-da host ady ] /lfce/tecmint.html görkezse, serwer açylar /var/www/html/lfce/tecmint.html (şeýle faýlyň bardygyny göz öňünde tutup) we 200 ( Bolýar ) jogap bilen wakany giriş gündeligine ýazdyryň.

Giriş gündeligi, adatça, access.log ýa-da access_log ýaly wekilçilikli at bilen /var/log içinde bolýar. Hatda bu gündeligi (we säwlik gündeligini) bir bukjanyň içinde tapyp bilersiňiz (mysal üçin, CentOS-da /var/log/httpd ). Otherwiseogsam, şowsuz waka giriş gündeligine ýazylar, ýöne 404 (Tapylmady) jogaby bilen.

Mundan başga-da, şowsuz wakalar säwlik gündeliginde ýazylar:

giriş gündeligi formaty, esasy konfigurasiýa faýlyndaky LogFormat direktiwasyny ulanyp, islegleriňize görä düzülip bilner, şol bir wagtyň özünde säwlik gündeligi bilenem edip bilmersiňiz. .

giriş gündeliginiň deslapky formaty aşakdaky ýaly:

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

Göterim belgisinden öň ýazylan harplaryň hersinde serwer belli bir maglumat ýazgysyny görkezýär:

we lakam islege bagly lakam bolup, ähli konfigurasiýa setirine täzeden girmezden beýleki gündelikleri sazlamak üçin ulanylyp bilner.

Goşmaça saýlawlar üçin Apache resminamalarynda LogFormat direktiwasyna [omörite gündelik formatlary bölümine] ýüz tutup bilersiňiz.

Iki hasaba alyş faýly ( giriş we ýalňyşlyk ) Apache serwerinde bolup geçýän wakalara bir göz bilen çalt derňemek üçin ajaýyp çeşmäni görkezýär. Elbetde, olar ulgam administratorynyň meseleleri çözmek üçin ulanýan ilkinji guralydyr.

Netijede, başga bir möhüm görkezme serwere görkezilen portda ýa-da salgy/port kombinasiýasynda gelýän haýyşlary kabul etmegi aýdýan Diňläň :

Diňe port belgisi kesgitlenen bolsa, apache ähli port interfeýslerinde berlen porty diňlär (“kartoçka belgisi” “ähli ulgam interfeýslerini” görkezmek üçin ulanylýar).

IP adresi we port ikisi kesgitlenen bolsa, apache berlen port bilen tor interfeýsiniň kombinasiýasyny diňlär.

(Aşakdaky mysallarda görşüňiz ýaly) diňlemek üçin birnäçe adresi we portlary kesgitlemek üçin bir wagtyň özünde birnäçe diňlemek direktiwasynyň ulanylyp bilinjekdigine üns bermegiňizi haýyş edýäris. Bu opsiýa serwere sanalan salgylaryň we portlaryň haýsydyr biriniň isleglerine jogap bermegi tabşyrýar.

Ady esasly wirtual öý eýelerini gurmak

Wirtual host düşünjesi, şol bir fiziki enjam tarapyndan hyzmat edilýän aýratyn sahypany (ýa-da domeni) kesgitleýär. Aslynda, wirtual host hökmünde bir\ hakyky serwerinde birnäçe saýt/domen hyzmat edilip bilner. Bu amal dürli ulanyjylara dürli saýtlaryň hyzmat edýändigi görünýän ahyrky ulanyja aýdyňdyr. web serwerleri.

Ady esasly wirtual hosting, serwere HTTP sözbaşylarynyň bir bölegi hökmünde host adyny habar bermek üçin müşderä bil baglamaga mümkinçilik berýär. Şeýlelik bilen, bu usuly ulanyp, dürli öý eýeleri şol bir IP adresi paýlaşyp bilerler.

Her wirtual host DocumentRoot bukjasynda düzülendir. Biziň ýagdaýymyz üçin, hersi degişli katalogda ýerleşýän synag gurnama üçin aşakdaky domenleri ulanarys:

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

Sahypalaryň dogry görkezilmegi üçin her VirtualHost katalogyndan 755 chmod ederis:

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

Ondan soň her public_html katalogynyň içinde index.html faýly dörediň:

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

Ahyrynda, CentOS we openSUSE -da /etc/httpd/conf/httpd.conf ýa-da /-iň aşagyna aşakdaky bölümi goşuň. etc/apache2/httpd.conf degişlilikde ýa-da eýýäm bar bolsa üýtgediň.

<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>

Şeýle hem, her wirtual host kesgitlemesini /etc/httpd/conf.d bukjasynyň içindäki aýratyn faýllara goşup bilersiňiz. Şeýle etmegi saýlasaňyz, her konfigurasiýa faýly aşakdaky ýaly atlandyrylmalydyr:

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

Başgaça aýdylanda, sahypa ýa-da domen adyna .conf goşmaly.

Ubuntu -da her aýratyn konfigurasiýa faýlyna /etc/apache2/sites-available/[site name] .conf diýilýär. Soňra her sahypa degişlilikde aşakdaky ýaly a2ensite ýa-da a2dissite buýruklary bilen işledilýär ýa-da ýapylýar.

# 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

a2ensite we a2dissite buýruklary wirtual host konfigurasiýa faýlyna baglanyşyk döredýär we olary /etc/apache2/saýtlar bilen işleýän katalog.

Başga bir Linux gutusyndan iki sahypa hem göz aýlamak üçin şol domenlere haýyşlary belli bir IP-e gönükdirmek üçin şol enjamdaky /etc/host faýlyna aşakdaky setirleri goşmaly bolarsyňyz. salgysy.

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

Howpsuzlyk çäresi hökmünde SELinux Apache-e deslapky/var/log/httpd-den başga bukja ýazgy ýazmagyna rugsat bermez.

SELinux-y öçürip ýa-da dogry howpsuzlyk kontekstini düzüp bilersiňiz:

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

bu ýerde xxxxxx wirtual hostlaryňyzy kesgitlän/var/www/html içindäki katalogdyr.

Apache-i täzeden açanyňyzdan soň ýokardaky salgylarda aşakdaky sahypany görmeli:

Apache bilen SSL gurmak we sazlamak

Ahyrynda, Apache bilen ulanmak üçin öz-özüne gol çekilen şahadatnamasyny dörederis we gurarys. Bu hili gurnama, hususy LAN ýaly kiçi şertlerde kabul ederliklidir.

Şeýle-de bolsa, serweriňiz internet arkaly daşarky dünýä mazmunyny açsa, 3-nji tarap tarapyndan gol çekilen şahadatnamany, hakykylygyny tassyklamak islärsiňiz. Her niçigem bolsa, şahadatnama sahypaňyza ýa-da sahypaňyza iberilýän maglumatlary şifrlemäge mümkinçilik berer.

CentOS we openSUSE -de mod_ssl paketini gurmaly.

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

Ubuntu -da bolsa, Apache üçin ssl modulyny işletmeli bolarsyňyz.

# a2enmod ssl

Aşakdaky ädimler CentOS synag serweri arkaly düşündirilýär, ýöne gurnamaňyz beýleki paýlamalarda birmeňzeş bolmaly (haýsydyr bir mesele bilen ýüzbe-ýüz bolsaňyz, teswirleriňizi ulanyp soraglaryňyzy goýmakdan çekinmäň görnüşi).

1-nji ädim [Meýletin] : Şahadatnamalaryňyzy saklamak üçin katalog dörediň.

# mkdir /etc/httpd/ssl-certs

2-nji ädim : Öz gol çeken şahadatnamany we ony gorajak açary dörediň.

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

Aboveokarda sanalan wariantlaryň gysgaça düşündirişi:

  1. req -X509 x509 şahadatnamasyny döredýändigimizi görkezýär.
  2. -nodlar (DES ýok)\açary şifrlemäň diýmekdir.
  3. -günler 365 şahadatnamanyň güýje girjek günleriniň sany.
  4. -newkey rsa: 2048 2048 bitli RSA açary döredýär.
  5. -keyout /etc/httpd/ssl-certs/apache.key RSA açarynyň mutlak ýoludyr.
  6. -out /etc/httpd/ssl-certs/apache.crt şahadatnamanyň mutlak ýoludyr.

3-nji ädim : Saýlanan wirtual host konfigurasiýa faýlyňyzy açyň (ýa-da öň düşündirilişi ýaly /etc/httpd/conf/httpd.conf degişli bölüm) we aşakdaky setirleri goşuň portda 443 diňleýän wirtual host deklarasiýasy.

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

Goşmalydygyny ýadyňyzdan çykarmaň.

NameVirtualHost *:443

ýokarsynda, aşakda

NameVirtualHost *:80

Iki görkezme hem apache-e ähli ulgam interfeýsleriniň 443 we 80 portlaryny diňlemegi tabşyrýar.

Aşakdaky mysal /etc/httpd/conf/httpd.conf -den alyndy:

Soňra Apache-i täzeden açyň,

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

Brauzeriňizi https://www.ilovelinux.com görkeziň. Size aşakdaky ekran görkeziler.

Öňe gidiň we\ töwekgelçiliklere düşünýärin we\ kadadan çykma basyň.

Ahyrynda\ Bu kadadan çykmany hemişelik saklaň barlaň we\ Howpsuzlyk kadasyny tassyklaň düwmesine basyň.

We https ulanyp, baş sahypaňyza ugrukdyrylarsyňyz.

Gysgaça mazmun

Bu ýazgyda, maglumatlaryň geçirilmegini üpjün etmek üçin SSL bilen Apache we adyna esaslanýan wirtual hostingini nädip sazlamalydygyny görkezdik. Näme üçindir haýsydyr bir meselä baş goşan bolsaňyz, aşakdaky düşündiriş formuny ulanyp bize habar beriň. Üstünlikli gurnamany ýerine ýetirmäge kömek edenimizden has hoşal bolarys.

Şeýle hem okaň

  1. Apache IP esasly we ady esasly wirtual hosting
  2. Whost opsiýalaryny açmak/öçürmek bilen Apache wirtual hostlaryny döretmek
  3. Monitor\Apache web serweri\Apache GUI guralyny ulanyp