Fișierele de configurare Apache. Configurarea Apache: Instrucțiuni pas cu pas Fișierul de configurare Apache

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

Fișierele de configurare pentru serverul web httpd pe GNU/Linux se află în directoare diferite pe diferite distribuții: / etc / httpd / conf /, sau / etc / apache2, sau altfel. Fișierul principal de configurare se numește httpd.conf și adesea fișierele de configurare individuale alocate pentru orice grup 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ărilor globale;

r setări pentru serverul principal;

r setări pentru gazde 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 de procesare pentru limbile 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 este directorul de instalare de bază, în raport cu care se află fișierele de configurare Apache în sistemul de fișiere GNU/Linux, precum și unele fișiere necesare funcționării acestuia;


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

procesul serverului principal;

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

r Timeout - numărul de secunde înainte de trimiterea semnalului de pierdere a conexiunii;

r KeepAlive - permiteți sau interziceți suportul pentru conexiuni de lungă durată disponibile în cadrul protocolului HTTP / 1.1, permițându-vă să lăsați conexiunea î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 terminată;

r MaxKeepAliveRequests - numărul maxim de solicitări permis 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ă conexiunea (când apar conexiuni, sunt lansate atât de multe copii httpd, astfel încât numărul de procese copii care așteaptă conexiunea să nu fie mai mic decât această valoare);

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

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

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

ServerRoot "/ etc / httpd" PidFile rulează / 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

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 momentul compilării, executați comanda httpd –l (exemplul 28.2).

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

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

Observați modulul prefork.c, care este unul dintre câteva MPM-uri diferite (module de procesare multiplă) disponibile pentru Apache v2. Aceste module vizează diferite sisteme de operare sau diferite modele de procesare multitasking. De exemplu, modulul prefork.c este axat pe modelul tradițional UNIX de generare a proceselor copil, în timp ce worker.c este concentrat pe lucrul cu fire.


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

r Listen - forțează Apache să asculte numai pe 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 - directorul în care se află fișierele site-ului Web;

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

r DirectoryIndex - lista numelor de fișiere care vor fi vizualizate atunci când se încearcă accesarea documentului rădăcină al directorului;

r AccessFileName este numele fișierului care conține directive pentru gestionarea accesului 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 numărul magic pentru a determina tipul MIME al documentului;

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

r ErrorLog - fișierul jurnal în care vor fi scrise orice erori

(mesaje) întâlnite în timp ce Apache rula;

r LogLevel - nivelul de conținut al informațiilor de înregistrare;

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

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

r ServerSignature - vă permite să afișați informații despre versiune, nod virtual etc. în paginile generate de serverul Apache;

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

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

scenarii;

r IndexOptions - definește tipul de indexare a directorului;

r AddIcon - specifică fișierul pictogramă care urmează să fie 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 MIME de documente;

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 de adăugat la sfârșitul listei de fișiere din director (index de director);

r HeaderName - Specifică numele fișierului HEADER adăugat la începutul listei de fișiere din director (index director);

r IndexIgnore - nume de fișiere care trebuie 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 gzip comprimate);

r AddLanguage - mapează extensiile specificate de nume de fișier î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 extensiei numelui 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 afișare a informațiilor pentru browsere.

Fișierul de configurare httpd.conf conține adesea directive condiționale precum ... Cu ajutorul lor, setați astfel de setări Apache, care sunt posibile dacă acest modul este prezent (exemplul 28.3).

Alias ​​/ doc / usr / share / doc

Acest exemplu setează alias-ul doc pentru 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 utiliza un browser Web pentru a accesa conținutul directorului / usr / share / doc folosind adresa URL http: // localhost / doc.


Un alt tip de directivă condiționată este ... Aceste directive conțin blocuri de configurare Apache care funcționează numai dacă este specificat un parametru suplimentar. Acest parametru poate fi setat folosind opțiunea -D a executabilului httpd.

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

Site-uri de gazduire

Poate fi implementat în patru moduri:

    Implicit, în folderul / var / www / html. Accesul este http: // localhost /

    Setări principale de găzduire. De exemplu, http: // localhost / phpmyadmin

    În orice folder folosind modulul gazde virtuale. De exemplu, http://mysite/

    În folderul public_html al utilizatorului (modul userdir). De exemplu, http: // localhost / ~ nume de utilizator

Instalare

Pentru a instala Apache, rulați într-un terminal:

sudo apt-get install apache2

Personalizare

Pentru a aplica modificările setărilor, trebuie să reporniți demonul Apache: sudo service apache2 restart

În Ubuntu, fișierul de configurare final (apache2.conf) este împărțit în mai multe fișiere situate în diferite subdirectoare. Mai multe detalii sunt scrise în comentariile dosarului apache2.conf.

/ etc / apache2 / | - apache2.conf | `- ports.conf | - mods-enabled | | - * .încărcare | `- * .conf | - conf-enabled | `- * .conf` - site-uri activate `- * .conf

Setările modulului sunt localizate în director / etc / apache2 / mods-available... Pentru a conecta sau deconecta module (setările modulelor), utilizați comenzile adecvate a2enmod sau a2dismod. Exemplu de conectare a unui modul:

sudo a2enmod< mod-name>

Salvați setările în fișierele aflate în director / etc / apache2 / conf-available... Pentru a activa sau dezactiva setările dvs., utilizați comenzile adecvate a2enconf sau a2disconf. Un exemplu de conectare a unui fișier cu propriile setări:

sudo a2enconf< config-name>

Setările gazdelor virtuale ar trebui să fie salvate în fișierele aflate în director / etc / apache2 / site-uri disponibile... Pentru a conecta gazde virtuale, utilizați comenzile adecvate a2ensite sau a2dissite. Un exemplu de conectare a unei gazde virtuale:

sudo a2ensite< site-name>

Codare implicită

Pentru a specifica codificarea implicită, utilizați directiva AddDefaultCharset din fișier /etc/apache2/conf-available/charset.conf(sau anulați comentariul la rândul relevant):

AddDefaultCharset UTF-8

Gazde virtuale

Fișierele de configurare a gazdei virtuale sunt stocate în /etc/apache2/sites-available/*.conf... Apache are deja o gazdă virtuală configurată implicit. Setările sale sunt în fișier 000-default.conf... Puteți folosi această gazdă virtuală ca exemplu.

Exemplu pentru configurarea unei gazde virtuale:

# Hostname ServerName host1.server1 # Gazdă rădăcină DocumentRoot /var/www/host1.server1 # Permite suprascrierea tuturor directivelor cu .htaccess AllowOverride All

Denumiți fișierul de configurare pentru numele dvs. de gazdă host1.server1.conf și salvați.

După crearea fișierului de configurare, adăugați numele dvs. de gazdă la / etc / hosts:

127.0.0.1 host1.server1

Pentru a activa gazda virtuală creată, utilizați utilitarul a2ensite:

sudo a2ensite host1.server1

Gazda este deconectată în mod similar cu utilitarul a2dissite:

sudo a2dissite host1.server1

Module

mod_userdir

Modulul mod_userdir vă permite să utilizați directoare în directoarele de acasă ale utilizatorilor pentru a stoca pagini web. În mod implicit, Apache caută paginile solicitate în director ~ / public_html

mkdir ~ / public_html

Pentru a activa rularea mod_userdir:

sudo a2enmod userdir

și adăugați utilizatorul necesar la grupul www-data:

sudo adduser $ USER www-data

apoi reporniți Apache:

Paginile vor fi disponibile la http: // localhost / ~ username, unde username este numele de utilizator.

CGI

Dacă doriți să rulați scripturi cgi pe server, conectați modulul cgi cu comanda

sudo a2enmod cgi

În mod implicit, scripturile cgi sunt localizate în director / usr / lib / cgi-bin, dar le puteți plasa oriunde specificând acest lucru în setările de gazdă virtuală sau la nivel global pentru toate gazdele din fișier /etc/apache2/conf-enabled/serve-cgi-bin.conf.

Dacă serverul dumneavoastră rulează pe o rețea externă, atunci din motive de securitate este recomandat să plasați scripturi cgi în afara directorului rădăcină al gazdei virtuale.

Configurarea HTTPS în Apache

Serverul web Apache acceptă pe deplin HTTPS. Pentru a activa suportul HTTPS pe un Apache deja instalat, trebuie să faceți următoarele.

Generarea unei chei și a unui certificat SSL

Utilizarea certificatelor autosemnate, protejând în același timp împotriva interceptării pasive, nu garantează totuși clienților că serverul este exact serverul de care au nevoie. Avantajul certificatelor autosemnate este că sunt gratuite. Un certificat semnat de o autoritate de certificare costă bani.

Pentru a crea o cheie și un certificat, introduceți comanda:

Openssl req -new -x509 -days 30 -keyout server.key -out server.pem

Răspundem la întrebarea „Introduceți fraza de acces PEM:” cu o parolă, confirmăm și amintim.

Răspundem arbitrar la toate întrebările ulterioare, puteți pur și simplu să faceți clic pe Enter, fiind de acord cu opțiunile propuse, doar la întrebarea „Nume comun (de exemplu, numele DVS.):” răspundem la numele site-ului pentru care creăm un certificat, de exemplu www.example.com.

După ce ați răspuns la toate întrebările, în director ar trebui să apară două fișiere noi - server.pem (cheie) și server.crt (certificat).

Pentru a utiliza cheia generată, trebuie să cunoașteți parola pe care am introdus-o, iar Apache ne va cere la momentul pornirii, dar de ce avem nevoie de întrebări suplimentare de la demoni? :) Prin urmare, eliminăm parola din cheie:

cp server.key (, .orig) openssl rsa -in server.key.orig -out server.key rm server.key.orig

Să le copiem în / etc / ssl și să atribuim permisiuni numai pentru citire fișierului cheie pentru administrator:

sudo cp server.pem / etc / ssl / certs / sudo cp server.key / etc / ssl / private / sudo chmod 0600 / etc / ssl / private / server.key

Configurare Apache

Mai întâi trebuie să activați mod_ssl:

sudo a2enmod ssl

Și apoi activați setările implicite ale site-ului HTTPS:

sudo a2ensite default-ssl

Acum trebuie să editați fișierul cu setările implicite HTTPS pentru site, specificând calea către certificate. Fișierul în sine se numește / etc / apache2 / sites-enabled / default-ssl (sau /etc/apache2/sites-enabled/default-ssl.conf).

SSLEngine activat

adăuga linie

SSLProtocol all -SSLv2

pentru a interzice utilizarea protocolului SSLv2 moștenit.

# Certificat de server public SSLCertificateFile /etc/ssl/certs/server.pem # Cheie privată a serverului SSLCertificateKeyFile /etc/ssl/private/server.key

Acum doar reporniți Apache:

sudo service apache2 restart

Și dacă toți parametrii sunt specificați corect, site-urile dvs. vor deveni disponibile prin HTTPS.

Protocolul HTTPS funcționează pe portul 443, deci dacă serverul se află în spatele unui gateway, atunci trebuie să redirecționați acest port pe acesta.

Redirecționarea solicitărilor HTTP către HTTPS

Dacă doriți să interziceți utilizarea HTTP, atunci ar fi cel mai rezonabil să redirecționați toate solicitările HTTP către pagini către adresa lor HTTPS. Să facem asta cu mod_alias. Dacă nu este activat, porniți:

sudo a2enmod alias sudo service apache2 restart

Apoi schimbăm fișierul / etc / apache2 / sites-enabled / 000-default, care este responsabil pentru gazda virtuală implicită pentru cererile HTTP. Adăugați directiva la acest fișier

Redirecționare / https://example.com/

În același timp, toate setările directorului pot fi șterse, deoarece oricum nu veți ajunge la site-urile dvs. prin HTTP.

Gata, acum repornește Apache din nou și asigură-te că atunci când intri prin HTTP, ești automat redirecționat către o pagină HTTPS.

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. Parametrii liniei de comandă: Vă permite să configurați Apache la pornire.
  3. Fișiere de configurare globală: fișierul principal se numește implicit 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 legătură cu o anumită structură de fișiere sau URL. În primul caz este , in secunda - ... Apache poate deservi 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, efectul acestuia se aplică directorului în care se află, cu toate subdirectoarele imbricate. Folosirea excesivă a .htaccess poate afecta performanța serverului.

Conținutul configurației principale httpd.conf poate fi împărțit în 5 secțiuni:

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

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

Fiecare directivă este procesată de un modul specific.

De exemplu, directiva

Următoarea directivă va fi procesată de modulul mod_env, 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 - cataloage de indexare.

În 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 le conține pe 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, pot fi adăugate și alte fișiere de configurare folosind instrucțiunea Include, iar simbolurile de grupare pot fi folosite pentru a include mai multe fișiere de configurare. Orice instrucțiune poate fi adăugată la oricare dintre aceste fișiere de configurare. Serverul citește, de asemenea, fișiere care conțin tipuri de document mime; numele fișierului este dat de o instrucțiune TypesConfig, de obicei prin /etc/apache2/mods-available/mime.conf, care poate include și adăugiri și suprascrieri, iar 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 principal de configurare a serverului Apache este - 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 folosite pentru configurarea pe OS Unix, dar există câteva directive specifice 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, serverelor virtuale și toate module software Apache 2.4. ... Apache este un server modular. Aceasta înseamnă că doar cea mai de bază funcționalitate este inclusă în serverul principal. Extindere a funcțiilor, disponibilă cu module care se pot încărca dinamic. Fișierele de configurare conțin o directivă pe linie. Bara oblică inversă „\” poate fi folosită ca ultimul caracter pe o linie pentru a indica faptul că o directivă continuă 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 un caracter „#” sunt considerate comentarii și sunt ignorate. Comentariile nu pot fi incluse pe o linie 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 sunt la nivelul serverului .

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șierul - 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 după numele 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 el 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 în fișierul httpd.conf liniile -
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 un caracter "#" 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. Ele „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 către # server 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 fișierele de configurare, eroare și jurnal ale serverului. # # 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 pe directiva # Mutex, dacă sunt utilizate mutexuri bazate pe fișiere. Dacă doriți să partajați aceeași serverroot pentru mai mulți demoni httpd, va trebui să schimbați cel puțin # PidFile. # ServerRoot „C:/Program Files/Apache Software Foundation/Apache2.4” # # Mutex: Vă permite să setați mecanismul mutex și directorul fișierelor mutex # pentru mutexuri individuale sau modificați valorile implicite globale # # Decomentați și schimbați directorul dacă mutexuri sunt bazate pe fișiere, iar directorul implicit de fișiere # mutex nu este pe un disc local sau nu este adecvat din alt motiv # # # Mutex implicit: jurnalele # # Ascultă: Vă permite să legați Apache la anumite adrese IP și/sau # porturi, în loc de cea implicită. A se vedea, de asemenea, directiva #. # # Schimbați aceasta la Ascultați pe o anumită adresă IP ses așa cum se arată mai jos pentru a # împiedica Apache să se afișeze pe toate adresele IP legate. # #Ascultă 12.34.56.78:80 Ascultă 80 # # Suport pentru obiecte partajate dinamice (DSO) # # Pentru a putea folosi funcționalitatea unui modul care a fost construit ca DSO, trebuie să plasați liniile `LoadModule” corespunzătoare în această locație deci # directivele conținute în el sunt de fapt disponibile _înainte_ de a fi utilizate. # Modulele compilate static (cele enumerate cu `httpd -l") nu trebuie # să fie încărcate 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 module / mod_alias.so LoadModule allowmethods_module module / mod_allowmethods.so LoadModule asis_module module / mod_asis.so LoadModule auth_basic_module module / mod_auth_basic.so #LoadModule auth_digest_module module / mod_auth_digest.so #LoadModule authn_anon_module module / mod_authn_anon.so LoadModule authn_core_module module / mod_authn_core. deci #LoadModule authn_dbd_module module / mod_authn_dbd.so #LoadModule authn_dbm_module module / mod_authn_dbm.so LoadModule authn_file_module module / mod_authn_file.so #LoadModule authn_socache_module module / mod_authn_socache.so #LoadModule authnz_ldap_module module / mod_authnz_ldap.so LoadModule authz_core_module module / mod_authz_core.so #LoadModule authz_dbd_module lu Dules / mod_authz_dbd.so #LoadModule authz_dbm_module Module / mod_authz_dbm.so LoadModule authz_groupfile_module Module / mod_authz_groupfile.so LoadModule authz_host_module Module / mod_authz_host.so #LoadModule authz_owner_module Module / mod_authz_owner.so LoadModule authz_user_module module / mod_authz_user.so LoadModule autoindex_module module / 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_meta.so LoadModl modules / #LoadModule module_module_module_module_module_module. modules / mod_dav_fs.so #LoadModule dav_lock_module modules / mod_dav_lock.so #LoadModule dbd_module modules / mod_dbd module so #LoadModule d modules umpio_module / mod_dumpio.so LoadModule env_module modules / mod_env.so #LoadModule expires_module modules / mod_expires.so #LoadModule ext_filter_module modules / mod_ext_filter.so #LoadModule file_cache_modile modules / heartsobe modules module_module_module_module. modules / mod_heartmonitor.so #LoadModule ident_module modules / mod_ident.so LoadModule imagemap_module modules / mod_imagefomap.so LoadModule module include_module.so LoadMod modules include_module modules.so LoadMod modules include_module modules.so LoadModule modules include /LoadModule_module.so modules include /LoadModule_module.so lbmethod_bybusyness_module modules / mod_lbmethod_bybusyness.so #LoadModule lbmethod_byrequests_module modules / mod_lbmethod_byrequests.so #LoadModule lbmethod_bytraffic_module modules / mod_lbmethod_byrequests_module modules /LoadModule lbmethod_byrequests_module #LoadModule lbmethod_byrequests_module #LoadModule_byrequests.so 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 / mod_module_module_module_module_module_modulemi_module_module_module_module_modulemi_module_module_module_module_modulemi deci #LoadModule proxy_module modules / 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_balancer_module modules /mod_proxy_connect.so #LoadModule proxy_module_proxy_module. LoadModule proxy_ftp_module modules / mod_proxy_ftp.so #LoadModule proxy_html_module modules / mod_proxy_html.so #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 remoteip_module modules / mod_remoteip.so #LoadModule request_module modules / mod_request.so #LoadModule modules sed_module modules / mod_sed.so_module modules / mod_sed.so_module #LoadModule request_module modules / mod_request.so LoadModule session_cookie_module module / mod_session_cookie.so #LoadModule session_crypto_module module / mod_session_crypto.so #LoadModule session_dbd_module module / mod_session_dbd.so LoadModule setenvif_module module / mod_setenvif.so #LoadModule slotmem_plain_module module / mod_slotmem_plain.so #LoadModule slotmem_shm_module module / mod_slotmem_shm.so #LoadModule socache_dbm_module module / mod_socache_dbm.so #LoadModule module socache_memcache_module / module mod_socache_memocache 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 pentru a rula httpd ca. # 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 oricăror 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, # caz în care aceste setări implicite vor fi înlocuite pentru # gazdă virtuală care este definită. # # # ServerAdmin : adresa dvs., unde problemele cu serverul ar trebui să fie # trimise prin e-mail. Această adresă apare pe unele pagini generate de server, cum ar fi # documente de eroare. [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 dumneavoastră „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 - deci, dacă ceva "nu funcționează așa cum vă așteptați, asigurați-vă că ați activat în mod special # mai jos. # # # DocumentRoot: Directorul din care vă veți servi # documente. În mod implicit, toate cererile sunt preluate din acest director, dar # legături simbolice și alias-uri pot fi folosite pentru a indica alte locații. # # DocumentRoot „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 „Niciunul”, „Toate”, # sau oricare combinație de: # Indexuri Include FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Rețineți că „MultiViews” trebuie denumit * explicit * --- " Opțiuni toate „#” nu ți-l 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. # # 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 rânduri î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 acelei gazde vor fi înregistrate acolo și nu aici. # # ErrorLog" logs / error.log " was 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. # LogLevel warn # # Următoarele directive definesc unele porecle de format 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 "combinedio # # Locația și formatul din fișierul jurnal de acces (Format de fișier jurnal comun). # Dacă nu definiți niciun fișier jurnal de acces într-un # container, acestea vor fi înregistrate aici. În schimb, dacă * nu * definiți fișiere jurnal per acces, tranzacțiile vor fi # logg editat acolo și * nu * în acest fișier. # # CustomLog „logs / access.log” comun a fost CustomLog c: /server-apache24.ru/logs/access.log comun # # Dacă preferați un fișier jurnal cu informații despre acces, agent și referitor # (Format de fișier jurnal combinat) poate folosi următoarea directivă. # #CustomLog „logs / access.log” combinat # # Redirecționare: Vă permite să spuneți clienților despre documentele care # existau în spațiul de nume al serverului dvs., dar nu mai există. Clientul # va face o nouă cerere pentru document la noua locație. # Exemplu: # Redirect permanent / foo //www.server-apache24.ru/bar # # Alias: Mapează căile web în căile sistemului de fișiere și este folosit pentru a # accesa conținut care nu se află sub DocumentRoot. # Exemplu: # Alias ​​​​ / cale web / complet / sistem de fișiere / cale # # Dacă includeți o cale de urmă / pe / web, atunci serverul va cere ca acesta să fie prezent în URL. De asemenea, probabil # va trebui să furnizați o secțiune pentru a permite accesul la # calea sistemului de fișiere. # # ScriptAlias: Aceasta controlează ce directoare conțin scripturi de server. # ScriptAliases sunt în esență aceleași cu Aliasurile, cu excepția faptului că # documentele din directorul țintă sunt tratate ca aplicații și # rulate de server atunci când sunt solicitate, mai degrabă decât ca documente trimise către # client. Aceleași reguli despre următorul „/” se aplică directivelor ScriptAlias ​​​​# ca și Alias. # # ScriptAlias ​​​​/ cgi-bin / "C: / Program Files / Apache Software Foundation / Apache2.4 / cgi-bin /" a fost ScriptAlias ​​​​/ cgi-bin / "C: /server-apache24.ru/cgi -bin/" # # ScriptSock: Pe serverele cu fire de execuție, desemnați calea către socketul UNIX # folosit pentru a comunica cu demonul CGI al mod_cgid. # #Scriptsock cgisock # # „C: / Fișiere de program / Apache Software Foundation / Apache2.4 / cgi-bin” ar trebui să fie schimbat în orice director CGI ScriptAliased # există, dacă îl aveți configurat. # # AllowOverride None Opțiuni Nici unul Solicită toate acordate # # TypesConfig indică fișierul care conține lista de mapări de la # extensia numelui de fișier la tip MIME. # TypesConfig conf / mime.types # # AddType vă permite să adăugați sau să înlocuiți fișierul de configurare MIME # specificat în TypesConfig pentru anumite tipuri de fișiere. # #Aplicația AddType / x-gzip .tgz # # AddEncoding vă permite să aveți anumite browsere să decomprimați # informații din mers. Notă: nu toate browserele acceptă acest lucru. # #AddEncoding x-compress .Z #AddEncoding x-gzip .gz .tgz # # Dacă directivele AddEncoding de mai sus sunt comentate, atunci probabil # ar trebui să definiți aceste extensii pentru a indica tipurile de media: # Aplicația AddType / x-compress. Z Aplicația AddType / x-gzip .gz .tgz Aplicația AddType / x-httpd-php .php # # AddHandler vă permite să mapați anumite extensii de fișiere la „handlers”: # acțiuni care nu au legătură cu tipul de fișier. Acestea pot fi fie încorporate în server # fie adăugate cu directiva Action (vezi mai jos) # # Pentru a utiliza scripturi CGI în afara directoarelor ScriptAliased: # (Va trebui, de asemenea, să adăugați „ExecCGI” la directiva „Opțiuni”. ) # #AddHandler cgi-script .cgi AddHandler cgi-script .cgi .pl # Pentru hărți de tip (resurse negociate): #AddHandler type-map var # # Filtrele vă permit să procesați conținut înainte de a fi trimis către client. # # Pentru a analiza fișiere .shtml pentru includerile de pe partea de server (SSI): # (Va trebui, de asemenea, să adăugați „Include” la directiva „Opțiuni”.) # AddType text / html .shtml AddOutputFilter INCLUDE .shtml # # Mod_mime_magic modulul permite serverului să folosească diverse indicii din conținutul # fișierului în sine pentru a determina tipul acestuia. Directiva MIMEMagicFile # spune modulului unde sunt localizate definițiile indicii. # #MIMEMagicFile conf / magic # # Răspunsurile de eroare personalizabile sunt disponibile în trei variante: # 1) text simplu 2) redirecționări locale 3) redirecționări externe # # Câteva exemple: #ErrorDocument 500 "Serverul a făcut un 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: /server-apache24.ru/www/404.ru/ .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”, „ niciunul" sau "nelimitat". # Setarea implicită este de a accepta 200 de intervale. #MaxRanges nelimitat # # EnableMMAP și EnableSendfile: Pe sistemele care îl acceptă, # memory-mapping sau sendfile syscall pot fi folosite pentru a livra # fișiere. Acest lucru îmbunătățește de obicei performanța serverului, dar trebuie # să fie dezactivat atunci când serviți din # sisteme de fișiere montate în rețea sau dacă suportul pentru aceste funcții este altfel # întrerupt pe sistemul dumneavoastră. # Valori implicite: EnableMMAP On, EnableSendfile Off # #EnableMMAP off #EnableSendfile on # Configurare 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 acestora 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 # Directorele 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 și versiune distribuită (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 accepta # pornirea fără SSL pe platforme fără / dev / echivalent aleatoriu # dar un compilat static în mod_ssl. # SSLRandomSeed pornire încorporată SSLRandomSeed conectare integrată # # anulați comentariile de mai jos pentru a trata agenții 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 #


Schimbări .
Comanda - httpd.exe -k reporniți, vă permite să finalizați orice operațiuni efectuate de serverul Apache și forțează Apache să recitească fișierul de configurare.


Depanarea erorilor de instalare a serverului Apache

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

Repornirea Apache 2.4

pentru că schimbăriîn fișierele de configurare principale 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 pe butonul stâng al mouse-ului pe pictogramă Apache Service Monitor.

Puteți porni serverul Apache făcând clic pe butonul Repornire
în fereastra Apache Service Monitor.
Sau - Stopși apoi - start.

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

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

Accesul 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ă aceasta este o eroare de server, vă rugăm să contactați webmasterul.

Eroare 403

127.0.0.1
Apache / 2.4.4 (Win64)

Accesul este interzis!

Nu aveți permisiunea de a accesa directorul solicitat. Documentul index lipsește sau directorul 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) Microsoft Corporation 2016. 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: / fișierul va fi creat 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, închiderea 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ă (nu există).

Dar principalul lucru sunt erorile OS 10048:

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

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

Administrator: Linia de comandă

Microsoft Windows (c) Microsoft Corporation 2016. 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.127.0.0.0.0.127.0.0.0.0.0.1 ESTABUSCULAR 127,0 ASCULTARE 4 TCP 192.168.0.100:51330 34.226.135.28:443 STABILIT 1232 TCP 192.168.0.100:51345 52.196.85.70:443 STABILIT 1232 TCP 192.168.0.100:52796 88.212.253.127:21 STABILIT 1128 TCP 192.168.0.100:531.: 443 CLOSE_WAIT 3712 TCP 192.168 .128.233:. 443 CLOSE_WAIT 3712 TCP 192.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.74.149:443 CLOSE_WAIT 3712 TCP 192.168.0.100:53271 52.205.235.141:443 STABILIT 5236 C: \ Windows \ System32>

ID-ul procesului, cunoscut mai frecvent ca PID, este un 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 Gestionar de sarcini

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 o copie de rezervă a fișierului - 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 numai gazde virtuale bazate pe nume, astfel încât serverul „nu trebuie să-și facă griji cu privire la # adrese IP. Acest lucru este indicat de asteriscuri în directivele de mai jos. # # Vă rugăm să consultați documentația la #

În catalog C: \ Windows \ System32 \ drivere \ 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

Porniț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 pe care l-ați creat.

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

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

httpd.exe -t

Veți primi două avertismente.

Administrator: Linia de comandă

Microsoft Windows (c) Microsoft Corporation 2016. 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>

Mai devreme, în seria noastră de noțiuni de bază pentru Linux, am acoperit elementele de bază ale lucrului cu serverul web Apache. Este cel mai utilizat server web din lume pe Internet (în iulie 2015, Apache avea 38%, IIS avea 26% și Nginx avea 15%). Prin urmare, cu cât știți mai multe despre el și înțelegeți cum funcționează, cu atât veți obține mai mult succes atunci când îl piratați.

Astăzi vom trece peste elementele de bază ale configurării unui server Apache. După cum am scris mai devreme, configurarea și configurarea aproape a tuturor aplicațiilor pe Linux sau Unix se face prin fișiere de configurare, care sunt text simplu. Apache nu face excepție aici. Prin urmare, în acest articol, ne vom concentra pe fișierul de configurare apache2.conf aflat în directorul / etc / apache2.

Pasul 1. Porniți Apache2

Să începem prin a rula Apache2. Vom face acest lucru prin intermediul shell-ului grafic Kali mergând la Aplicații -> Kali Linux -> Servicii de sistem -> HTTP -> Apache2 start, așa cum se arată în captura de ecran de mai jos.

Sau rulați-l prin linia de comandă tastând următoarea comandă în terminal

Kali> service apache2 start

Acest lucru pornește demonul Apache2 și, de acum înainte, serverul web ar trebui să servească conținutul nostru pe internet.

Pasul 2. Verificați starea serverului

Pentru a verifica dacă serverul nostru Apache rulează, să navigăm la localhost sau 127.0.0.1 în browser. Dacă vedeți pagina ca în captura de ecran de mai jos, înseamnă că serverul funcționează bine!

Pasul 3. Deschideți fișierul de configurare

Pentru a configura Apache, trebuie să mergem la directorul / etc / apache2.

Kali> cd / etc / apache2

Să afișăm o listă cu toate fișierele din acest director:

Kali> ls -l

După cum puteți vedea, există mai multe fișiere și subdirectoare în acest director. Deocamdată ne interesează doar fișierul apache2.conf, dar rețineți că avem un fișier ports.conf și un folder sites_available de care vom avea nevoie puțin mai târziu și există câteva alte fișiere și foldere de configurare.

Putem deschide apache2.conf în orice editor de text, dar aici vom folosi Leafpad. Fișierul poate fi deschis prin simpla introducere în consolă:

Kali> leafpad /etc/apache2/apache2.conf

După cum puteți vedea, această comandă deschide un fișier text cu toate informațiile de configurare pentru serverul nostru web Apache. Pentru a configura serverul, vom încerca acum să vă familiarizăm cu toate punctele cheie ale acestui fișier.

Pasul 4. ServerRoot

Să derulăm în jos, să omitem toate comentariile și să găsim rândul # 70, unde începe secțiunea de setări globale. Aici vedem setările ServerRoot. Acesta este partea de sus a arborelui de directoare unde serverul Apache stochează toate fișierele legate de server. Linia # 84 definește ServerRoot. Putem pur și simplu să decomentăm această linie dacă dorim să setăm / etc / apache2 ca ServerRoot. Vă recomandăm să faceți acest lucru.

Pasul 5. Timeout

În secțiunea următoare, avem variabile care definesc valorile parametrilor: Timeout, KeepAlive, MaxKeepAliveRequests și KeepAliveTimeout.

  • Pauză: Acesta este timpul în care serverul trebuie să îndeplinească cererea utilizatorului. Valoarea sa implicită este 300, ceea ce înseamnă că serverul trebuie să proceseze fiecare cerere în 300 de secunde sau 5 minute. Acest lucru este cu siguranță prea lung și poate fi setat la 30 de secunde.
  • Ține în viață: Aceasta înseamnă că serverul rămâne în viață (menține conexiunea) pentru mai multe solicitări de la același client. Valoarea implicită este Activată. Aceasta înseamnă că clienții nu trebuie să creeze o nouă conexiune pentru fiecare solicitare către serverul nostru. Această abordare economisește resursele serverului.
  • MaxKeepAliveRequests: Această valoare definește numărul maxim de secunde permis între solicitările primite de la o conexiune stabilită cu un client. Dacă setăm această valoare la 0, atunci timpul este nelimitat.
  • KeepAliveTimeout: Acesta este intervalul de timp dintre solicitări pentru a determina dacă conexiunea este încă vie (stabilită).

Vă sugerăm să lăsați toate valorile implicite, cu excepția parametrului „Timeout”. Fiecare situație este diferită și poate fi necesar să modificați aceste valori implicite pentru a adapta performanța serverului la mediul dumneavoastră.

Pasul 6. Utilizator și grupuri Apache2

Să derulăm din nou câteva rânduri în apache2.conf până ajungem la linia # 177. Aici putem seta utilizatorul Apache2 și grupurile. Notați comentariul de pe linia # 177. Afirmă că putem seta aceste variabile în fișierul envvars (variabile de mediu). Vom lăsa această întrebare pentru articolele viitoare, dar deocamdată, rețineți că atât User cât și Group sunt variabile ale căror valori sunt preluate din fișierul / etc / apache2 / envvars.

În cele din urmă, ultima secțiune, care este de mare importanță pentru securitatea Apache, începe la linia # 193. Această secțiune asigură că clienții web nu pot accesa fișierele .htaccess și .htpasswd.

Pasul 7. Înregistrare

Următoarea secțiune descrie modul în care Apache gestionează jurnalele (jurnalele).

În prima subsecțiune, ne referim la parametrul HostNameLookups. Această directivă îi spune Apache2 dacă ar trebui să efectueze o căutare DNS atunci când înregistrează o conexiune stabilită. Cu opțiunea implicită Off, Apache2 funcționează mult mai bine.

Pasul 8. Site-uri disponibile

Acum să aruncăm o privire la directorul site_available (site-uri accesibile) și, cel mai important, la fișierul care se află în el în mod implicit. Este adesea denumit fișierul implicit Virtual Hosts. Deschideți acest fișier introducând în consolă:

Kali> leafpad / etc / apache2 / site_available / default

După cum puteți vedea, există trei zone critice în acest fișier. Prima linie definește pe ce port ascultă serverul web. Se definește aici că ascultă orice interfață de pe portul 80 (*: 80). A doua linie definește adresa de e-mail la care ar trebui trimise notificările în caz de probleme cu serverul. În mod implicit, există o adresă. Dacă sunteți administrator de sistem, puteți introduce adresa de e-mail aici. Al treilea element poate fi cel mai important - DocumentRoot. Acesta stabilește unde va fi plasat conținutul pentru această gazdă virtuală, implicit este / var / www. Vă sugerăm să lăsați totul așa cum a fost definit de dezvoltatori.

Pasul 9. Porturi

În cele din urmă, putem merge și mai jos în fișierul apache2.conf la linia # 248 - „include port.conf”. Această directivă îi spune pur și simplu lui Apache să intre în fișierul port.conf pentru a găsi porturile pe care ar trebui să asculte.