Kā iestatīt atsevišķu Apache serveri ar uz nosaukumiem balstītu virtuālo mitināšanu ar SSL sertifikātu - 4. daļa


LFCE (saīsinājums no Linux Foundation sertificēta inženiera ) ir apmācīts profesionālis, kuram ir zināšanas tīkla sistēmu instalēšanai, pārvaldīšanai un problēmu novēršanai Linux sistēmās, un viņš ir atbildīgs par sistēmas arhitektūras projektēšanu, ieviešanu un pastāvīgu uzturēšanu.

Šajā rakstā mēs parādīsim, kā konfigurēt Apache tīmekļa satura apkalpošanai un kā iestatīt uz nosaukuma balstītus virtuālos resursdatorus un SSL, ieskaitot pašparakstītu sertifikātu.

Iepazīstinām ar Linux Foundation sertifikācijas programmu (LFCE).

Piezīme. Šis raksts nav domāts par Apache visaptverošu ceļvedi, bet gan par sākumpunktu pašmācībai par šo tēmu LFCE eksāmenam. Šī iemesla dēļ mēs arī šajā apmācībā neaptveram slodzes līdzsvarošanu ar Apache.

Jūs, iespējams, jau zināt citus veidus, kā veikt tos pašus uzdevumus, kas ir labi , ņemot vērā, ka Linux Foundation sertifikācija ir stingri balstīta uz veiktspēju. Tādējādi, kamēr jūs ‘ paveicat darbu ’, jums ir lielas izredzes nokārtot eksāmenu.

Lūdzu, skatiet pašreizējās sērijas 1. daļu (“Tīkla pakalpojumu instalēšana un automātiskās startēšanas konfigurēšana sāknēšanas laikā”), lai iegūtu norādījumus par Apache instalēšanu un palaišanu.

Tagad Apache tīmekļa serveris ir jāinstalē un jādarbojas. To var pārbaudīt, izmantojot šādu komandu.

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

Piezīme. Iepriekš minētā komanda pārbauda, vai apache vai httpd (visizplatītākie tīmekļa dēmona nosaukumi) ir starp darbojošos procesu sarakstā. Ja darbojas Apache, jūs iegūsiet izvadi, kas ir līdzīgs šim.

Galvenā Apache instalācijas pārbaudes un tās darbības pārbaudes metode ir tīmekļa pārlūka palaišana un norādiet uz servera IP. Mums jāiesniedz šāds ekrāns vai vismaz ziņojums, kas apstiprina, ka Apache darbojas.

Apache konfigurēšana

Apache galvenais konfigurācijas fails var atrasties dažādos direktorijos atkarībā no izplatīšanas.

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

Par laimi mums, konfigurācijas direktīvas ir ļoti labi dokumentētas projekta Apache vietnē. Šajā rakstā mēs atsauksies uz dažiem no tiem.

Visvienkāršākais Apache lietojums ir tīmekļa lapu apkalpošana atsevišķā serverī, kurā vēl nav konfigurēti virtuālie resursdatori. Direktīva DocumentRoot norāda direktoriju, kurā Apache apkalpos tīmekļa lapu dokumentus.

Ņemiet vērā, ka pēc noklusējuma visi pieprasījumi tiek ņemti no šī direktorija, taču varat izmantot arī simboliskas saites un/vai aizstājvārdus var izmantot, lai norādītu arī uz citām vietām.

Serveris pievieno ceļu no pieprasītā URL, ja vien tas neatbilst direktīvai Alias (kas ļauj dokumentus uzglabāt vietējā failu sistēmā, nevis zem direktorija, ko norādījis DocumentRoot ). uz dokumenta sakni, lai izveidotu ceļu uz dokumentu.

Piemēram, ņemot vērā šādu DocumentRoot :

Kad tīmekļa pārlūkprogramma norāda uz [ Servera IP vai resursdatora nosaukums ] /lfce/tecmint.html , serveris atvērs /var/www/html/lfce/tecmint.html (pieņemot, ka šāds fails pastāv) un saglabājiet notikumu tā piekļuves žurnālā ar 200 ( OK ) atbildi.

Piekļuves žurnāls parasti atrodas /var/log iekšpusē ar pārstāvja vārdu, piemēram, access.log vai access_log . Jūs pat varat atrast šo žurnālu (un arī kļūdu žurnālu) apakšdirektorijā (piemēram, /var/log/httpd CentOS). Pretējā gadījumā neveiksmīgais notikums joprojām tiks reģistrēts piekļuves žurnālā, bet ar atbildi 404 (Not Found).

Turklāt neveiksmīgie notikumi tiks ierakstīti kļūdu žurnālā :

Piekļuves žurnāla formātu var pielāgot atbilstoši jūsu vajadzībām, izmantojot LogFormat direktīvu galvenajā konfigurācijas failā, turpretī to nevar izdarīt ar kļūdu žurnālu .

Piekļuves žurnāla noklusējuma formāts ir šāds:

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

Ja katrs no burtiem, pirms kuriem ir procentu zīme, norāda serveri, lai reģistrētu noteiktu informāciju:

un segvārds ir izvēles aizstājvārds, ko var izmantot citu žurnālu pielāgošanai, atkārtoti neievadot visu konfigurācijas virkni.

Apache dokumentos varat atsaukties uz LogFormat direktīvu [sadaļa Pielāgoti žurnāla formāti], lai uzzinātu citas iespējas.

Abi žurnālfaili ( piekļuve un kļūda ) ir lielisks resurss, lai īsumā ātri analizētu, kas notiek Apache serverī. Lieki piebilst, ka tie ir pirmais rīks, ko sistēmas administrators izmanto problēmu novēršanai.

Visbeidzot, vēl viena svarīga direktīva ir Klausīties , kas serverim liek pieņemt ienākošos pieprasījumus norādītajā portā vai adreses/porta kombinācijā:

Ja ir noteikts tikai porta numurs, apache klausās norādīto portu visās tīkla saskarnēs (aizstājējzīmi * lieto, lai norādītu ‘visas tīkla saskarnes’).

Ja ir norādīta gan IP adrese, gan ports, tad apache klausīsies norādītā porta un tīkla saskarnes kombināciju.

Lūdzu, ņemiet vērā (kā jūs redzēsit tālāk sniegtajos piemēros), ka vienlaikus var izmantot vairākas Klausīšanās direktīvas, lai norādītu vairākas adreses un pieslēgvietas, kuras klausīties. Šī opcija liek serverim atbildēt uz pieprasījumiem no jebkuras no norādītajām adresēm un portiem.

Uz vārda balstītu virtuālo saimnieku iestatīšana

Virtuālā resursdatora jēdziens nosaka atsevišķu vietni (vai domēnu), kuru apkalpo tā pati fiziskā mašīna. Faktiski vairākas vietnes/domēnus var apkalpot no viena “reālā servera kā virtuālo resursdatoru. Šis process ir pārredzams gala lietotājam, kuram šķiet, ka dažādās vietnes apkalpo atšķirīgi tīmekļa serveri.

Virtuālā mitināšana, kuras pamatā ir nosaukums, ļauj serverim paļauties uz to, ka klients ziņo resursdatora nosaukumu kā daļu no HTTP galvenēm. Tādējādi, izmantojot šo paņēmienu, daudziem dažādiem resursdatoriem var būt viena IP adrese.

Katrs virtuālais resursdators ir konfigurēts direktorijā vietnē DocumentRoot . Mūsu gadījumā testēšanas iestatīšanai mēs izmantosim šādus fiktīvos domēnus, kas katrs atrodas attiecīgajā direktorijā:

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

Lai lapas tiktu parādītas pareizi, mēs chmod katra VirtualHost direktorija 755 :

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

Pēc tam katrā public_html direktorijā izveidojiet faila index.html paraugu:

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

Visbeidzot, vietnēs CentOS un openSUSE pievienojiet šo sadaļu /etc/httpd/conf/httpd.conf vai /apakšdaļā. attiecīgi etc/apache2/httpd.conf vai vienkārši modificējiet to, ja tas jau ir.

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

Lūdzu, ņemiet vērā, ka katru virtuālās resursdatora definīciju varat pievienot arī atsevišķos failos direktorijā /etc/httpd/conf.d . Ja izvēlaties to darīt, katrs konfigurācijas fails ir jānosauc šādi:

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

Citiem vārdiem sakot, vietnes vai domēna nosaukumam jāpievieno .conf .

Programmā Ubuntu katrs atsevišķais konfigurācijas fails tiek nosaukts par /etc/apache2/sites-available/[vietnes nosaukums] .conf . Pēc tam katra vietne tiek iespējota vai atspējota ar komandām a2ensite vai a2dissite , attiecīgi, šādi.

# 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

Komandas a2ensite un a2dissite izveido saites uz virtuālā resursdatora konfigurācijas failu un ievieto (vai noņem) tās /etc/apache2/sites-enabled katalogs.

Lai varētu pārlūkot abas vietnes no cita Linux lodziņa, jums būs jāpievieno šādas rindas failā /etc/hosts šajā mašīnā, lai novirzītu pieprasījumus uz šiem domēniem uz noteiktu IP adrese.

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

Kā drošības līdzeklis SELinux neļaus Apache rakstīt žurnālus direktorijā, kas nav noklusējuma/var/log/httpd.

Varat vai nu atspējot SELinux, vai arī iestatīt pareizo drošības kontekstu:

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

kur xxxxxx ir direktorijs iekšā/var/www/html, kurā esat definējis savus virtuālos saimniekus.

Pēc Apache restartēšanas iepriekš minētajās adresēs jums vajadzētu redzēt šo lapu:

SSL instalēšana un konfigurēšana ar Apache

Visbeidzot, mēs izveidosim un instalēsim pašu parakstītu sertifikātu, ko izmantot kopā ar Apache. Šāda veida iestatīšana ir pieņemama mazās vidēs, piemēram, privātajā LAN.

Tomēr, ja jūsu serveris internetā atklās saturu ārpasaulei, jūs vēlaties instalēt trešās puses parakstītu sertifikātu, lai apstiprinātu tā autentiskumu. Jebkurā gadījumā sertifikāts ļaus jums šifrēt informāciju, kas tiek pārsūtīta uz jūsu vietni, no tās vai tajā.

Vietnēs CentOS un openSUSE ir jāinstalē pakete mod_ssl .

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

Tā kā Ubuntu jums Apache ir jāiespējo ssl modulis.

# a2enmod ssl

Šīs darbības ir izskaidrotas, izmantojot CentOS testa serveri, taču iestatījumam jābūt gandrīz identiskam citos izplatījumos (ja rodas kādas problēmas, nevilcinieties atstāt savus jautājumus, izmantojot komentārus forma).

1. darbība [neobligāti] : izveidojiet direktoriju sertifikātu glabāšanai.

# mkdir /etc/httpd/ssl-certs

2. darbība : ģenerējiet pats parakstītu sertifikātu un atslēgu, kas to aizsargās.

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

Īss iepriekš uzskaitīto iespēju skaidrojums:

  1. req -X509 norāda, ka mēs izveidojam x509 sertifikātu.
  2. -mezgli (NO DES) nozīmē “nešifrēt atslēgu”.
  3. -dienas 365 ir dienu skaits, kurā sertifikāts būs derīgs.
  4. -newkey rsa: 2048 izveido 2048 bitu RSA atslēgu.
  5. -keyout /etc/httpd/ssl-certs/apache.key ir absolūtais RSA atslēgas ceļš.
  6. -out /etc/httpd/ssl-certs/apache.crt ir absolūtais sertifikāta ceļš.

3. darbība : atveriet izvēlēto virtuālā resursdatora konfigurācijas failu (vai tā atbilstošo sadaļu /etc/httpd/conf/httpd.conf kā paskaidrots iepriekš) un pievienojiet šādas rindas: virtuālā resursdatora deklarācija, kas klausās ostā 443 .

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

Lūdzu, ņemiet vērā, ka jums ir jāpievieno.

NameVirtualHost *:443

augšpusē, tieši zemāk

NameVirtualHost *:80

Abas direktīvas liek apache klausīties visu tīkla saskarņu 443 un 80 portos.

Šis piemērs ir ņemts no vietnes /etc/httpd/conf/httpd.conf :

Pēc tam restartējiet Apache,

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

Un novirziet pārlūkprogrammu uz vietni https://www.ilovelinux.com . Jums tiks parādīts šāds ekrāns.

Turpiniet un noklikšķiniet uz Es saprotu riskus un Pievienot izņēmumu .

Visbeidzot, pārbaudiet “ Pastāvīgi saglabāt šo izņēmumu ” un noklikšķiniet uz Apstiprināt drošības izņēmumu .

Un jūs tiksiet novirzīts uz savu mājas lapu, izmantojot https .

Kopsavilkums

Šajā ziņojumā mēs parādījām, kā konfigurēt Apache un uz vārda balstītu virtuālo mitināšanu ar SSL , lai nodrošinātu datu pārraidi. Ja kāda iemesla dēļ jums radās kādi jautājumi, sazinieties ar mums, izmantojot zemāk esošo komentāru veidlapu. Mēs priecāsimies jums palīdzēt veiksmīgi iestatīt.

Lasīt arī

  1. Virtuālā mitināšana ar Apache IP un nosaukumiem
  2. Apache virtuālo saimnieku izveidošana, izmantojot iespējot/atspējot viesotāju opcijas
  3. Pārraugiet “Apache Web Server”, izmantojot “Apache GUI” rīku


Visas tiesības aizsargātas. © Linux-Console.net • 2019-2024