Kompiuteriai ir modernios programėlės

httpd.conf – „Apache“ serverio konfigūracija

„Apache“ konfigūruojama įdedant direktyvas į paprasto teksto konfigūracijos failus. Apache serverio pagrindinis konfigūracijos failas - httpd.conf.
Kiti konfigūracijos failai gali būti įtraukti naudojant direktyvą Include. Bet kuri direktyva gali būti nustatyta bet kuriame iš šių konfigūracijos failų.
Apache 2.4 yra sukonfigūruotas su failais, esančiais pakatalogyje (pagal numatytuosius nustatymus) - konf(C:\Program Files\Apache Software Foundation\Apache2.4\conf\). Tai tie patys failai, kaip ir konfigūruoti OS Unix, tačiau yra keletas direktyvų, specialiai skirtų Windows.

Pagrindinis „Apache HTTP 2.4“ serverio konfigūracijos failas paprastai vadinamas - httpd.conf.

Jame yra direktyvos ir parametrai, valdantys žiniatinklio serverio, virtualių serverių ir visų Apache 2.4 programinės įrangos modulių veikimą. . Apache yra modulinis serveris. Tai reiškia, kad į pagrindinį serverį įtrauktos tik pačios pagrindinės funkcijos. Galimas funkcijų išplėtimas naudojant dinamiškai įkeliamus modulius. Konfigūracijos failuose yra viena direktyva kiekvienoje eilutėje. Pasvirasis brūkšnys „\“ gali būti naudojamas kaip paskutinis eilutės simbolis, nurodantis, kad direktyva tęsiasi kitoje eilutėje. Tarp pasvirojo brūkšnio ir eilutės pabaigos neturi būti jokių kitų simbolių ar tarpų. Konfigūracijos failų direktyvose neskiriamos didžiosios ir mažosios raidės, tačiau direktyvų argumentuose dažnai skiriamos didžiosios ir mažosios raidės. Eilutės, prasidedančios simboliu „#“, laikomos komentarais ir į jas nepaisoma. Komentarai negali būti įtraukti į eilutę po konfigūravimo nurodymų. Tuščios eilutės ir tarpai prieš direktyvą nepaisomi.

direktyvą yra konfigūracijos komanda, valdanti vieną ar daugiau „Apache“ serverio veikimo aspektų.
Pagrindiniuose konfigūracijos failuose pateiktos direktyvos taikomos visam serveriui .

Norėdami patikrinti, ar konfigūracijos failuose nėra sintaksės klaidų, naudokite komandą httpd.exe -t.

Diegiant Apache 2.4 buvo įvesta:

Tinklo domene – server-apache24.ru
serverio pavadinime - www.server-apache24.ru
administratoriaus el. pašto adresu - [apsaugotas el. paštas]

Vadinasi, server-apache24.ru- bus pagrindinės „Apache“ serverio svetainės pavadinimas.

Pagrindinė Apache serverio svetainė sukonfigūruota faile - httpd.conf.

Keisti „Apache“ serverio konfigūracijos failą – httpd.conf

Norėdami pasiekti pagrindinę „Apache“ serverio svetainę pagal domeno pavadinimą - server-apache24.ru, sukurkite katalogą diske - C:\server-apache24.ru

server-apache24.ru

  • C:\server-apache24.ru
    • rąstų
      • access.log
      • error.log
    • www
      • index.html

katalogas server-apache24.ru

Disko šaknyje C: reikia sukurti katalogą server-apache24.ru
Jame Būtinai turėtų būti aplankai:
rąstų su „tuščiais“ failais access.log Ir error.log
Ir
www su failu index.html

Peržiūrėkite eilutes httpd.conf faile -
209 Serverio administratorius [apsaugotas el. paštas]
218 Serverio pavadinimas www.server-apache24.ru:80
243 DocumentRoot "C:/server-apache24.ru/www"
245

httpd.conf - Apache 2.4 serverio konfigūravimas

httpd.conf.
Pagrindinio konfigūracijos failo nurodymai galioja visam serveriui

Visi įrašai, išskyrus pažymėtus raudonai, turi būti komentuojami. Eilutės prasidedančios simboliu "#" – tai komentarai.

# # Tai yra pagrindinis Apache HTTP serverio konfigūracijos failas. Jame yra # konfigūravimo direktyvų, kurios suteikia serveriui nurodymus. # Daugiau informacijos rasite. # Visų pirma žr. # #, kad aptartumėte kiekvieną konfigūravimo direktyvą. # # Tiesiog neskaitykite čia pateiktų instrukcijų nesuprasdami # ką jie daro. Jie čia pateikiami tik kaip užuominos ar priminimai. Jei nesate tikri, # pasidomėkite internetiniais dokumentais. Jūs buvote įspėti. # # Konfigūracijos ir žurnalo failų pavadinimai: jei failų pavadinimai, kuriuos nurodėte daugeliui # serverio valdymo failų prasideda " /“ (arba „Drive:/“, jei naudojate „Win32“), # serveris naudos tą aiškų kelią. Jei failų pavadinimai *ne* prasideda # raide "/", serverio šaknies reikšmė pridedama prieš tai, taigi "logs/access_log" #, kai ServerRoot nustatyta į "/usr/local/apache2", # serveris interpretuos kaip " /usr/local/apache2/logs/access_log“, o „/logs/access_log“ # bus interpretuojamas kaip „/logs/access_log“. # # PASTABA: kur nurodyti failų pavadinimai, turite naudoti pasviruosius brūkšnius # vietoj pasvirųjų brūkšnių (pvz., "c:/apache" vietoj "c:\apache"). # Jei disko raidė praleista, diskas, kuriame yra httpd.exe #, bus naudojamas pagal numatytuosius nustatymus. Norint išvengti painiavos, rekomenduojama visada pateikti # aiškią disko raidę absoliučiais keliais. # # ServerRoot: Katalogų medžio viršus, kuriame saugomi serverio # konfigūracijos, klaidų ir žurnalo failai. # # Nedėkite pasvirojo brūkšnio katalogo kelio pabaigoje. Jei # ServerRoot nurodote ne -vietinis diskas, būtinai nurodykite vietinį diską # Mutex direktyvoje, jei naudojami failais pagrįsti mutexei. Jei norite bendrinti # tą patį ServerRoot keliems httpd demonams, turėsite pakeisti bent # PidFile. # ServerRoot "C:/Program Files/Apache Software Foundation/Apache2.4" # # Mutex: leidžia nustatyti mutex mechanizmą ir mutex failų katalogą # atskiriems mutexams arba pakeisti visuotinius numatytuosius nustatymus # # Atšaukti komentarą ir pakeisti katalogą, jei mutexes yra pagrįsti failais ir numatytasis # mutex failų katalogas nėra vietiniame diske arba nėra tinkamas dėl # kitos priežasties # # Nutildymas default:logs # # Klausytis: leidžia susieti Apache su konkrečiais IP adresais ir (arba) # prievadus, o ne numatytuosius. Taip pat žr. # direktyvą. # # Pakeiskite tai į Klausyti konkrečių IP adresų, kaip parodyta toliau, kad # neleistumėte Apache aptikti visus susietus IP adresus. # #Klausykite 12.34.56.78:80 Klausykite 80 # # Dinaminio bendrinamo objekto (DSO) palaikymas # # Kad galėtumėte naudotis modulio, kuris buvo sukurtas kaip DSO, funkcionalumu, # šioje vietoje turite įdėti atitinkamas "LoadModule" eilutes taigi # jame esančios direktyvos iš tikrųjų yra prieinamos _prieš_ jas naudojant. # Statiškai sukompiliuotų modulių (kurie išvardyti `httpd -l") čia nereikia # įkelti. # # Pavyzdys: # LoadModule foo_module modules/mod_foo.so # LoadModule access_compat_module modules/mod_access_compat.so LoadModule action_module modules/modo_module modules. LoadModule alias_module modules/mod_alias.so LoadModule allowmethods_module modules/mod_allowmethods.so LoadModule asis_module modules/mod_asis.so LoadModule auth_basic_module modules/mod_auth_basic_module/module/moduth_Moduigle taigi #LoadModule a uthn_anon_module modules/mod_authn_anon.so LoadModule authn_core_module modules/mod_authn_core . so #LoadModule authn_dbd_module modules/mod_authn_dbd.so #LoadModule authn_dbm_module modules/mod_authn_dbm.so LoadModule authn_file_module modules/mod_authn_module.so moduluth_module _socache.so #LoadModule authnz_ldap_module modules/mod_authnz_ldap.so LoadModule authz_core_module modules/mod_authz_core.so #LoadModule authz_dbd_module modules/mod_authz_dbd.so #LoadModule authz_dbm_module modules/mod_authz_dbm.so LoadModule authz_groupfile_module modules/mod_authz_groupfile.so LoadModule_module_modulesst aLoauthzhomodule adModule authz_owner_module modules/mod_authz_owner.so LoadModule authz_user_module modules/mod_authz_user.so LoadModule autoindex_module modules/mod_autoindex.so # LoadModule buffer_module modules/mod_buffer.so #LoadModule cache_module modules/mod_cache.so #LoadModule cache_disk_module modules/mod_cache_disk.so #LoadModule cern_meta_module modules/mod_cern_module.soLoad_meta.soLomodo.so. charset_lite_module modules/mod_charset_lite.so #LoadModule data_module modules /mod_data.so #LoadModule dav_module modules/mod_dav.so #LoadModule dav_fs_module modules/mod_dav_fs.so #LoadModule dav_lock_module modules/mod_dav_lock.so #LoadModule dbd_module_module_modules/modoflade .so LoadMod ule dir_module modules/ mod_dir. so #LoadModule dumpio_module modules/mod_dumpio.so LoadModule env_module modules/mod_env.so #LoadModule expires_module modules/mod_expires.so #LoadModule ext_filter_module modules/mod_ext_file_Module_modcache. che.so #LoadModule filter_module modules/mod_filter.so #LoadModule headers_module modules/mod_headers.so #LoadModule heartbeat_module modules/mod_heartbeat.so #LoadModule heartmonitor_module modules/mod_heartmonitor.so #LoadModule ident_module modules/mod_ident.so Load_Module modules/Load_Module modules/LoadModule modules. modules/mod_include.so #LoadModule info_mod ule modules/mod_info .so LoadModule isapi_module modules/mod_isapi.so #LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so #LoadModule lbmethod_byrequests_module modules/mets_Module modules/mods_bylreb bytraffic_module modules/mod_lbmethod _bytraffic.so #LoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so #LoadModule ldap_module modules/ mod_ldap.so # LoadModule logio_module modules/mod_logio.so LoadModule log_config_module modules/mod_log_config.so #LoadModule log_debug_module modules/mod_log_debug.so #LoadModule log_forensic_Module_modules/forensic_Module. modules/mod_lua.so LoadModule mime_module module s/mod_mime.so #LoadModule mime_magic_module modules/ mod_mime_magic.so LoadModule negotiation_module modules/mod_negotiation.so #LoadModule proxy_module modules/mod_proxy.so #LoadModule proxy_ajp_module modules/mod_proxy_module_proxy_proxy_aj. _balancer.so #LoadModule proxy_connect_module modules/mod_proxy_connect.so #LoadModule proxy_express_module modules/mod_proxy_express.so #LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so #LoadModule proxy_ftp_module modules/mod_proxy_ftp.so #LoadModule proxy_html_module modules/mod_proxy_html.so httpLomodule_proxy_ad. Modulis proxy_scgi_module modules/mod_proxy_scgi. taigi #LoadModule ratelimit_module modules/ mod_ratelimit.so #LoadModule reflektoriaus_modulis modules/mod_reflector.so #LoadModule remoteip_module modules/mod_remoteip.so #LoadModule request_module modules/mod_request.so #LoadModule reqtimeout_module modules/mod_reqrite_module modules/mod_reqrite_modurew. LoadModule sed_module modules/mod_sed. taigi # LoadModule session_module modules /mod_session.so #LoadModule session_cookie_module modules/mod_session_cookie.so #LoadModule session_crypto_module modules/mod_session_crypto.so #LoadModule session_dbd_bmodulefmoduleso modules. e modules/mod_setenvif.so #LoadModule slotmem _plain_module modules/mod_slotmem_plain.so # Įkelti modulį shmcb.so #LoadModule speling_module [apsaugotas el. paštas]#ServerAdmin [apsaugotas el. paštas] # # Serverio pavadinimas suteikia pavadinimą ir prievadą, kurį serveris naudoja identifikuoti. # Tai dažnai gali būti nustatyta automatiškai, tačiau rekomenduojame tai aiškiai # nurodyti, kad išvengtumėte problemų paleidžiant. # # Jei jūsų pagrindinis kompiuteris neturi registruoto DNS vardo, įveskite jo IP adresą čia # ServerName www.server-apache24.ru:80 # # Uždrauskite prieigą prie visos jūsų serverio failų sistemos. Turite # aiškiai leisti prieigą prie žiniatinklio turinio katalogų kituose # blokuose toliau. # AllowOverride none Reikalauti viską atmesti # # Atkreipkite dėmesį, kad nuo šio momento turite konkrečiai leisti įjungti # tam tikras funkcijas – taigi, jei kažkas"neveikia taip, kaip # galite tikėtis, įsitikinkite, kad # toliau tai konkrečiai įjungėte. # # # DocumentRoot: Katalogas, iš kurio teiksite # dokumentus. Pagal numatytuosius nustatymus visos užklausos paimamos iš šio katalogo, tačiau # simbolinės nuorodos ir slapyvardžiai gali būti naudojami nukreipti į kitas vietas. # # DocumentRoot "C:/Program Failai/Apache Software Foundation/Apache2.4/htdocs“ buvo DocumentRoot „C:/server-apache24.ru/www“ # buvo # # Galimos parinkčių direktyvos reikšmės yra „Nėra“, „Visi“, # arba bet kuri kita kombinacija : # Indeksai Apima FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Atminkite, kad "MultiViews" turi būti pavadintas *aiškiai* --- "Parinktys Visos" # jums to neduoda. # # Opcionų direktyva yra sudėtinga ir svarbi. Norėdami gauti daugiau informacijos, žr. # //httpd.apache.org/docs/2.4/mod/core.html#options #. # # Parinkčių indeksai FollowSymLinks buvo parinkčių rodyklės Apima FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # AllowOverride valdo, kokios direktyvos gali būti dedamos į .htaccess failus. # Tai gali būti "Visi", "Nėra" arba bet koks raktinių žodžių derinys: # AllowOverride FileInfo AuthConfig Limit # # AllowOverride None buvo AllowOverride All # # Valdo, kas gali gauti informaciją iš šio serverio. # Reikalauti visų suteiktų AddHandler serverio analizuojamų .shtml .shtm .html .htm # # DirectoryIndex: nustato failą, kurį Apache aptarnaus, jei bus paprašyta katalogo #. # DirectoryIndex index.html # # Šios eilutės neleidžia .htaccess ir .htpasswd failų # peržiūrėti žiniatinklio klientams. # Reikalauti visko atmesta # # ErrorLog: klaidų žurnalo failo vieta. # Jei nenurodysite ErrorLog direktyvos # konteineryje, čia bus # registruojami klaidų pranešimai, susiję su tuo virtualiuoju kompiuteriu. Jei * apibrėžiate * # konteinerio klaidos žurnalo failą, to pagrindinio kompiuterio klaidos bus registruojamos ten, o ne čia. # # ErrorLog "logs/error.log" buvo ErrorLog c:/server-apache24.ru/logs/error.log # # LogLevel: valdykite į error_log registruojamų pranešimų skaičių. # Galimos reikšmės apima: debug, info, notice, warn, error, crit, # alert, emerg. # LogLevel įspėjimas # # Šios direktyvos apibrėžia kai kurių formatų slapyvardžius, naudojamus # su CustomLog direktyva (žr. toliau). # LogFormat "%h %l %u %t \"%r\" %>s %b \"%(Referer)i\" \"%(User-Agent)i\"" Combined LogFormat "%h %l %u %t \"%r\" %>s %b" common # Turite įjungti mod_logio.c, kad galėtumėte naudoti %I ir %O LogFormat "%h %l %u %t \"%r\" %> s %b \"%(Referer)i\" \"%(User-Agent)i\" %I %O" combinedio # # Prieigos žurnalo failo vieta ir formatas (bendras žurnalo failo formatas). # Jei neapibrėžiate jokių prieigos žurnalo failų # konteineryje, jie bus registruojami čia. Priešingai, jei *padarote* # apibrėžiate prieigos žurnalo failus, operacijos bus # registruojamos juose, o *ne* šiame faile. # # „CustomLog“ „logs/access.log“ įprasta buvo „CustomLog“ c:/server-apache24.ru/logs/access.log bendroji # # Jei pageidaujate žurnalo failo su prieigos, agento ir referento informacija # (kombinuotas žurnalo failo formatas) gali naudoti šią direktyvą. # #CustomLog "logs/access.log" sujungtas # # Peradresavimas: leidžia pranešti klientams apie dokumentus, kurie # egzistavo jūsų serverio vardų erdvėje, bet nebėra. Klientas # pateiks naują užklausą dėl dokumento naujoje vietoje. # Pavyzdys: # Peradresuoti nuolatinį /foo //www.server-apache24.ru/bar # # Pseudonimas: susieja žiniatinklio kelius į failų sistemos kelius ir naudojamas # pasiekti turinį, kuris nėra DocumentRoot. # Pavyzdys: # Pseudonimas / žiniatinklio kelias /visa/failų sistema/kelis # # Jei įtraukiate / žiniatinklio kelias pabaigoje, serveris # reikalaus, kad jis būtų URL. Taip pat tikriausiai # reikės pateikti skyrių leisti pasiekti # failų sistemos kelią. # # ScriptAlias: valdo, kuriuose kataloguose yra serverio scenarijų. # Scenarijų slapyvardžiai iš esmės yra tokie patys kaip slapyvardžiai, išskyrus tai, kad # dokumentai tiksliniame kataloge yra laikomi programomis ir # paleidžiami serverio, kai to reikalaujama. nei kaip dokumentai, išsiųsti # klientui. Tos pačios taisyklės dėl pabaigos „/“ taikomos „ScriptAlias“ # direktyvoms kaip ir Alias. # # ScriptAlias ​​​​/cgi-bin/ „C:/Program Files/Apache Software Foundation/Apache2.4/cgi-bin/“ buvo „ScriptAlias“/cgi-bin/ „C:/server-apache24.ru/cgi“ -bin/" # # ScriptSock: Srieginiuose serveriuose nurodykite kelią į UNIX # lizdą, naudojamą bendrauti su mod_cgid CGI demonu. # #Scriptsock cgisock # # "C:/Program Files/Apache Software Foundation/Apache2.4/cgi-bin" turėtų būti pakeistas į bet kokį jūsų ScriptAliased # CGI katalogą, jei jį sukonfigūravote. # # AllowOverride None Parinktys Nėra Reikalauti, kad viskas suteikta # # TypesConfig nukreipia į failą, kuriame yra susiejimo sąrašas nuo # failo pavadinimo plėtinio iki MIME tipo. # TypesConfig conf/mime.types # # AddType leidžia jums pridėti arba nepaisyti MIME konfigūracijos failo, nurodyto TypesConfig konkrečių tipų failams. # #AddType application/x-gzip .tgz # # AddEncoding leidžia tam tikroms naršyklėms išspausti # informaciją. Pastaba: ne visos naršyklės tai palaiko. # #AddEncoding x-compress .Z #AddEncoding x-gzip .gz .tgz # # Jei anksčiau pateiktos AddEncoding direktyvos yra komentuojamos, # tikriausiai turėtumėte apibrėžti tuos plėtinius, kad nurodytumėte medijos tipus: # AddType application/x-compress . Z AddType application/x-gzip .gz .tgz AddType application/x-httpd-php .php # # AddHandler leidžia susieti tam tikrus failų plėtinius su "tvarkytojais": # veiksmai nesusiję su failo tipu. Jie gali būti integruoti į serverį # arba pridėti su veiksmų direktyva (žr. toliau) # # Norėdami naudoti CGI scenarijus už ScriptAliased katalogų ribų: # (Taip pat turėsite pridėti "ExecCGI" prie "Options" direktyvos.) # #AddHandler cgi-script .cgi AddHandler cgi-script .cgi .pl # Tipų žemėlapiams (suderėti ištekliai): #AddHandler type-map var # # Filtrai leidžia apdoroti turinį prieš jį išsiunčiant klientui. # # Norėdami išanalizuoti .shtml failus, skirtus serverio pusės įtraukimams (SSI): # (Taip pat turėsite pridėti "Įtraukiama" prie direktyvos "Options".) # AddType text/html .shtml AddOutputFilter INCLUDES .shtml # # The mod_mime_magic modulis leidžia serveriui naudoti įvairias užuominas iš paties failo # turinio, kad nustatytų jo tipą. MIMEMagicFile # direktyva nurodo moduliui, kur yra užuominų apibrėžimai. # #MIMEMagicFile conf/magic # # Pritaikomi atsakymai į klaidas būna trijų rūšių: # 1) paprastas tekstas 2) vietiniai peradresavimai 3) išoriniai peradresavimai # # Keli pavyzdžiai: #ErrorDocument 500 "Serveris padarė boo boo." #ErrorDocument 404 /missing.html #ErrorDocument 404 "/cgi-bin/missing_handler.pl" #ErrorDocument 402 //www.server-apache24.ru/subscription_info.html ErrorDocument 404 C:/44www.erruache .html ErrorDocument 500 C:/server-apache24.ru/www/500error.html # # MaxRanges: maksimalus diapazonų skaičius užklausoje prieš # grąžinant visą šaltinį arba vieną iš specialių # reikšmių „default“, „ jokio“ arba „neribota“. # Numatytasis nustatymas yra priimti 200 diapazonų. #MaxRanges unlimited # # EnableMMAP ir EnableSendfile: Ją palaikančiose sistemose # failams pristatyti gali būti naudojamas # atminties susiejimas arba sendfile syscall. Tai paprastai pagerina serverio našumą, bet turi būti # išjungta, kai teikiama paslauga iš tinkle sujungtų # failų sistemų arba jei šių funkcijų palaikymas # jūsų sistemoje nutrūksta. # Numatytieji nustatymai: EnableMMAP On, EnableSendfile Off # #EnableMMAP off #EnableSendfile įjungta # Papildoma konfigūracija # # Konfigūracijos failai į conf/extra/ katalogą gali būti # įtraukti, norint pridėti papildomų funkcijų arba pakeisti numatytąją serverio konfigūraciją, arba galite tiesiog nukopijuoti jų turinį čia ir, jei reikia, pakeisti. # Serverio telkinio valdymas (specifinis MPM) #Include conf/extra/httpd-mpm.conf # Kelių kalbų klaidų pranešimai Įtraukti conf/extra/httpd-multilang-errordoc.conf # Įdomūs katalogų sąrašai Įtraukti conf/extra/httpd-autoindex .conf # Kalbos nustatymai Įtraukti conf/extra/httpd-languages.conf # Naudotojo namų katalogai Įtraukti conf/extra/httpd-userdir.conf # Realaus laiko informacija apie užklausas ir konfigūraciją # Include conf/extra/httpd-info.conf # Virtualios prieglobos Įtraukti conf/extra/httpd-vhosts.conf # Vietinė prieiga prie Apache HTTP serverio vadovo #Include conf/extra/httpd-manual.conf # Paskirstytasis kūrimas ir versijų kūrimas (WebDAV) #Include conf/extra/httpd-dav. conf # Įvairūs numatytieji nustatymai Įtraukti conf/extra/httpd-default.conf # Konfigūruokite mod_proxy_html, kad suprastumėte HTML4/XHTML1 Įtraukite conf/extra/proxy-html.conf # Saugūs (SSL/TLS) ryšiai #Include conf/extra/httpd-ssl .conf # # Pastaba: Norint palaikyti # pradedant be SSL platformose, kuriose nėra /dev/random ekvivalento #, bet statiškai sukompiliuotas mod_ssl, turi būti pateikta ši informacija. # SSLRandomSeed paleisties įtaisyta SSLRandomSeed connect builtin # # panaikinkite toliau pateiktus komentarus, kad susidorotumėte su vartotojų agentais, kurie sąmoningai # pažeidžia atviruosius standartus netinkamai naudojant DNT (DNT *turi* būti konkretus # galutinio vartotojo pasirinkimas) # # #BrowserMatch "MSIE 10.0;" bad_DNT # # #RequestHeader atšauktas DNT env=blogas_DNT #


Pakeitimai .
Komanda - httpd.exe -k paleiskite iš naujo, leidžia užbaigti visas „Apache“ serverio atliekamas operacijas ir verčia „Apache“ iš naujo perskaityti konfigūracijos failą.


Trikčių šalinimas diegiant „Apache“ serverį

„Apache“ yra su programa, vadinama „Apache Service Monitor“. Su juo galite matyti ir valdyti visų įdiegtų „Apache“ paslaugų būseną bet kuriame tinklo kompiuteryje.

Apache 2.4 paleidimas iš naujo

Nes pokyčius pagrindiniuose konfigūracijos failuose įsigalios tik tada, kai bus paleistas arba iš naujo paleistas „Apache“ serveris,
reikia iš naujo paleisti serverį.

ApacheMonitor

ApacheMonitor piktogramą galima pamatyti paspaudus mygtuką – rodyti paslėptas piktogramas

Dukart spustelėkite kairįjį pelės klavišą ant piktogramos Apache paslaugų monitorius.

Galite iš naujo paleisti „Apache“ serverį spustelėdami mygtuką Perkrauti
„Apache Service Monitor“ lange.
Arba - Sustabdyti ir tada - Pradėti.

Jei atlikote tik httpd.conf failo pakeitimus,

tada įvesdami į naršyklės adreso juostą - vietinis šeimininkas arba - 127.0.0.1 ,
pamatysite puslapį - 403 klaida.

Prieiga draudžiama!

Neturite leidimo pasiekti prašomo katalogo. Rodyklės dokumento nėra arba katalogas yra apsaugotas nuo skaitymo.
Jei manote, kad tai serverio klaida, susisiekite su žiniatinklio valdytoju.

403 klaida

127.0.0.1
„Apache“ / 2.4.4 („Win64“)

Priejimas negalimas!

Neturite leidimo pasiekti prašomo katalogo. Rodyklės dokumento nėra arba katalogas yra apsaugotas nuo skaitymo.
Jei manote, kad tai serverio klaida, susisiekite su savo žiniatinklio valdytoju.

403 klaida

Prisijunkite su administratoriaus teisėmis prie komandinės eilutės - Administratorius – komandų eilutė
ir įveskite:
"C:\Program Files\Apache Software Foundation\Apache2.4\bin\httpd.exe" 2> C:\errapache.txt

Microsoft Windows (c) 2016 Microsoft Corporation. Visos teisės saugomos. C:\Windows\system32> "C:\Program Files\Apache Software Foundation\Apache2.4\bin\httpd.exe" 2> C:\errapache.txt C:\Windows\system32>

Diske C:/ bus sukurtas failas errapache.txt


AH00112: Įspėjimas: DocumentRoot neegzistuoja AH00112: Įspėjimas: DocumentRoot neegzistuoja (OS 10048) Paprastai leidžiama naudoti tik vieną lizdo adresą (protokolą / tinklo adresą / prievadą). : AH00072: make_sock: nepavyko susieti su adresu [::]:80 (OS 10048) Paprastai leidžiamas tik vienas lizdo adreso (protokolo / tinklo adreso / prievado) naudojimas. : AH00072: make_sock: nepavyko susieti su adresu 0.0.0.0:80 AH00451: nėra pasiklausymo lizdų, išjungiamas AH00015: nepavyko atidaryti žurnalų

AH00112: Įspėjimas:
C:/Program Files/Apache Software Foundation/Apache2.4/docs/dummy-host.server-apache24.ru
C:/Program Files/Apache Software Foundation/Apache2.4/docs/dummy-host2.server-apache24.ru
Jų nėra.

Bet svarbiausia yra OS klaidos 10048:

Nepavyko susieti su adresu [::]:80
negalėjo susieti su adresu 0.0.0.0:80

Eikite į komandų eilutę ir įveskite:
netstat -aon

Administratorius: komandų eilutė

Microsoft Windows (c) 2016 Microsoft Corporation. Visos teisės saugomos. C:\Windows\system32> netstat -aon Aktyvūs ryšiai Pavadinimas Vietinis adresas Išorinis adresas PID būsena TCP 0.0.0.0:80 0.0.0.0:0 KLAUSYMAS 1612 TCP [::]:80 [::]:0 KLAUSIMAS 1612 TCP 127.0.0.1:49693 127.0.0.1:49693 127.0.0.1:49693 127.0.0.0.4:EST4911 TCP 127.0.0.1:49694 127.0.0.1:49693 NUSTATYTA 5612 TCP 127.0.0.1:51341 0.0.0.0:0 KLAUSYMAS 3920 TCP 127.0.0.1:000.200 192.168.0.100:139 0.0.0.0:0 4 KLAUSYMAS TCP 192.168.0.100:51330 34.226.135.28:443 NUSTATYTAS 1232 TCP 192.168.0.100:51345 52.196.85.70:443 TCP 0:52796 88.212.253.127:21 NUSTATYTA 1128 TCP 192.168.0.100:53160 151.101. 112.134 :443 CLOSE_WAIT 3712 TCP 192.168.0.100:53161 151.101.112.134:443 CLOSE_WAIT 3712 TCP 192.168.0.100:531.40IT1 .CLOSE_1.40 3712 TCP 192.168.0.100:53176 151.101.112.134:443 NUSTATYTA 3712 TCP 192.168.0.100:53179 151.101 .128.233:443 CLOSE_WAIT 3712 TCP 192.168.0.100:53192 151.101.112.64:443 CLOSE_WAIT 3712 TCP 192.168.0.64:2012 192.168.0.63:20.3.103 CLOSE_WAIT 3712 TCP 192.168.0.100:53230 185.29.133.52:443 CLOSE_WAIT 3712 TCP 192.168.0.100 : 53246 2.18.74.149:443 CLOSE_WAIT 3712 TCP 192.168.0.100:53271 52.205.235.141:443 NUSTATYTA 5236 C:\Windows\system32>

Proceso ID, geriau žinomas kaip PID, yra unikalus numeris. Kiekvienas sistemoje veikiantis procesas turi unikalų identifikatorių.
TCP 0.0.0.0:80 0.0.0.0:0 KLAUSYMAS 1612
TCP [::]:80 [::]:0 KLAUSYMAS 1612

Atviras Užduočių tvarkyklė

Tik Apache2.4 paslauga turi PID - 1612

Kataloge C:/Program Files/Apache Software Foundation/Apache2.4/conf/extra/
atidaryti failą Notepad - httpd-vhosts.conf

Prieš atlikdami bet kokius pakeitimus, pasidarykite atsarginę failo kopiją - httpd-vhosts.conf.

Pakeiskite VirtualHost skyriuose
įjungta

httpd-vhosts.conf - Apache 2.4 serverio konfigūracijos failo turinys

# Virtualūs kompiuteriai # # Reikalingi moduliai: mod_log_config # Jei norite išlaikyti kelis domenus / pagrindinio kompiuterio pavadinimus savo # kompiuteryje, galite nustatyti jiems "VirtualHost" konteinerius. Dauguma konfigūracijų # naudoja tik pavadinimu pagrįstus virtualius pagrindinius kompiuterius, todėl serveriui nereikia jaudintis dėl # IP adresų. Tai rodo žvaigždutės toliau pateiktose instrukcijose. # # Žiūrėkite dokumentaciją adresu #

Kataloge C:\Windows\System32\Drivers\etc\
atidaryti failą Notepad - šeimininkai
Ir pridėkite eilutę:

127.0.0.1 localhost www.server-apache24.ru server-apache24.ru

Iš naujo paleiskite „Apache“ serverį spustelėdami mygtuką Perkrauti
„Apache Service Monitor“.

Įveskite į savo naršyklės adreso juostą - server-apache24.ru
ir pamatysite savo sukurto Apache2.4 serverio pagrindinės svetainės rodyklės puslapį

Svetainės indekso puslapis turi būti www pakatalogyje (C:\server-apache24.ru\www\)

Įdiegę Apache 2.4 serverį, eikite į komandų eilutę ir įveskite komandas:

httpd.exe -t

Gausite du įspėjimus.

Administratorius: komandų eilutė

Microsoft Windows (c) 2016 Microsoft Corporation. Visos teisės saugomos. C:\Windows\system32> cd C:\Program Files\Apache Software Foundation\Apache2.4\bin\ C:\Program Files\Apache Software Foundation\Apache2.4\bin> httpd.exe -t AH00112: Įspėjimas: DocumentRoot neegzistuoja AH00112: Įspėjimas: DocumentRoot neegzistuoja Sintaksė Gerai C:\Program Files\Apache Software Foundation\Apache2.4\bin>

„Apache“ yra visa įvairių projektų šeima, iš kurių pirmasis buvo žiniatinklio serveris. Žiniatinklio serverį atstovauja httpd demonas, todėl Apache žiniatinklio serverio projektas vadinamas httpd.

httpd žiniatinklio serverio konfigūracijos failai GNU/Linux skirtinguose platinimuose yra skirtinguose kataloguose: /etc/httpd/conf/, /etc/apache2 ar kituose. Pagrindinis konfigūracijos failas vadinamas httpd.conf ir dažnai atskiri konfigūracijos failai, skirti tam tikroms nustatymų grupėms, yra prijungiami prie httpd.conf naudojant direktyvą įtraukti.

Apskritai httpd nustatymus galima suskirstyti į tris pagrindines kategorijas:

r globalių nustatymų skyrius;

r pagrindinio serverio nustatymai;

r virtualių mazgų nustatymai.

Be šių skilčių, galite pasirinkti konkrečių failų tipų apdorojimo nustatymus, MIME plėtinius ir nacionalinių kalbų apdorojimo specifikacijas.

Pasauliniai serverio nustatymai apima tuos, kurie turi įtakos viso Apache serverio veikimui. Toliau pateikiami pagrindiniai visuotiniai nustatymai:

r ServerRoot - bazinis diegimo katalogas, kurio atžvilgiu GNU/Linux failų sistemoje yra Apache konfigūracijos failai, taip pat kai kurie jo veikimui reikalingi failai;


r PidFile – failas, kuriame PID įvedamas paleidus Apache serverį

pagrindinio serverio procesas;

r LoadModule – komanda, skirta įkelti Apache plėtinio modulį, sudarytą kaip bendrinamą biblioteką;

r Timeout – sekundžių skaičius prieš siunčiant signalą apie ryšio praradimą;

r KeepAlive – įgalinkite arba išjunkite ilgalaikių ryšių palaikymą, pasiekiamą HTTP/1.1 protokole, kad ryšys liktų nenutrūkęs serveriui išsiuntus reikiamą informaciją;

r KeepAliveTimeOut – sekundžių skaičius, kiek reikia laukti kitos užklausos, po kurios bus nutrauktas ilgalaikis ryšys;

r MaxKeepAliveRequests – didžiausias galimas užklausų skaičius, leidžiamas ilgalaikiams ryšiams;

r StartServers – antrinių httpd procesų, kurie paleidžiami paleidus Apache serverį, skaičius;

r MinSpareServers – minimalus antrinių httpd procesų, laukiančių prisijungimų, skaičius (atsiradus ryšiams paleidžiama tiek httpd kopijų, kad antrinių procesų, laukiančių prisijungimų, skaičius būtų ne mažesnis už šią reikšmę);

r MaxSpareServers – maksimalus httpd antrinių procesų, laukiančių prisijungimų, skaičius (sustabdomi papildomi procesai);

r MaxClients – maksimalaus httpd antrinių procesų skaičiaus apribojimas, kuris lemia galimą jungčių skaičių;

r MaxRequestsPerChild – maksimalus užklausų skaičius, kurį leidžiama aptarnauti vienam httpd antriniam procesui, kurį pasiekus garantuojama, kad jis sustos, kad būtų išvengta galimų atminties nutekėjimų.

ServerRoot „/etc/httpd“ PidFile paleisti/httpd.pid skirtasis laikas 120

KeepAlive Off MaxKeepAliveRequests 100


KeepAliveTimeout 15

Pradėti serveriai
MinSpareServers
MaxSpareServers
ServerLimit
MaxClients

MaxRequestsPer Child 4000

Klausyk 80

LoadModule auth_basic_module modules/mod_auth_basic.so LoadModule auth_digest_module modules/mod_auth_digest.so LoadModule authn_file_module modules/mod_authn_file.so LoadModule authn_module_louthunalias/Module n_anon_module modules/mod_au thn_anon.so

Vartotojo apache Grupė apache

Reikėtų pažymėti, kad modulius galima ne tik prijungti naudojant LoadModule direktyvą, bet ir įdiegti tiesiai į Apache kodą jo kompiliavimo ir surinkimo etape. Norėdami nustatyti, kurie moduliai buvo įdiegti į kodą kompiliavimo etape, paleiskite komandą httpd –l (28.2 pavyzdys).

$ /usr/sbin/httpd -l Sukompiliuota į modulius:

core.c prefork.c http_core.c mod_so.c

Atkreipkite dėmesį, kad modulis prefork.c yra vienas iš kelių skirtingų MPM (Multi-Processing Modules) modulių, skirtų Apache v2. Šie moduliai skirti skirtingoms operacinėms sistemoms arba skirtingiems daugiafunkciniams modeliams. Pavyzdžiui, modulis prefork.c yra orientuotas į tradicinį UNIX modelį, sukuriantį antrinius procesus, o worker.c – į darbą su gijomis.


Tarp pagrindinių serverio nustatymų svarbiausi yra šie:

r Klausyti – verčia Apache klausytis tik nurodyto prievado;

r Vartotojas – vartotojas, kurio vardu bus paleisti httpd procesai;

r Grupė – grupė, kurios vardu bus paleisti antriniai procesai

r DocumentRoot – katalogas, skirtas svetainės failams saugoti;

r UserDir – asmeniniams vartotojų tinklalapiams talpinti skirto katalogo pavadinimas;

r DirectoryIndex – failų pavadinimų sąrašas, kuris bus peržiūrimas bandant pasiekti pagrindinį katalogo dokumentą;

r AccessFileName – failo, kuriame yra katalogų prieigos kontrolės nurodymai, pavadinimas;

r TypesConfig – nurodo MIME konfigūracijos failo vietą;

r DefaultType – nustato numatytąjį dokumento MIME tipą;

r MimeMagicFile – nurodo magiško skaičiaus failo vietą, kad būtų galima nustatyti dokumento MIME tipą;

r HostnameLookups – nurodo informacijos apie kliento užklausas įvedimo tipą pagal IP adresą arba pagrindinio kompiuterio pavadinimą;

r ErrorLog – žurnalo failas, kuriame bus registruojamos visos klaidos

(pranešimai), aptikti „Apache“ operacijos metu;

r LogLevel – registravimo informacijos lygis;

r LogFormat – direktyva, apibrėžianti informacijos išvedimo į žurnalą formatą;

r CustomLog – nurodo žurnalo failo vietą;

r ServerSignature – leidžia informaciją apie versiją, virtualų mazgą ir pan. rodyti Apache serverio sugeneruotuose puslapiuose;

r Pseudonimas - nustato prieigos prie serverio katalogų slapyvardžius (slapyvardžio eilutės ilgis yra mažesnis nei prieigos kelio linijos ilgis);

r ScriptAlias ​​- daro tą patį kaip Alias, bet katalogams su CGI-

scenarijai;

r IndexOptions – nustato katalogų indeksavimo tipą;

r AddIcon – nurodo piktogramos failą, kuris turi būti rodomas konkrečiose situacijose, pavyzdžiui, rodant puslapį su katalogo turiniu, skirtingų tipų failai susiejami su skirtingomis piktogramomis;

r AddIconByEncoding – nustato piktogramas konkrečioms MIME koduotėms;


r AddIconByType – nustato konkrečių MIME dokumentų tipų piktogramas;

r DefaultIcon – numatytoji piktograma;

r AddDescription – prideda komentaro eilutę prie tam tikrų dokumentų tipų (pavyzdžiui, .gz – gzipped dokumentas);

r ReadmeName – nurodo README failo, įtraukto į katalogo indekso failų sąrašo pabaigą, pavadinimą;

r HeaderName – nurodo HEADER failo, įtraukto į katalogo indekso failų sąrašo pradžią, pavadinimą;

r IndexIgnore – failų pavadinimai, kurie bus ignoruojami indeksuojant;

r AddEncoding – leidžia naršyklėms apdoroti informaciją skrydžio metu nurodytu būdu (pavyzdžiui, rodyti gzip suspaustų failų turinį);

r AddLanguage – rodo nurodytus failo vardo plėtinius tam tikra dokumento kalba (pvz., AddLanguage ru .ru);

r AddCharset – nustato konkretaus failo vardo plėtinio susiejimą su konkrečia koduote;

r LanguagePriority – kalbų tvarka;

r AddType – nustato failų vardų plėtinių susiejimą su MIME tipu;

r AddHandler – nustato apdorojimo tipą pagal failo vardo plėtinį;

r ErrorDocument – ​​leidžia tinkinti klaidų pranešimus;

r BrowserMatch – nurodo informacijos išvesties naršyklėms funkcijas.

Konfigūracijos faile httpd.conf dažnai rasite sąlygines direktyvas, pvz . Jie naudojami nustatyti „Apache“ nustatymus, kurie galimi, jei yra šis modulis (28.3 pavyzdys).

Pseudonimas /doc /usr/share/doc

Šiame pavyzdyje slapyvardis doc nustatomas į /usr/share/doc katalogą. Tačiau toks slapyvardis bus nustatytas tik tuo atveju, jei yra modulis mod_alias.c. Naudodami šį slapyvardį (jei turite atitinkamus leidimus), galite pasiekti /usr/share/doc katalogo turinį naudodami žiniatinklio naršyklę naudodami URL http://localhost/doc.


Kitas sąlyginės direktyvos tipas yra . Šiose direktyvose yra „Apache“ nustatymų blokų, kurie veikia tik tada, kai yra apibrėžtas papildomas parametras. Ši parinktis gali būti nurodyta naudojant httpd vykdomojo failo parinktį -D.

„Apache“ dažnai pateikiama su gana išsamia dokumentacija HTML formatu. Pavyzdžiui, Fedora platinimuose Apache dokumentacija tradiciškai pasiekiama paleidus Apache iš URL http://localhost/manual.

„Apache“ yra populiariausias nemokamas žiniatinklio serveris. 2016 m. ji naudojama 33% visų interneto svetainių, ty maždaug 304 milijardai svetainių. Šis žiniatinklio serveris buvo sukurtas dar 1995 m. kaip populiaraus NCSA pakaitalas ir išsprendė daugelį jo problemų. Sklando gandai, kad jo vardas kilęs iš neryškumo, nes jis taisė NCSA klaidas. Dabar tai yra kelių platformų programa, kuri palaiko „Windows“, „Linux“ ir „MacOS“ ir suteikia pakankamai lankstumo, pritaikymo ir funkcionalumo. Programa turi modulinę struktūrą, kuri leidžia beveik neribotą laiką išplėsti jos funkcionalumą naudojant modulius.

„Apache“ galite įdiegti „Linux“ naudodami keletą komandų, tačiau programoje pateikiama labai daug nustatymų, kuriuos galima keisti, taip pat modulių, kuriuos įjungus veiks geriau. Šiame straipsnyje bus aptartas „Apache“ diegimas ir konfigūravimas, Ubuntu naudosime kaip pagrindinę sistemą, tačiau šiuos veiksmus galite pakartoti bet kuriame kitame paskirstyme. Apžvelgsime ne tik pačios programos įdiegimą, bet ir jos konfigūravimą, apache virtualių hostų nustatymą bei naudingiausius modulius.

Šiuo metu naujausia programos versija yra 2.4, todėl bus svarstoma nustatyti apache 2.4 versiją. Kaip jau sakiau, „Linux“ programa įdiegiama pažodžiui keliomis komandomis. Norėdami įdiegti Ubuntu, pirmiausia atnaujinkite sistemą į naujausią versiją:

sudo apt atnaujinimas
$ sudo apt atnaujinimas

Tada įdiekite apache2:

sudo apt install apache2

Kituose platinimuose programos paketas vadinamas šiuo arba httpd ir jo įdiegimas nesukels jums jokių sunkumų.

Baigę diegti, prie paleisties turite pridėti žiniatinklio serverį, kad įjungus kompiuterį jis nebūtų paleistas rankiniu būdu:

sudo systemctl įgalinti apache2

Apache sąranka

Praėjo tie laikai, kai „Apache“ konfigūracija buvo saugoma viename faile. Bet tai teisinga: kai viskas yra paskirstyta savo kataloguose, lengviau naršyti konfigūracijos failus.

Visi nustatymai yra aplanke /etc/apache/:

  • Failas /etc/apache2/apache2.conf atsakingas už pagrindinius nustatymus
  • /etc/apache2/conf-available/*- papildomi žiniatinklio serverio nustatymai
  • /etc/apache2/mods-available/*- modulio nustatymai
  • /etc/apache2/sites-available/*- virtualaus pagrindinio kompiuterio nustatymai
  • /etc/apache2/ports.conf- prievadai, kuriuose veikia apache
  • /etc/apache2/envvars

Kaip pastebėjote, yra du aplankai conf, mods ir site. Jie yra prieinami ir įjungti. Kai įjungiate modulį arba pagrindinį kompiuterį, iš turimo aplanko sukuriama simbolinė nuoroda į įgalinimo aplanką. Todėl geriau atlikti nustatymus turimuose aplankuose. Paprastai tariant, galėtum apsieiti be šių aplankų, paimti viską ir sumesti į vieną failą senamadiškai, ir viskas veiktų, bet dabar to niekas nedaro.

Pirmiausia pažvelkime į pagrindinį konfigūracijos failą:

vi /eta/apache2/apache2.conf

Laikas baigėsi- nurodo, kiek laiko serveris bandys tęsti nutrūkusį duomenų perdavimą ar priėmimą. Užteks 160 sekundžių.

Keep Alive On- labai naudingas parametras, leidžiantis vienu ryšiu perkelti kelis failus, pavyzdžiui, ne tik patį html puslapį, bet ir vaizdus bei css failus.

MaxKeepAliveRequests 100- maksimalus užklausų skaičius vienam ryšiui, kuo daugiau, tuo geriau.

KeepAliveTimeout 5- ryšio laikas baigiasi, paprastai puslapiui įkelti pakanka 5-10 sekundžių, todėl daugiau nebereikia nustatyti, bet taip pat nereikia nutraukti ryšio prieš įkeliant visus duomenis.

Vartotojas, grupė- vartotojas ir grupė, kurios vardu programa veiks.

HostnameLookups- registruokite domenų vardus į žurnalus, o ne IP adresus, geriau jį išjungti, kad pagreitintumėte darbą.

LogLevel- klaidų registravimo lygis. Pagal numatytuosius nustatymus naudojamas įspėjimas, tačiau norėdami, kad žurnalai būtų pildomi lėčiau, tiesiog įjunkite klaidą

Įtraukti- visos įtraukimo direktyvos yra atsakingos už aukščiau aptartų konfigūracijos failų prijungimą.

Katalogų direktyvos yra atsakingos už prieigos teisių į tam tikrą katalogą failų sistemoje nustatymą. Sintaksė čia yra:


Parametrų reikšmė

Čia pateikiamos šios pagrindinės parinktys:

AllowOverride- nurodo, ar .htaccess failus reikia skaityti iš šio katalogo; tai yra tie patys nustatymų failai ir jų sintaksė. Visi – leisti viską, Nėra – neskaitykite šių failų.

DocumentRoot- nustato, iš kurio aplanko reikia paimti dokumentus, kad jie būtų rodomi vartotojui

Galimybės- nurodo, kurios žiniatinklio serverio funkcijos turėtų būti leidžiamos šiame aplanke. Pavyzdžiui, All – leisti viską, FollowSymLinks – sekti simbolines nuorodas, Indeksai – rodyti katalogo turinį, jei nėra indekso failo.

Reikalauti- nustato, kurie vartotojai turi prieigą prie šio katalogo. Reikalauti visų atmesta - neigti visus, Reikalauti, kad viskas būtų suteikta - leisti visiems. Galite naudoti vartotojo arba grupės direktyvą, o ne visas, kad aiškiai nurodytumėte vartotoją.

Įsakymas- leidžia valdyti prieigą prie katalogo. Priima dvi reikšmes: Allow,Deny – leisti visiems, išskyrus nurodytus arba Neleisti,Leisti – neleisti visiems, išskyrus nurodytus..ru.

Visos šios direktyvos čia nenaudojamos, nes esame patenkinti numatytosiomis reikšmėmis, tačiau .htaccess failuose jos gali būti labai naudingos.

Mums lieka /etc/apache2/ports.conf failas:

Jame yra tik viena direktyva „Listen“, kuri nurodo programai, kuriame prievade ji turėtų veikti.

Paskutinis failas yra /etc/apache2/envvars, vargu ar jį naudosite, jame yra kintamųjų, kuriuos galima naudoti kituose konfigūracijos failuose.

Apache serverio nustatymas per htaccess

.htaccess failai leidžia sukonfigūruoti Ubuntu žiniatinklio serverį, kad jis veiktų tam tikrame kataloge. Visos šiame faile nurodytos instrukcijos vykdomos taip, lyg būtų suvyniotos į žymą jei jie buvo pagrindiniame faile.

Svarbu pažymėti, kad tam, kad serveris galėtų skaityti instrukcijas iš .htaccess, šio aplanko nustatymuose pagrindiniame arba virtualiojo pagrindinio kompiuterio faile neturi būti AllowOverride Nėra kad visi reikalingi nustatymai veiktų AllowOverride All.

Kitu atveju čia galima atlikti bet kokią „Apache“ serverio konfigūraciją, pradedant modulių įgalinimu ir baigiant tiesiog prieigos prie aplanko keitimu. Kadangi mes jau apsvarstėme visus parametrus, pateiksime tik keletą pavyzdžių:

Užsakyti Atmesti, Leisti
Neigti nuo visų

Neleidžia visiems pasiekti šio aplanko, svarbu kreiptis dėl konfigūracijos aplankų. Dažniausiai .htaccess naudojamas dirbti su mod_rewrite moduliu, kuris leidžia keisti užklausas skrydžio metu:

RewriteEngine įjungtas
RewriteRule ^product/([^/\.]+)/?$ product.php?id=$1 [L]

Tačiau tai labai plati tema ir nepatenka į šio straipsnio taikymo sritį.

„Apache“ modulių konfigūravimas

Kaip jau sakiau, Apache yra modulinė programa, jos funkcionalumą galima išplėsti naudojant modulius. Visi galimi įkroviklio moduliai ir modulio konfigūracijos failai yra aplanke /etc/apache/mods-available. Ir aktyvuota /etc/apache/mods-enable.

Tačiau jums nereikia analizuoti šių aplankų turinio. Apache 2.4 konfigūravimas pridedant modulius atliekamas naudojant specialias komandas. Visus veikiančius modulius galite peržiūrėti naudodami komandą:

Galite įjungti modulį naudodami komandą:

sudo a2enmod modulio_pavadinimas

Ir išjungti:

sudo a2dismod modulio_pavadinimas

Įjungę arba išjungę modulius, turite iš naujo paleisti apache:

sudo systemctl iš naujo paleiskite apache2

Kai vykdoma viena iš šių komandų, kataloge „Mods-available“ sukuriama arba ištrinama simbolinė nuoroda į modulio failą su plėtiniu. Galite peržiūrėti šio failo turinį, yra tik viena eilutė. Pavyzdžiui:

vi /etc/apache2/mods-available/deflate.load

Tai reiškia, kad modulį galima suaktyvinti tiesiog pridedant šią eilutę prie apache2.conf failo. Tačiau įprasta tai daryti, kad būtų išvengta painiavos.

Modulio nustatymai yra tame pačiame aplanke, tik faile su plėtiniu .conf, o ne įkelti. Pavyzdžiui, pažiūrėkime į to paties modulio nustatymus, skirtus defliaciniam glaudinimui:

vi /etc/apache2/mods-available/deflate.conf

Failai conf-available aplanke yra tie patys moduliai, tik jie diegiami atskirai nuo apache, tai gali būti konfigūracijos failai, leidžiantys įjungti php modulį ar bet kurią kitą programavimo kalbą. Čia viskas veikia lygiai taip pat, tik šiek tiek skiriasi šių modulių įjungimo ir išjungimo komandos:

a2enconf modulio_pavadinimas

a2disconf modulio pavadinimas

Kaip matėte, modulių įgalinimas yra labai paprastas. Įgalinkime kelis būtinus, bet neįjungtus pagal numatytuosius modulius:

sudo a2enmod galiojimo laikas baigiasi
$ sudo a2enmod antraštės
$ sudo a2enmod perrašyti
$ sudo a2enmod ssl

Galiojimo pabaigos ir antraščių moduliai sumažina serverio apkrovą. Jie grąžina antraštę Nepakeista, jei dokumentas nepasikeitė nuo paskutinės užklausos. Galiojimo pabaigos modulis leidžia nustatyti laiką, per kurį naršyklė turėtų saugoti gautą dokumentą. Rewrite leidžia greitai pakeisti prašomus adresus, labai naudinga kuriant CNC nuorodas ir t.t. Ir paskutinis, kad būtų galima palaikyti SSL šifravimą. Atlikę nustatymus nepamirškite iš naujo paleisti apache2.

„Apache“ virtualiųjų kompiuterių konfigūravimas

Nebūtų visiškai patogu, jei viename fiziniame kompiuteryje galėtų būti talpinama tik viena svetainė. „Apache“ gali palaikyti šimtus svetainių viename kompiuteryje ir kiekvienai pateikti tinkamą turinį. Tam naudojami virtualūs kompiuteriai. Serveris nustato, į kurį domeną ateina užklausa, ir aptarnauja reikiamą turinį iš šio domeno aplanko.

Apache prieglobos nustatymai yra aplanke /etc/apache2/hosts-available/. Norėdami sukurti naują pagrindinį kompiuterį, tiesiog sukurkite failą bet kokiu pavadinimu (geriau baigti pagrindinio kompiuterio pavadinimu) ir užpildykite jį reikiamais duomenimis. Visus šiuos parametrus turite suvynioti į direktyvą „VirtualHost“. Be čia aptartų parametrų, bus naudojami šie:

  • Serverio pavadinimas- pirminis domeno vardas
  • ServerisAlias- papildomas pavadinimas, kuriuo bus galima pasiekti svetainę
  • Serverio administratorius- administratoriaus el
  • DocumentRoot- aplankas su šio domeno dokumentais

Pavyzdžiui:

vi /etc/apache2/sites-available/test.site.conf

Sąvokos: konfigūracija, nurodymai. Konfigūracijos failai, direktyvos. Pagrindinės konfigūracijos direktyvos. Serverio procesai. Valdykite prieigą prie katalogų ir failų.

Konfigūracija (lot. configuratio – abipusis išdėstymas) – tai ypatinga loginė ir metodinė technika, mentalinė technika, skirta skirtingų dalykų žinioms, skirtingoms idėjoms apie tą patį objektą sintezuoti.

direktyvos, g. (iš lot. directio – kryptis). Bendrosios gairės, kurias pavaldiniui teikia aukščiausia institucija (darbo stoties serveriui ir pan.) .

Konfigūracijos failas yra gana paprasto formato failas. Kiekviena eilutė reiškia raktinį žodį ir vieną ar daugiau argumentų. Paprastumo dėlei daugumoje eilučių yra tik vienas argumentas. Viskas, kas po simbolio # yra komentaras ir nepaisoma.

Apache sukonfigūruojama pakeitus paslaugų failus kataloge /etc/httpd/conf/. Pagrindinis žiniatinklio serverio konfigūracijos failas yra httpd.conf. Konfigūracijos direktyvos gali būti dedamos į įvairius failus, kurių pagrindinėje Include konstrukcijoje yra failo_vardas.conf.

Jei konfigūracijos faile netiesiogiai nurodyta failo ar katalogo vieta (aiški vieta prasideda failų sistemos šaknyje – simboliu „/“, „Apache“ naudoja katalogą, nurodytą ServerRoot direktyvoje, kad nustatytų tikrąją failo vietą. taikinys.

Apache modulių ir konfigūravimo direktyvų aprašymas

Direktyvos gali būti naudojamos šiais lygiais:

Serverio konfigūracijos lygis – direktyvą galima naudoti tik pagrindiniame konfigūracijos faile.

V lygis - direktyva gali būti naudojama skirtingai skirtingiems virtualiems pagrindiniams kompiuteriams.

D lygis - bet kuriame kataloge galite nustatyti savo nustatymus naudodami šio lygio direktyvą.

H lygis .htaccess failams – direktyvą leidžiama naudoti .htaccess failuose ten, kur tai leidžia serveris.

Bet kuriuo momentu, naudojant failo pavadinimo parametrą direktyvoje, nurodomas absoliutus (pradedant "/") arba santykinis kelias į failą iš ServerRoot katalogo.

CORE – žiniatinklio serverio branduolys (pagrindinis „Apache“ modulis)

AccessConfig failo pavadinimas

Nustato konfigūracijos failo vietą. Numatytasis sistemos konfigūracijos failas yra conf/access.conf; Norėdami atšaukti šio failo skaitymą, rekomenduojama nustatyti /dev/null.

AccessFileName failo failas...

Pagal numatytuosius nustatymus nustato prieigos failų, naudojamų konfigūruojant skrydžio konfigūraciją, pavadinimus – .htaccess.

AddModule modulio modulis... [A]

Suaktyvina dinamiškai įkeltą modulį, pateiktą kaip atskirą bibliotekos failą.

AddModule modulio modulis...

Suaktyvina dinamiškai įkeltą modulį, pateikiamą kaip atskirą bibliotekos failą arba sukompiliuotą pagrindiniame httpd modulyje.

AllowOverride param param...

Nustato taisykles, pagal kurias Apache naudoja direktyvas vidiniuose .htaccess failuose;

Nėra – ignoruoja;

All – naudoja visas direktyvas;

Parinktys – leidžia naudoti Options ir XBitHack;

Indeksai – katalogų indeksavimo valdymo nurodymai;

FileInfo – failų tipų ir jų tvarkyklių valdymo direktyvos;

AuthConfig – nurodymai pasiekti Auth* katalogus;

Limit – leisti/neleisti/užsakyti nurodymus.

AuthName sritis

AuthType tipas

Naudojamas norint nurodyti vartotojo vardo ir slaptažodžio užklausos ir perdavimo metodą norint pasiekti svetainių katalogus. Dažniausiai jie naudoja Basic, rečiau - Digest ir kt.

BindAddress adresas [A]

Nurodo adresą, kuriuo „Apache“ priims ryšius. Galite naudoti pagrindinio kompiuterio pavadinimą, IP adresą arba *.

ClearModuleList[A]

Direktyva išvalo įkeltų modulių sąrašą. Po šios direktyvos turėsite naudoti AddModule direktyvas, kad galėtumėte dirbti su reikalingais moduliais.

„ContentDigest“ įjungtas|išjungtas

Įjungia arba išjungia MD5 duomenų maišos persiuntimą. Jis apskaičiuojamas visiems perduodamiems puslapiams ir nėra talpinamas.

„CoreDumpDirectory“ dirname [A]

Nurodo Apache į katalogą, kuriame bus išsaugoti avarinių klaidų atveju sukurti atminties iškeldinimo failai (šerdis).

DefaultType MIME tipas

Nustato klientams siunčiamą MIME tipą, jei „Apache“ negali nustatyti tipo per mime.types failą arba „AddType“ direktyvas. Numatytasis yra tekstas / paprastas.

...

Sujungia direktyvų, kurios nurodo „Apache“ elgseną pasiekiant dokumentus, esančius tam tikrame kataloge, grupę. Leidžiama naudoti vardų kaukes – simbolius *, ? pagal apvalkalo taisykles. Jei naudojama kaukė, prieš pavadinimą dedama tildė ~.

...

Apibrėžia katalogų grupę, nurodytą reguliariąja išraiška, ir nustato „Apache“ darbo su šios grupės katalogais ir failais taisykles.

DocumentRoot dirname

Nurodo serveriui katalogų medžio šaknies vietą, po kuria yra žiniatinklio serverio duomenų struktūra.

ErrorDocument failo pavadinimas|eilutė|URL

Klaidos atveju jis nukreipia į nurodytus puslapius. Taip pat galite nustatyti susidariusios situacijos komentarą, kuris turėtų prasidėti viena kabutė. Pavyzdys:

ErrorDocument 500 http://foo.example.com/cgi-bin/tester

ErrorDocument 404 /cgi-bin/bad_urls.pl

ErrorDocument 401 /subscription_info.html

ErrorDocument 403 "Atsiprašome, negaliu leisti jums pasiekti šiandien"

ErrorLog failo pavadinimas

Klaidos žurnalo failo pavadinimas. Jei parametrų eilutė prasideda (/), tada failo kelias turi būti nurodytas iš ServerRoot; jei ji prasideda (|), tada klaidų pranešimai perduodami nurodytai komandai naudojant standartinę įvestį. Pavyzdžiui, tokiu būdu galite išsaugoti žurnalą tiesiogiai SQL DBVS arba išsaugoti juos iš karto suglaudintus, perkeldami, pavyzdžiui, į gzip. Apache 1.3 ir naujesnės versijos pagal numatytuosius nustatymus išveda pranešimus į syslog, jei sistema palaiko šią funkciją; bet tai galima išjungti naudojant syslog:facility.

...

Failų prieigos valdymas. Skyriai apdorojami ta pačia tvarka, kaip ir konfigūracijos faile, perskaičius direktyvos skyrius ir .htaccess failus, bet prieš perskaitant katalogo skyrius . Argumente turi būti failo pavadinimas arba kaukė su "?" - bet koks simbolis, "*" - bet kokia eilutė. Su papildomu ~ simboliu galima naudoti išplėstinius regus. išraiškos (žr. grep(1) skyrių Įprastos išraiškos) Pavyzdžiui: atitiks dažniausiai naudojamus grafinius failus internete.

...

Taip pat kaip , bet naudoja reguliariąsias išraiškas.

Tai susiję tik su Apache paleidimu ir formavimo procesais aplinkoje bei su teisėmis, atitinkančiomis nurodytą pavadinimą.

HostNameLookups on|off|double

Valdo galimybę nustatyti lankytojo prieglobos pavadinimą naudojant atvirkštinį DNS. Jis veikia lėtai ir pagal numatytuosius nustatymus laikomas išjungtu. Dvigubas rodo, kad prieglobos pavadinimas turi būti papildomai tikrinamas, siekiant užtikrinti, kad pavadinimas sutampa su užklausą išsiuntusios prieglobos IP adresu.

IdentityCheck įjungtas|išjungtas

Įgalinti RFC1413 autentifikavimą. Įjungus šią funkciją žymiai pailgės serverio prieigos laikas.

...

Ir turėtų būti vykdomas tik tuo atveju, jei ši parinktis apibrėžta „Apache“ vidinėse struktūrose. Ženklas [!] prieš parametrą rodo, kad nurodymų blokas bus skaitomas tik tuo atveju, jei parametras nėra apibrėžtas.

...

Nurodo, kad direktyvos, esančios bloke, sudarytame iš direktyvų poros Ir turėtų būti vykdomas tik tuo atveju, jei šis modulis yra sudarytas „Apache“. [!] ženklas prieš modulį rodo, kad direktyvų blokas bus skaitomas tik tuo atveju, jei parametras nėra apibrėžtas.

Įtraukti failo pavadinimą [A]

Direktyva leidžia į serverio konfigūraciją įtraukti konfigūracijos failus.

KeepAlive įjungtas|išjungtas [A]

Leidžia klientui prašyti kelių failų paeiliui nenutraukiant TCP ryšio.

KeepAliveTimeout sek [A]

Nurodomas laikas (sekundėmis) iki TCP ryšio uždarymo, per kurį „Apache“ lauks kitos kliento užklausos.

...

Leidžia nurodyti, kuriam HTTP metodui (pvz., GET arba POST) priklauso viduje esantis turinys. ... prieigos apribojimo komandos.

Galima naudoti šiuos metodus: GET, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH, PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK.

Klausymo prievadas [A]

Priverčia „Apache“ klausytis nurodytų adresų ir prievadų. Pavyzdžiui, norėdami priversti serverį klausytis 80 ir 8000 prievaduose, naudokite:

Norėdami, kad „Apache“ veiktų skirtingose ​​sąsajose su nurodytais prievadų numeriais, naudokite:

Klausykite 192.170.2.1:80

Klausykite 192.170.2.5:8000

Klausyti atgalinio žurnalo ilgis [A]

Didžiausias ryšio apdorojimo eilės ilgis.

...

Išsami informacija apache vadove :)

...

Išsami informacija apache vadove

Užrakinimo failo pavadinimas [A]

Direktyva nustato kelią į užrakto failą.

LogLevel atsiradimas|alert|kritiškumas|klaida|perspėjimas|pastebėjimas|informacija|derinimas

Nustato protokolo (serverio operacijos žurnalo failo) informacijos turinio lygį. Rekomenduojama naudoti bent kritinį lygį.

MaxClients skaičius [A]

Direktyva apriboja vienu metu teikiamų užklausų serveriui skaičių. Tiesą sakant, šis skaičius negali viršyti antrinių serverio procesų skaičiaus, kuris pagal numatytuosius nustatymus negali būti didesnis nei 256. Norėdami ištaisyti situaciją, redaguokite HARD_SERVER_LIMIT adresu httpd.h ir sukompiliuokite.

MaxKeepAliveRequest skaičius [A]

Leidžia klientui nuosekliai prašyti nurodyto failų skaičiaus nenutraukiant TCP ryšio, jei įjungta KeepAlive. Jei parametras nustatytas į 0, „Apache“ uždarys ryšį tik pagal „KeepAliveTimeout“ parametrą.

Maksimalus užklausų skaičius vienam vaikui [A]

Direktyva nustato užklausų, kurias gali apdoroti atskiras antrinis procesas, skaičių. Jei MaxRequestsPerChild nustatytas į 0, užklausų skaičius neribojamas.

MaxSpareServers skaičius [A]

Direktyva nustato norimą maksimalų neaktyvių serverio procesų skaičių. Ši direktyva nenaudinga, jei naudojama Microsoft Windows Apache versija.

MinSpareServers skaičius [A]

Direktyva nustato pageidaujamą minimalų neaktyvių serverio procesų skaičių. Ši direktyva nenaudinga, jei naudojama Microsoft Windows Apache versija.

NameVirtualHost prievadas [A]

Nurodo, kad užklausos šiam prievado pavadinimui turėtų būti atskirtos prieglobos prieglobos pavadinimu (HTTP antraštė „Host:“). Leidžia apibrėžti kelis virtualius pagrindinius kompiuterius vienam IP adresui.

Parinktys param param...

Apibrėžia nurodyto turinio Apache veiksmų nustatymus. Visi galimi nustatymai yra išsamiai aprašyti „apache“ vadove. Dažnai naudojami: Indeksai – įjungia katalogo turinio rodymą, jei indekso failas jame nerastas (direktyva „DirectoryIndex“); ExecCGI – suteikia galimybę šiame kataloge talpinti vykdomuosius failus (cgi, perl scenarijus); Includes – suteikia galimybę talpinti failus į SSI katalogą. Kiekvieną nustatymą palaiko atitinkamas modulis, kuris jį naudoja ir gali neveikti, jei reikiamas modulis neįkeltas. Kiekviena Parinkčių direktyva yra laikoma papildoma prie jau žinomų Parinkčių, apibrėžtų pirminiams katalogams. Prie kiekvieno parametro gali būti pridėtas + arba -, kad jį įjungtumėte arba išjungtumėte tam tikrame kontekste.

PidFile failo pavadinimas [A]

Direktyva nustato failo, kuriame serveris įrašo proceso identifikatorių, pavadinimą.

Nurodo Apache prievadą – skaičių nuo 0 iki 65535 (atkreipkite dėmesį, kad kai kuriuos prievadus gali naudoti kiti protokolai, žr. /etc/servises). Standartinis http protokolo prievadas yra 80.

reikalauti vartotojo ID|grupė|galiojantis naudotojas|failo savininkas|grupės savininkas [A]

Nustato, kurie vartotojai turi prieigą prie katalogo.

Reikalauti vartotojo vartotojo ID – tik šie vartotojai turi prieigą

Reikalauti grupės grupės pavadinimas [grupės pavadinimas] – visi šių grupių vartotojai

Reikalauti galiojančio naudotojo – visi galiojantys vartotojai.

ResourceConfig failo pavadinimas [A]

Nuskaitęs httpd.conf, serveris nuskaito kitas šio failo direktyvas. Failo pavadinimas nustatytas atsižvelgiant į ServerRoot. Galima išjungti: ResourceConfig /dev/null

RLimitCPU max|sec[ max|sec] [A]

RLimitMEM maks.|baitai[maks.|baitai] [A]

RLimitNPROC max|count[ max|count] [A]

Patenkinti bet kuriuos|visus [A]

Apibrėžia prieigos politiką, jei vienu metu naudojami leisti ir reikalauti. Naudojamas, kai prieigą prie zonos riboja vardas/slaptažodis ir kliento adresas. Šiuo atveju pagal numatytuosius nustatymus („visi“) klientas turi būti patvirtintas nurodytu adresu ir įvesti teisingą vartotojo vardą bei slaptažodį. Parametras „bet koks“ klientas gaus prieigą, jei įvedė teisingą vardą ir slaptažodį arba išlaikė pagrindinio kompiuterio apribojimą. Galima naudoti norint apriboti prieigą naudojant slaptažodį, bet leisti klientams iš konkretaus adreso be slaptažodžio.

ScoreBoardFile failo pavadinimas [A]

Direktyvoje reikia nurodyti failo pavadinimą, kurį naudoja serveris bendravimui tarp vaiko ir motinos procesų. Galite sužinoti, ar šis failas reikalingas, paleisdami „Apache“ ir pažiūrėję, ar jis sukuria failą nurodytu pavadinimu. Jei taip, tuomet turite įsitikinti, kad jį naudoja tik viena Apache kopija.

SendBufferSize baitai [A]

Nustato TCP buferio dydį.

ServerAdmin el

Nustato el. pašto adresą, kurį serveris rodys klientui klaidų pranešimuose.

ServerAlias ​​pagrindinio kompiuterio pavadinimas

Nurodo alternatyvų virtualų pagrindinio kompiuterio pavadinimą.

Serverio pavadinimas pagrindinio kompiuterio pavadinimas

Direktyva nustato serverio pavadinimą; naudojamas kuriant nuorodas. Jei pavadinimas nenurodytas, serveris bandys jį gauti iš savo IP adreso.

ServerPath kelias

Direktyva nustato seną pagrindinio kompiuterio kelią.

ServerRoot kelias [A]

Nustato katalogą, kuriame gyvena serveris. Paprastai yra conf/ ir logs/ pakatalogiai. Kitų konfigūracijos failų keliai yra sukurti atsižvelgiant į šį katalogą.

ServerSsignature on|ff|mail

Konfigūruoja serverio sugeneruoto dokumento apačioje esančią eilutę. Išjungta pagal numatytuosius nustatymus, Įjungta – rodo serverio versiją ir virtualiojo pagrindinio kompiuterio serverio pavadinimą, el. paštas prideda mailto: nuorodą į ServerAdmin

Serverio prieigos raktai Minimalus|OS|Visas [A]

Valdo serverio klientui siunčiamą antraštę, kurioje aprašoma serverio OS ir sukompiliuoti moduliai.

Serverio tipas autonominis|inetd [A]

Nustato, kaip sistema paleidžia serverį. inetd – veikia iš inetd sistemos proceso. savarankiškas – kaip demono procesas.

Pradinių serverių skaičius [A]

Nustato paleidžiant sukurtų antrinių procesų skaičių. Skaičius bet kokiu atveju dinamiškai keičiasi priklausomai nuo apkrovos, dažniausiai nėra jokios priežasties keisti šį nustatymą.

Laikas, kurio „Apache“ lauks: GET užklausos gavimas, TCP paketų gavimas pagal POST ir PUT užklausas, pauzė tarp ACK, kai siunčiami TCP paketai atsakymuose.

UseCanonicalName įjungtas|išjungtas

Priverčia „Apache“ sugeneruoti puslapių pavadinimus, kuriuos ji sukuria naudodama SERVER_NAME reikšmes su SERVER_PORT.

Vartotojo vartotojo vardas

Nustato vartotojo ID, kuriuo serveris atsakys į užklausas. Norint naudoti direktyvą, serveris turi veikti kaip root.

...[A]

Direktyvos, dedamos į bloką, sudarytą iš direktyvų poros Ir Aš nustatau tam tikro virtualaus pagrindinio kompiuterio konfigūraciją. Kiekvienas virtualus kompiuteris turi turėti unikalų IP adresą, prievado numerį arba pagrindinio kompiuterio pavadinimą. Tikslinga naudoti šią direktyvą, jei, pavyzdžiui, serveris turi tinklo sąsają vidiniam tinklui ir kitą sąsają išoriniam tinklui.

mod_env – nustato ir perduoda kintamuosius apdorojimui CGI/SSI failuose

PassEnv kintamasis[ kintamasis] ...

Perduoda aplinkos kintamąjį (pvz., HOME) tvarkytojams.

SetEnv kintamojo reikšmė

Įrašo nurodytą reikšmę į nurodytą aplinkos kintamąjį.

UnsetEnv kintamasis[ kintamasis]...

Iš naujo nustato kintamąjį, todėl neįmanoma jo nuskaityti iš tvarkyklių.

mod_setenvif – aplinkos kintamiesiems nustatyti naudoja sąlygines išraiškas

BrowserMatch reguliariojo reiškinio env-kintamasis[=value] ] ... [A]

Naudoja perduotą reguliarųjį posakį kaip vartotojo agento antraštės filtrą iš kliento naršyklės. Sėkmingai įvykdžius kintamąjį inicijuojamas nurodyta verte. Jei nurodytas tik kintamojo pavadinimas, jis inicijuojamas skaičiumi 1. Jei kintamasis nurodytas su priešais esančiu "!" - kintamasis nustatomas iš naujo.

BrowserMatchNoCase reguliariojo reiškinio env-kintamasis[=value] ] ... [A]

Veikia panašiai kaip „BrowserMatch“, leidžianti skirtis tarp perduodamos „User-Agent“ reikšmės ir reguliariosios išraiškos, naudojamos kaip filtras.

SetEnvIf atributo reguliariojo reiškinio env-kintamasis[=value] ] ... [A]

Direktyvos atliktas veiksmas yra visiškai panašus į BrowserMatch, tačiau vietoj User-Agent galima naudoti bet kurią kitą antraštę: Remote_Host; Remote_Addr; Nuotolinis_vartotojas; Request_Method; Užklausos_URI; Referentas

SetEnvIfNoCase atributo reguliariojo reiškinio env-kintamasis[=value] ] ... [A]

Skirtumas nuo „SetEnvIf“ yra toks pat kaip „BrowserMatchNoCase“ iš anksčiau pateiktos „BrowserMatch“.

mod_unique_id – unikalaus aplinkos kintamojo UNIQUE_ID generavimas

Kintamasis generuojamas atsitiktinai iš serverio IP adreso, vykdomo proceso numerio, laiko žymų ir papildomų vidinių skaitiklių.

Kintamasis skirtas naudoti sudėtiniuose dokumentuose, kai neįmanoma sekti tos pačios užklausos kitais metodais.

mod_mime – skirtas nustatyti failo MIME tipą, kai jis perduodamas klientui

AddCharset simbolių rinkinio plėtinys...

Nurodytų failų plėtinių atveju nurodo „Apache“ perduoti šį simbolių rinkinį, kai atsako klientui.

AddEncoding MIME-enc plėtinys...

Nurodytų failų plėtinių atveju nurodo Apache perkelti failą naudojant norimą MIME kodavimą.

AddHandler tvarkyklės vardo plėtinys...

Nurodo „Apache“, kad failai su nurodytais plėtiniais turėtų būti perduoti konkrečiam tvarkytojui. Valdiklis gali būti vidinis (cgi-script ir kiti) arba išorinis, aprašytas anksčiau veiksmų direktyvoje.

AddLanguage MIME-lang plėtinys...

Nustato ryšį tarp failo plėtinių ir atsakyme atsiųsto kalbos kodo.

AddType MIME tipo plėtinys...

Atnaujina MIME tipo lentelę su nauju failų plėtinių susiejimu ir atsakymo klientui MIME kodu.

DefaultLanguage MIME-lang

Nustato, kad atsakymo kalba visada būtų siunčiama, jei to negalima padaryti kitomis priemonėmis.

ForceType MIME tipo

Priverčia reaguoti su nurodytu MIME tipu kataloge, kuriam priskirta nurodyta direktyva.

RemoveEncoding plėtinys...

Pašalina MIME kodavimo kodą atsakyme į failus su šiais plėtiniais.

RemoveHandler plėtinys...

Nurodo „Apache“ nepaleisti failų su šiais plėtiniais tvarkyklių.

RemoveType plėtinys...

Iš naujo nustato MIME tipą atsakant klientui į numatytąjį MIME tipą

SetHandler tvarkytuvas

Priverčia iškviesti šį tvarkyklę visiems failams, kuriems priskirta ši direktyva.

TypesConfig failo pavadinimas [A]

Nurodo MIME tipo susiejimo lentelės vietą. Numatytasis – conf.mime.types

mod_mime_magic – modulis, kuris naudoja sudėtingas taisykles, kad nustatytų atsakyme atsiųsto failo MIME tipą

MimeMagicFile failo pavadinimas

Suaktyvina modulio veiksmą naudojant nurodytą failą tam tikroje žiniatinklio serverio dokumentų srityje arba visuose „Apache“ prieinamuose dokumentuose.

mod_negotiation – užtikrina perduodamų duomenų tipų derybas tarp kliento ir serverio

CacheNegotiatedDocs [A]

Leidžia išsaugoti nuoseklaus turinio dokumentus tarpiniuose tarpiniuose serveriuose ir kliento kompiuteryje.

Kalbos prioritetas MIME kalba... [A]

Nustato kalbų, naudojamų atsakant klientui, prioritetą, kai neįmanoma tiksliai nustatyti ar rasti kliento pageidaujamos dokumento kalbos.

mod_alias – leidžia savavališkiau patalpinti dokumentus žiniatinklio serverio kataloguose

Pseudonimas URL kelias failų sistemos kelias

Nurodo „Apache“, kad dokumentų, esančių „žemiau“ nurodyto URL, reikia ieškoti „žemiau“ nurodytos failų sistemos vietos.

AliasMatch URL-regexp filesystem-path

Apibrėžia sudėtingesnes duomenų paieškos failų sistemoje taisykles, lyginant URL adresus su reguliariąja išraiška.

Peradresuoti URL kelio URL

Atsakant į užklausą, URL kelias ir toliau esantys dokumentai grąžina nurodytą atsakymo kodą (pagal nutylėjimą 302) ir nukreipia klientą į kitą URL. Būsena gali būti nurodyta skaičiumi arba simboliškai: nuolatinis (301), temp (302), seeother (303), dingo (410). Jei atsakymo kodas yra 410, atsakymo URL turi būti praleistas.

RedirectMatch URL-regexp URL

Panašiai kaip peradresavimas, naudojant nurodytą reguliarųjį posakį, o ne tikslią atitiktį, kad palygintumėte perduotą URL.

„RedirectTemp“ URL kelio URL

Panašiai kaip peradresavimas naudojant 302 atsakymo kodą.

PeradresuotiNuolatinis URL kelio URL

Panašiai kaip peradresavimas naudojant 301 atsakymo kodą.

ScriptAlias URL kelias failų sistemos kelias

Veikia panašiai kaip Alias, bet automatiškai nustato cgi tvarkyklės tvarkyklę, kad ji veiktų visiems failams tiksliniame kataloge.

ScriptMatch URL-regexp failų sistemos kelias

Panašiai kaip „ScriptAlias“, su URL tikrinimu naudojant įprastą posakį.

mod_rewrite – valdo dokumentų vietą serveryje

Trumpame Apache direktyvų aprašymų rinkinyje sunku apibūdinti šio sudėtingo modulio išspręstas užduotis. Kaip veiksmų vadovą geriausia naudoti specialius „apache“ vadovo skyrius „Modulio mod_rewrite URL perrašymo variklis“ ir „URL perrašymo vadovas“. Lengviausias būdas išmokti naudotis šiuo moduliu yra apsvarstyti konkrečias problemas ir jų sprendimus naudojant jį.

Yra vienas pagrindinis (pagrindinis) procesas, atsakingas už antrinių procesų kūrimą, kurie savo ruožtu klauso ryšių ir apdoroja klientų užklausas. „Apache“ visada stengiasi rezerve laikyti keletą nepanaudotų serverio procesų, kurie yra pasirengę apdoroti gaunamas užklausas. Taigi klientams nereikia laukti, kol bus sukurti nauji antriniai procesai, kurie bus suskirstyti prieš aptarnaujant jų užklausą. StartServers, MinSpareServers, „MaxSpareServers“ ir „MaxClients“ direktyvos kontroliuoja, kaip pirminis procesas sukuria antrinius aptarnavimo užklausų procesus.

Apskritai „Apache“ yra labai savarankiška, todėl daugumoje svetainių nereikia keisti šių direktyvų iš numatytųjų verčių.

Svetainėse, kurios vienu metu turi aptarnauti daugiau nei 256 užklausas, gali reikėti padidinti „MaxClients“, o serveriuose, kuriuose yra ribota atmintis, gali tekti sumažinti „MaxClients“, kad serveris nepriverstų keisti atminties į diską ir atgal). sukelti didelį darbo sulėtėjimą.

Modulių pasirinkimas yra vienas iš svarbiausių žingsnių užtikrinant gerą Apache žiniatinklio serverio saugumą. Turėtume vadovautis viena gera taisykle: kuo mažiau, tuo geriau. Norint įgalinti mums reikalingas funkcijas ir užtikrinti gerą apsaugą, turi būti įjungti šie moduliai:

httpd_core – „Apache“ branduolys, reikalingas kiekviename „Apache“ diegime.

mod_access – kontroliuoja prieigą prie serverio katalogų, atsižvelgiant į kliento IP adresą arba pagrindinio kompiuterio pavadinimą.

mod_auth – reikalingas norint įgalioti vartotojus naudojant tekstinius failus.

mod_dir – reikalingas norint ieškoti indekso failų: „index.html“, „default.html“ ir kt.

mod_log_config – teikia serveriui siunčiamų užklausų registravimą. mod_mime – yra direktyvų, kurios palengvina įvairių MIME tipų organizavimą serveryje.

Visi kiti Apache moduliai turi būti išjungti. Galime juos saugiai išjungti, nes mums jų nereikės. Išjungę nereikalingus modulius, užkertame kelią užpuolikui pasinaudoti pažeidžiamumu, kuris buvo aptiktas viename iš šių modulių.

Taip pat verta paminėti, kad du Apache moduliai (mod_autoindex ir mod_info) yra patys pavojingiausi. Pirmasis modulis leidžia automatiškai indeksuoti katalogą ir yra įjungtas pagal numatytuosius nustatymus. Norėdami pamatyti, kaip tai veikia, įveskite, pavyzdžiui, http://server_name/icons/ ir jei šiame kataloge nėra indekso failų, bus rodomas viso katalogo turinys. Antrasis modulis, mod_info, niekada neturėtų būti pasiekiamas internetu, nes jis atskleidžia visą „Apache“ žiniatinklio serverio konfigūraciją.

Kitas klausimas – kaip sukompiliuoti modulius. Man atrodo, kad statinis metodas yra geriausias (kodai įterpiami į vykdomuosius failus), o ne dinaminis metodas (kodai renkami programos paleidimo metu). Pasirinkę statinį metodą, taip pat nebereikia dar vieno modulio, mod_so.

Savarankiškas darbas: Darbas su MySQL duomenų bazės serveriu. Lentelių kūrimas. Duomenų įdėjimas, gavimas ir atnaujinimas duomenų bazėje.

Laboratorinis darbas Nr.12.„Apache“ žiniatinklio serverio diegimas ir konfigūravimas.

Savarankiškas darbas: Darbas su MySQL duomenų bazės serveriu.

Profesinis tobulėjimas visada orientuotas į savo įrankius – tai patikimo ir efektyvaus įsipareigojimų vykdymo garantija. Nuosavas priegloba ir serveriai įvairiems tikslams įvairiose populiariose konfigūracijose išplečia sprendžiamų užduočių apimtį, padidina įvykių saugumą ir konfidencialumą.

Vietinis HTTP: Apache, PHP, MySQL

„Apache“ žiniatinklio serveris tvirtai pirmauja nuo praėjusio amžiaus, nes užtikrina greitą, patikimą ir saugų veikimą. Fizinis įrenginys ir serveris, kuriame veikia Linux arba Windows, yra pagrindas, HTTP yra priedas, nors iš esmės tai yra duomenų perdavimo protokolas. Windows mašina gali būti naudojama kaip serveris, tačiau pirmenybė teikiama Linux šeimai.

„Apache“ sistemoje „Windows“ yra vietinė parinktis, naudojama viename kompiuteryje, kad būtų galima dubliuoti išoriniuose serveriuose esančių išteklių plėtrą. Nustatymas priimtinas, bet nėra labai populiarus. „Apache“ konfigūravimas „CentOs“ suteikia daugiau galimybių ir naudojamas serveriams tvarkyti vietiniuose ir pasauliniuose tinkluose.

Manoma, kad Apache serveriai aptarnauja daugiau nei 50% visų aktyvių žiniatinklio išteklių, likusi dalis gaunama iš panašių produktų iš Microsoft, Sun ir kt. Tiesą sakant, fizinis serveris ir jo operacinė sistema gali būti bet koks. HTTP serveris yra įdiegtas paruoštoje platformoje ir veikia lygiagrečiai su kitomis joje esančiomis programomis. Manoma, kad Apache yra gimtoji visai Linux šeimai, tačiau kiekvienu konkrečiu atveju ji turi savo ypatybes.

Laisvumas, paprastumas ir patikimumas išskiria Linux sistemas ir jų programas. Nesvarbu, ką naudojate: „Apache“ diegimas ir konfigūravimas „Ubuntu“ mažai kuo skiriasi nuo „CentOs“, „Debian“ ar „FreeBSD“. Tam tikros operacinės sistemos prisotinimas papildoma programine įranga dažnai vaidina svarbų vaidmenį.

Linux šeima yra nedidelė pagal „giminaičių“ skaičių vieno ar kito sistemos branduolio linijoje. Skirtumai yra labiau socialinio pobūdžio – ta prasme, kad kūrėjai prisirišę prie operacinės sistemos galimybių formulavimo ir įgyvendinimo.

Realiai, norint išspręsti konkrečią prieglobos kėlimo problemą, reikia apsispręsti dėl reikiamo funkcionalumo, reikiamo našumo, konceptualių prioritetų ir konkretaus Linux atstovo pasirinkimo arba pasirinkti Windows Server.

Vietos plėtros prioritetų keitimas

Sunku įvertinti pasaulinio tinklo vaidmenį kuriant programavimą, tačiau nesunku pastebėti tikrą svorio centro poslinkį: vietinės programos tapo įprasta paleisti kaip žiniatinklio išteklius. Parašyti programą vietiniam kompiuteriui lengva – tai tvarkyklės, antivirusinės programos, nedideli projektai su paprastomis funkcijomis. Programavimo kalba... VBA, nors galima naudoti C/C++ arba C#.

Bet koks informacinis projektas yra žiniatinklio išteklius įmonės vietiniame tinkle, kurį galima iš dalies pasiekti iš pasaulinio tinklo, pavyzdžiui, koordinuoti kelyje ar komandiruotėje esančių darbuotojų veiksmus už biuro ribų.

MySQL, PHP, Apache: vietinės programos nustatymas reiškia visiškai skirtingą programos dinamiką ir reikiamą funkcionalumą. Šiuolaikinės įmonės, nepriklausomai nuo dydžio, darbuotojų skaičiaus ir veiklos srities, rimtai svarsto apie interneto programavimą – tiek vietinį, tiek globalų.

Tuo pačiu metu vietinis gali būti platinamas: įmonės biurai gali būti bet kur, tačiau tai ne internetas, o paskirstytas vietinis įmonės tinklas.

MySQL, PHP, Apache sąranka vietine forma:

  • lengvai kopijuoti tinklo kompiuteriuose;
  • suteikia galimybę dinamiškai keisti aktyvųjį komponentą arba palyginti jį su pavyzdžiu, siekiant įvertinti įsilaužimo bandymus;
  • suteikia priežastį sukurti apsaugos sistemą, kuri nerizikuotų būti atakuota klasikiniais tinklo metodais.

Jei manysime, kad MySQL ir Apache Windows aplinkoje yra paslaugos, o PHP kodas yra paprastas tekstas, apdorojamas įrankiu (PHP interpretatoriumi), kurį reikiamu metu iškviečia HTTP serveris, tai reiškia kodo kintamumo, mobilumo ir perkeliamumo lygį. bus daug didesnės nei vietos plėtros priemonės.

Ruošiamasi įdiegti „Apache“.

Dar „pradžios pradžios“ eroje Unix operacinė sistema apibrėžė neišsakytus lojalumo principus. Nuo tada viskas, kas buvo daroma Unix tipo sistemose, buvo automatiškai išversta į kitas platformas. „Apache“ nustatymas sistemoje „Windows“ yra labai paprastas, tačiau norint išspręsti rimtas problemas, reikės geros kvalifikacijos ir išsamaus HTTP serverio konfigūracijos supratimo.

Pirmiausia turite atsisiųsti naujausią serverio versiją (šiandien tai yra 2.4.33 versija, 2018 m. kovo 17 d.) iš oficialios svetainės zip archyvo formatu. Iš pradžių reikia turėti omenyje, kad serverio versijų yra daug ir jos siūlomos daugelyje trečiųjų šalių išteklių, todėl svarbu pasirinkti oficialų diegimą, priglobtą patikimame žiniatinklio šaltinyje.

Anksčiau buvo populiaru įdiegti serverį naudojant specialią diegimo programą. Dabar įprasta tiesiog įdiegti ZIP archyvą. Tai paprasčiau ir leidžia suprasti konfigūravimo proceso esmę, kuri yra labai svarbi ir vėliau leidžia optimizuoti serverį reikiamai apkrovai ir funkcionalumui.

Konfigūracijos failo redagavimas

Serverio konfigūraciją lemia konfigūracijos failų rinkinys, esantis conf aplanke. Pagrindinis „Apache“ konfigūracijos failas yra httpd.conf.

Daugeliu atvejų būtina atlikti pagrindinio failo pakeitimus, patikslinti failų, atsakingų už ssl ir virtualius pagrindinius kompiuterius, turinį. Kiti koregavimai paprastai atliekami, kai kyla problemų arba problemos išsprendžiamos. Iš esmės tolimesni nustatymai yra susiję su Apache veikimo optimizavimu arba jo galimybių išplėtimu.

Norint sėkmingai paleisti serverį, užtenka redaguoti tik vieną eilutę (eilės – 38) – ir „Apache“ sąranka baigta.

Ankstesnėse serverio konfigūracijos versijose reikėjo atlikti daugybę pakeitimų, kad jie atitiktų realią situaciją, tačiau dabar yra „universalus“ SRVROOT kintamasis. Jums tereikia nurodyti teisingą jo reikšmę (kelią į serverio vietą), ir viskas veiks iš karto.

Serverio išdėstymo procedūra

Reikia atidžiai apsvarstyti serverio vietą. Pats Apache yra įdomus, bet kai jis aprūpintas PHP ir MySQL, jis yra dvigubai įdomus. Geriau, kai viskas, kas susiję su interneto plėtra, yra vienoje vietoje. Galima sutikti su numatytais keliais, tačiau šiuolaikinis programavimas nėra toks idealus jo įgyvendinimas, todėl teks aiškiai ir dažnai laikyti pirštą ant pulso. Be to, renkantis patogią vietą, bus pasiekiami visi inicijavimo ir konfigūracijos failai bei įdiegtų produktų veikimo žurnalai.

Atsisiųstas oficialus Apache ZIP archyvas turi būti įdiegtas pasirinktoje vietoje, įrankį ir užduotį įdedant atskirai. Šiame pavyzdyje aplankas C:\SCiA yra įrankis (Apache24, PHP, MySQL ir kt.), o SCiB aplankas yra svetainių, kurios kuriamos, prižiūrimos ar modernizuojamos, darbas.

Pirmojo darbo etapo metu tik poaplankiai bin, cgi-bin, conf, error, ... su visu jų turiniu patenka į aplanką C:\SCiA\Apache24.

Redaguoti pagrindinio kompiuterio failą

Antras žingsnis yra tinkamai sukonfigūruoti hosts failą – tai nuoroda, kurie IP adresai tam tikrame kompiuteryje yra susieti su kokiais pavadinimais. Jei kompiuteryje kuriama ar prižiūrima tik viena svetainė, nieko keisti nereikia.

Bazinis IP – 127.0.0.1 paprastai visada nurodo localhost. Darbo pagrindinio kompiuterio failas yra adresu c:\Windows\System32\drivers\etc ir atrodo taip, kaip parodyta toliau.

Norėdami įdėti hosts failą į reikiamą vietą, turite naudoti komandų eilutę administratoriaus režimu. Tinkamą failo turinį galite paruošti bet kurioje kompiuterio failų sistemos vietoje, tačiau galite jį įrašyti adresu c:\Windows\System32\drivers\etc tik naudodami administratoriaus teises turintį įrankį. Lengviausias būdas tai padaryti yra naudojant komandinę eilutę.

„Apache“ serverio diegimas

Nieko negali būti paprasčiau. Tiesiog paleiskite komandų eilutę kaip administratorius ir eikite į aplanką C:\SCiA\Apache24. Kadangi tai yra „Windows“ kelias, naudojami pasvirieji brūkšniai. Konkrečiu atveju kelias gali būti kitoks. Bet jei vis tiek galite kažkaip eksperimentuoti su aplanko pavadinimu, kuriame priglobsite šventąją trejybę - Apache, PHP ir MySQL, tada keisti kiekvieno aplanko pavadinimus yra nepraktiška.

Tokiu atveju serverio archyvas yra įdiegtas aplanke C:/SCiA/Apache24, todėl aplanke bin reikia parašyti komandą:

  • httpd.exe -k įdiegti

Serveris patikrins konfigūracijos failą ir pats įdiegs. Greičiausiai bus nedidelių klaidų, tačiau jei teisingai redaguosite konfigūracijos failą, visos klaidos bus nereikšmingos ir jas bus galima greitai ištaisyti.

Komandinės eilutės langas (1) – paslaugos diegimas, langas (2) – paslaugų, kuriose deklaruotas serveris, sąrašas, langas (3) – šaltinio failas index.html, esantis adresu C:/SCiB/localhost/www, langas (4) – serverio veikimo rezultatas.

Šiame pavyzdyje buvo padaryta tyčinė klaida: vietoj SRVROOT kintamojo reikšmės nustatymo, buvo atlikta daug redagavimo „senamadiškai“: viskas buvo pakeista rankiniu būdu. Tai nėra geriausias sprendimas. Prieš pritaikydami žinias, turėtumėte susipažinti su dabartine produkto versija. Paprastai viskas greitai keičiasi, o žinios turėtų būti taikomos „įgūdžiai ir suprantant esamą situaciją“.

ZIP archyvo diegimo praktika

Šiuolaikinės svetainės ne visada rašomos naudojant turinio valdymo sistemas. Yra daug rankų darbo. Svetainės perkėlimo į kitą prieglobą problema suteikė gerą sprendimą – zip archyvą. Vienoje vietoje turinį sutraukėme, o kitoje išplėtėme.

Turėti montuotoją – gera praktika, tačiau šiuolaikinių informacinių technologijų dinamika neleidžia rašyti gražių instaliacijų. Diegimo naudojimas per ZIP archyvą yra šiuolaikiškas, praktiškas ir patogus. Šioje parinktyje „Apache“ konfigūravimas apsiriboja konfigūracijos failų keitimu.

Diegiant serverį svarbu nurodyti:

  • Kur jis yra;
  • kur yra žiniatinklio išteklius (localhost);
  • naudojant ssl;
  • virtualūs šeimininkai.

Paskutinė padėtis aktuali, kai serveris vienu metu turi plėtoti ar prižiūrėti kelis išteklius. Tikram kūrėjui tai yra privalomas sprendimas: net jei jis užtikrina vienos svetainės veikimą, nebūtų nereikalinga turėti atsarginę parinktį.

Džentelmeniški komplektai

Zip archyvo diegimo paprastumas yra akivaizdus, ​​„Apache“ (diegimas ir konfigūracija) tereikia du ar trys paspaudimai. Tačiau rezultatas, kai montuotojai buvo populiarūs, buvo lygiaverčiai. Kūrėjas tiesiog praleido daugiau laiko kurdamas kitą savo produkto versiją. Serverio, serverio kalbos ir duomenų bazės įdiegimas iš esmės yra tik failų, paleidimo paslaugų, pagrindinio kompiuterio failo ir numatytųjų kelių operacinės sistemos kelio kintamajame rinkinys.

„Denverio“ ir panašių džentelmeniškų kūrimo rinkinių pasirodymas buvo revoliucinis žingsnis paprastumo ir patogumo srityje, tačiau nereikėtų klysti. Revoliucija ir programavimas yra visiškai nesuderinami dalykai. Pirmasis – konflikto ir audringo jo sprendimo vaikas, antrasis – rimtas reikalas, reikalaujantis visiškos ramybės, punktualumo, tikslumo, nuoseklumo, dėmesingumo, saugumo ir patikimumo.

Apache serverio nustatymas yra rimta procedūra, su kuria reikia elgtis itin atsargiai ir viską padaryti, kad rytoj galėtum ką nors pakeisti ir patikslinti.

Dažniausiai žiniatinklio resursų kūrimas yra gana ilgas procesas, kurio metu reikalavimai paslaugoms (Apache, PHP, MySQL,...) greitai keičiasi, tačiau visada lieka laiko suprasti kitą užduotį ir optimalų jos sprendimą. Tačiau tai nėra priežastis derintis su džentelmeniškais komplektais. Laikas bėga, bet džentelmenas nesikeičia, tai daug svaresnis argumentas nei „Denverio“ deklaracija - ji paprasta, greita ir prieinama.

Kelios svetainės – vienas serveris

„Apache 2.4“ konfigūravimas vieno pagrindinio kompiuterio labui yra nepateisinama prabanga. Nepaisant kompaktiško dizaino, šiam serveriui tenka didžiulė atsakomybė už daugumą aktyvių interneto išteklių internete. Be to, ne visi ištekliai turi reprezentacinę dalį ir yra matomi tinkle.

Serveris gali būti naudojamas kaip duomenų bazė, kaip informacijos perdavimo taškas, kaip filtras, kaip analizatorius, kaip darbo mechanizmas globalesniame informacijos procese. Dėl to, kas išdėstyta pirmiau, „Apache“ virtualių kompiuterių nustatymas beveik visada yra privaloma procedūra.

Vienas serveris gali palaikyti tiek žiniatinklio išteklių, kiek norite; norėdami tai padaryti, httpd.conf faile turite panaikinti 501 eilutę:

  • # Įtraukite conf/extra/httpd-vhosts.conf

ir apibūdinkite visus reikalingus pagrindinius kompiuterius faile

  • extra\httpd-vhosts.conf.

Gali reikėti patikslinti, kurių prievadų ir IP serveris klauso, bet tai atskira tema; pirmą kartą galite apsiriboti tuo, ką turite.

Reikėtų pažymėti, kad pavyzdyje, kad būtų patogiau aprašyti tikrus virtualius žiniatinklio išteklius (o jų yra daug), buvo įvestas kintamasis (DOCROOT) su keliu į visų žiniatinklio išteklių, pasiekiamų per įdiegtą serverį, bendrinamą aplanką. .

Apache SSL nustatymas galimas panašiu būdu. Failo httpd.conf tereikia palikti „kaip yra“ 524–531 eilutes, kurios yra atsakingos už SSL veikimą.

„Apache“ paprastumas ir sudėtingumas

Laikai, kai serverio nustatymas buvo tikrai sunki užduotis, jau seniai praėjo. Šiandien „Apache“ nustatymas yra labai paprasta procedūra, kuriai nereikia specialios kūrėjo kvalifikacijos.

Trys paprasti žingsniai:

  • išplėsti archyvą;
  • pakeisti konfigūracijos failą;
  • įdiegti serverį.

Dėl to „Apache“ veikia visiškai. Jei neatsižvelgiate į serverio paleidimo maksimalia apkrova proceso subtilybes arba atliekate vietinę plėtrą Windows kompiuteryje, papildomų žinių nereikia.

„Linux“ sistemose gali kilti sunkumų. Žymiai skirtingas failų sistemos, vartotojų ir grupių teisių supratimas bei sąveikos su kitomis programomis proceso organizavimas reikalauja didesnės kūrėjo kompetencijos ir supratimo, kaip veikia Linux kompiuteriai.

„Apache“ nustatymas bet kurioje „Linux“ sistemoje atveria daug daugiau galimybių kūrėjui ir suteikia prieigą prie vietinio tinklo ir interneto. Pagal nusistovėjusią tradiciją Windows kompiuteris yra vietinė darbo vieta, o serveris yra vidinis. „Linux“ kompiuteris yra vietinio tinklo mazgas arba taškas interneto erdvėje.

Profesionali kūrėjo aplinka

„Apache“ yra pagrindinis interneto elementas, kurį galima lengvai konfigūruoti, naudoti ir kuris tampa įmonės pagrindu.

Ši logika daro prielaidą, kad CentOS, Ubuntu, FreeBSD platformos ir Windows darbo stotyse tinkle yra bent vienas serveris. Optimaliausia turėti du Linux serverius (pagrindinį ir pagalbinį), nustatančius Apache vietiniam kompiuteriui Windows aplinkoje. Viruso atakos ar nenumatytos situacijos atveju pagalbinis serveris pakeis pagrindinį, o pagrindinis bus naudojamas remontui ir atkūrimui. Galite pakeisti vietinį „Apache“ diegimą darbo stotyje (sistemoje „Windows“) iš archyvo.

Šis trivialus sprendimas gali būti patobulintas ir papildytas realioje praktikoje. Įmonės informacijos srautų dydis gali nulemti norimą konfigūraciją ir reikalingų serverių skaičių. Tiesą sakant, „Apache“ sukurta dirbti esant apkrovai, tačiau niekas netrukdo paskirstyti vieno serverio pareigų keliems. Sprendimas, kuriame atsižvelgiama į konkrečios įmonės ypatybes, visada yra perspektyvesnis nei trečiosios šalies pasirinkimo pritaikymas.

Jei pastebėjote klaidą, pasirinkite teksto dalį ir paspauskite Ctrl+Enter
DALINTIS:
Kompiuteriai ir modernios programėlės