Instalarea și configurarea serverului Apache. Prezentare generală a configurației Apache pe Ubuntu Configurarea Apache

Să setăm atributele minime necesare pentru a face acest lucru, deschideți fișierul pentru editare /etc/httpd/conf/httpd.conf

Apache poate rula cu unul dintre cele trei module de multiprocesare disponibile (mpm):

  1. prefurcă— un proces per cerere, modul cel mai des utilizat;
  2. lucrător— mai multe procese cu mai multe fire fiecare;
  3. eveniment— o nouă versiune experimentală a modulului standard multiprocesor pentru lucrător.

Pentru a vizualiza informații despre module, rulați:

# httpd -V | grep "Server MPM"

Exemplu de configurare pentru Apache 2.4


ServerLimit 256
StartServers 20
MinSpareServers 20
MaxSpareServers 20
MaxRequestWorkers 256
MaxConnectionsPerChild 4000

Setați MaxRequestWorkers la o valoare egală cu ServerLimit.

Exemplu de configurare pentru Apache 2

In sectiune [modul multiprocesor]>, de exemplu, setați următoarele valori:

StartServers 5
MinSpareServers 10
MaxSpareServers 10
MaxClients 30
ServerLimit 30

StartServers— numărul de procese lansate, calculat ca (Memorie totală - Memorie pentru server, MySQL, Memcache, etc.) / dimensiunea procesului. De exemplu, 64 Gb - 32 Gb / 0,256 Gb = maxim 125 de procese.

MinSpareServers— numărul minim de procese inactive.

MaxSpareServers— numărul maxim de procese inactive.

MaxClients- limita procesului.

ServerLimit— este setată la aceeași valoare ca MaxClients.

Este necesar să abordați cu atenție calculul MaxClients, deoarece atunci când setați o valoare mică, numărul de refuzuri ale serverului web de a deservi o solicitare a clientului poate crește. Setarea valorii prea mare poate duce la schimbarea și o creștere semnificativă a timpului de răspuns al serverului web.

Când utilizați o configurație de server VTB cu un singur nivel și două niveluri, limitele sunt setate diferit. Dând paginile generate unui server WTB mai ușor (de exemplu, nginx), limitele pot fi reduse. Valorile specifice sunt calculate individual pentru fiecare server web.

Keep Alive

Când solicitați o pagină de la un server web, browserul face multe solicitări pentru a descărca stiluri CSS, imagini etc. Utilizarea KeepAlive vă permite să solicitați o pagină și fișierele însoțitoare în timpul unei singure conexiuni.

  1. Activem KeepAlive, pentru această linie Keep Alive Offînlocuiți cu KeepAliveOn.
  2. MaxKeepAliveRequests seteaza-l la 100.
  3. KeepAliveTimeout Cel mai adesea este setat în intervalul 2 - 10. Vă recomandăm să o setați la 5 secunde.

Un server web este foarte complex produs software, care funcționează pe platforme diferiteși pe diferite sisteme de operare. Pentru funcționarea corectă în sistem instalat trebuie configurat.

În mod implicit, setările Apache sunt localizate în fișierul " httpd.conf"in catalog" conf".

Ar trebui să acordați o atenție deosebită căii către fișierele din fișierele de configurare Apache și PHP. Va trebui adesea să specificați căi către diferite directoare și fișiere. În sălile de operație sisteme UNIXși Windows folosesc separatoare de directoare diferite. UNIX folosește bara oblică (/), iar Windows folosește bara oblică inversă (\). Unele directive Apache și PHP funcționează cu ambele tipuri de separatoare de directoare. Dar, deoarece Apache și PHP au fost dezvoltate inițial pentru UNIX, puteți evita o serie de probleme folosind formatul lor „nativ”. Prin urmare, căile din fișierele de configurare " httpd.conf" Și " php.ini„ Se recomandă să scrieți printr-o bară oblică în format UNIX - „/”.

De exemplu:
ScriptAlias ​​​​"/php_dir/" "c:/php/" Directive de fișiere httpd.conf:

Port- seturi Port TCP, care este folosit de Apache pentru a stabili o conexiune. În mod implicit, este specificat portul 80. Portul poate fi specificat și în directivă ServerName.
Port 80 Singurul motiv pentru stabilire port non-standard- aceasta este lipsa drepturilor de utilizare a unui port standard. Când utilizați un port non-standard, cum ar fi 8080, numărul portului trebuie specificat în adresa " http://localhost:8080/".

ServerAdmin- conține adresa specificată e-mail Administrator de server web. Aceasta este adresa care va fi afișată în cazul unor erori de server.
ServerAdmin [email protected] ServerName- conține numele computerului specificat pentru server.
ServerName localhost:80 ServerRoot- indică directorul care conține fișierele serverului Web Apache.
ServerRoot „C:/web_server/apache” DocumentRoot- definește directorul în care se află fișierele site-ului Web.
DocumentRoot „C:/web_server/apache/htdocs” Container

Domeniul de aplicare al directivelor din acest container se extinde la toate fișierele și subdirectoarele din directorul specificat în directivă DocumentRoot.

Opțiuni FollowSymLinks Include indecși
AllowOverride All
Directivă AllowOverride setat la valoare TOATE, vă permite să suprascrieți valoarea fișierului principal de configurare " httpd.conf„în fișiere” .htaccess".

Directivă Opțiuni FollowSymLinks Permite Apache să urmeze legături simbolice.

Directivă Opțiuni Include permite executarea directivelor SSI (Server Side Includes) în codul paginilor site-ului Web.

Directivă Indici de opțiuni specifică că conținutul unui director ar trebui returnat dacă fișierul index lipsește.

DirectoryIndex- conține o listă specificată de fișiere index care ar trebui să fie afișate la accesarea unui director fără a specifica un nume de fișier.
DirectoryIndex index.html index.htm index.php Directiva ScriptAlias​​folosit pentru a crea un alias pentru directorul " /cgi-bin/", care găzduiește programe și scripturi CGI.
ScriptAlias ​​​​/cgi-bin/ "C:/web_server/apache/cgi-bin/" Apoi, trebuie să configurați drepturile și restricțiile pe director cgi-bin.

AllowOverride Nici unul
OptionsExecCGI
Comanda permite, refuza
Permite de la toți
Această acțiune necesar pentru a vă asigura că opțiunile de director nu sunt modificate, deoarece acest lucru ar putea crea probleme de securitate.

Directivă AllowOverride Nici unul spune că opțiunile din acest director nu pot fi înlocuite de fișiere " .htaccess".

Directivă OptionsExecCGI Permite executarea de scripturi CGI.

Directive comanda permite, negaŞi Permite de la toți permite accesul la director.

AddHandler- obligă Apache să ia în considerare fișierele cu extensiile " exe" Și " băţ", cum ar fi scripturile CGI.
AddHandler cgi-script .bat .exe DefaultType setează antetul fișierelor al căror tip nu poate fi determinat prin extensie. În acest caz, toate fișierele necunoscute sunt percepute ca normale fișiere text. Pentru a procesa toate extensiile de fișiere necunoscute ca HTML, modificați directiva după cum urmează:
DefaultType text/html AddDefaultCharset- setează codarea implicită dacă codarea nu este specificată în capul documentului HTML.
AddDefaultCharset windows-1251

Apache este o întreagă familie de proiecte diferite, dintre care primul a fost un server Web. Serverul Web este reprezentat de demonul httpd, deci proiectul serverului Web Apache se numește httpd.

Fișierele de configurare ale serverului web httpd în GNU/Linux în diferite distribuții sunt localizate în diferite directoare: /etc/httpd/conf/, sau /etc/apache2, sau altele. Fișierul principal de configurare se numește httpd.conf și adesea fișierele de configurare individuale alocate pentru anumite grupuri de setări sunt conectate la httpd.conf folosind directiva include.

În general, setările httpd pot fi împărțite în trei categorii principale:

r secțiunea setări globale;

r setări pentru serverul principal;

r setări pentru nodurile virtuale.

În plus față de aceste secțiuni, puteți selecta setări pentru procesarea anumitor tipuri de fișiere, extensii MIME și specificații pentru procesarea limbilor naționale.

Setările globale ale serverului le includ pe cele care afectează funcționarea serverului Apache în ansamblu. Următoarele sunt principalele setări globale:

r ServerRoot - directorul de bază de instalare, în raport cu care se află fișierele de configurare Apache, precum și unele fișiere necesare funcționării acestuia, în sistemul de fișiere GNU/Linux;


r PidFile - un fișier în care este introdus PID-ul când pornește serverul Apache

procesul serverului principal;

r LoadModule - comandă pentru a încărca un modul de extensie Apache compilat ca bibliotecă partajată;

r Timeout - numărul de secunde înainte de a trimite un semnal despre pierderea conexiunii;

r KeepAlive - activați sau dezactivați suportul pentru conexiunile de lungă durată disponibile în cadrul protocolului HTTP/1.1, permițând conexiunii să fie lăsată într-o stare neîntreruptă după ce serverul trimite informațiile necesare;

r KeepAliveTimeOut - numărul de secunde de așteptat pentru următoarea solicitare, după care conexiunea de lungă durată va fi închisă;

r MaxKeepAliveRequests - numărul maxim posibil de cereri permise pentru conexiuni de lungă durată;

r StartServers - numărul de procese copii httpd care pornesc la pornirea serverului Apache;

r MinSpareServers - numărul minim de procese copii httpd care așteaptă conexiuni (când apar conexiuni, sunt lansate atât de multe copii ale httpd, încât numărul de procese copii care așteaptă conexiuni nu este mai mic decât această valoare);

r MaxSpareServers - numărul maxim de procese copii httpd care așteaptă conexiuni (procesele suplimentare sunt oprite);

r MaxClients - limita numărului maxim de procese copii httpd, care determină numărul posibil de conexiuni;

r MaxRequestsPerChild - numărul maxim de solicitări pe care un proces copil httpd este permis să le servească, la atingere, se garantează că se va opri pentru a evita posibile scurgeri de memorie.

ServerRoot „/etc/httpd” PidFile run/httpd.pid Timeout 120

KeepAlive Off MaxKeepAliveRequests 100


KeepAliveTimeout 15

StartServers
MinSpareServers
MaxSpareServers
ServerLimit
MaxClients

MaxRequestsPerChild 4000

Ascultă 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_alias_module modules/mod_authn_module_module_module_authn pe.deci

Utilizator apache Grup apache

Trebuie remarcat faptul că modulele pot fi conectate nu numai folosind directiva LoadModule, ci și instalate direct în codul Apache în etapa de compilare și asamblare. Pentru a determina ce module au fost instalate în cod în etapa de compilare, rulați comanda httpd –l ( exemplu 28.2).

$ /usr/sbin/httpd -l Compilat în module:

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

Rețineți că modulul prefork.c este unul dintre mai multe module MPM (Multi-Processing Modules) disponibile pentru Apache v2. Aceste module sunt destinate diferitelor sisteme de operare sau la diferite modele de procesare multitasking. De exemplu, modulul prefork.c este axat pe modelul tradițional UNIX de generare a proceselor copil, iar worker.c este axat pe lucrul cu fire.


Dintre setările principale ale serverului, cele mai importante sunt următoarele:

r Listen - forțează Apache să asculte doar portul specificat;

r Utilizator - utilizatorul în numele căruia vor fi lansate procesele httpd;

r Grup - grupul în numele căruia vor fi lansate procesele copil

r DocumentRoot - director pentru stocarea fișierelor site-ului Web;

r UserDir - numele directorului pentru plasarea paginilor Web personale ale utilizatorilor;

r DirectoryIndex - o listă de nume de fișiere care vor fi vizualizate atunci când încercați să accesați documentul rădăcină al directorului;

r AccessFileName - numele fișierului care conține directivele de control acces la director;

r TypesConfig - specifică locația fișierului de configurare MIME;

r DefaultType - setează tipul MIME implicit al documentului;

r MimeMagicFile - specifică locația fișierului cu numere magice pentru a determina tipul MIME al documentului;

r HostnameLookups - specifică tipul de introducere a informațiilor despre solicitările clientului fie prin adresa IP, fie după numele gazdei;

r ErrorLog - un fișier jurnal în care vor fi înregistrate orice erori

(mesaje) întâlnite în timpul funcționării Apache;

r LogLevel - nivelul informațiilor de înregistrare;

r LogFormat - directivă care definește formatul de ieșire a informațiilor în jurnal;

r CustomLog - specifică locația fișierului jurnal;

r ServerSignature - permite ca informatiile despre versiune, nodul virtual etc. sa fie afisate in paginile generate de serverul Apache;

r Alias ​​​​- setează aliasuri pentru căile de acces la directoarele serverului (lungimea liniei de alias este mai mică decât lungimea liniei căii de acces);

r ScriptAlias ​​​​- face la fel ca Alias, dar pentru directoare cu CGI-

scenarii;

r IndexOptions - determină tipul de indexare a directorului;

r AddIcon - specifică un fișier pictogramă de afișat în situații specifice, de exemplu, la afișarea unei pagini cu conținutul unui director, diferite tipuri de fișiere sunt asociate cu diferite pictograme;

r AddIconByEncoding - setează pictograme pentru anumite codificări MIME;


r AddIconByType - setează pictograme pentru anumite tipuri de document MIME;

r DefaultIcon - pictograma implicită;

r AddDescription - adaugă o linie de comentariu la anumite tipuri de documente (de exemplu, .gz - document gzipped);

r ReadmeName - specifică numele fișierului README adăugat la sfârșitul listei de fișiere din indexul directorului;

r HeaderName - specifică numele fișierului HEADER adăugat la începutul listei de fișiere din indexul directorului;

r IndexIgnore - numele fișierelor care vor fi ignorate în timpul indexării;

r AddEncoding - permite browserelor să proceseze informații din mers într-un mod specificat (de exemplu, afișarea conținutului fișierelor comprimate cu gzip);

r AddLanguage - afișează extensiile de nume de fișier specificate într-o anumită limbă a documentului (de exemplu, AddLanguage ru .ru);

r AddCharset - setează maparea unei anumite extensii de nume de fișier la o anumită codificare;

r LanguagePriority - ordinea limbii;

r AddType - setează maparea extensiilor de nume de fișier la tipul MIME;

r AddHandler - setează tipul de procesare după extensia numelui fișierului;

r ErrorDocument - vă permite să personalizați mesajele de eroare;

r BrowserMatch - specifică caracteristicile de ieșire a informațiilor pentru browsere.

În fișierul de configurare httpd.conf, găsiți adesea directive condiționale precum . Acestea sunt folosite pentru a seta setările Apache care sunt posibile dacă acest modul este prezent (exemplul 28.3).

Alias ​​/doc /usr/share/doc

Acest exemplu setează alias-ul doc în directorul /usr/share/doc. Cu toate acestea, un astfel de alias va fi setat numai dacă modulul mod_alias.c este prezent. Cu un astfel de alias (dacă aveți permisiunile corespunzătoare), puteți accesa conținutul directorului /usr/share/doc folosind o adresă URL folosind un browser Web http://localhost/doc.


Un alt tip de directivă condiționată este . Aceste directive conțin blocuri de setări Apache care funcționează numai dacă este definit un parametru suplimentar. Această opțiune poate fi specificată folosind opțiunea -D pentru executabilul httpd.

Apache vine adesea cu o documentație destul de extinsă în format HTML. De exemplu, în distribuțiile Fedora, documentația Apache este disponibilă în mod tradițional după lansarea Apache de la adresa URL http://localhost/manual.

Există 4 abordări principale pentru configurarea Apache:

  1. Compilare / instalare: construirea din sursă vă permite să selectați modulele necesare, să setați steagurile, căile necesare etc.
  2. Opțiuni pentru linia de comandă: Vă permite să configurați Apache la pornire.
  3. Fișiere de configurare globală: fișierul principal implicit se numește httpd.conf.
  4. Fișiere de configurare locale: folosind .htaccess.

Directivele de configurare din fișierul httpd.conf pot fi împărțite în 3 categorii:

  1. Directive care controlează întregul proces de lucru.
  2. Directive gazdă virtuală.
  3. Setări pentru gazdă virtuală.

Directivele primului grup includ , , , , , .

Ele sunt aplicate în raport cu un anumit structura fișierului sau la adresa URL. În primul caz este , în al doilea - . Apache poate servi mai multe site-uri web cu nume diferite în același timp, implementând găzduire virtuală, care se face pe baza directivei . Pentru ca modificările din configurația principală să aibă efect, serverul trebuie repornit.

Configurația locală este implementată pe baza .htaccess. Numele acestui fișier poate fi schimbat în secțiunea AccessFileName. Modificările aduse fișierului .htaccess au efect imediat, fără repornire, iar efectul acestuia se extinde la directorul în care se află, cu toate subdirectoarele. Utilizarea excesivă a .htaccess poate afecta performanța serverului.

Conținutul principalului httpd.conf config poate fi împărțit în 5 secțiuni:

  1. Directive globale.
  2. - aplicabil serverelor virtuale.
  3. , - aplicabil cataloagelor.
  4. , - aplicabil la dosare.
  5. , - aplicabil URL-ului.

O directivă poate avea mai mulți parametri, tipul de parametri poate varia.

Fiecare directivă este procesată de un modul specific.

De exemplu, directiva

Următoarea directivă va fi procesată de modulul mod_env și variabila de mediu va fi setată:



Conținutul fișierului local .htaccess poate fi, de asemenea, împărțit în 5 secțiuni:

  1. AuthConfig - control de autorizare.
  2. Limite - control acces.
  3. Opțiuni - setări specifice directorului.
  4. FileInfo - setarea atributelor pentru documente.
  5. Indexuri - indexare directoare.

Pe Ubuntu, apache se află la /etc/apache2 și, pe lângă fișierele de configurare, conține directoarele „site-available” și „sites-enabled”. Primul director conține o listă de site-uri care sunt disponibile pe server, iar al doilea director conține cele care sunt deservite de server. Acest lucru face posibilă adăugarea și eliminarea rapidă a site-urilor care vor fi servite de server, fără a fi nevoie să le eliminați fizic din DocumentRoot. În plus, alte fișiere de setări pot fi adăugate utilizând instrucțiunea Include, iar caracterele de grupare pot fi folosite pentru a include mai multe fișiere de setări. Orice instrucțiune poate fi adăugată la oricare dintre aceste fișiere de setări. Serverul citește, de asemenea, fișiere care conțin tipuri de document mime; Numele fișierului este specificat de instrucțiunea TypesConfig, de obicei prin /etc/apache2/mods-available/mime.conf, care poate include, de asemenea, completări și suprascrieri, iar valoarea implicită este /etc/mime.types.

httpd.conf - Configurare server Apache

Apache este configurat prin plasarea directivelor în fișierele de configurare text simplu. Fișierul de configurare principal al serverului Apache - httpd.conf.
Alte fișiere de configurare pot fi adăugate folosind directiva Include. Orice directivă poate fi setată în oricare dintre aceste fișiere de configurare.
Apache 2.4 este configurat cu fișiere situate într-un subdirector (în mod implicit) - conf(C:\Program Files\Apache Software Foundation\Apache2.4\conf\). Acestea sunt aceleași fișiere ca și pentru configurarea pe OS Unix, dar există mai multe directive destinate special pentru Windows.

Fișierul principal de configurare a serverului Apache HTTP 2.4 este de obicei numit - httpd.conf.

Conține directive și parametri care controlează funcționarea serverului web, servere virtuale, precum și toate modulele software Apache 2.4. . Apache este un server modular. Aceasta înseamnă că este inclusă doar cea mai de bază funcționalitate serverul principal. Extinderea funcțiilor este disponibilă folosind module încărcate dinamic. Fișierele de configurare conțin o directivă pe linie. O bară oblică inversă „\” poate fi folosită ca ultimul caracter pe o linie pentru a indica faptul că directiva continuă la rândul următor. Nu ar trebui să existe alte caractere sau spații între bara oblică inversă și sfârșitul liniei. Directivele din fișierele de configurare nu țin seama de majuscule și minuscule, dar argumentele directivelor sunt adesea sensibile la majuscule și minuscule. Liniile care încep cu caracterul „#” sunt considerate comentarii și sunt ignorate. Comentariile nu pot fi incluse pe linia după o directivă de configurare. Liniile goale și spațiile înainte de directivă sunt ignorate.

Directivă este o comandă de configurare care controlează unul sau mai multe aspecte ale comportamentului serverului Apache.
Directivele plasate în fișierele de configurare principale se aplică întregului server .

Pentru a verifica fișierele de configurare pentru erori de sintaxă, utilizați comanda httpd.exe -t.

La instalarea Apache 2.4 au fost introduse următoarele:

În domeniul rețelei - server-apache24.ru
în numele serverului - www.server-apache24.ru
în adresa de e-mail a administratorului - [email protected]

Prin urmare, server-apache24.ru- va fi numele site-ului principal al serverului Apache.

Site-ul principal al serverului Apache este configurat în fișier - httpd.conf.

Efectuarea de modificări în fișierul de configurare a serverului Apache - httpd.conf

Pentru a accesa site-ul principal al serverului Apache folosind nume de domeniu - server-apache24.ru, creați un director pe disc - C:\server-apache24.ru

server-apache24.ru

  • C:\server-apache24.ru
    • busteni
      • acces.log
      • eroare.log
    • www
      • index.html

director server-apache24.ru

La rădăcina discului C: trebuie să creați un director server-apache24.ru
În ea Neapărat ar trebui să existe foldere:
busteni cu fișiere „goale”. acces.logŞi eroare.log
Şi
www cu dosar index.html

Vedeți liniile din fișierul httpd.conf -
209 ServerAdmin [email protected]
218 ServerName www.server-apache24.ru:80
243 DocumentRoot „C:/server-apache24.ru/www”
245

httpd.conf - configurarea serverului Apache 2.4

httpd.conf.
Directivele fișierului de configurare principal se aplică întregului server

Toate intrările, cu excepția celor evidențiate cu roșu, trebuie să fie comentate. Linii care încep cu caracter "#" - acestea sunt comentarii.

# # Acesta este fișierul principal de configurare a serverului Apache HTTP. Conține # directive de configurare care oferă serverului instrucțiunile sale. # Consultați pentru informații detaliate. # În special, vezi # # pentru o discuție despre fiecare directivă de configurare. # # NU citiți pur și simplu instrucțiunile de aici fără să înțelegeți # ceea ce fac. Acestea sunt aici doar ca indicii sau mementouri. Dacă nu sunteți sigur # consultați documentele online. Ați fost avertizat. # # Nume de fișiere de configurare și jurnal: Dacă numele fișierelor pe care le specificați pentru multe # fișiere de control ale serverului încep cu „ /" (sau "drive:/" pentru Win32), serverul # va folosi acea cale explicită. Dacă numele fișierelor *nu* încep # cu „/”, valoarea ServerRoot este adăugată înainte -- deci „logs/access_log” # cu ServerRoot setat la „/usr/local/apache2” va fi interpretat de serverul # ca „ /usr/local/apache2/logs/access_log”, în timp ce „/logs/access_log” # va fi interpretat ca „/logs/access_log”. # # NOTĂ: Acolo unde sunt specificate nume de fișiere, trebuie să utilizați barele oblice înainte # în loc de barele oblice inverse (de exemplu, „c:/apache” în loc de „c:\apache”). # Dacă o literă de unitate este omisă, unitatea pe care se află httpd.exe # va fi utilizată în mod implicit. Este recomandat să furnizați întotdeauna # o literă de unitate explicită în căile absolute pentru a evita confuzia. # # ServerRoot: partea de sus a arborelui de directoare sub care sunt păstrate # configurația serverului, erorile și fișierele jurnal. # # Nu adăugați o bară oblică la sfârșitul căii directorului. Dacă indicați # ServerRoot către un -disc local, asigurați-vă că specificați un disc local în directiva # Mutex, dacă sunt folosite mutexuri bazate pe fișiere. ServerRoot „C:/Program Files/Apache Software Foundation/Apache2.4” # # Mutex: Vă permite să setați mecanismul mutex și directorul de fișiere mutex # pentru mutexuri individuale sau modificați valorile implicite globale # # Anulați comentariile și schimbați directorul dacă mutexuri sunt bazate pe fișiere și directorul implicit de fișiere # mutex nu este pe un disc local sau nu este potrivit pentru un alt # motiv # # Mutex default:logs # # Ascultă: Vă permite să legați Apache la anumite adrese IP și/sau #. porturi, în loc de cea implicită. Vedeți și directiva # # # Schimbați-o în Ascultați pe anumite adrese IP, așa cum se arată mai jos, pentru a preveni accesul Apache pe toate adresele IP legate. # #Ascultă 12.34.56.78:80 Ascultă 80 # # Suport pentru obiecte partajate dinamice (DSO) # # Pentru a putea utilizați funcționalitatea unui modul care a fost construit ca DSO, trebuie să plasați liniile `LoadModule” corespunzătoare în această locație, astfel încât # directivele conținute în acesta să fie efectiv disponibile _înainte_ de a fi utilizate. # Module compilate static (cele enumerate de `httpd -l ") nu este nevoie ca # să fie încărcat aici. # # Exemplu: # LoadModule foo_module modules/mod_foo.so # LoadModule access_compat_module modules/mod_access_compat.so LoadModule actions_module modules/mod_actions.so LoadModule alias_module modules/mod_alias.so LoadModule allowmethods_module_module_module_module_modulis. deci module LoadModule auth_basic_module /mod_auth_basic.so #LoadModule auth_digest_module modules/mod_auth_digest.so #LoadModule authn_anon_module modules/mod_authn_anon.so LoadModule authn_core_module modules/mod_authn_core.so #LoadModule authn_modul.authnud_module.so thn_dbm_module modules/mod_authn_dbm.so LoadModule authn_file_module modules/mod_authn_file. deci #LoadModule authn_socache_module modules/mod_authn_socache.so #LoadModule authnz_ldap_module modules/mod_authnz_ldap.so LoadModule authz_core_module modules/mod_authz_core.so #LoadModule authz_ldap_module authz_dbd_module_module bm_module modules/mod_authz_dbm.so LoadModule authz_groupfile_module modules/mod_authz_groupfile.so LoadModule authz_host_module modules /mod_authz_host.so #LoadModule 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.so_module camodule.so_ad_module.so ule cache_disk_module modules/mod_cache_disk.so #LoadModule cern_meta_module modules/mod_cern_meta.so LoadModule cgi_module modules/mod_cgi.so #LoadModule charset_lite_module modules/mod_charset_lite.so #LoadModule data_module modules/mod_data.so #LoadModule dav_module modules/module_module.sov_module_module.sov_module deci #LoadModule dav_lock_module modules/mod_dav_lock.so #LoadModule dbd_module modules/mod_dbd.so #LoadModule deflate_module modules/mod_deflate.so LoadModule dir_module modules/mod_dir.so #LoadModule dumpio_module modules/mod_dumuleaduleenmodule.so LoadModule_module.so modules/mod_expires . deci #LoadModule ext_filter_module modules/mod_ext_filter.so #LoadModule file_cache_module modules/mod_file_cache.so #LoadModule filter_module modules/mod_filter.so #LoadModule headers_module modules/mod_headers.so #LoadModule heartmonitor_module_module_module_module. s/mod_heartmonitor.so # LoadModule ident_module modules/mod_ident.so LoadModule imagemap_module modules/mod_imagemap.so LoadModule include_module modules/mod_include.so #LoadModule info_module modules/mod_info.so LoadModule isapi_module modules/mod_isapi.so #LoadHodule_module_by_module_by_mod_include.so yness.so #LoadModule lbmethod_byrequests_module modules /mod_lbmethod_byrequests .so #LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so #LoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so #LoadModule ldap_module_module.Load_module_module .so LoadModule log_config_module /mod_log_config.so #LoadModule log_debug_module modules/mod_log_debug.so # LoadModule log_forensic_module modules/mod_log_forensic.so #LoadModule lua_module modules/mod_lua.so LoadModule mime_module modules/mod_mime.so #LoadModule mime_magic_module modules/mod_mime_magic.so LoadModule negotiation module/module_module_module_module_module_module_module_Load mod_proxy.so #LoadModule proxy_ajp_module modules / mod_proxy_ajp.so #LoadModule proxy_balancer_module modules/mod_proxy_balancer.so #LoadModule proxy_connect_module modules/mod_proxy_connect.so #LoadModule proxy_express_module modules/mod_proxy_express.so #LoadModule proxy_fcgi_module_proxy_modulul_proxy_modulul_proxy_adp.so s/mod_proxy_ftp.so #LoadModule proxy_html_module modules/mod_proxy_html . deci #LoadModule proxy_http_module modules/mod_proxy_http.so #LoadModule proxy_scgi_module modules/mod_proxy_scgi.so #LoadModule ratelimit_module modules/mod_ratelimit.so #LoadModule reflector_module modules/mod_reflector.so #LoadModule remote_module_module request modules/mod_request. deci # LoadModule reqtimeout_module modules/mod_reqtimeout.so #LoadModule rewrite_module modules/mod_rewrite.so #LoadModule sed_module modules/mod_sed.so #LoadModule session_module modules/mod_session.so #LoadModule session_cookie_module modules session_cookie_module modules/Load_Module modules_cookie _session_crypto.so #LoadModule session_dbd_module modules/mod_session_dbd.so LoadModule setenvif_module modules/mod_setenvif.so #LoadModule slotmem_plain_module modules/mod_slotmem_plain.so #LoadModule slotmem_shm_module modules/LoadModule modules/modules_module. Instalări PHP eliminați comentariile din liniile Load, Add, PHP #LoadModule php7_module "c:/php7/php7apache2_4.dll" #AddHandler application/x-httpd-php .php # configurați calea către php.ini #PHPIniDir "c:/php7" # # Dacă doriți ca httpd să ruleze ca alt utilizator sau grup, trebuie să rulați # httpd ca root inițial și se va schimba. # # Utilizator/Grup: Numele (sau #numărul) utilizatorului/grupului ca să ruleze httpd. # De obicei, este o practică bună să creați un utilizator și un grup dedicat pentru # rularea httpd, ca în cazul majorității serviciilor de sistem. # Demonul utilizatorului Demonul grupului # Configurarea serverului „Principal” # # Directivele din această secțiune stabilesc valorile utilizate de serverul „principal” #, care răspunde la orice solicitări care nu sunt gestionate de o definiție # Aceste valori De asemenea, furnizați valori implicite pentru # orice containere pe care le puteți defini mai târziu în fișier # # Toate aceste directive pot apărea în interiorul containerelor, # în acest caz, aceste setări implicite vor fi înlocuite pentru # gazdă virtuală în care sunt definite serverul trebuie trimis prin e-mail # Această adresă apare pe unele pagini generate de server, cum ar fi # documente de eroare, de ex. [email protected]#ServerAdmin [email protected]# # ServerName oferă numele și portul pe care serverul le folosește pentru a se identifica. # Acest lucru poate fi adesea determinat automat, dar vă recomandăm să specificați # explicit pentru a preveni problemele în timpul pornirii. # # Dacă gazda dvs. nu are un nume DNS înregistrat, introduceți adresa sa IP aici # ServerName www.server-apache24.ru:80 # # Interziceți accesul la întregul sistem de fișiere al serverului dumneavoastră. Trebuie să # permiteți în mod explicit accesul la directoarele de conținut web din alte # blocuri de mai jos. # AllowOverride none Solicită toate refuzate # # Rețineți că, din acest moment înainte, trebuie să permiteți în mod special activarea # caracteristici particulare - așa că, dacă ceva nu funcționează așa cum vă așteptați, asigurați-vă că l-ați activat în mod special # mai jos. # # # DocumentRoot: Directorul din care vă veți servi # documentele În mod implicit, toate cererile sunt preluate din acest director, dar # # link-uri simbolice și alias-uri pot fi folosite pentru a indica alte locații „C:/Program „Fișiere/Apache Software Foundation/Apache2.4/htdocs” a fost DocumentRoot „C:/server-apache24.ru/www” # a fost # # Valorile posibile pentru directiva Opțiuni sunt „Niciuna”, „Toate”, # sau orice combinație de: # Indexuri Include FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Rețineți că „MultiViews” trebuie denumit *explicit* --- „Opțiuni Toate” # nu vi le oferă. # # Directiva Opțiuni este atât complicată, cât și importantă. Consultați # //httpd.apache.org/docs/2.4/mod/core.html#options # pentru mai multe informații. liniile împiedică fișierele .htaccess și .htpasswd să fie # vizualizate de către clienții Web. # Solicită toate refuzate # # ErrorLog: Locația fișierului jurnal de erori. # Dacă nu specificați o directivă ErrorLog într-un # container, mesajele de eroare referitoare la gazda virtuală vor fi # înregistrate aici. Dacă *definiți* un fișier jurnal de erori pentru un # container, erorile gazdei respective vor fi înregistrate acolo și nu aici. # # ErrorLog "logs/error.log" a fost ErrorLog c:/server-apache24.ru/logs/ error.log # # LogLevel: Controlați numărul de mesaje înregistrate în error_log # Valorile posibile includ: debug, info, notice, warn, error, crit, # alert, emerg ## Următoarele directive definesc unele porecle pentru utilizarea cu # o directivă CustomLog (vezi mai jos # LogFormat "%h %l %u %t \"%r\" %>s %b \"%(Referer)i\" \"%). (User- Agent)i\"" LogFormat combinat "%h %l %u %t \"%r\" %>s %b" comun # Trebuie să activați mod_logio.c pentru a utiliza %I și %O LogFormat " %h % l %u %t \"%r\" %>s %b \"%(Referer)i\" \"%(User-Agent)i\" %I %O" combinat # # Locația și formatul fișierului de jurnal de acces (Format de fișier jurnal comun # Dacă nu definiți niciun fișier de jurnal de acces într-un # container, acestea vor fi înregistrate aici, în caz contrar, dacă *definiți fișierele de jurnal pentru fiecare acces, tranzacțiile vor fi # înregistrate acolo și * nu* în acest fișier. Aceleași reguli despre următorul „/” se aplică directivelor ScriptAlias ​​​​# ca și Alias. " #ErrorDocument 404 /missing.html #ErrorDocument 404 "/cgi-bin/missing_handler.pl" #ErrorDocument 402 //www.server-apache24.ru/subscription_info.html ErrorDocument 404 C:/server-apache24.ru/ 404error.html ErrorDocument 500 C:/server-apache24.ru/www/500error.html # # MaxRanges: Numărul maxim de intervale într-o solicitare înainte de # returnarea întregii resurse sau una dintre # valorile speciale „implicit”, „none” sau „nelimitat”. # Setarea implicită este de a accepta 200 de intervale #MaxRanges unlimited # # EnableMMAP și EnableSendfile: Pe sistemele care îl acceptă, se poate folosi # memory-mapping sau sendfile pentru a furniza # fișiere îmbunătățește performanța serverului, dar trebuie # dezactivat atunci când se difuzează din # sisteme de fișiere montate în rețea sau dacă suportul pentru aceste funcții este altfel # întrerupt pe sistemul dvs. # Valori implicite: EnableMMAP On, EnableSendfile Off # #EnableMMAP off #EnableSendfile on # Configurație suplimentară. # # Fișierele de configurare din directorul conf/extra/ pot fi # incluse pentru a adăuga funcții suplimentare sau pentru a modifica configurația implicită a # serverului, sau puteți pur și simplu să copiați conținutul lor aici și să le modificați după # necesar. # Managementul pool-ului de servere (specific MPM) #Include conf/extra/httpd-mpm.conf # Mesaje de eroare în mai multe limbi Include conf/extra/httpd-multilang-errordoc.conf # Listări de directoare fancy Include conf/extra/httpd-autoindex .conf # Setări de limbă Include conf/extra/httpd-languages.conf # Directoare de acasă ale utilizatorilor Include conf/extra/httpd-userdir.conf # Informații în timp real despre solicitări și configurare #Include conf/extra/httpd-info.conf # Gazde virtuale Include conf/extra/httpd-vhosts.conf # Acces local la Manualul serverului Apache HTTP #Include conf/extra/httpd-manual.conf # Creare distribuită și versiunea (WebDAV) #Include conf/extra/httpd-dav. conf # Diverse setări implicite Include conf/extra/httpd-default.conf # Configura mod_proxy_html pentru a înțelege HTML4/XHTML1 Include conf/extra/proxy-html.conf # Conexiuni sigure (SSL/TLS) #Include conf/extra/httpd-ssl .conf # # Notă: Următoarele trebuie să fie prezente pentru a suporta # pornirea fără SSL pe platforme fără /dev/random # echivalent, dar cu un mod_ssl compilat static. # SSLRandomSeed pornire încorporat SSLRandomSeed connect integrat # # anulați comentariile de mai jos pentru a face față agenților de utilizator care # încalcă în mod deliberat standardele deschise prin utilizarea greșită a DNT (DNT *trebuie* să fie o alegere specifică a utilizatorului final) # # #BrowserMatch „MSIE 10.0;” bad_DNT # # #RequestHeader unset DNT env=bad_DNT #


# # Opțiuni Indexuri FollowSymLinks a fost Opțiuni Indexuri Include FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # AllowOverride controlează ce directive pot fi plasate în fișierele .htaccess. .
# Poate fi „Toate”, „Niciuna” sau orice combinație de cuvinte cheie: # AllowOverride FileInfo AuthConfig Limit # # AllowOverride None a fost AllowOverride All # # Controlează cine poate obține lucruri de pe acest server. # Solicită toate .shtml .shtm .html .htm analizate de server AddHandler acordate # # DirectoryIndex: setează fișierul pe care Apache îl va servi dacă este solicitat un director #. # DirectoryIndex index.html # # Următoarele


Schimbări

Apache vine cu un utilitar numit Apache Service Monitor. Cu acesta, puteți vedea și gestiona starea tuturor serviciilor Apache instalate pe orice computer din rețea.

Repornirea Apache 2.4

Deoarece schimbariîn fișierele principale de configurare va avea efect numai atunci când serverul Apache este pornit sau repornit,
trebuie să reporniți serverul.

ApacheMonitor

Pictograma ApacheMonitor poate fi văzută făcând clic pe butonul - arată pictogramele ascunse

Faceți dublu clic stânga pe pictogramă Apache Service Monitor.

Puteți reporni serverul Apache făcând clic pe butonul Repornire
în fereastra Apache Service Monitor.
Sau - Stop si apoi - Început.

Dacă ați făcut doar modificări fișierului httpd.conf,

apoi introducând în bara de adrese a browserului - localhost sau - 127.0.0.1 ,
vei vedea o pagină - Eroare 403.

Acces interzis!

Nu aveți permisiunea de a accesa directorul solicitat. Fie nu există un document index, fie directorul este protejat la citire.
Dacă credeți că acesta este un eroare de server, vă rugăm să contactați webmasterul.

Eroare 403

127.0.0.1
Apache/2.4.4 (Win64)

Acces interzis!

Nu aveți permisiunea de a accesa directorul solicitat. Nu există un document index sau catalogul este protejat la citire.
Dacă credeți că aceasta este o eroare de server, vă rugăm să contactați webmasterul dvs.

Eroare 403

Conectați-vă cu drepturi de administrator la linia de comandă - Administrator - Linie de comandă
si introduceti:
„C:\Program Files\Apache Software Foundation\Apache2.4\bin\httpd.exe” 2> C:\errapache.txt

Microsoft Windows (c) 2016 Microsoft Corporation Toate drepturile rezervate. C:\Windows\system32> „C:\Program Files\Apache Software Foundation\Apache2.4\bin\httpd.exe” 2> C:\errapache.txt C:\Windows\system32>

Pe disc C:/ va fi creat un fișier errapache.txt


AH00112: Avertisment: DocumentRoot nu există AH00112: Avertisment: DocumentRoot nu există (OS 10048) De obicei, este permisă o singură utilizare a unei adrese de socket (protocol/adresă de rețea/port). : AH00072: make_sock: nu s-a putut lega de adresa [::]:80 (OS 10048) De obicei, este permisă o singură utilizare a unei adrese de socket (protocol/adresă de rețea/port). : AH00072: make_sock: nu s-a putut lega la adresa 0.0.0.0:80 AH00451: nu există socluri de ascultare disponibile, închidere AH00015: Imposibil de deschis jurnalele

AH00112: Avertisment:
C:/Fișiere de program/Apache Software Foundation/Apache2.4/docs/dummy-host.server-apache24.ru
C:/Fișiere de program/Apache Software Foundation/Apache2.4/docs/dummy-host2.server-apache24.ru
Ele nu există.

Dar principalul lucru este erorile OS 10048:

Nu s-a putut lega la adresa [::]:80
nu s-a putut lega la adresa 0.0.0.0:80

Accesați linia de comandă și introduceți:
netstat -aon

Administrator: linie de comandă

Microsoft Windows (c) 2016 Microsoft Corporation Toate drepturile rezervate. C:\Windows\system32> netstat -aon Conexiuni active Nume Adresă locală Adresă externă Stare PID TCP 0.0.0.0:80 0.0.0.0:0 ASCULTARE 1612 TCP [::]:80 [::]:0 ASCULTARE 1612 TCP 127.0.0.1:49693 127.0.0.0.1:491LISH945 ESTAB TCP 127.0.0.1:49694 127.0.0.1:49693 INSTALAT 5612 TCP 127.0.0.1:51341 0.0.0.0:0 ASCULTARE 3920 TCP 127.0.0.1:0.0.1:520.00.060 2.168.0.100:139 0.0.0.0: 0 ASCULTARE 4 TCP 192.168.0.100:51330 34.226.135.28:443 INSTALAT 1232 TCP 192.168.0.100:51345 52.196.85.70:LISHED.01232.0.443 1232 TCP 0 :52796 88.212.253.127:21 INFIINTAT 1128 TCP 192.168.0.100:53160 151.101. 112.134 T CP 192.168.0.100:53176 151.101.112.134:443 ÎNFIȘAT 3712 TCP 192.168.0.100:53179 151.101 .128.0.100:53179 151.101 .128.134 . 168.0.100:53192 151.101.112.64:443 CLOSE_WAIT 3712 TCP 192.168.0.100:53223 23.61.217.175 :443 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.133.52.52.431 CLOSE_1. 168.0.100:53271 52.205.235.141:443 STABILIT 5236 C:\Windows\system32>

Identificatorul de proces, mai bine cunoscut sub numele de PID, este număr unic. Fiecare proces care rulează pe sistem are un identificator unic.
TCP 0.0.0.0:80 0.0.0.0:0 ASCULTARE 1612
TCP [::]:80 [::]:0 ASCULTARE 1612

Deschide Manager de activități

Doar serviciul Apache2.4 are PID - 1612

În catalog C:/Fișiere de program/Apache Software Foundation/Apache2.4/conf/extra/
deschideți fișierul în Notepad - httpd-vhosts.conf

Înainte de a face orice modificare, faceți copie de rezervă fisier - httpd-vhosts.conf.

Înlocuiți în secțiunile VirtualHost
pe

httpd-vhosts.conf - conținutul fișierului de configurare a serverului Apache 2.4

# Virtual Hosts # # Module necesare: mod_log_config # Dacă doriți să mențineți mai multe domenii/nume de gazdă pe # mașina dvs., puteți configura containere VirtualHost pentru ele. Majoritatea configurațiilor # folosesc doar gazde virtuale bazate pe nume, astfel încât serverul nu trebuie să se îngrijoreze de # adrese IP. Acest lucru este indicat de asteriscuri în directivele de mai jos.

În catalog C:\Windows\System32\drivers\etc\
deschideți fișierul în Notepad - gazde
Și adăugați linia la el:

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

Reporniți serverul Apache făcând clic pe butonul Repornire
în Apache Service Monitor.

Introduceți în bara de adrese a browserului dvs. - server-apache24.ru
și veți vedea pagina de index a site-ului principal al serverului Apache2.4 pe care l-ați creat

Pagina de index al site-ului ar trebui să fie localizată în subdirectorul www (C:\server-apache24.ru\www\)

După instalarea serverului Apache 2.4, accesați linia de comandă și introduceți comenzile:

httpd.exe -t

Veți primi două avertismente.

Administrator: linie de comandă

Microsoft Windows (c) 2016 Microsoft Corporation Toate drepturile rezervate. 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: Avertisment: DocumentRoot nu există AH00112: Avertisment: DocumentRoot nu există Sintaxă OK C:\Program Files\Apache Software Foundation\Apache2.4\bin>