Kif Tinstalla Server Apache Standalone b'Hosting Virtwali Ibbażat fuq Ismijiet b'Ċertifikat SSL - Parti 4


A LFCE (qosra għal Linux Foundation Certified Engineer) huwa professjonist imħarreġ li għandu l-kompetenza biex jinstalla, jimmaniġġja, u jsolvi l-problemi tas-servizzi tan-netwerk fis-sistemi Linux, u huwa responsabbli minn id-disinn, l-implimentazzjoni u l-manutenzjoni kontinwa tal-arkitettura tas-sistema.

F'dan l-artikolu ser nuruk kif tikkonfigura Apache biex iservi kontenut tal-web, u kif twaqqaf hosts virtwali bbażati fuq l-isem u SSL, inkluż ċertifikat iffirmat minnu nnifsu.

L-introduzzjoni tal-Programm ta' Ċertifikazzjoni tal-Fondazzjoni Linux (LFCE).

Nota: Li dan l-artikolu mhux suppost ikun gwida komprensiva dwar Apache, iżda pjuttost punt tat-tluq għall-awtostudju dwar dan is-suġġett għall-eżami LFCE. Għal dik ir-raġuni m'aħniex inkopru l-ibbilanċjar tat-tagħbija b'Apache f'dan it-tutorja lanqas.

Forsi diġà taf modi oħra biex twettaq l-istess kompiti, li huwa OK meta wieħed iqis li ċ-Ċertifikazzjoni tal-Fondazzjoni Linux huma strettament ibbażati fuq il-prestazzjoni. B’hekk, sakemm ‘tagħmel ix-xogħol’, għandek ċans tajjeb li tgħaddi mill-eżami.

Jekk jogħġbok irreferi għal Parti 1 tas-serje attwali (Installazzjoni ta' Servizzi tan-Netwerk u Konfigurazzjoni tal-Istartjar Awtomatiku mal-Ibbutjar) għal struzzjonijiet dwar l-installazzjoni u l-bidu ta' Apache.

Sa issa, għandu jkollok is-server tal-web Apache installat u jaħdem. Tista' tivverifika dan bil-kmand li ġej.

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

Nota: Li l-kmand ta 'hawn fuq jiċċekkja għall-preżenza ta' jew apache jew httpd (l-aktar ismijiet komuni għad-daemon tal-web) fost il-lista ta 'proċessi li qed jaħdmu. Jekk Apache qed jaħdem, ikollok output simili għal dan li ġej.

Il-metodu aħħari biex tiġi ttestjata l-installazzjoni tal-Apache u tivverifika jekk tkunx qed taħdem huwa li tniedi web browser u tipponta lejn l-IP tas-server. Għandna niġu ppreżentati bl-iskrin li ġej jew għall-inqas messaġġ li jikkonferma li Apache qed jaħdem.

Konfigurazzjoni ta' Apache

Il-fajl tal-konfigurazzjoni prinċipali għal Apache jista 'jinstab f'direttorji differenti skont id-distribuzzjoni tiegħek.

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

Fortunatament għalina, id-direttivi tal-konfigurazzjoni huma dokumentati tajjeb ħafna fis-sit web tal-proġett Apache. Se nirreferu għal xi wħud minnhom matul dan l-artikolu.

L-użu l-aktar bażiku ta 'Apache huwa li jservi paġni tal-web f'server waħdu fejn l-ebda hosts virtwali għadhom ma ġew ikkonfigurati. Id-direttiva DocumentRoot tispeċifika d-direttorju li minnu Apache se jservi d-dokumenti tal-paġni tal-web.

Innota li b'mod awtomatiku, it-talbiet kollha jittieħdu minn dan id-direttorju, iżda tista' wkoll tuża links simboliċi u/jew psewdonimi jistgħu jintużaw biex jindikaw postijiet oħra wkoll.

Sakemm ma tkunx imqabbla mid-direttiva Alias (li tippermetti li d-dokumenti jinħażnu fis-sistema tal-fajls lokali minflok taħt id-direttorju speċifikat minn DocumentRoot), is-server jehmeż il-mogħdija mill-URL mitlub għall-għerq tad-dokument biex tagħmel it-triq għad-dokument.

Pereżempju, minħabba dan li ġej DocumentRoot:

Meta l-web browser jindika [Server IP jew hostname]/lfce/tecmint.html, is-server jiftaħ /var/ www/html/lfce/tecmint.html (jekk wieħed jassumi li tali fajl jeżisti) u ssejvja l-avveniment fir-reġistru tal-aċċess tiegħu bi tweġiba 200 (OK).

Ir-reġistru tal-aċċess tipikament jinstab ġewwa /var/log taħt isem rappreżentattiv, bħal access.log jew access_log. Tista 'saħansitra ssib dan il-ġurnal (u l-ġurnal tal-iżbalji wkoll) ġewwa sottodirettorju (per eżempju, /var/log/httpd f'CentOS). Inkella, l-avveniment li falla xorta jkun illoggjat fir-reġistru tal-aċċess iżda b'rispons 404 (Mhux Jinstab).

Barra minn hekk, l-avvenimenti li fallew se jiġu rreġistrati fil-ġurnal tal-iżbalji:

Il-format tar-log tal-aċċess jista’ jiġi personalizzat skont il-bżonnijiet tiegħek billi tuża d-direttiva LogFormat fil-fajl tal-konfigurazzjoni prinċipali, filwaqt li ma tistax tagħmel l-istess bir-log tal-iżbalji .

Il-format default tar-log tal-aċċess huwa kif ġej:

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

Fejn kull waħda mill-ittri preċeduta minn sinjal tal-perċentwali tindika lis-server biex jirreġistra ċerta biċċa informazzjoni:

u laqam huwa psewdonimu fakultattiv li jista' jintuża biex jippersonalizza zkuk oħra mingħajr ma jkun hemm għalfejn terġa' tidħol fis-sekwenza tal-konfigurazzjoni kollha.

Tista' tirreferi għad-direttiva LogFormat [sezzjoni tal-formati ta' log personalizzati] fid-doks Apache għal aktar għażliet.

Iż-żewġ log files (aċċess u żball) jirrappreżentaw riżorsa kbira biex tanalizza malajr f'daqqa t'għajn x'qed jiġri fuq is-server Apache. M'għandniex xi ngħidu, huma l-ewwel għodda li juża amministratur tas-sistema biex issolvi l-problemi.

Fl-aħħarnett, direttiva oħra importanti hija Isma, li tgħid lis-server biex jaċċetta talbiet deħlin fuq il-port speċifikat jew il-kombinazzjoni tal-indirizz/port:

Jekk jiġi definit numru tal-port biss, l-apache se jisma' l-port mogħti fuq l-interfaces tan-netwerk kollha (is-sinjal wildcard * jintuża biex jindika 'l-interfaces tan-netwerk kollha').

Jekk kemm l-indirizz IP kif ukoll il-port huma speċifikati, allura l-apache se jisma 'fuq il-kombinazzjoni ta' port partikolari u interface tan-netwerk.

Jekk jogħġbok innota (kif se tara fl-eżempji hawn taħt) li direttivi multipli Isma jistgħu jintużaw fl-istess ħin biex jispeċifikaw indirizzi multipli u portijiet biex jisimgħu. Din l-għażla tagħti struzzjonijiet lis-server biex iwieġeb għal talbiet minn kwalunkwe indirizz u port elenkati.

Twaqqif ta' Hosts Virtwali Ibbażati fuq Ismijiet

Il-kunċett ta 'host virtwali jiddefinixxi sit individwali (jew dominju) li huwa moqdi mill-istess magna fiżika. Fil-fatt, siti/oqsma multipli jistgħu jiġu moqdija minn server wieħed \reali bħala host virtwali. Dan il-proċess huwa trasparenti għall-utent aħħari, li għalih jidher li s-siti differenti qed jiġu moqdija minn distinti. servers tal-web.

Hosting virtwali bbażat fuq l-isem jippermetti lis-server jiddependi fuq il-klijent biex jirrapporta l-isem tal-host bħala parti mill-headers HTTP. Għalhekk, billi tuża din it-teknika, ħafna hosts differenti jistgħu jaqsmu l-istess indirizz IP.

Kull host virtwali huwa kkonfigurat f'direttorju fi ħdan DocumentRoot. Għall-każ tagħna, se nużaw id-dominji finti li ġejjin għas-setup tal-ittestjar, kull wieħed jinsab fid-direttorju korrispondenti:

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

Sabiex il-paġni jintwerew b'mod korrett, aħna se chmod id-direttorju ta' kull VirtualHost għal 755:

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

Sussegwentement, oħloq kampjun ta' fajl index.html ġewwa kull direttorju public_html:

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

Fl-aħħarnett, f'CentOS u openSUSE żid it-taqsima li ġejja fil-qiegħ ta' /etc/httpd/conf/httpd.conf jew / etc/apache2/httpd.conf, rispettivament, jew sempliċement immodifikah jekk diġà jkun hemm.

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

Jekk jogħġbok innota li tista' wkoll iżżid kull definizzjoni ta' host virtwali f'fajls separati ġewwa d-direttorju /etc/httpd/conf.d. Jekk tagħżel li tagħmel hekk, kull fajl ta' konfigurazzjoni għandu jissemma kif ġej:

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

Fi kliem ieħor, għandek bżonn iżżid .conf mas-sit jew l-isem tad-dominju.

F'Ubuntu, kull fajl ta' konfigurazzjoni individwali jismu /etc/apache2/sites-available/[isem tas-sit].conf. Kull sit imbagħad jiġi attivat jew diżattivat bil-kmandi a2ensite jew a2dissite, rispettivament, kif ġej.

# 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

Il-kmandi a2ensite u a2dissite joħolqu links għall-fajl tal-konfigurazzjoni tal-host virtwali u poġġihom (jew neħħihom) fil-/etc/apache2/sites-enabled direttorju.

Biex tkun tista 'żżid iż-żewġ siti minn kaxxa Linux oħra, ser ikollok bżonn iżżid il-linji li ġejjin fil-fajl /etc/hosts f'dik il-magna sabiex terġa' tindirizza t-talbiet għal dawk id-dominji għal IP speċifiku. indirizz.

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

Bħala miżura ta 'sigurtà, SELinux mhux se jippermetti lil Apache jikteb zkuk f'direttorju għajr il-default /var/log/httpd.

Tista' jew tiddiżattiva SELinux, jew issettja l-kuntest tas-sigurtà t-tajjeb:

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

fejn xxxxxx huwa d-direttorju ġewwa /var/www/html fejn iddefinijt l-Ospiti Virtwali tiegħek.

Wara li terġa 'tibda Apache, għandek tara l-paġna li ġejja fl-indirizzi ta' hawn fuq:

Installazzjoni u Konfigurazzjoni SSL ma Apache

Fl-aħħarnett, aħna se noħolqu u ninstallaw ċertifikat awtoffirmat biex nużaw ma 'Apache. Dan it-tip ta 'setup huwa aċċettabbli f'ambjenti żgħar, bħal LAN privata.

Madankollu, jekk is-server tiegħek jesponi l-kontenut għad-dinja ta 'barra fuq l-Internet, tkun trid tinstalla ċertifikat iffirmat minn parti terza biex tikkorrobora l-awtentiċità tiegħu. Jew il-mod, ċertifikat jippermettilek tikkodifika l-informazzjoni li tiġi trażmessa lejn, minn, jew ġewwa s-sit tiegħek.

F'CentOS u openSUSE, għandek bżonn tinstalla l-pakkett mod_ssl.

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

Billi f'Ubuntu ser ikollok tippermetti l-modulu ssl għal Apache.

# a2enmod ssl

Il-passi li ġejjin huma spjegati bl-użu ta' server tat-test CentOS, iżda s-setup tiegħek għandu jkun kważi identiku fid-distribuzzjonijiet l-oħra (jekk tiltaqa' ma' xi tip ta' kwistjonijiet, toqgħodx lura milli tħalli l-mistoqsijiet tiegħek billi tuża l-kummenti forma).

Pass 1 [Mhux obbligatorju]: Oħloq direttorju biex taħżen iċ-ċertifikati tiegħek.

# mkdir /etc/httpd/ssl-certs

Pass 2: Iġġenera ċ-ċertifikat iffirmat lilek innifsek u ċ-ċavetta li tipproteġih.

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

Spjegazzjoni qasira tal-għażliet elenkati hawn fuq:

  1. req -X509 jindika li qed noħolqu ċertifikat x509.
  2. -nodes (NO DES) tfisser \ma tikkodifikax iċ-ċavetta.
  3. -jiem 365 huwa n-numru ta' jiem li ċ-ċertifikat ikun validu għalihom.
  4. -newkey rsa:2048 toħloq ċavetta RSA ta' 2048 bit.
  5. -keyout /etc/httpd/ssl-certs/apache.key hija l-mogħdija assoluta taċ-ċavetta RSA.
  6. -out /etc/httpd/ssl-certs/apache.crt hija l-mogħdija assoluta taċ-ċertifikat.

Pass 3: Iftaħ il-fajl tal-konfigurazzjoni tal-host virtwali magħżul tiegħek (jew it-taqsima korrispondenti tiegħu f'/etc/httpd/conf/httpd.conf kif spjegat qabel) u żid il-linji li ġejjin ma' dikjarazzjoni tal-host virtwali li tisma' fuq il-port 443.

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

Jekk jogħġbok innota li għandek bżonn iżżid.

NameVirtualHost *:443

fin-naħa ta’ fuq, eżatt taħt

NameVirtualHost *:80

Iż-żewġ direttivi jagħtu struzzjonijiet lil apache biex jisma' fuq il-portijiet 443 u 80 tal-interfaces tan-netwerk kollha.

L-eżempju li ġej huwa meħud minn /etc/httpd/conf/httpd.conf:

Imbagħad erġa ibda Apache,

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

U poġġi l-browser tiegħek lejn https://www.ilovelinux.com. Inti ser tiġi ppreżentata bl-iskrin li ġej.

Kompli u kklikkja fuq \Nifhem ir-riskji” u \Żid eċċezzjoni.

Fl-aħħarnett, iċċekkja \Aħżen b'mod permanenti din l-eċċezzjoni u kklikkja \Ikkonferma l-Eċċezzjoni tas-Sigurtà.

U int se tiġi ridirett lejn il-paġna ewlenija tiegħek billi tuża https.

Sommarju

F'din il-kariga wrejna kif tikkonfigura l-hosting virtwali Apache u ibbażat fuq l-isem b'SSL biex niżguraw it-trażmissjoni tad-dejta. Jekk għal xi raġuni ltqajt ma' xi kwistjonijiet, tħossok liberu li tgħarrafna billi tuża l-formola tal-kummenti hawn taħt. Inkunu ferħanin li ngħinuk twettaq set up ta' suċċess.

Aqra wkoll

  1. Apache Ibbażat fuq IP u Hosting Virtwali Ibbażat fuq Ismijiet
  2. Ħolqien ta' Hosts Virtwali Apache b'Għażliet ta' Attiva/Iddiżattiva Vhosts
  3. Immonitorja \Apache Web Server” billi tuża l-Għodda \Apache GUI”