Apache-opetusohjelmat aloittelijoille

โšก ร„lykรคs yhteenveto

Apache HTTP Server pyรถrittรครค yli puolta julkisesta verkosta, ja tรคmรค resurssi erittelee sen arkkitehtuurin, asennuspolut, virtuaalihotellimallit, tietoturvan vahvistamisen, lokinkirjauksen ja tuotantoympรคristรถn kรคyttรถรถnoton, jotta jรคrjestelmรคnvalvojat voivat kรคyttรครค sitรค luottavaisin mielin Linuxissa. Windowstai macOS ympรคristรถissรค.

  • ๐ŸŒ Modulaarinen suunnittelu: Apache lataa ominaisuudet dynaamisesti jaettuina objekteina, jolloin jรคrjestelmรคnvalvojat voivat ottaa kรคyttรถรถn vain ne ominaisuudet, joita kukin tyรถkuorma vaatii.
  • ๐Ÿ› ๏ธ Joustavat asennuspolut: Pakettienhallinnan, RPM-koontitiedostojen ja lรคhdekoodipakettien avulla tiimit voivat sovittaa ajonaikaisen ympรคristรถn kรคyttรถjรคrjestelmรคn ja moduulien tarpeisiin.
  • โš™๏ธ Virtuaalinen hosting: Yksi Apache-instanssi voi palvella useita sivustoja nimipohjaisten tai IP-pohjaisten VirtualHost-direktiivien avulla.
  • ๐Ÿ”’ Karkaisun perusteet: ServerTokens, ServerSignature, mod_security, mod_evasive ja request limits vรคhentรคvรคt altistumista yleisille verkkohyรถkkรคyksille.
  • ๐Ÿ“Š Lokin havaittavuus: Yleiset ja yhdistetyt lokitiedostomuodot sekรค mukautetut direktiivit antavat yksityiskohtaisen nรคkyvyyden jokaiseen palvelimen kรคsittelemรครคn pyyntรถรถn.

Apache opetusohjelmat

Mikรค on Apache?

Apache on merkittรคvรค sovellusohjelmisto. Se on maailman kรคytetyin web-palvelinsovellus, jolla on yli 50 %:n osuus kaupallisten web-palvelinten markkinoista. Apache on eniten kรคytetty web-palvelinsovellus Unix-tyyppisissรค kรคyttรถjรคrjestelmissรค, mutta sitรค voidaan kรคyttรครค lรคhes kaikilla alustoilla, kuten Windows, OS X, OS/2 jne. Sana Apache on johdettu Amerikan alkuperรคiskansojen Apache-heimon nimestรค, joka oli kuuluisa sodankรคynti- ja strategiataidoistaan.

Se on modulaarinen, prosessipohjainen web-palvelinsovellus, joka luo uuden sรคikeen jokaisen samanaikaisen yhteyden yhteydessรค. Se tukee useita ominaisuuksia; monet niistรค on kรครคnnetty erillisiksi moduuleiksi ja laajentavat sen ydintoimintoja tarjoamalla kaiken palvelinpuolen ohjelmointikielen tuesta todennusmekanismeihin. Virtuaalipalvelin on yksi tรคllainen ominaisuus, jonka avulla yksi Apache-webpalvelin voi palvella useita eri verkkosivustoja samalta laitteistolta.

Apache

Kuinka asentaa Apache

Ennen Apachen kรคyttรถรถnottoa on syytรค ymmรคrtรครค eri asennusreitit. Paketti tai sovellus voidaan asentaa useilla eri tavoilla, kuten alla on lueteltu.

  1. Yksi tรคmรคn avauksen ominaisuuksista Lรคhdekoodiverkkosovelluksen etu on, ettรค kuka tahansa voi valmistella asennusohjelman omaan ympรคristรถรถnsรค. Tรคmรค on mahdollistanut useiden toimittajien, kuten Debianin, Red Hatin, FreeBSD:n ja SUSEn, mukauttaa Apachen tiedostojen sijaintia ja kokoonpanoa ottaen huomioon muut asennetut sovellukset ja peruskรคyttรถjรคrjestelmรคn.
  2. Sen lisรคksi, ettรค se voidaan asentaa valmistajan asennusohjelmalla, on aina mahdollista kรครคntรครค ja asentaa se lรคhdekoodista. Apachen asentaminen lรคhdekooditiedostosta on alustariippumaton ja toimii lรคhes kaikissa kรคyttรถjรคrjestelmissรค.

Apache-verkkopalvelin on modulaarinen sovellus, jossa jรคrjestelmรคnvalvoja voi valita tarvittavat toiminnot ja asentaa erilaisia โ€‹โ€‹moduuleja vaatimusten mukaisesti.

Kaikki moduulit voidaan kรครคntรครค seuraavasti: Dynaamiset jaetut objektit (DSO on objektitiedosto, jota useat sovellukset voivat jakaa suorituksen aikana), jotka ovat erillรครคn Apachen pรครคbinรครคritiedostosta. DSO-lรคhestymistapaa suositellaan erittรคin paljon; se tekee moduulien lisรครคmisestรค, poistamisesta tai pรคivittรคmisestรค palvelimen kokoonpanossa erittรคin yksinkertaista.

Asenna Apache: Linux-alusta

Red Hat- tai rpm-pohjaisissa jรคrjestelmissรค

Jos kรคytรคt rpm-pohjaista (Red Hat Package Manager, apuohjelma sovellusten asentamiseen Linux-jรคrjestelmiin) Linux-jakelua, kuten Red Hatia, Fedoraa, CentOS:a tai SUSEa, voit asentaa tรคmรคn sovelluksen joko toimittajakohtaisella paketinhallintaohjelmalla tai rakentamalla rpm-tiedoston suoraan saatavilla olevasta lรคhdekoodipaketista.

Voit asentaa Apachen oletuspaketinhallinnan kautta, joka on saatavilla kaikissa Red Hat -pohjaisissa jakeluissa, kuten CentOS, Red Hat ja Fedora.

[root@amsterdam ~]# yum install httpd

Apachen lรคhdekooditarball voidaan muuntaa rpm-tiedostoksi seuraavalla komennolla.

[root@amsterdam ~]# rpmbuild -tb httpd-2.4.x.tar.bz2

.rpm-tiedoston luominen lรคhdekoodista edellyttรครค, ettรค palvelimellasi on asennettuna -devel-paketti.

Kun olet muuntanut lรคhdekooditiedoston rpm-asennusohjelmaksi, voit asentaa Apachen seuraavalla komennolla.

[root@amsterdam ~]# rpm -ivh httpd-2.4.4-3.1.x86_64.rpm

Asennuksen jรคlkeen palvelin ei kรคynnisty automaattisesti. Palvelun kรคynnistรคmiseksi sinun on kรคytettรคvรค mitรค tahansa seuraavista komennoista Fedorassa, CentOS:ssa tai Red Hatissa.

[root@amsterdam ~]# /usr/sbin/apachectl start

[root@amsterdam ~]# service httpd start

[root@amsterdam ~]# /etc/init.d/httpd start

Asenna Apache lรคhdekoodista

Jos pakettienhallinnan koontiversio ei vastaa ympรคristรถรคsi, lรคhdekoodin asennus tarjoaa tรคyden hallinnan. Apachen asentaminen lรคhdekoodista edellyttรครค, ettรค palvelimellesi on asennettu -devel-paketti. Voit etsiรค Apachen uusimman saatavilla olevan version ja ladata sen osoitteesta virallinen Apachen lataussivuKun olet ladannut lรคhdekooditiedoston, siirrรค se /usr/local/src-kansioon.

[root@amserversterdam ~] cd /usr/local/src

[root@amserversterdam ~] gzip -d httpd-2.2.26.tar.gz

[root@amserversterdam ~] tar xvf httpd-2.2.26.tar

[root@amserversterdam ~] httpd-2.2.26

Nรคet kaikki Apachen kรคytettรคvissรค olevat mรครคritysvaihtoehdot kรคyttรคmรคllรค ./configure โ€“help-valitsinta. Yleisin mรครคritysvaihtoehto on โ€“prefix={asennushakemiston nimi}.

[root@amserversterdam ~]./configure --help

[root@amserversterdam ~]./configure --prefix=/usr/local/apache --enable-so

[root@amserversterdam ~] make

[root@amserversterdam ~] make install

Yllรค oleva esimerkki nรคyttรครค Apachen kรครคntรคmisen /usr/local/apache-hakemistossa DSO-ominaisuutta kรคyttรคen. โ€“enable-so-valitsin mahdollistaa tarvittavien moduulien lataamisen Apacheen suorituksen aikana DSO-mekanismin kautta uudelleenkรครคntรคmisen sijaan.

Kun asennus on valmis, voit selata web-palvelimen oletussivua suosikkiselaimellasi. Jos palvelimellasi on kรคytรถssรค palomuuri, sinun on tehtรคvรค poikkeus portille 80 kรคyttรถjรคrjestelmรคn palomuurissa. Voit avata portin 80 seuraavalla komennolla.

iptables -I INPUT -p tcp --dport 80 -j ACCEPT

palvelu iptables tallentaa

Nรคet oletusarvon Apache2:n tervetulonรคyttรถ selaamalla palvelimesi IP-osoitteeseen.

Asenna Apache lรคhdekoodista

Mikรค on Virtual Host?

Kun Apache on kรคynnissรค, seuraava looginen askel on useiden sivustojen isรคnnรถinnin oppiminen samalla koneella. Apachen web-palvelin voi isรคnnรถidรค useita verkkosivustoja SAMA palvelin. Et tarvitse erillistรค palvelinkonetta ja Apache-ohjelmistoa jokaista verkkosivustoa varten. Tรคmรค voidaan saavuttaa kรคyttรคmรคllรค a-konseptia Virtual Host or VHost.

Kaikilla verkkotunnuksilla, joita haluat isรคnnรถidรค web-palvelimellasi, on erillinen merkintรค Apachen mรครคritystiedostossa.

Virtual Host

Apache Virtualhost -tyypit

  1. Nimipohjainen virtuaalinen isรคntรค
  2. Osoitepohjainen tai IP-pohjainen virtuaalipalvelin

Nimipohjainen virtuaalipalvelin

Nimipohjaista virtuaalihotellia kรคytetรครคn useiden virtuaalisivustojen isรคnnรถintiin yhdellรค IP-osoitteella.

Nimipohjainen virtuaalipalvelin

Nimipohjaisen virtuaalipalvelimen mรครคrittรคmiseksi sinun on asetettava IP-osoite, johon vastaanotat Apache-pyynnรถt kaikilta halutuilta verkkosivustoilta. Voit tehdรค tรคmรคn Apachen kokoonpanon NameVirtualHost-direktiivillรค, eli httpd.conf- tai apache2.conf-tiedosto.

Apache-virtuaaliisรคntรค Esimerkki:

NameVirtualHost *:80

<VirtualHost 192.168.0.108:80>

ServerAdmin webmaster@example1.com

DocumentRoot /var/www/html/example1.com

ServerName www.example1.com

</VirtualHost>

<VirtualHost 192.168.0.108:80>

ServerAdmin admin@example2.com

DocumentRoot /var/www/html/example2.com

ServerName www.example2.com

</VirtualHost>

Voit lisรคtรค niin monta virtuaalipalvelinta kuin ympรคristรถsi vaatii. Voit tarkistaa verkkomรครคritystiedostosi seuraavasti:

[root@amsterdam ~]#httpd -t
Syntax OK

Jos asetustiedostossa on virheellinen syntaksi, se heittรครค virheen:

[root@115 conf.d]# httpd -t

Syntax error on line 978 of /etc/httpd/conf/httpd.conf:

Invalid command '*', perhaps misspelled or defined by a module not included in the server configuration

IP-pohjainen virtuaalinen isรคntรค

IP-pohjaisen virtuaalipalvelimen mรครคrittรคmiseksi palvelimellesi on mรครคritettรคvรค useampi kuin yksi IP-osoite. Joten Apachen tarjoamien virtuaalipalvelinten mรครคrรค riippuu palvelimellesi mรครคritettyjen IP-osoitteiden mรครคrรคstรค. Jos palvelimellasi on 10 IP-osoitetta, voit luoda 10 IP-pohjaista virtuaalipalvelinta.

IP-pohjainen virtuaalinen isรคntรค

Yllรค olevassa kaaviossa kahdelle verkkosivustolle, esimerkki1.com ja esimerkki2.com, on annettu eri IP-osoitteet, ja ne kรคyttรคvรคt IP-pohjaista virtuaalihotellia.

Listen 192.168.0.100:80

<VirtualHost 192.168.10.108:80>

ServerAdmin webmaster@example1.com

DocumentRoot /var/www/html/example1.com

ServerName www.example1.com

</VirtualHost>

<VirtualHost 192.168.10.109:80>

ServerAdmin admin@example2.com

DocumentRoot /var/www/html/example2.com

ServerName www.example2.com

</VirtualHost>

Apache vs. Nginx: Nopea vertailu

Apachea punnitaan usein Nginxiรค vastaan โ€‹โ€‹uutta kรคyttรถรถnottoa suunniteltaessa. Alla oleva taulukko kokoaa yhteen yleisimmรคt pรครคtรถksentekokohdat.

Tekijรค Apache HTTP Server nginx
Kรคsittelymalli Prosessi tai sรคie yhteyttรค kohden (prefork, worker, event MPMs) Tapahtumapohjainen, asynkroninen
Konfigurointi Hakemistokohtaiset .htaccess-ohjaukset tuettuja Keskitetty konfigurointi, ei .htaccess-tiedostoa
Dynaaminen sisรคltรถ mod_php ja muut moduulit upottavat suoritusympรคristรถjรค prosessin aikana Vรคlityspalvelimet PHP-FPM:รครคn tai ulkoisiin sovelluspalvelimiin
Staattinen tiedostojen lรคpimenoaika Vahva, mutta enemmรคn muistia yhteyttรค kohden Erinomainen erittรคin korkean samanaikaisuuden aikana
Moduuliekosysteemi Erittรคin suuri; ladataan DSO:ina ajonaikana Kรครคnnettyjรค tai dynaamisia moduuleja, pienempi ekosysteemi
Tyypillinen kรคyttรถtapaus Jaettu hosting, .htaccess-tyรถnkulut, sekalaiset dynaamiset sovellukset Reverse vรคlityspalvelin, staattinen toimitus, korkean samanaikaisuuden pรครคtepisteet

Mitรค Apache tarvitsee suorittaakseen Php-tiedoston?

PHP-tiedostojen suorittaminen Apache-palvelimella vaatii mod_php kรคytรถssรค palvelimellasi. Se sallii Apachen tulkita .php-tiedostoja. Siinรค on PHP-kรคsittelijรคt, jotka tulkitsevat PHP-koodin Apachessa ja lรคhettรคvรคt HTML-koodin web-palvelimellesi.

Jos mod_php on kรคytรถssรค palvelimellasi, sinulla on php.conf-niminen tiedosto hakemistossa /etc/httpd/conf.d/. Voit tarkistaa sen myรถs komennolla:

httpd -M | grep "php5_module"

Tulos on samanlainen kuin:

Mitรค Apache tarvitsee suorittaakseen php-tiedoston

Php-kรคsittelijรคt Apachessa

  • mod_php
  • CGI
  • FastCGI
  • suPHP

mod_php on vanhin PHP-kรคsittelijรค; se tekee PHP:stรค osan Apachea eikรค kutsu mitรครคn ulkoista PHP-prosessia. Tรคmรค moduuli asennetaan oletuksena jokaiseen Linux-jakeluarkistoon, joten sen ottaminen kรคyttรถรถn tai poistaminen kรคytรถstรค on erittรคin helppoa.

Jos kรคytรคt FastCGI PHP-kรคsittelijรคnรค voit asettaa useita PHP-versioita kรคytettรคvรคksi palvelimesi eri tileillรค.

FastCGI eli mod_fastcgi, on laajennus mod_fcgid, Jossa mod_fcgid on tehokas vaihtoehto CGI:lle (mod_cgi). Se kรคynnistรครค riittรคvรคn mรครคrรคn CGI-instansseja kรคsittelemรครคn samanaikaisia โ€‹โ€‹verkkopyyntรถjรค. Se kรคyttรครค myรถs suexec-komentoa tukeakseen eri kรคyttรคjiรค heidรคn omilla PHP-instansseillaan ja parantaakseen verkkoturvallisuutta.

Ruby-tiedostojen suorittaminen Apachessa edellyttรครค mod_ruby-ominaisuuden kรคyttรถรถnottoa. Apache voi myรถs kรคsitellรค Ruby-tiedostoja FastCGI:n kautta. Useita Ruby-versioita on mahdollista kรคyttรครค mod_fcgid:n eli FastCGI:n avulla.

Voit myรถs asentaa Apache Passengerin ja mรครคrittรครค Apachen kรคyttรคmรครคn sitรค Ruby-sivujen tarjoamiseen.

(Phusion Passenger, joka tunnetaan myรถs nimellรค โ€matkustaja", on ilmainen web-palvelinmoduuli, joka on suunniteltu integroitumaan Apachen ja Nginxin kanssa.)

Vaiheet mod_rubyn asentamiseksi palvelimellesi:

cd /tmp

wget http://www.modruby.net/archive/mod_ruby-1.2.6.tar.gz

tar zxvf mod_ruby-1.2.6.tar.gz

cd mod_ruby-1.2.6/

./configure.rb --with-apr-includes=/usr/include/apr-1

make

make install

Kuinka ajaa Rubyรค Apachen kanssa

Meidรคn on lisรคttรคvรค mod_ruby-moduuli Apachen kokoonpanoon, eli tiedostoon /etc/httpd/conf.d/ruby.conf, ja lisรคttรคvรค seuraava rivi.

LoadModule ruby_module modules/mod_ruby.so

Jos haluat ottaa nรคmรค moduulit kรคyttรถรถn tai poistaa ne kรคytรถstรค, sinun on muokattava Apachen asetustiedostoa ja kommentoitava tai poistettava kommentit nรคistรค moduuleista, edellyttรคen, ettรค web-palvelin on jo kรครคnnetty niillรค.

Suorita Ruby Apachen kanssa

Kuinka suojata Apache-verkkopalvelin

Kun Apache tarjoaa oikeanlaista sisรคltรถรค, seuraava prioriteetti on sen lukitseminen. Verkkopalvelimen suojaaminen on erittรคin tรคrkeรครค; se tarkoittaa, ettรค annat muiden nรคhdรค vain tarkoitetut tiedot, suojaat tietosi ja rajoitat pรครคsyรค.

Nรคmรค ovat yleisiรค kรคytรคntรถjรค, jotka parantavat Apache-verkkopalvelimesi tietoturvaa.

1) Apachen version ja kรคyttรถjรคrjestelmรคn tietojen piilottaminen

Apache nรคyttรครค virhetilanteissa versionsa ja kรคyttรถjรคrjestelmรคn nimen, kuten alla olevassa kuvakaappauksessa nรคkyy.

Apache-version ja kรคyttรถjรคrjestelmรคn tietojen piilottaminen

Hyรถkkรครคjรค voi kรคyttรครค nรคitรค tietoja hyรถkkรคyksen kรคynnistรคmiseen kรคyttรคmรคllรค julkisesti saatavilla olevia haavoittuvuuksia kyseisessรค palvelimen tai kรคyttรถjรคrjestelmรคn versiossa.

Jotta Apache ei nรคyttรคisi nรคitรค tietoja, meidรคn on muokattava Apachen asetustiedostossa olevaa โ€palvelinallekirjoitusโ€-vaihtoehtoa. Oletusarvoisesti se on โ€pรครคllรคโ€, mutta meidรคn on asetettava se โ€pois pรครคltรคโ€.

vim /etc/httpd/conf/httpd.conf
ServerSignature Off

ServerTokens Prod

Olemme myรถs asettaneet "ServerTokens Prod" -ominaisuuden, joka kรคskee web-palvelinta palauttamaan vain Apachen ja piilottamaan kรคyttรถjรคrjestelmรคn pรครค- ja aliversiot.

Kun olet muokannut mรครคritystiedostoa, sinun on kรคynnistettรคvรค Apache-verkkopalvelin uudelleen, jotta muutos tulee voimaan.

service httpd restart

Apache-version ja kรคyttรถjรคrjestelmรคn tietojen piilottaminen

2) Poista hakemistolistaus kรคytรถstรค

Jos dokumenttisi juurihakemistossa ei ole indeksitiedostoa, Apache-verkkopalvelimesi nรคyttรครค oletusarvoisesti dokumenttisi juurihakemiston koko sisรคllรถn.

Poista hakemistolistaus kรคytรถstรค

Tรคmรค ominaisuus voidaan poistaa kรคytรถstรค tietyssรค hakemistossa Apachen asetustiedostossa olevan โ€Asetuksetโ€-asetuksen kautta.

<Directory /var/www/html>

    Options -Indexes

</Directory>

Poista hakemistolistaus kรคytรถstรค

3) Tarpeettomien moduulien poistaminen kรคytรถstรค

On hyvรค kรคytรคntรถ poistaa kรคytรถstรค kaikki tarpeettomat moduulit, joita ei kรคytetรค. Voit nรคhdรค luettelon kรคytรถssรค olevista moduuleista Apachen asetustiedostossa.

[root@amsterdam ~]#httpd -M

perl_module (shared)

php5_module (shared)

proxy_ajp_module (shared)

python_module (shared)

ssl_module (shared)

Monet luetelluista moduuleista voidaan poistaa kรคytรถstรค, kuten mod_imap, mod_include, mod_info, mod_userdir ja mod_autoindex, koska niitรค ei juurikaan kรคytetรค tuotantoympรคristรถn web-palvelimilla.

vi /etc/httpd/conf/httpd.conf

#LoadModule auth_digest_module modules/mod_auth_digest.so

Kun olet kommentoinut moduulin pois, tallenna tiedosto.

Kรคynnistรค Apachen palvelut uudelleen seuraavalla komennolla.

/etc/init.d/httpd restart

4) Pรครคsyn rajoittaminen verkkojuurihakemiston ulkopuolisiin tiedostoihin

Jos haluat varmistaa, ettรค verkkopalvelimen juurihakemiston ulkopuolisiin tiedostoihin ei pรครคse kรคsiksi, sinun on varmistettava, ettรค hakemisto on rajoitettu verkkopalvelimesi mรครคritystiedoston "Salli"- ja "Estรค"-asetuksilla.

<Directory/>

Options None

AllowOverride None

Order deny,allow

Deny from all

</Directory>

Kun rajoitat pรครคsyรค web-palvelimen juurihakemiston ulkopuolelle, et voi kรคyttรครค mitรครคn tiedostoja, jotka sijaitsevat missรครคn muussa web-palvelimesi kansiossa. Saat kuitenkin 404-paluukoodin.

Pรครคsyn rajoittaminen Web-juurihakemiston ulkopuolisiin tiedostoihin

5) Mod_evasive-ominaisuuden kรคyttรถ DoS-hyรถkkรคysten torjumiseksi

Jos haluat suojata web-palvelintasi DoS (Denial of Service) -hyรถkkรคyksiltรค, โ€‹โ€‹sinun on otettava kรคyttรถรถn mod_evasive-moduuli. Se on kolmannen osapuolen moduuli, joka havaitsee DoS-hyรถkkรคykset ja estรครค niitรค tekemรคstรค niin paljon vahinkoa kuin ne tekisivรคt, jos ne jรคtettรคisiin toimimaan valvomatta. Sen voi ladata alta.

Lataa yllรค oleva tiedosto

6) Mod_security-ominaisuuden kรคyttรถ Apachen tietoturvan parantamiseksi

Tรคmรค moduuli toimii Apachen palomuurina ja mahdollistaa liikenteen reaaliaikaisen seurannan. Se estรครค myรถs web-palvelinta raa'alta voimalta hyรถkkรคyksiltรค. Mod_security-moduuli voidaan asentaa jakelusi oletuspaketinhallinnan avulla.

Mod_securityn kรคyttรคminen Apache-suojauksen parantamiseen

7) Pyynnรถn koon rajoittaminen

Apachella ei ole rajoituksia HTTP-pyynnรถn kokonaiskoolle, mikรค voisi johtaa palvelunestohyรถkkรคykseen. Voit rajoittaa pyynnรถn kokoa Apachen direktiivillรค "LimitRequestBody" hakemistotagin sisรคllรค. Arvoksi voidaan asettaa mikรค tahansa 0โ€“2 Gt (2147483647 tavua) tarpeidesi mukaan.

<Directory "/var/www/html/uploads">

   LimitRequestBody 512000

</Directory>

Apache-lokimuoto

Palvelimen suojauksen myรถtรค lokien tarkastelusta tulee ensisijainen tyรถkalu ongelmien havaitsemiseen. Apachen lokit tarjoavat yksityiskohtaista tietoa, joka auttaa havaitsemaan yleisiรค palvelimen ongelmia.

Kรคyttรถlokien luomiseksi mod_log_config-moduulin on oltava kรคytรถssรค.

Kolme direktiiviรค saatavilla Apachen asetustiedostossa

  • TransferLog: Lokitiedoston luominen.
  • LogFormat: Mukautetun muodon mรครคrittรคminen.
  • CustomLog: Lokitiedoston luominen ja muotoilu.

TransferLog-direktiivi on saatavilla Apachen asetustiedostossa, ja se kierrรคttรครค virtuaalikoneen lokitiedostoja asetettujen parametrien mukaisesti.

<VirtualHost www.example.com>

  ServerAdmin webmaster@example.com

  DocumentRoot /usr/www/example/httpd/htdocs/

  ServerName www.example.com

  ServerAlias example.com www.example

  ErrorLog /usr/www/example/httpd/logs/error_log

  TransferLog /usr/www/example/httpd/logs/accesslog

  CustomLog /usr/www/example/httpd/logs/accesslog combined

</VirtualHost>

Kaksi Apache-lokimuotoa

  • Yhteinen lokimuoto
  • Yhdistetty lokimuoto

Voit ottaa ne kรคyttรถรถn muokkaamalla Apachen asetustiedostoa, eli apache2.conf (Debian/Ubuntu) tai httpd.conf (rpm-pohjaisissa jรคrjestelmissรค).

Yhteinen lokimuoto

LogFormat "%h %l %u %t \"%r\" %>s %b" common

CustomLog logs/access_log common

Apachen luoma yhteinen loki

[Wed Oct 11 14:32:52 2000] [error] [client 127.0.0.1] client denied by server configuration: /export/home/live/ap/htdocs/test

Yhdistetty lokimuoto

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined

CustomLog log/access_log combined

Tรครคllรค

  • %h on etรคisรคntรค.
  • %l on identd:n mรครคrittรคmรค kรคyttรคjรคn identiteetti.
  • %u on HTTP-todennuksen mรครคrittรคmรค kรคyttรคjรคtunnus.
  • %t on aika, jolloin palvelin on kรคsitellyt pyyntรถรค.
  • %r on asiakkaan pyyntรถrivi. ("GET / HTTP/1.0")
  • %>s on palvelimelta asiakkaalle lรคhetetty tilakoodi (500, 404 jne.).
  • %b on asiakkaalle lรคhetettรคvรคn vastauksen koko (tavuina).
  • Viittaaja on sivu, joka linkitti tรคhรคn URL.
  • User-agent on selaimen tunnistemerkkijono.

Apachen luoma yhdistetty loki:

199.187.122.91 - - [06/Mar/2014:04:22:58 +0100] "GET /robots.txt HTTP/1.1" 404 1228 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)"

Mukautettu loki luo erillisen lokitiedoston jokaiselle palvelimesi virtuaalipalvelimelle. Se on mรครคritettรคvรค asetustiedoston virtuaalipalvelimen osiossa.

Nรคet virtuaalisen isรคnnรคn kokoonpanon alla; luotu loki mukautetaan kyseiselle virtuaaliselle isรคnnรคlle ja muoto yhdistetรครคn.

Apachen luoma yhdistetty loki

Mรครคritรค ensimmรคinen tuotantoweb-palvelimesi

Kun konfigurointi, tietoturva ja lokikirjaus on hoidettu, viimeinen vaihe on kaiken yhdistรคminen tuotantovalmiiksi ympรคristรถksi.

1. Jotta sinulla olisi kรคynnissรค oleva tuotantokรคyttรถรถn tarkoitettu web-palvelin, tarvitset erillisen solmu (fyysinen, virtuaalinen tai pilvi-instanssi) Linux-, Unix-kรคyttรถjรคrjestelmissรค Windows, macOS, Jne

2. Verkkopalvelimella on oltava suora verkkoyhteys ja staattinen IP-osoite mรครคritetty siihen.

3. Siinรค tรคytyy olla kaikki tarvittava moduulit vaaditaan verkkosivujen suorittamiseen. Jos web-palvelin kรคsittelee PHP-sivuja, PHP-moduulin on oltava kรคytรถssรค.

Mรครคritรค tuotantoverkkopalvelin

  1. Se tarvitsee myรถs hyvรคn antivirus sovellus, joka on konfiguroitu ja kรคynnissรค suojaamaan web-palvelinta haittaohjelmilta tai virushyรถkkรคyksiltรค. Tarvitset myรถs mekanismin, jolla pรคivitys mรครคritettyรค virustorjunta- tai haittaohjelmien torjuntasovellusta sรครคnnรถllisesti ilman manuaalisia toimia, jotta saat siitรค parhaan hyรถdyn.
  2. Jos web-palvelimellasi on satoja verkkotunnuksia isรคnnรถitรคvรคnรค, sinun on toteutettava kunkin verkkotunnuksen tiedostojรคrjestelmรคkiintiรถn rajoitukset, kunkin verkkotunnuksen luomien tietokantojen mรครคrรค, verkkotunnuskohtaisten sรคhkรถpostitilien mรครคrรค jne.
  3. Jos web-palvelimesi on mรครคritetty jaettujen hosting-palveluiden osalta web-palvelimesi kรคyttรคjiรค on rajoitettavaJaetun webhotellin kรคyttรคjรคllรค tulisi olla mahdollisimman vรคhรคn kรคyttรถoikeuksia, jotta hรคn ei vahingoita tรคrkeitรค tiedostoja tai rikkoo koko palvelinta. Apache ei tarjoa tรคllaista toimintoa ja tarvitsee erilaisia โ€‹โ€‹kolmannen osapuolen sovelluksia ja kรคyttรถjรคrjestelmรคn mukauttamista tรคmรคn saavuttamiseksi.
  4. Jos lisรครคt a uusi verkkotunnus web-palvelimellasi se vaatii satojen mรครคritysten muokkaamista, jotta kaikki ominaisuudet voidaan ottaa kรคyttรถรถn lisรคtyllรค verkkotunnuksella.
  5. Jos jokin isรคnnรถidyistรค verkkotunnuksista vaatii erilaiset PHP-asetukset kuin muilla verkkotunnuksilla, tรคmรคn toteuttaminen Apachen ydinosassa on erittรคin monimutkaista ja vaatii web-palvelimesi laajaa mukauttamista.
  6. Tuotantoverkkopalvelin tarvitsee a palomuuri estรครคksesi ei-toivotun liikenteen, joka voi aiheuttaa suuren kuormituksen palvelimellesi. IPTABLE Sรครคntรถjen kirjoittaminen komentoriviltรค on monimutkaista. Tehokkaiden palomuurisรครคntรถjen kirjoittaminen ei-toivotun liikenteen estรคmiseksi vaatii Linux- tai Unix-ydinympรคristรถjen tuntemusta. IPTABLE perustuu netfilter-moduuliin; se on kรคyttรถjรคrjestelmรคtason palomuuri, jonka avulla jรคrjestelmรคnvalvoja voi luoda sรครคntรถjรค palvelimen saapuvalle ja lรคhtevรคlle liikenteelle.
  7. Tuotantoverkkopalvelin vaatii useita erilaisia โ€‹โ€‹sovelluksia, kuten email, FTP tiedostojen lataamista varten ja Domain Name System varatuille verkkotunnuksille. Kaikkien nรคiden sovellusten hallinta Linux- tai Unix-ydinjรคrjestelmรคssรค vaatii asiantuntemusta kyseisissรค teknologioissa.

Voidaan siis sanoa, ettรค useiden verkkotunnusten web-palvelimen hallinta on erittรคin monimutkainen tehtรคvรค ja vaatii satojen mรครคritystiedostojen muokkaamista ja jokaisen sovelluksen mukauttamista halutun tuloksen saavuttamiseksi. Vรครคrien mรครคritysten vianmรครคritys on erittรคin vaikeaa aloittelijoille.

Ratkaisu CPanelilla tai vastaavalla ohjelmistolla

cPanel tarjoaa graafisen tavan hallita web-palvelintasiSen tarkoituksena on tarjota massahosting-palveluita, jotka ovat helppokรคyttรถisiรค ja konfiguroitavissa. cPanel on vรคhentรคnyt teknisiรค esteitรค hosting- ja web-palvelimien hallinnan alalla. Se helpottaa monimutkaisia โ€‹โ€‹tehtรคviรค; se tarjoaa monia hyรถdyllisiรค ja helppokรคyttรถisiรค web-kรคyttรถliittymiรค, jotka suorittavat web-palvelimen kรคyttรคmiseen tarvittavia yleisiรค jรคrjestelmรคnvalvojan tehtรคviรค.

Ratkaisu CPanelilla tai vastaavalla ohjelmistolla

cPanel kokoaa oman ohjelmistoversionsa.

Jos sinun on kรครคnnettรคvรค web-palvelimesi (Apache) uudelleen tavallisella Linux-alustalla, sinun on valittava tai etsittรคvรค tarvittavat moduulit manuaalisesti. cPanel tarjoaa EasyApache-toiminnon, joka on skriptipohjainen web-palvelimen kรครคnnรถsmenetelmรค.

Ratkaisu CPanelilla tai vastaavalla ohjelmistolla

Se ei ainoastaan โ€‹โ€‹tarjoa sinulle verkkopalveluita, vaan myรถs Mail, DNS, FTP ja monia muita palveluita, joita web-sovelluksesi tarvitsee.

Tehtรคvรคt, jotka vaativat asiantuntemusta Linux- tai Unix-pohjaisista webhotellipalveluista, kuten SSL-suojausten asentaminen, Apachen uudelleenkรครคntรคminen eri PHP-moduuleilla, web-tietoturvan pรคivittรคminen, tehokkaiden IPTABLE-sรครคntรถjen mรครคrittรคminen, FTP-kรคyttรคjien lisรครคminen, sรคhkรถpostitilien luominen kullekin verkkotunnukselle, dokumenttien juurikansion skannaus virustorjuntaohjelmalla ja tietokantojen luominen, on helppo suorittaa cPanelilla.

Se tarjoaa paljon skriptejรค, jotka korjaavat, asentavat ja vianmรครคrittรคvรคt yleisiรค hallinnollisia tehtรคviรค.

Se tarjoaa varmuuskopiointi- ja palautustoiminnot, joten tiedostojen manuaalinen kopiointi varmuuskopiointiin on tarpeen. Jos varmuuskopioit verkkotunnustasi, cPanel luo tar-tiedoston, joka sisรคltรครค asiakirjan juurikansion, sรคhkรถpostitilit ja postit, FTP-tilit, tietokannat, DNS-tietueet ja muut sovellukset.

Se tarjoaa myรถs vankan dokumentaation ja sillรค on erittรคin suuri kรคyttรคjรคyhteisรถ, jossa voit keskustella ja saada ratkaisuja ongelmiisi.

Eli nรคinkin voi sanoa cPanel on tehokas sovellus web-palvelimen hallintaan tarvittavilla ominaisuuksilla. Se tarjoaa helppokรคyttรถisen kรคyttรถliittymรคn verkkotunnuksen hallintaan ja mekanismin, jolla vรคltetรครคn ydin-web-palvelimen hallinnan monimutkaisuus.

cPanelilla on monia kilpailevia tuotteita, kuten Plesk, ISPConfig, Ajenti, Kloxo, Open Panel ja ZPanel.

UKK

Valitse Apache jaettuun webhotelliin, .htaccess-ohituksiin ja upotettuun PHP:hen mod_php:n kautta. Nginx sopii korkean samanaikaisuuden staattiseen toimitukseen tai kรครคnteiseen vรคlityspalvelimeen.

403 viestii kiellettyistรค kรคyttรถoikeuksista tai hakemistorajoituksista, 404 on puuttuva resurssi, 500 on palvelinvirhe ja 503 tarkoittaa ylikuormitettua tai kรคyttรคmรคtรถntรค taustajรคrjestelmรครค.

mod_rewrite kohteelle URL sรครคnnรถt, mod_ssl HTTPS:lle, mod_headers vasteen virittรคmiselle, mod_deflate pakkaukselle ja mod_proxy kรครคnteiselle vรคlityspalvelimelle.

Kyllรค. Tekoรคlyavustajat voivat tarkastella httpd.conf-koodinpรคtkiรค, selittรครค mod_rewrite-sรครคntรถjรค, ehdottaa VirtualHost-korjauksia ja jรคsentรครค error_log-merkintรถjรค todennรคkรถisten perimmรคisten syiden paljastamiseksi.

Tiimit kรคyttรคvรคt tekoรคlyรค liikennepiikkien ennustamiseen, MPM-tyรถntekijรถiden mรครคrรคn hienosรครคtรถรถn, poikkeavien lokikuvioiden merkitsemiseen ja vรคlimuistin tai pakkauksen muutosten suosittelemiseen havaittujen pyyntรถyhdistelmรคjen perusteella.

Tiivistรค tรคmรค viesti seuraavasti: