Otu esi etinye Apache na Virtual Host na CentOS 8


Apache webụsaịtị bụ ihe mepere emepe yana sava weebụ HTTP ama ama nke na-aga n'ihu na-anụ ụtọ oke ahịa na ụlọ ọrụ nnabata. Ọ na-ebufe ya na ọtụtụ atụmatụ gụnyere nkwalite modul, nkwado ọtụtụ protocol, nhazi dị mfe, yana nkwado asụsụ ọtụtụ iji kpọtụrụ naanị ole na ole.

N'ime ntuziaka a, anyị ga-ejegharị gị site na ntinye nke sava weebụ Apache na CentOS 8 na RHEL 8 nwere gburugburu ebe obibi ndị ọbịa. N'oge edere nkuzi a, ụdị Apache kachasị ọhụrụ bụ Apache 2.2.43.

Ịwụnye Apache Web Server

Iji malite, buru ụzọ melite ndepụta ngwugwu CentOS 8 ma ọ bụ RHEL 8 gị site na iji iwu dnf na-esonụ.

$ sudo dnf update

Ozugbo mmelite ahụ zuru, wụnye Apache webserver site na ịme iwu ndị a.

$ sudo dnf install httpd

Ozugbo arụnyere, ị nwere ike nyochaa ụdị Apache site na iji iwu rpm.

$ rpm -qi httpd

Iwu a na-ebipụta ozi dị iche iche dị ka ụdị, ụbọchị ewepụtara, ihe nrụpụta na nhazi nke ngwugwu ahụ.

Iji malite ọrụ weebụ Apache HTTP, mee iwu systemctl.

$ sudo systemctl start httpd

Iji gosi ma ọ bụrụ na ọrụ na-arụ ọrụ, mebie.

$ sudo systemctl status httpd

Site na mmepụta, ọnọdụ 'arụ ọrụ' na akwụkwọ ndụ akwụkwọ ndụ na-egosi na sava weebụ Apache na-arụ ọrụ.

Iji kpochapụ obi abụọ ọ bụla na sava weebụ na-agba ọsọ, rịọ maka ibe nnwale sitere na Apache site na ịgagharị adreesị IP ma ọ bụ aha ngalaba nke ihe nkesa gị dị ka egosiri.

http://server-ip  

Ị nwere ike nweta IP nkesa gị site na iji iwu curl.

$ curl ifconfig.me 
OR
$ curl -4 icanhazip.com

Mgbe ị na-eme nchọgharị na adreesị IP nke ihe nkesa, ị ga-egosipụta ibe weebụ ndị a.

Nke a bụ nkwenye doro anya na sava weebụ na-agba ọsọ.

Ijikwa Apache Webserver

Site na arụnyere Apache ma na-agba ọsọ, ị nwere ike iji ngwaọrụ nyocha systemctl jikwaa Apache.

Dịka ọmụmaatụ, iji kwụsị Apache, mee iwu:

$ sudo systemctl stop httpd

Ka ịmalite ọrụ ahụ ọzọ, mee:

$ sudo systemctl start httpd

Ọ bụrụ na ịmeela mgbanwe na faịlụ nhazi ya ọ bụla ma ịkwesịrị ịmalitegharịa iji tinye mgbanwe ndị ahụ, mebie iwu:

$ sudo systemctl restart httpd

Ịmalitegharị ọrụ ahụ na-ebutekarị ọgbaghara ọrụ. Nhọrọ kacha mma bụ ibugharị ya na-enweghị nkwụsị ọ bụla na njikọ ahụ.

$ sudo systemctl reload httpd

Iji malite sava weebụ Apache na-akpaghị aka mgbe ị na-ebuli ma ọ bụ ịmalitegharị, mee iwu n'okpuru. Nke a ga-ahụ na Apache ga-amalite na-akpaghị aka na-enweghị enyemaka gị.

$ sudo systemctl enable httpd

Ọ bụrụ na ịhọrọ ịghara ibido ọrụ na-akpaghị aka na buut, gbaa ọsọ:

$ sudo systemctl disable httpd

Ịtọlite ndị ọbịa Apache Virtual

Site na ndabara, a na-ahazi sava weebụ Apache ka ọ jee ozi ma ọ bụ webata naanị otu webụsaịtị. Ọ bụrụ na ịchọrọ ịkwado naanị otu webụsaịtị, mgbe ahụ, a chọghị usoro a. Mana ọ bụrụ na ị na-eme atụmatụ ịkwado ọtụtụ ngalaba na sava gị, mgbe ahụ ịkwesịrị ịhazi ndị ọbịa Apache mebere.

Onye nnabata mebere bụ faịlụ dị iche nke nwere nhazi nke na-enye gị ohere ịtọ ngalaba dị iche na nke ndabara. Maka ntuziaka a, anyị ga-edozi onye nnabata mebere maka ngalaba crazytechgeek.info.

Ndị ọbịa mebere nke ọma dị na ndekọ /var/www/html ndekọ. Nke a na-arụ ọrụ naanị maka otu saịtị. Iji mepụta onye nnabata dị iche iche maka ngalaba anyị, anyị ga-emepụta usoro ndekọ aha ọzọ n'ime ndekọ ndekọ /var/www dị ka egosiri.

$ sudo mkdir -p /var/www/crazytechgeek.info/html

Ọzọkwa, ị nwekwara ike ịmepụta ndekọ maka ịchekwa faịlụ ndekọ.

$ sudo mkdir -p /var/www/crazytechgeek.info/log

Na-esote, dezie ikike faịlụ jiri $USER mgbanwe gburugburu dịka egosiri.

$ sudo chown -R $USER:$USER /var/www/crazytechgeek.info/html

Ọzọkwa, gbanwee ikike nke ndekọ ndekọ webroot dị ka egosiri.

$ sudo chmod -R 755 /var/www

Na-esote, mepụta ihe nlele index.html faịlụ dị ka egosiri.

$ sudo vim /var/www/crazytechgeek.info/html/index.html

Kụta mkpụrụedemede i na ahụigodo wee mado ụfọdụ ọdịnaya dịka egosiri nke a ga-egosipụta na ihe nchọgharị weebụ mgbe ị na-anwale onye nnabata mebere.

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

Chekwaa wee pụọ na faịlụ nhazi.

Na sample index faịlụ na saịtị ndekọ kere, ị nwere ike ugbu a n'ihu na ike mebere usu faịlụ. Faịlụ nnabata mebere ga-enwe nhazi saịtị ngalaba gị wee kụziere Apache ka ọ ga-esi zaghachi arịrịọ ndị ahịa.

Faịlụ nnabata mebere ga-enwe nhazi saịtị ngalaba gị wee kụziere Apache ka ọ ga-esi zaghachi arịrịọ ndị ahịa. Mana na-aga n'ihu, ịkwesịrị ịmepụta akwụkwọ ndekọ aha 2: akwụkwọ ndekọ aha saịtị dị na saịtị-enyere akwụkwọ ndekọ aha.

A ga-echekwa faịlụ nnabata mebere na saịtị-dị ndekọ mgbe saịtị-enyere ndekọ ga-enwe ihe atụ njikọ nke mebere host.

Mepụta akwụkwọ ndekọ aha abụọ dịka egosiri.

$ sudo mkdir /etc/httpd/sites-available
$ sudo mkdir /etc/httpd/sites-enabled

Na-esote, gbanwee faịlụ nhazi isi nke sava weebụ Apache wee kụziere Apache ebe ị ga-achọta onye nnabata n'ime akwụkwọ ndekọ aha saịtị.

$ sudo vim /etc/httpd/conf/httpd.conf

Tinye ahịrị dị ka egosiri na njedebe nke faịlụ nhazi ahụ.

IncludeOptional sites-enabled/*.conf

Chekwa ma pụọ.

Ugbu a mepụta faịlụ nnabata mebere dị ka egosiri:

$ sudo vim /etc/httpd/sites-available/crazytechgeek.info

Tapawa ọdịnaya dị n'okpuru wee jiri aha ngalaba gị dochie crazytechgeek.info.

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

Chekwaa wee pụọ na faịlụ ahụ.

Ugbu a gbanye faịlụ nnabata mebere site na ịmepụta njikọ ihe atụ na ndekọ saịtị enyere ndekọ.

$ sudo ln -s /etc/httpd/sites-available/crazytechgeek.info.conf /etc/httpd/sites-enabled/crazytechgeek.info.conf

Na-edozi ikike SELinux maka ndị ọbịa mebere

Ụgbọ mmiri CentOS 8 na RHEL 8 nwere SELinux nke bụ modul nchekwa maka ịkwado nchekwa sistemụ Linux. Ebe ọ bụ na ị haziri ndekọ ndekọ aha omenala na nzọụkwụ gara aga, ịkwesịrị imelite ụfọdụ atumatu SELinux iji kụziere sava weebụ Apache ka ọ dee akwụkwọ ndekọ.

Enwere ụzọ 2 n'ịgbanwe atumatu SELinux Apache: Imezi mmezi atumatu n'ụwa niile & amụma dị na ndekọ. A na-ahọrọ nke ikpeazụ n'ihi na ọ ka mma.

Idezi ikike SELinux maka ndekọ ndekọ aha na-enye gị njikwa zuru oke na atumatu websava Apache. Usoro a bụ nnọọ ogologo na-achọ ka ị na-aka hazi onodu ụdị maka ndị ọzọ directories kpọmkwem na mebere usu nhazi faịlụ.

Tupu ịmalite, buru ụzọ kwado ụdị ihe gbara ya gburugburu ekenyere SELinux ndekọ ndekọ aha:

$ sudo ls -dlZ /var/www/crazytechgeek.info/log/

Ihe mmepụta kwesịrị ịdị ka nke anyị nwere n'okpuru.

Site na mpụta, ọnọdụ atọrọ bụ httpd_sys_content_t. Nke a na-egosi na sava weebụ nwere ike ịgụ naanị faịlụ na ndekọ ndekọ. Ịkwesịrị ịgbanwe ọnọdụ a ka ọ bụrụ httpd_log_t iji mee ka Apache mepụta ma tinye ndenye ndekọ na ndekọ.

Ya mere, mee iwu:

$ sudo semanage fcontext -a -t httpd_log_t "/var/www/crazytechgeek.info/log(/.*)?"

Ọ bụrụ na ị nweta njehie dị n'okpuru \semanage: achọghị iwu.

Ọ na-egosi na etinyeghị ngwugwu ndị na-enye iwu semanage. Iji dozie njehie a, ịkwesịrị ịwụnye ngwugwu ndị ahụ. Mana nke mbụ, lelee ngwugwu ndị na-enye iwu semanage site na ịgba ọsọ:

$ sudo dnf whatprovides /usr/sbin/semanage

Ihe mmepụta ahụ na-enye anyị ngwugwu na-enye maka semanage, nke bụ policycoreutils-python-utils.

Ugbu a wụnye ngwugwu dị ka egosiri na iji njikwa ngwugwu DNF.

$ sudo dnf install policycoreutils-python-utils

Iwu maka ịgbanwe ihe gbara ya gburugburu kwesịrị ịrụ ọrụ ugbu a.

$ sudo semanage fcontext -a -t httpd_log_t "/var/www/crazytechgeek.info/log(/.*)?"

Ka ịchekwaa mgbanwe ndị ahụ ma mee ka ha na-aga n'ihu, nye iwu restorecon dị ka egosiri:

$ sudo restorecon -R -v /var/www/crazytechgeek.info/log

Ị nwere ike kwado mgbanwe ndị ahụ site na ịmegharị iwu ahụ ọzọ:

$ sudo ls -dlZ /var/www/crazytechgeek.info/log/

Jide n'aka na ị mara na ụdị ọnọdụ ahụ agbanweela ka ọ bụrụ httpd_log_t dị ka a hụrụ na mmepụta.

Malitegharịa Apache maka mgbanwe ndị a ga-etinye.

$ sudo systemctl restart httpd

Ị nwere ike ikwenye ugbu a ma Apache na-echekwa faịlụ ndekọ na ndekọ ndekọ site na ịdepụta ọdịnaya ya dị ka egosiri:

$ ls -l /var/www/crazytechgeek.info/log/

Ị ga-enwe ike ịhụ faịlụ ndekọ abụọ dị ka egosiri: ndekọ njehie na ịrịọ faịlụ ndekọ.

Nnwale Apache Virtual Host

N'ikpeazụ, ịkwesịrị ijide n'aka na sava weebụ Apache na-ejere faịlụ nnabata gị mebere. Iji mee nke a, mepee ihe nchọgharị gị wee gaa na adreesị IP ma ọ bụ aha ngalaba nke ihe nkesa gị:

http://domain-name

Zuru oke! Nke a na-egosi na ihe niile gara nke ọma na a na-eje ozi onye ọbịa anyị ka a tụrụ anya ya.

N'ime ntuziaka a, anyị amụtala ka esi etinye sava weebụ Apache na CentOS 8 na RHEL 8 yana otu esi ahazi faịlụ nnabata mebere iji nye ọdịnaya maka ngalaba ọzọ. Enwere onwe gị ịhazi ọtụtụ faịlụ nnabata mebere ka ị chere na ọ dabara adaba ịnabata ngalaba ndị ọzọ.

Ọ bụrụ na ịchọrọ ịtọlite nchịkọta nnabata zuru oke, ana m atụ aro ka ị wụnye stack LAMP na CentOS 8.