Ki jan yo enstale & konfigirasyon Apache ak ann ankripte TLS/SSL sou Debian 11 Bullseye

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 Debian 11 Bullseye.

Kondisyon

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

Mete ajou sistèm operasyon

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

sudo apt update && sudo apt upgrade

Rasin oswa Sudo Aksè

Pa default, lè ou kreye kont ou nan demaraj ak Debian konpare ak lòt distribisyon, li pa otomatikman resevwa estati sudoers. 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 Debian.

Tutorial la pral sèvi ak la sudo kòmand ak sipoze ou gen estati sudo. Si ou pa mete yon itilizatè sudo, sèvi ak kòmandman sa a pou konekte ak rasin pou kontinye.

su

reklam


Metòd 1. Enstale Apache soti nan Repository Debian

Premye opsyon pou enstale Apache se sèvi ak depo Debian 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 Debian 11 Bullseye

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

Pa default, Apache disponib nan Repozitwa lojisyèl Debian yo, fè li fasil pou enstale. Sepandan, jan anpil moun konnen ak Debian, 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 itilizatè ki vle dènye Apache pou enstale Ondřej Surý a vèsyon Apache 2, ki se pi ajou ak pre-bati ak modil siplemantè lajman itilize.

Premyèman, si ou pa gen boukl enstale, sèvi ak lòd sa a:

sudo apt install curl -y

Pou ajoute Repozitwa a, sèvi ak lòd sa a nan tèminal ou a:

curl -sSL https://packages.sury.org/apache2/README.txt | sudo bash -x

Mete ajou depo ou a pou reflete nouvo chanjman an:

sudo apt update

Kounye a ke ou te enstale a Apache depo epi mete ajou lis repozitwa a, enstale Apache2 ak sa ki annapre yo:

sudo apt install apache2 -y

Enstalasyon an pral enstale tout depandans ki nesesè yo.

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

apache2 -v

Egzanp pwodiksyon:

Server version: Apache/2.4.51

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, depo Ondřej Surý se devan Debian 11 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:

systemctl status apache2

Egzanp pwodiksyon si tout bagay anfòm:

Ki jan yo enstale & konfigirasyon Apache ak ann ankripte TLS/SSL sou Debian 11 Bullseye

reklam


Si ou vle - Konfigure UFW Firewall pou Apache

Itilizatè Debian ki te enstale UFW ap bezwen ajiste 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.

Pa default, UFW pa enstale. Si ou ta renmen enstale UFW egzekite lòd sa a nan tèminal ou a:

sudo apt install ufw -y

Apre sa, pèmèt UFW. Lè ou pèmèt firewall la, li pral refize tout fèk ap rantre epi pèmèt tout sòtan pa default.

sudo ufw enable

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 Debian 11 Bullseye

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 Debian 11 gen yon blòk sèvè aktive pa default ki se configuré pou sèvi dokiman ki soti nan / 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

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 w fè li 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 Debian 11 Bullseye

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 Debian default oswa rekòmande mete ajou Apache 2 lè l sèvi avèk depo 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.

Leave a Comment