Ki jan yo enstale ak konfigirasyon Apache (httpd) ak ann ankripte TLS/SSL sou AlmaLinux 8

Apache, konnen tou kòm Apache HTTP sèvè, se te youn nan aplikasyon sèvè entènèt ki pi lajman itilize globalman pou dè dekad ki sot pase yo. Li se yon lojisyèl aplikasyon entènèt gratis ak sous ouvè konsève pa la Apache lojisyèl Fondasyon. Apache bay kèk karakteristik pwisan ak modil dinamik chaje, entegrasyon fasil ak lòt lojisyèl, ak manyen fichye estatik, pami lòt karakteristik popilè.

Nan leson patikilye sa a, ou pral aprann ki jan yo enstale Apache Web Server sou AlmaLinux 8.

Kondisyon

  • OS rekòmande: AlmaLinux 8.
  • Kont itilizatè: Yon kont itilizatè ak sudo privilèj or aksè rasin (su kòmand).

Mete ajou sistèm operasyon

Mete ajou ou AlmaLinux sistèm operasyon pou asire tout pakè ki egziste deja yo ajou:

sudo dnf update && sudo dnf upgrade -y

Tutorial la pral sèvi ak la sudo kòmand ak sipoze ou gen estati sudo. Pou verifye estati sudo sou kont ou:

sudo whoami

Egzanp pwodiksyon ki montre estati sudo:

[joshua@localhost ~]$ sudo whoami
root

Si ou pa mete yon kont itilizatè sudo epi ou ta renmen, vizite leson patikilye nou an sou Ki jan yo ajoute yon itilizatè nan Sudoers sou AlmaLinux.

Pou itilize kont rasin, sèvi ak lòd sa a ak modpas rasin lan pou konekte.

su

reklam


Enstale Apache (HTTPD)

Apache, pa default, se nan kouran App AlmaLinux 8 la. Sa a se pi pratik pou pifò itilizatè yo paske li trè estab ak an sekirite. Pou enstale Apache, louvri tèminal ou a epi egzekite lòd sa a:

sudo dnf install httpd

Egzanp pwodiksyon:

Ki jan yo enstale ak konfigirasyon Apache (httpd) ak ann ankripte TLS/SSL sou AlmaLinux 8

Kalite "Y", Lè sa a, peze "ENTRE KLE" kontinye.

Apre sa, pa default Apache (HTTPD) vini enfim epi yo pa aktive. Premyèman, kòmanse sèvis la.

sudo systemctl start httpd

Opsyonèlman, pèmèt Apache sou bòt sistèm lan.

sudo systemctl enable httpd

Egzanp pwodiksyon si siksè:

Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.

Tcheke pou wè si Apache2 ap kouri kòrèkteman lè l sèvi avèk sa ki annapre yo systemctl lòd:

systemctl status httpd

Egzanp pwodiksyon si tout bagay anfòm:

Ki jan yo enstale ak konfigirasyon Apache (httpd) ak ann ankripte TLS/SSL sou AlmaLinux 8

Konfigirasyon Règ firewall

Li pa otomatikman ajoute règ firewall nan pò estanda 80 oswa 443 pò yo lè w ap enstale Apache. Anvan ou kontinye, ou ta dwe mete règ sa yo, sa a pral depann de ki pò ou pral itilize, men tout opsyon yo ki nan lis.

Louvri pò 80 oswa HTTP:

sudo firewall-cmd --permanent --zone=public --add-service=http

Louvri pò 443 oswa HTTPS:

sudo firewall-cmd --permanent --zone=public --add-service=https

Rechaje firewall pou fè chanjman an vigè

sudo firewall-cmd --reload

reklam


Verifye Apache Web Server

Kounye a ke ou te enstale ak konfigirasyon, li se tan yo teste soti pou wè si Apache 2 ka rive jwenn epi li ap travay kòrèkteman lè w mande yon paj.

Ou ka jwenn aksè nan paj aterisaj Apache default la pou tcheke si lojisyèl an kouri kòrèkteman nan adrès IP sèvè ou a. Pou chèche konnen sa, si ou pa konnen, sèvi ak lòd sa a anba a:

hostname -I

Ou ta dwe retounen adrès IP entèn sèvè a sou kòm yon egzanp:

###EXAMPLE ONLY###
192.168.50.15 

Ou ka jwenn 2 a 3 rezilta tounen. Eseye chak youn jiskaske ou jwenn adrès IP kòrèk la.

Si ou bezwen adrès IP piblik ou a (ekstèn), sèvi ak kòmandman sa a pito:

curl -4 icanhazip.com

Ou ka bezwen enstale pake CURL la si li manke. Pou fè sa, egzekite lòd sa a:

sudo dnf install curl -y

Yon fwa ou gen adrès IP serveurs ou yo, louvri navigatè entènèt ou pi renmen epi antre sa ki annapre yo:

http://your_server_ip

Ou ta dwe jwenn paj sa a nan navigatè entènèt ou a:

Ki jan yo enstale ak konfigirasyon Apache (httpd) ak ann ankripte TLS/SSL sou AlmaLinux 8

Felisitasyon, ou enstale sèvè wèb Apache 2 epi ou ap travay kounye a.

Pwochen etap la se mete kanpe lame vityèl.

Kreye ak oswa konfigure Virtual Hosts pou Apache

Sèvi ak sèvè wèb Apache la, ou ka kreye lame vityèl pou jere konfigirasyon pou plis pase yon domèn kouri sou yon sèl sèvè. Si ou te itilize Nginx anvan, li se ekivalan a nan blòk sèvè. Nan egzanp ki anba a, leson patikilye a pral kreye yon domèn egzanp-domain.com ke ou pral ranplase ak non domèn ou.

Kreye ak oswa konfigure Anyè

Premyerman, kite / Var / www / html anyè entak kòm anyè default, Lè sa a, kreye yon nouvo anyè, pou egzanp-domain.com, jan pi ba a:

sudo mkdir /var/www/example_domain

Pwochen etap la se bay pwopriyetè anyè a ak varyab anviwònman $USER:

sudo chown -R $USER:$USER /var/www/example_domain

Anjeneral, otorizasyon rasin entènèt yo ta dwe mete kòrèkteman, epi ou ka verifye lè l sèvi avèk la -ls l kòmande:

ls -l /var/www/example_domain

Egzanp pwodiksyon:

drwxr-xr-x 2 joshua joshua 4096 Oct 10 11:46 example_domain

Kòm ou ka wè, nou gen pèmisyon nan drwxr-xr-x, ki se ekivalan a chmod 755. Si ou pa gen pèmisyon sa a mete, kouri lòd sa a:

sudo chmod -R 755 /var/www/example_domain

Koulye a, kreye yon echantiyon paj index.html lè l sèvi avèk editè tèks ou pi renmen. Leson patikilye a pral sèvi ak nano jan pi ba a:

sudo nano /var/www/example_domain/index.html

Nan dosye a, kopye epi kole kòd sa a:

<html>
    <head>
        <title>Welcome to Website!</title>
    </head>
    <body>
        <h1>Success! The virtual host is working! You did not mess it up thanks to Linuxcapable.com</h1>
    </body>
</html>

Sove dosye a (CTRL+O), Lè sa a, sòti (CTRL+X).

Kreye Virtual Host

Kounye a ke ou te kreye yon paj aterisaj epi mete kòrèk pwopriyetè ak otorizasyon. Pa default, anyè ki nesesè yo pral bezwen fè ak mete kanpe.

Premyèman, fè repèrtwar ki nesesè pou sit ki disponib ak sit ki pèmèt. Itilizatè Nginx ta dwe abitye ak konfigirasyon sa a tou.

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

Pwochen etap la ou dwe fè se enstwi Apache pou chèche dosye vityèl lame ki pral bezwen lokalize nan /etc/httpd/sites-available Anyè a.

Louvri dosye konfigirasyon an.

sudo nano /etc/httpd/conf/httpd.conf

Ajoute sa ki annapre yo nan fen dosye a.

IncludeOptional sites-enabled/*.conf

Opsyonèlman, ou ka enfim katab la default ke Apache gade pou dosye vityèl gen tout pouvwa a ki petèt te vle pou fè pou evite konfizyon. Jis mete yon kòmantè akote IncludeOptional conf.d/*.conf.

Egzanp:

#IncludeOptional conf.d/*.conf
IncludeOptional sites-enabled/*.conf

Sove dosye a (CTRL+O), Lè sa a, sòti (CTRL+X).

Apre sa, sèvi ak editè tèks pi renmen ou a pou kreye yon dosye konfigirasyon lame vityèl ki sitiye nan /etc/httpd/sites-available/example_domain.conf kòm anba a:

sudo nano /etc/httpd/sites-available/example_domain.conf

Koulye a, kopye epi kole sa ki annapre yo nan dosye a blòk konfigirasyon, sonje ranplase ou ServerName, ServerAlias, ak Dokiman rasin ak pwòp ou a:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName example_domain
    ServerAlias www.example_domain
    DocumentRoot /var/www/example_domain
    ErrorLog /var/www/example_domain/error.log
    CustomLog /var/www/example_domain/requests.log combined
</VirtualHost>

Remake byen, sonje pa bliye chanje direktiv Sèvè obligatwa yo pou pwòp ou yo.

Sove fichye a konfigirasyon lè l sèvi avèk (CTRL+O) epi sòti ak (CTRL+X).

Pèmèt Virtual Host

Pwochen etap la se pèmèt lame vityèl la. Okòmansman, ou te kreye de anyè, sit ki disponib ak sit ki pèmèt. Koulye a, w ap bezwen kreye yon lyen senbolik yo sit ki pèmèt pou aktive lame vityèl la.

Pou kreye yon lyen senbolik, sèvi ak egzanp sa a nan tèminal ou a.

sudo ln -s /etc/httpd/sites-available/example_domain.conf /etc/httpd/example_domain.conf

Yon fwa fè, rekòmanse sèvis Apache la.

sudo systemctl restart httpd

Louvri navigatè entènèt ou a epi tape non domèn ou HTTP://egzanp_domain kote ou ta dwe jwenn paj aterisaj sa a ou te kreye nan fichye index.html la:

Felisitasyon, ou te kreye avèk siksè lame vityèl ou epi fè li travay avèk siksè sou domèn ou a.


reklam


Sekirize Apache ak ann ankripte Sètifika gratis SSL

Idealman, ou ta vle kouri Apache ou sou HTTPS lè l sèvi avèk yon sètifika SSL. Pi bon fason pou fè sa se sèvi ak Ann ankripte, yon otorite sètifika gratis, otomatik epi ouvè dirije pa la Gwoup rechèch sekirite entènèt san bi likratif (ISRG).

Premyèman, enstale EPEL depo ak la mod_ssl pake pou pi bon pakè ak sekirite mete ajou.

sudo dnf install epel-release mod_ssl -y

Apre sa, enstale a pake certbot jan sa a:

sudo dnf install python3-certbot-apache -y

Yon fwa enstale, kouri lòd sa a pou kòmanse kreyasyon sètifika ou a:

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d www.example.com

Sa a se konfigirasyon ideyal la ki gen ladan fòs HTTPS 301 redireksyon, Strict-Transport-Security header, ak OCSP Stapling. Jis asire w ke ou ajiste imel la ak non domèn nan kondisyon ou yo.

Koulye a, URL ou a pral https://www.example.com olye pou yo HTTP://www.example.com.

Remake byen, si ou itilize ansyen an URL HTTP, li pral otomatikman redireksyon nan T.

Opsyonèlman, ou ka mete yon travay cron pou renouvle sètifika yo otomatikman. Certbot ofri yon script ki fè sa otomatikman, epi ou ka premye teste asire w ke tout bagay ap travay pa fè yon kouri sèk.

sudo certbot renew --dry-run

Si tout bagay ap travay, ouvri fenèt crontab ou a lè w sèvi ak lòd tèminal sa a.

sudo crontab -e

Apre sa, presize lè a lè li ta dwe renouvle otomatikman. Sa a ta dwe tcheke chak jou nan yon minimòm, epi si sètifika a bezwen renouvle, script la pa pral mete ajou sètifika a. Si ou bezwen èd pou jwenn yon bon moman pou mete, sèvi ak la crontab.guru zouti gratis.

00 00 */1 * * /usr/sbin/certbot-auto renew

Save (CTRL+O) Lè sa a, sòti (CTRL+X), epi cronjob la pral otomatikman aktive.

Jere Apache Sèvis

Kounye a ke ou gen Apache kouri sou sèvè ou a avèk siksè, kèk diskou jesyon yo jan sa a.

Apache sèvè mòso bwa

Ou ka jwenn mòso bwa sèvè Apache nan anyè a var/www/egzanp_domain ak koutim.log ak erè.log ak respè yo te aksè default ak non erè yo bay yo. Sa a ka chanje nan lòt non nan dosye konfigirasyon lame vityèl ou alavni.

Kòmandman Apache

Kòmandman sa yo ke ou pral san dout itilize nan jesyon jou-a-jou ou lè w ap travay ak Apache. Kèk nan pi komen yo se:

Pou sispann sèvè Apache:

sudo systemctl stop httpd

Pou kòmanse sèvè entènèt Apache:

sudo systemctl start httpd

Pou rekòmanse sèvè wèb Apache:

sudo systemctl restart httpd

Pou rechaje sèvè wèb Apache (Pou plis ti chanjman ki pa egzije yon rekòmanse):

sudo systemctl reload httpd

Pou enfim Apache sou bòt sèvè:

sudo systemctl disable httpd

Pou kòmanse Apache sou bòt sèvè (Otomatikman aktive sou enstalasyon):

sudo systemctl enable httpd

reklam


Ki jan yo mete ajou Apache

Pou mete ajou Apache alavni, sa fèt ak lòd ou itilize pou tcheke si sistèm ou an ajou. Remake byen, toujou kreye sovgad oswa imaj si ou gen yon sèvis Apache ki kouri sèvis kritik. Anjeneral, li trè san danje pou ajou, men pafwa pinèz ka rive tankou nenpòt ajou lojisyèl.

Pou mete ajou Apache, sèvi ak lòd sa a:

sudo dnf update

Si yon ajou Apache disponib, sèvi ak kòmandman an:

sudo dnf upgrade

Ki jan yo retire (dezenstale) Apache

Pou retire Apache si ou pa sèvi ak li ankò, sa ka fè lè l sèvi avèk lòd sa a:

sudo dnf autoremove httpd

Kòmand sa a pral tou retire nenpòt depandans ki pa itilize ki te vini ak enstalasyon an.


reklam


Kòmantè ak konklizyon

Nan leson patikilye a, ou te aprann ki jan yo enstale Apache (httpd) sou AlmaLinux 8. An jeneral, Apache se sèvè aplikasyon entènèt ki pi itilize nan mond lan pou dè dekad. Sepandan, Nginx te finalman depase plon an jis yon ti kras. Apache se toujou youn nan aplikasyon ki pi deplwaye ak rekonèt, espesyalman ak penyen LAMP pile, ki se souvan itilize pou back-end sèvè entènèt. Ou pral jwenn opsyon plis zanmitay pou Apache pase Nginx, ki mennen itilizatè ki pi nouvo yo antre nan hosting sèvè entènèt yo, petèt eseye Apache sou Nginx kòm premye etap la.

Ban-m pran abònman
Notifye nan
0 kòmantè
Aliye komantè
Wè tout kòmantè
0
Ta renmen panse ou, tanpri fè kòmantè.x