Kā CentOS 8 instalēt Apache ar virtuālo resursdatoru
Apache tīmekļa serveris ir atvērtā koda un populārs HTTP tīmekļa serveris, kuram joprojām ir milzīga tirgus daļa mitināšanas nozarē. Tas piegādā daudzas funkcijas, tostarp moduļu uzlabojumus, daudzprotokolu atbalstu, vienkāršotu konfigurāciju un vairāku valodu atbalstu, pieminot tikai dažus.
Šajā ceļvedī mēs iepazīstināsim jūs ar Apache tīmekļa servera instalēšanu CentOS 8 un RHEL 8 ar virtuālā resursdatora vidi. Šīs apmācības rakstīšanas laikā Apache jaunākā versija ir Apache 2.2.43.
Apache tīmekļa servera instalēšana
Lai sāktu, vispirms atjauniniet savu CentOS 8 vai RHEL 8 sistēmas pakotņu sarakstu, izmantojot šādu komandu dnf.
$ sudo dnf update
Kad atjaunināšana ir pabeigta, instalējiet Apache tīmekļa serveri, izpildot šādu komandu.
$ sudo dnf install httpd
Pēc instalēšanas jūs varat pārbaudīt Apache versiju, palaižot komandu rpm.
$ rpm -qi httpd
Komanda izdrukā informācijas masīvu, piemēram, paketes versiju, izlaišanas datumu, būvējumu un arhitektūru.
Lai palaistu Apache HTTP tīmekļa pakalpojumu, palaidiet komandu systemctl.
$ sudo systemctl start httpd
Lai apstiprinātu, vai pakalpojums darbojas, izpildiet.
$ sudo systemctl status httpd
No izejas “aktīvais” statuss zaļā krāsā norāda, ka Apache tīmekļa serveris ir izveidots un darbojas.
Lai novērstu jebkādas šaubas par tīmekļa servera darbību, pieprasiet Apache testa lapu, pārlūkojot sava servera IP adresi vai domēna nosaukumu, kā parādīts.
http://server-ip
Servera IP varat iegūt, izpildot komandu čokurošanās.
$ curl ifconfig.me OR $ curl -4 icanhazip.com
Pārlūkojot servera IP adresi, jums jāparāda šāda tīmekļa lapa.
Tas ir drošs apstiprinājums tam, ka tīmekļa serveris darbojas.
Apache tīmekļa servera pārvaldība
Kad Apache ir instalēts un darbojas, Apache pārvaldīšanai varat izmantot pārbaudes rīku systemctl.
Piemēram, lai apturētu Apache, palaidiet komandu:
$ sudo systemctl stop httpd
Lai vēlreiz sāktu pakalpojumu, izpildiet:
$ sudo systemctl start httpd
Ja esat veicis izmaiņas kādā no tā konfigurācijas failiem un jums ir jārestartē, lai veiktu izmaiņas, izpildiet komandu:
$ sudo systemctl restart httpd
Pakalpojuma restartēšana parasti izraisa pakalpojuma traucējumus. Labāka alternatīva ir vienkārši atkārtoti ielādēt bez pārtraukumiem savienojumu.
$ sudo systemctl reload httpd
Lai automātiski palaistu Apache tīmekļa serveri pēc sāknēšanas vai pārstartēšanas, palaidiet zemāk esošo komandu. Tas nodrošinās, ka Apache tiek palaista automātiski bez jūsu iejaukšanās.
$ sudo systemctl enable httpd
Ja izvēlaties nesākt pakalpojumu automātiski, palaižot:
$ sudo systemctl disable httpd
Apache virtuālo saimnieku iestatīšana
Pēc noklusējuma Apache tīmekļa serveris ir konfigurēts tā, lai apkalpotu vai mitinātu tikai vienu vietni. Ja vēlaties mitināt tikai vienu vietni, šī darbība nav nepieciešama. Bet, ja jūs plānojat savā serverī mitināt vairākus domēnus, jums jākonfigurē virtuālie Apache resursdatori.
Virtuālais resursdators ir atsevišķs fails, kas satur konfigurācijas, kas ļauj iestatīt atsevišķu domēnu no noklusējuma. Šajā ceļvedī mēs izveidosim virtuālo resursdatoru domēnam crazytechgeek.info.
Noklusētais virtuālais resursdators atrodas direktorijā /var/www/html
. Tas darbojas tikai vienā vietnē. Lai mūsu domēnam izveidotu atsevišķu virtuālo resursdatoru, direktorijā /var/www
izveidosim citu direktoriju, kā parādīts.
$ sudo mkdir -p /var/www/crazytechgeek.info/html
Turklāt varat arī izveidot direktoriju žurnālfailu glabāšanai.
$ sudo mkdir -p /var/www/crazytechgeek.info/log
Pēc tam rediģējiet faila atļaujas, izmantojot vides mainīgo $USER
, kā parādīts.
$ sudo chown -R $USER:$USER /var/www/crazytechgeek.info/html
Pielāgojiet arī tīmekļa saknes direktorija atļaujas, kā parādīts.
$ sudo chmod -R 755 /var/www
Pēc tam izveidojiet index.html
faila paraugu, kā parādīts.
$ sudo vim /var/www/crazytechgeek.info/html/index.html
Tastatūrā nospiediet burtu i
un ielīmējiet kādu parauga saturu, kā parādīts, kas tiks parādīts tīmekļa pārlūkprogrammā, testējot virtuālo resursdatoru.
<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>
Saglabājiet konfigurācijas failu un izejiet no tā.
Ar izveidoto indeksa faila un vietnes direktorija paraugu tagad varat turpināt un izveidot virtuālo resursdatora failu. Virtuālajā resursdatora failā būs jūsu domēna vietnes konfigurācija, un Apache norādīs, kā tas reaģēs uz klientu pieprasījumiem.
Virtuālajā resursdatora failā būs jūsu domēna vietnes konfigurācija, un Apache norādīs, kā tas reaģēs uz klientu pieprasījumiem. Bet turpinot, jums ir jāizveido 2 direktoriji: direktoriji sites-available
un sites-enabled
.
Virtuālā resursdatora fails tiks saglabāts direktorijā sites-available
, savukārt direktorijā sites-enabled
būs simboliskā saite uz virtuālo resursdatoru.
Izveidojiet abus direktorijus, kā parādīts attēlā.
$ sudo mkdir /etc/httpd/sites-available $ sudo mkdir /etc/httpd/sites-enabled
Pēc tam modificējiet Apache tīmekļa servera galveno konfigurācijas failu un norādiet Apache, kur atrast virtuālo resursdatoru direktorijā, kurā iespējotas vietnes.
$ sudo vim /etc/httpd/conf/httpd.conf
Pievienojiet rindu, kā parādīts konfigurācijas faila beigās.
IncludeOptional sites-enabled/*.conf
Saglabāt un iziet.
Tagad izveidojiet virtuālo resursdatora failu, kā parādīts:
$ sudo vim /etc/httpd/sites-available/crazytechgeek.info
Ielīmējiet zemāk esošo saturu un aizstājiet crazytechgeek.info
ar savu domēna vārdu.
<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>
Saglabājiet un izejiet no faila.
Tagad iespējojiet virtuālo resursdatora failu, izveidojot simbolisku saiti direktorijā vietnes iespējotas
.
$ sudo ln -s /etc/httpd/sites-available/crazytechgeek.info.conf /etc/httpd/sites-enabled/crazytechgeek.info.conf
Virtuālo saimnieku SELinux atļauju pielāgošana
CentOS 8 un RHEL 8 tiek piegādāti ar SELinux, kas ir drošības modulis Linux sistēmas drošības stiprināšanai. Tā kā iepriekšējā darbībā konfigurējāt pielāgotu žurnālu direktoriju, jums jāatjaunina dažas SELinux politikas, lai norādītu Apache tīmekļa serverim rakstīt direktorijā.
Pielāgojot SELinux Apache politikas, pastāv divas pieejas: Vispārīgi pielāgojot politikas un direktorijā esošās politikas. Pēdējam ir priekšroka, jo tas ir vēlams.
Rediģējot žurnāla direktorija SELinux atļaujas, varat absolūti kontrolēt Apache tīmekļa servera politikas. Šī metode ir diezgan ilga, un tai ir nepieciešams manuāli konfigurēt konteksta tipu papildu direktorijiem, kas norādīti virtuālā resursdatora konfigurācijas failā.
Pirms sākat, vispirms apstipriniet konteksta tipu, ko žurnāla direktorijam piešķīra SELinux:
$ sudo ls -dlZ /var/www/crazytechgeek.info/log/
Rezultātam jābūt līdzīgam tam, kas mums ir zemāk.
No izejas iestatītais konteksts ir httpd_sys_content_t. Tas norāda, ka tīmekļa serveris var lasīt failus tikai žurnāla direktorijā. Jums jāmaina šis konteksts uz httpd_log_t, lai Apache ļautu ģenerēt un direktorijā pievienot žurnāla ierakstus.
Tāpēc izpildiet komandu:
$ sudo semanage fcontext -a -t httpd_log_t "/var/www/crazytechgeek.info/log(/.*)?"
Ja jums rodas kļūda zem “semanage: komanda nav atrasta”.
Tas nozīmē, ka pakotnes, kas nodrošina komandu semanage, nav instalētas. Lai novērstu šo kļūdu, jums jāinstalē šie pakotnes. Bet vispirms pārbaudiet, kuras paketes nodrošina semanage komandu, palaižot:
$ sudo dnf whatprovides /usr/sbin/semanage
Rezultāts dod mums paketi, kas nodrošina semanage, kas ir policycoreutils-python-utils.
Tagad instalējiet pakotni, kā parādīts, izmantojot DNF pakotņu pārvaldnieku.
$ sudo dnf install policycoreutils-python-utils
Komandai konteksta maiņai tagad vajadzētu darboties.
$ sudo semanage fcontext -a -t httpd_log_t "/var/www/crazytechgeek.info/log(/.*)?"
Lai saglabātu izmaiņas un padarītu tās pastāvīgas, izsniedziet komandu restorecon, kā parādīts:
$ sudo restorecon -R -v /var/www/crazytechgeek.info/log
Izmaiņas var apstiprināt, vēlreiz palaižot komandu:
$ sudo ls -dlZ /var/www/crazytechgeek.info/log/
Noteikti ņemiet vērā, ka konteksta tips ir mainīts uz httpd_log_t
, kā redzams izvadē.
Restartējiet Apache, lai lietotu izmaiņas.
$ sudo systemctl restart httpd
Tagad jūs varat apstiprināt, vai Apache saglabā žurnāla failus žurnāla direktorijā, uzskaitot tā saturu, kā parādīts:
$ ls -l /var/www/crazytechgeek.info/log/
Jums vajadzētu būt iespējai redzēt divus žurnāla failus, kā parādīts: kļūdu žurnāls un pieprasījuma žurnāla faili.
Apache virtuālā resursdatora pārbaude
Visbeidzot, jums jābūt pārliecinātam, ka Apache tīmekļa serveris apkalpo jūsu virtuālo resursdatora failu. Lai to izdarītu, atveriet pārlūkprogrammu un dodieties uz sava servera IP adresi vai domēna nosaukumu:
http://domain-name
Lieliski! Tas norāda, ka viss noritēja labi un mūsu virtuālais resursdators tiek apkalpots, kā paredzēts.
Šajā ceļvedī mēs esam iemācījušies, kā instalēt Apache tīmekļa serveri CentOS 8 un RHEL 8, kā arī konfigurēt virtuālo resursdatora failu, lai tas apkalpotu papildu domēna saturu. Konfigurējiet vairākus virtuālos resursdatora failus, kā jūs uzskatāt par piemērotiem, lai pielāgotu papildu domēnus.
Ja vēlaties izveidot pilnu mitināšanas kaudzīti, es iesaku CentOS 8 instalēt LAMP kaudzīti.