Ki jan yo enstale & konfigirasyon Apache ak ann ankripte TLS/SSL sou Ubuntu 20.04

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 Ubuntu 20.04.

Kondisyon

  • OS rekòmande: Ubentu 20.04 - si ou vle (Ubuntu 21.04 ak Linux Mint 20)
  • Kont itilizatè: Yon kont itilizatè ki gen aksè sudo oswa rasin.

Mete ajou sistèm operasyon

Premyèman, anvan anyen, mete ajou ou Ubentu sistèm operasyon pou asire tout pakè ki egziste deja yo ajou:

sudo apt update && sudo apt upgrade -y

Rasin oswa Sudo Aksè

Pa default, kont ki te kreye ak Ubuntu te bay estati sudo. Toujou, sipoze ou bezwen bay plis kont aksè sudo/rasin. Nan ka sa a, ou dwe swa gen aksè a modpas rasin yo sèvi ak kòmandman su a oswa vizite leson patikilye nou an sou Ki jan yo ajoute yon itilizatè nan Sudoers sou Ubuntu.


reklam


Metòd 1. Enstale Apache soti nan Ubuntu Repository

Premye opsyon pou enstale Apache se sèvi ak depo Ubuntu defo a. 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 apt install apache2 -y

Apre sa, verifye enstalasyon an te reyisi pa verifye vèsyon bati Apache a:

sudo apache2 --version

Egzanp pwodiksyon:

Server version: Apache/2.4.51

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 apache2

Egzanp pwodiksyon si tout bagay anfòm:

Ki jan yo enstale & konfigirasyon Apache ak ann ankripte TLS/SSL sou Ubuntu 20.04

Metòd 2. Enstale Dènye Apache soti nan Ondřej Surý PPA

Pa default, Apache disponib nan Depo lojisyèl Ubuntu a, fè li fasil pou enstale. Sepandan, tankou pifò depo sou vèsyon Ubuntu LTS, li ka souvan manke dèyè sa ki aktyèl, pa tèlman pou risk sekirite. Toujou, nouvo karakteristik ak amelyorasyon yo manke.

Li rekòmande pou Ubuntu enstale Ondřej Surý a vèsyon Apache 2, ki se pi ajou ak pre-bati ak modil siplemantè lajman itilize.

Premyèman, ajoute Ondřej Surý PPA pou Ubuntu jan sa a:

sudo add-apt-repository ppa:ondrej/apache2 -y && sudo apt update

Koulye a, ou ka enstale pake Apache 2 ak lòd sa a:

sudo apt install apache2

Enstalasyon an pral enstale tout depandans ki nesesè yo.

Si ou pa vle sèvi ak PPA a, ou ka sote ajoute li epi enstale Apache 2 soti nan depo Ubuntu a.

Yon fwa enstale, konfime vèsyon an kouri lòd sa a:

apache2 -v

Egzanp pwodiksyon:

Server version: Apache/2.4.51 (Ubuntu)

Remake byen ke tou de depo yo sou menm vèsyon an nan moman leson patikilye a akòz yon aktyalizasyon IJANT CVE. Nòmalman, Ondřej Surý PPA se devan Ubuntu 20.04 defo a toutan.

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

sudo systemctl status apache2

Egzanp pwodiksyon si tout bagay anfòm:

Ki jan yo enstale & konfigirasyon Apache ak ann ankripte TLS/SSL sou Ubuntu 20.04

reklam


Konfigure UFW Firewall pou Apache

Apre enstale sèvè wèb Apache 2, w ap bezwen modifye Règ UFW yo pou pèmèt deyò aksè nan pò entènèt default yo. Erezman, pandan enstalasyon an, Apache anrejistre tèt li ak UFW pou bay kèk pwofil ki ka itilize pou pèmèt oswa enfim aksè, sa ki fè li fasil ak rapid nan konfigirasyon.

Premyèman, lis pwofil aplikasyon yo pou wè pwofil Apache ki disponib nan lòd sa a:

sudo ufw app list

Egzanp pwodiksyon:

Available applications:
  Apache
  Apache Full
  Apache Secure

Soti nan pwodiksyon an pi wo a, ou gen twa opsyon pwofil yo chwazi nan. Pou kraze li, Apache kouri sou pò 80 (HTTP), Apache Secure kouri sou pò 443 (HTTPS), ak Apache Full se yon konbinezon de pèmèt tou de. Ki pi komen an se swa Apache Full oswa Apache Secure.

Pou leson patikilye a, depi nou pa mete SSL, nou pral pèmèt (Apache) pwofil ak lòd sa a:

sudo ufw allow 'Apache'

Egzanp pwodiksyon:

Rule added
Rule added (v6)

Kòm pi wo a, règ yo te ajoute pou tou de IPV4 ak IPV6. Apre sa, ou ka enfim pwofil sa a epi pèmèt sekirite sèlman oswa enfim règ la Apache epi sèvi ak règ la Apache Full olye.

Verifye Apache Web Server

Kounye a ke ou te enstale ak konfigirasyon pare-feu UFW la, li se tan pou w teste pou wè si Apache 2 ka 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 apt 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 & konfigirasyon Apache ak ann ankripte TLS/SSL sou Ubuntu 20.04

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

Pwochen etap la se mete kanpe lame vityèl.


reklam


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.

Pa default, Apache sou Ubuntu 20.04 gen yon blòk sèvè aktive pa default ki se configuré pou sèvi dokiman ki soti nan la. / Var / www / html anyè. Si w ap opere yon sit entènèt, ou ka modifye blòk sèvè sa a pou adapte pwòp ou a. Sepandan, si w ap òganize plizyè sit entènèt, ou bezwen kreye yon nouvo estrikti anyè pou divès domèn ou yo.

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
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.</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. Ou kapab kounye a kontinye pou kreye yon dosye lame vityèl. Pa default, tout dosye lame vityèl yo pral bezwen lokalize nan / elatriye / apache2 / sit ki disponib / Anyè a.

Premyèman, sèvi ak editè tèks ou pi renmen pou kreye yon fichye konfigirasyon ki sitiye nan /etc/apache2/sites-available/example_domain.conf kòm anba a:

sudo nano /etc/apache2/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 ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.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

Kounye a ke ou gen dosye konfigirasyon lame vityèl ou pare, li se tan pou pèmèt li. Avèk Apache, kontrèman ak Nginx, kote ou ta kreye yon lyen senbolik lè l sèvi avèk lòd ln -s la, Apache sèvi ak zouti li yo, jan leson patikilye a pral montre anba a:

Premyèman, enfim defo ki egziste deja enstale dosye blòk sèvè a 000-default.conf ak kòmandman a2dissite:

sudo a2dissite 000-default.conf

Koulye a, pèmèt dosye vityèl lame ou a ak la a2ensite lòd:

sudo a2ensite example_domain.conf

Koulye a, tankou pifò aplikasyon pou sèvè entènèt, Apache gen yon kouri sèk fonksyon. Anvan fè viv, teste fichye konfigirasyon ou a lè l sèvi avèk lòd sa a:

sudo apache2ctl configtest

Si tout bagay ap travay kòrèkteman, egzanp pwodiksyon ta dwe:

Syntax OK

Koulye a, rekòmanse sèvè wèb Apache la pou fè nouvo lame vityèl ou a viv ak lòd sa a:

sudo systemctl restart apache2

Apache ta dwe kounye a ap sèvi paj aterisaj ou te kreye pou nouvo domèn ou a. Pou teste sa a, 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:

Ki jan yo enstale & konfigirasyon Apache ak ann ankripte TLS/SSL sou Ubuntu 20.04

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

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 pake certbot jan sa a:

sudo apt 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.


reklam


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/log/apache2/ ak access.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 apache2

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

sudo systemctl start apache2

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

sudo systemctl restart apache2

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

sudo systemctl reload apache2

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

sudo systemctl disable apache2

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

sudo systemctl enable apache2

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

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

sudo apt upgrade

reklam


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 apt autoremove apache2 --purge

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

Kòmantè ak konklizyon

Nan leson patikilye a, ou te aprann ki jan yo enstale Apache 2 swa lè l sèvi avèk depo Ubuntu default la oswa rekòmande mete ajou Apache 2 lè l sèvi avèk PPA pa Ondřej Surý. 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