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

În timpul acestei instrucțiuni, vom arunca o privire detaliată la instalarea serverului web Apache, PHP, Tomcat (pentru suport JSP) și legarea lor pentru colaborare. Să aruncăm o privire la un exemplu de fișier de configurare Apache. Apoi vom instala serverul MySQL și vom analiza exemple de accesare din PHP și JSP. Să instalăm PHPMyAdmin pentru a lucra cu MySQL.

Componente necesare

Am folosit următoarele versiuni, cele mai recente dacă se poate.
Apache 2.0.52
PHP 4.3.9
Tomcat 5.5.4
mod_jk 1.2.6
J2SDK 1.5.0
MySQL 4.1.7
Conector/J 3.1.6
PHPMyAdmin 2.6.0
De unde pot lua componentele necesare?
Apache Web Server
http://httpd.apache.org/
PHP
http://www.php.net/
JSP

*Motan
http://jakarta.apache.org
* mod_jk
http://www.javaportal.ru/downloads/downloads.html
* Java
http://java.sun.com/

* Baza de date MySQL

*Conector/J
http://dev.mysql.com/downloads/
* PHPMyAdmin
http://www.phpmyadmin.net/

Instalarea Apache

Mai întâi, să creăm un folder Server pe unitatea C, unde vom instala tot ce avem nevoie. Să descarcăm mai întâi tot software-ul de care avem nevoie, poate aceleași versiuni pe care le-am folosit eu, sau poate mai mare.

Lansăm apache_2.0.52-win32-x86-no_ssl și vedem fereastra de bun venit:

Faceți clic pe „Următorul”.

Apare o fereastră în care ni se cere să ne familiarizăm cu licența de utilizare a acestui produs, selectați „Accept...” și faceți clic pe „Următorul”.

Puțină istorie și din nou „Următorul”.

În fereastra de informații despre server, introduceți datele așa cum se arată în imaginea de mai sus:
Domeniu de rețea: localhost
Nume server: localhost
Adresa de e-mail a administratorului: localhost»@localhost

Vom selecta, de asemenea, „Pentru toți utilizatorii, pe portul 80, ca serviciu - Recomandat”. Și apoi „Următorul”

Selectați Personalizat pentru a selecta toate componentele de instalat.

Selectăm totul pentru o instalare completă, schimbăm calea de instalare în C: ServerApache2

Faceți clic din nou pe „Următorul”.

Observăm progresul instalării.

Instalarea este finalizată. A apărut o rezervă în colțul din dreapta jos?

Dacă da, atunci serverul nostru web este instalat. Faceți clic stânga pe pictogramă și deschideți panoul de control:

Aici putem porni, opri sau reporni serverul nostru.

Acum să testăm serverul nostru. Deschideți browserul și introduceți http://localhost în bara de adrese.

Dacă vedeți următorul rezultat:

Instalarea PHP

Extrageți conținutul php-4.3.9-Win32.zip în folderul C:Server și redenumiți folderul rezultat „php-4.3.9-Win32” în „php4”.

Acum trebuie să clarificăm serverului că avem un interpret PHP.

Adăugăm următoarea intrare la sfârșitul fișierului de configurare al serverului nostru C:ServerApache2confhttpd.conf:

# Să știe serverul că avem un interpret PHP ScriptAlias ​​​​/php4/ „C:/Server/php4/” Aplicație de acțiune/x-httpd-php4 „/php4/php.exe” # Instalați extensii pentru aplicația AddType pentru scripturi PHP /x- httpd-php4 .php .php3 .php4 .phtm .phtml

Salvați fișierul. Ne repornim serverul (butonul de repornire din panoul de control al serverului), ați uitat încă cum?

Acum trebuie să verificăm dacă această conexiune funcționează. În folderul C:ServerApache2htdocs (acest folder este folderul rădăcină implicit, accesibil de la http://localhost), creați un fișier phpinfo.php cu următorul conținut:

Salva. Deschideți http://localhost/phpinfo.php în browser, dacă totul a mers bine, ar trebui să vedeți următoarele:

Instalarea suportului JSP

Pentru a face acest lucru, trebuie să instalăm JDK versiunea 1.5, deoarece vom instala Tomcat 5 și nu funcționează pe versiunile sub 1.5.

Rulați jdk-1_5_0-windows-i586.exe

Suntem de acord cu acordul de licență.

Să lăsăm totul așa cum este

De asemenea, lăsăm totul așa cum este.

Apare o fereastră de dialog pentru a selecta instalarea pluginurilor pentru browserele existente, după cum puteți vedea că am doar unul.

JDK instalat!!!

Să începem să instalăm Tomcat 5.

Rulați jakarta-tomcat-5.5.4

Acceptăm salutul și acordul de licență

Selectați instalarea completă verificând toate componentele.

Instalați totul în același folder „Server”

Lăsăm configurația implicită.

Se verifică calea către JRE.

Progresul instalării

BINE. totul este gata. Dar deocamdată Tomcat funcționează singur și nu este asociat cu Apache.

Verificarea funcționalității Tomcat. Deschideți http://localhost:8080/ în browser, deoarece Tomcat ascultă implicit pe portul 8080, dacă rezultatul este pozitiv, ar trebui să vedem următoarele:

Acum sarcina noastră este să instalăm Tomcat pe localhost:

Pentru a face acest lucru, trebuie să copiem conectorul mod_jk.dll în folderul C:ServerApache2modules și să adăugăm următoarea intrare în fișierul de configurare Apache2 httpd.conf:

#################################################################### ######### ## Suport JSP ## Copiat din fișierul de configurare automată Tomcat ## + adăugat JkMount /*.jsp ajp13 ## + eliminat Virtual Host IfModule !mod_jk.c> JkWorkersFile "C:/Server/Tomcat 5.5/conf/workers.properties" JkLogFile "C:/Server/Tomcat 5.5/logs/mod_jk.log" Informații JkLogLevel JkMount /manager ajp13 JkMount /manager/JkMount /manager/Jk-ajpex13servlets-ajp13servet JkMount /servlets-examples/ * ajp13 JkMount /jsp-examples ajp13 JkMount /jsp-examples/ * ajp13 JkMount /tomcat-docs ajp13 JkMount /tomcat-docs/ * ajp13 JkMount-examples/ * ajp13 JkMount 13 JkMount /ajp13 J kMount /*. jsp ajp13

După care trebuie să reporniți serverul Apache2.

Să verificăm acum dacă funcționează? Deschideți în browser http://localhost/jsp-examples/.Și dacă vedem următoarele, atunci totul funcționează!

Configurare server

Acum trebuie să ne punem în ordine serverul, să-l configurăm singuri. Deschideți fișierul httpd.conf, ștergeți totul de acolo și lipiți textul acolo:

# Dosarul în care este instalat serverul nostru web ServerRoot „C:/Server/Apache2” # Portul pe care îl ascultă serverul nostru web Ascultă 80 # Setează SSI pentru fișierele cu extensia shtm, shtml html AddType text/html .shtm .shtml .html AddOutputFilter INCLUDE .shtm .shtml .html # Adresa de e-mail a administratorului serverului web (schimbați-o cu a dumneavoastră) ServerAdmin localhost@localhost # Serverul nostru: port ServerName localhost:80 UseCanonicalName Off # Fișiere index, separate prin spații DirectoryIndex index.htm index .html index.shtm index.shtml index.php index.php3 index.php4 index.jsp # Numele fișierului de configurare încorporat AccessFileName .htaccess # Anunțați serverul web că avem un interpret PHP ScriptAlias ​​​​/php4/ "C:/Server/php4/" Aplicație de acțiune /x-httpd-php4 "/php4/php.exe" # Instalați extensii pentru scripturi PHP Aplicația AddType/x-httpd-php4 .php .php3 .php4 .phtm .phtml # Dosarul în care vom pune toate fișierele noastre html și alte fișiere. DocumentRoot "C:/Server/www" Jurnaluri PidFile/Httpd.PID Timeout 300 Keepalive pe MaxkeepaliveRequests 100 KeepaliveTimeout 15 HostNameLookups Off # Module LoadModule Access_Module Modules/Mod_access.so LoadModule ALIAS_MODULE MODULES Deci, ULE ASIS_MODULE modules/mod_asis.so LoadModule auth_module modules/mod_auth.so LoadModule autoindex_module modules/mod_autoindex.so LoadModule cgi_module modules/mod_cgi.so LoadModule dir_module modules/mod_dir.so LoadModule env_module modules/mod_module_module_module.im module /mod_include.so LoadModule isapi_module modules/mod_isapi.so LoadModule log_config_module modules/mod_log_config.so LoadModule mime_module modules/mod_mime.so LoadModule negotiation_module modules/mod_negotiation.so LoadModule LoadModule setenvidule_module_module.so userdir.so # Interzice accesul la configurare (.htaccess) și fișierele de parolă (.htpasswd). Comanda permite, refuza Deny de la toți# Bază de date cu tipuri de fișiere TypesConfig conf/mime.types # Tipul tuturor documentelor - text DefaultType text/plain MIMEMagicFile conf/magic# Fișier de raport de eroare ErrorLog logs/error.log # Ce să scrieți în fișierul de raport poate lua următoarele valori: # debug, info, notice, warn, error, crit, alert, emerg. LogLevel warn # Șablon pentru scrierea unei linii în fișierul de raport LogFormat „%h %l %u %t „%r” %>s %b „%(Referer)i” „%(User-Agent)i”” LogFormat combinat „%h %l %u %t „%r” %>s %b” LogFormat comun „%(Referer)i -> %U” LogFormat „%(User-agent)i” agent # Fișier raport care listează toate site-urile web accesează serverul CustomLog jurnalele/access.log comune ServerTokens Complet # Semnătură server web (Activat - activat, Oprit - dezactivat, # E-mail - arată e-mailul administratorului serverului) ServerSignature Activat # Dosare virtuale # De exemplu: # Alias ​​​​/icoane/ „C :/ Server/Apache2/icons/" # Accesând http://localhost/icons/ # vom vedea conținutul folderului C:/Server/Apache2/icons/ Alias ​​​​/icons/ "C:/Server /Apache2/icons/" AddIconByEncoding (CMP ,/icons/compressed.gif) x-compress x-gzip AddIconByType (TXT,/icons/text.gif) text/ * AddIconByType (IMG,/icons/image2.gif) imagine/ * AddIconByType (SND,/icons/sound2 .gif) audio/ * AddIconByType (VID,/icons/movie.gif) video/ * # Selectarea pictogramelor pentru diferite formate AddIcon /icons/binary.gif .bin .exe AddIcon /icons/ binhex.gif .hqx AddIcon /icons/ tar.gif .tar AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip AddIcon /icons/a.gif .ps .ai .eps AddIcon /icons/layout.gif .html .shtml .htm .pdf AddIcon /icons/text.gif .txt AddIcon /icons/c.gif .c AddIcon /icons/ p.gif .pl .py AddIcon / icons/f.gif .for AddIcon /icons/dvi.gif .dvi AddIcon /icons/uuencoded.gif .uu AddIcon /icons/script.gif .conf .sh .shar .csh . ksh .tcl AddIcon /icons/tex gif .tex AddIcon /icons/bomb.gif core AddIcon /icons/back.gif .. AddIcon /icons/hand.right.gif README AddIcon /icons/folder.gif ^^ DIRECTORY^. ^ AddIcon /icons/blank.gif ^ ^BLANKICON^^ # Pictogramă pentru formate necunoscute DefaultIcon /icons/unknown.gif # Dacă este afișat conținutul unui folder, fișierele de descriere sunt citite: ReadmeName README.html HeaderName HEADER.html # Fișiere de ignorat atunci când listați directorul IndexIgnore .?? * *~ *# HEADER* README* RCS CVS *,v *,t AddEncoding x-compress Z AddEncoding x-gzip gz tgz # Codificarea noastră AddDefaultCharset WINDOWS-1251 # "C: /Server/Apache2/cgi-bin" director CGI -scripturi AllowOverride Niciunul Opțiuni Nici unul Comanda permite, refuza Permite tuturor#################################################################### ######### ## Suport JSP ## Copiat din fișierul de configurare automată Tomcat ## + adăugat JkMount / *.jsp ajp13 ## + eliminat gazda virtuală LoadModule jk_module C:/Server/Apache2/modules/mod_jk.dll JkWorkersFile "C:/Server/Tomcat 5.5/conf/workers.properties" JkLogFile "C:/Server/Tomcat 5.5/logs/mod_jk.log" Informații JkLogLevel JkMount /manager ajp13 JkMount /manager/JkMount /manager/Jk-ajpex13servlets-ajp13servet JkMount /servlets-examples/ * ajp13 JkMount /jsp-examples ajp13 JkMount /jsp-examples/ * ajp13 JkMount /tomcat-docs ajp13 JkMount /tomcat-docs/ * ajp13 JkMount-examples/ * ajp13 JkMount 13 JkMount /ajp13 J kMount /*.jsp ajp13

Salva. Reporniți serverul.

Instalarea serverului MySQL

Despachetați fișierul mysql-4.1.7-win.zip și rulați fișierul Setup.exe

Salutări, faceți clic pe Următorul

Aici selectăm Personalizat, deoarece trebuie să instalăm toate componentele complet și să specificăm calea de instalare.

Selectați toate componentele de instalat și specificați calea de instalare pentru C:ServerMySQL Server 4.1. Să mergem mai departe.

Sunteți gata să începeți procesul de instalare? Faceți clic pe Instalare.

Observăm procesul de instalare.

Omiteți pasul de înregistrare pe MySQL.com.

Verificați opțiunea „Configurare server MySQL”. Și finalizam procesul de instalare pornind configurarea.

Salutări din nou.

Alegem configurația standard pentru a nu ne încurca deloc creierul, apoi, dacă doriți, puteți încerca să mânuiți cu setările.

Indicăm că serverul MySQL va fi lansat ca serviciu Windows.

Specificăm o parolă pentru administrator, să spunem că va fi „parolă”.

Execută și gata! După care vedem următoarea imagine în colțul din dreapta jos:

Acum să testăm serverul nostru MySQL. Să creăm un fișier index.php în folderul www cu următorul conținut:

Salva.

Deschideți http://localhost/index.php în browser și...

Nu așa! Va apărea eroarea „Clientul nu acceptă protocolul de autentificare solicitat de server;” luați în considerare actualizarea clientului MySQL"

Ei bine, aceasta este o ușoară incompatibilitate. . . MySQL 4.1 folosește o nouă modalitate de a stoca parolele și, din această cauză, toți clienții mai vechi sunt incompatibili cu MySQL. Ce să fac?

Fișiere de configurare Apache

În majoritatea pachetelor, fișierul principal de configurare al Apache se numește httpd.conf. În funcție de versiunea sistemului, acest fișier poate fi localizat în directoare diferite, dar formatul său rămâne neschimbat. Pe sistemele Caldera și SuSE, fișierul httpd.conf este localizat în directorul /etc/httpd; pe Debian și Slackware se află în /etc/apache (Slackware oferă un fișier exemplu /etc/apache/httpd.conf.default; pentru a vă asigura că serverul funcționează, trebuie doar să redenumiți acest fișier și să-i faceți modificările necesare) ; Pe Red Hat și TurboLinux, fișierul httpd.conf se află în directorul /etc/httpd/conf/.

Ca de obicei, liniile din fișierul httpd.conf care încep cu simbolul # conțin comentarii. Opțiunile care definesc configurația serverului sunt specificate după cum urmează:

Sens directiv

O directivă este un nume care poate avea o anumită valoare asociată. Valoarea poate fi un număr, un nume de fișier sau un șir de caractere arbitrar. Unele directive vă permit să specificați mai multe subopțiuni. În acest caz, numele directivei este plasat între paranteze unghiulare. Un exemplu de astfel de directivă este dat mai jos.

Opțiuni FollowSymLinks

AllowOverride Nici unul

Ultima linie conține numele aceleiași directive care este specificată la început, dar nu este dată nicio valoare pentru aceasta. Numele unei directive care încheie un bloc este precedat de o bară oblică.

În unele cazuri, fișierele de configurare suplimentare enumerate mai jos sunt folosite pentru a configura Apache. Acestea sunt de obicei plasate în același director ca httpd.conf.

Acces.conf. Legătura către acest fișier se formează folosind directiva AccessConfig și este conținută în fișierul httpd.conf. Fișierul access.conf conține cel mai adesea directive , definind caracteristicile de acces la directoarele specificate în acestea. În prezent, acest fișier este de obicei lăsat gol și, uneori, valoarea AccessConfig este setată la /dev/null , ceea ce dezactivează utilizarea access.conf.

Mime.tipuri. Pentru a spune browserului Web cum trebuie procesate datele, serverul Web folosește standardul MIME (Multipurpose Internet Mail Extensions). De exemplu, tipul MIME text/plain înseamnă că datele sunt text simplu, în timp ce image/jpeg specifică date grafice în format JPEG (Joint Photographic Experts Group). Fișierul mime.types conține informații despre maparea dintre tipurile MIME și extensiile de fișiere. De exemplu, numele de fișiere care se termină în .txt și .asc sunt asociate cu tipul MIME text/plain . Dacă această mapare nu este setată corect, browserul Web va avea dificultăți în procesarea anumitor tipuri de fișiere. Fișierul furnizat ca parte a pachetului permite procesarea aproape oricărui tip de date care pot fi plasate pe o pagină Web. Dacă trebuie să utilizați tipuri rare, va trebui să adăugați noi intrări la acest fișier.

Magie. Acest fișier vă permite, de asemenea, să definiți mapări între tipurile MIME și date. Când analizați informații, puteți descoperi semne specifice de un tip sau altul. De exemplu, multe fișiere conțin chei speciale - secvențe de octeți „magice”. Aceste secvențe, convertite în formă de text, sunt specificate în fișierul magic. Dacă nu ați studiat cu atenție formatul acestui fișier, nu este recomandat să faceți modificări la acesta. Structura fișierului magic nu va fi discutată în acest capitol.

Din cartea Linux pentru utilizator autor Kostromin Viktor Alekseevici

8.2.2. Fișiere de configurare de bază Dacă ați citit Sect. 8.2.1 (sau dacă v-ați uitat la fișierul /etc/inittab), atunci imaginați-vă că într-o situație normală procesul init, pe lângă lansarea proceselor getty, efectuează 2 acțiuni principale: lansează scriptul rc.sysinit din /etc directorul /rc.d; rulează scriptul rc

De pe serverul de carte DIY Linux autor

12.5. SSL și Apache 12.5.1. Instalarea SSL SSL (Secure Sockets Layer) este o metodă de criptare dezvoltată de Netscape pentru a oferi securitate pe Internet. Această metodă acceptă mai multe metode de criptare și oferă atât autentificare la nivel de client, cât și la nivel de client.

Din cartea Asterisk™: The Future of Telephony Ediția a doua autor Meggelen Jim Wang

Din cartea Linux Network Tools de Smith Roderick W.

Din cartea Linux: Ghidul complet autor Kolisnichenko Denis Nikolaevici

Fișiere de configurare DHCP Majoritatea pachetelor de distribuție Linux includ un server DHCP dezvoltat de Internet Software Consortium (http://www.isc.org/products/DHCP/). Internet Software Consortium (ISC) a lansat versiunea 3.0 a DHCP la sfârșitul anului 2000, dar la începutul lui 2002 multe versiuni de Linux încă erau livrate cu vechea versiune 2.0

Din cartea Ubuntu 10. Ghid de pornire rapidă autor Kolisnichenko D. N.

Din cartea The C Language - A Guide for Beginners de Prata Steven

Fișiere de configurare Exim Fișierul de configurare principal al Exim se numește exim.conf. De obicei se află în directorul /etc. Acest fișier conține intrări în următorul format: opțiune = valoare Ca de obicei, liniile care conțin comentarii încep cu caracterul #.

Din cartea Linux prin ochii unui hacker autor Flenov Mihail Evghenievici

Din cartea Linux Kernel Development de Love Robert

16.1. Instalarea Apache În funcție de distribuție, pachetul din care este instalat serverul web Apache se poate numi apache sau httpd, iar pachetul de documentație poate fi numit apache-docs sau, respectiv, httpd-manual. În primul caz, va trebui să instalați pachetul apache-common care conține

Din cartea autorului

16.2. Configurare Apache. Fișiere de configurare După instalarea Apache, ar trebui să editați următoarele fișiere:? /etc/httpd/conf/httpd.conf - fișierul de configurare principal. Pentru Apache 2.x. acest fișier poate fi numit și httpd2.conf;? /etc/logrotate.d/apache sau /etc/logrotate.d/httpd (în versiunea 2.0) - fișier de rotație

Din cartea autorului

16.10. SSL și Apache 16.10.1. Instalarea SSL SSL (Secure Sockets Layer) este o metodă de criptare dezvoltată de Netscape pentru a asigura transmisia securizată a datelor. Această metodă acceptă mai multe metode de criptare și oferă autentificare atât la nivel de client, cât și la nivel de client.

Din cartea autorului

19.2. Lista 19.1 a fișierelor de configurare a încărctorului de pornire arată fișierul principal de configurare GRUB2 - /boot/grub/grub.cfg. Nu poate fi editat manual. Pentru a-l crea, utilizați utilitarul /usr/sbm/grub-mkconfig, care generează acest fișier de configurare pe baza șabloanelor,

Din cartea autorului

26.2.3. Fișiere de configurare a serverului Fișierele de configurare a serverului sunt localizate în directorul /etc/apache2. Fișierul principal de configurare se numește apache2.conf. Setările sale implicite se vor potrivi majorității utilizatorilor. Dacă intenționați să utilizați serverul Web nu numai local (pentru

Din cartea autorului

Fișiere sursă și fișiere executabile Programul nostru minunat, în ciuda conciziei și simplității sale, este un set complet lipsit de sens pentru un computer, deoarece „nu înțelege” directive precum #include sau printf. El înțelege doar un limbaj special,

Din cartea autorului

5.3.1. Fișiere de configurare Toate fișierele de configurare a protocolului SSH sunt localizate în directorul /etc/ssh. Aici puteți vedea următoarea listă:? Fișierul de configurare a serverului SSH - sshd_config;? Fișierul de configurare a clientului SSH - ssh_config;? fisiere cheie pentru diverse

Din cartea autorului

Opțiuni de configurare pentru depanarea kernelului Există mai multe opțiuni de configurare care ajută la depanarea și testarea codului kernelului, care sunt activate în timpul compilării. Aceste opțiuni sunt disponibile în elementul Hacking Kernel din meniul editorului de configurare a kernelului. Toate acestea

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 utilizate în legătură cu o anumită structură de fișiere sau URL. În primul caz este , în al doilea - . 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, 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, a serverelor virtuale și a tuturor modulelor software Apache 2.4. . Apache este un server modular. Aceasta înseamnă că doar cea mai de bază funcționalitate este inclusă în serverul de bază. Extinderea funcțiilor este disponibilă folosind module încărcate 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ă directiva continuă la următoarea linie. 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 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 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. Rânduri 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 folosi funcționalitatea unui modul care a fost construit ca DSO, trebuie să plasezi liniile „LoadModule” corespunzătoare în această locație astfel încât # directivele conținute în acesta 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 modules/mod_alias.so LoadModule allowmethods_module modules/mod_allowmethods.so LoadModule asis_module modules/mod_asis.so LoadModule auth_basic_module modules/mod_auth_basic.so #LoadModule auth_digestule_module auth_digestule_module _module modules/mod_authn_anon.so LoadModule authn_core_module modules/mod_authn_core . deci #LoadModule authn_dbd_module modules/mod_authn_dbd.so #LoadModule authn_dbm_module modules/mod_authn_dbm.so LoadModule authn_file_module modules/mod_authn_file.so #LoadModule authn_dbm_module modules/LoadModule authn_dbm_so nz_ldap_module modules/mod_authnz_ldap.so LoadModule authz_core_module modules/mod_authz_core.so # LoadModule authz_dbd_module modules/mod_authz_dbd.so #LoadModule authz_dbm_module modules/mod_authz_dbm.so LoadModule authz_groupfile_module modules/mod_authz_groupfile.so LoadModule authz_dbm_module_host_module_module_host_module_Load_modulez /mod_authz_owner.so LoadModule authz_user_module modules/mod_authz_user.so LoadModule autoindex_module modules/mod_autoindex .so # LoadModule buffer_module modules/mod_buffer.so #LoadModule cache_module modules/mod_cache.so #LoadModule cache_disk_module modules/mod_cache_disk.so #LoadModule cern_meta_module modules/mod_cern_meta.so LoadModule cgi_module_module_module cgi_module_module. mod_charset_lite.so #LoadModule data_module modules /mod_data.so #LoadModule dav_module modules/mod_dav.so #LoadModule dav_fs_module modules/mod_dav_fs.so #LoadModule dav_lock_module modules/mod_dav_lock.so #LoadModule dbd_module_module_module/mod_Load_module_modules/mod_dav_fs.so te LoadModule dir_module modules/ mod_dir. deci #LoadModule dumpio_module modules/mod_dumpio.so LoadModule env_module modules/mod_env.so #LoadModule expires_module modules/mod_expires.so #LoadModule ext_filter_module modules/mod_ext_filter.so #LoadModule file_cacheso_module modules_cacheso_module_module_ /mod_filter. deci #LoadModule headers_module modules/mod_headers.so #LoadModule heartbeat_module modules/mod_heartbeat.so #LoadModule heartmonitor_module modules/mod_heartmonitor.so #LoadModule ident_module modules/mod_ident.so LoadModule imagemap_module modules include/module_moduleLoadmap.module.include_module_module ule info_module modules/mod_info .so LoadModule isapi_module modules/mod_isapi.so #LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so #LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequest_module bmethod_ bytraffic.so #LoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so #LoadModule ldap_module modules/ mod_ldap.so # LoadModule logio_module modules/mod_logio.so LoadModule log_config_module modules/mod_log_config.so #LoadModule log_debug_module modules/mod_log_debug.so #LoadModule log_forensic_module modules/mod_log_module_forensic_module.module.load_module.so _module /mod_mime.so #LoadModule mime_magic_module modules/ mod_mime_magic.so LoadModule negotiation_module modules/mod_negotiation.so #LoadModule proxy_module modules/mod_proxy.so #LoadModule proxy_ajp_module modules/mod_proxy_ajp.so #LoadModule proxy_balancer_module_module_proxy_balancer modules/mod_proxy_connect.so # LoadModule proxy_express_module modules/ mod_proxy_express.so #LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so #LoadModule proxy_ftp_module modules/mod_proxy_ftp.so #LoadModule proxy_html_module modules/mod_proxy_html.so #LoadModule proxy_http_module_module_proxy_module_http_proxy_module /mod_proxy_scgi.so #LoadModule ratelimit_module modules/mod_ratelimit. deci #LoadModule reflector_module modules/mod_reflector.so #LoadModule remoteip_module modules/mod_remoteip.so #LoadModule request_module modules/mod_request.so #LoadModule reqtimeout_module modules/mod_reqtimeout.so #LoadModule rewrite_module modules/module_module.so_module_module sedute/module_module. LoadModule session_module modules /mod_session.so #LoadModule session_cookie_module modules/mod_session_cookie.so #LoadModule session_crypto_module modules/mod_session_crypto.so #LoadModule session_dbd_module modules/mod_session_dbd_module seviad_module.soviadsemodule ule slotmem_ plain_module modules/mod_slotmem_plain.so #LoadModule slotmem_shm_module modules/mod_slotmem_shm, deci #LoadModule socache_dbm_module modules/mod_socache_dbm.so #LoadModule socache_memcache_module modules/mod_socache_memcache.so #LoadModule socache_socache module_module_module_module_module_module_module ule [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 să fie numit *explicit* --- „Opțiuni Toate” # nu vi le oferă. # # ErrorLog „logs/error.log” a fost ErrorLog c:/server-apache24.ru/logs/error.log # # LogLevel: Controlează 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 a fi folosite cu # o directivă CustomLog (vezi mai jos). # #Scriptsock cgisock # # „C:/Program Files/Apache Software Foundation/Apache2.4/cgi-bin” ar trebui schimbat în orice director ScriptAliased # CGI care 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. # 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 # 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 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 # 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 #


Schimbări .
Echipa - httpd.exe -k reporniți, permite finalizarea oricăror operațiuni pe care serverul Apache le efectuează și forțează Apache să recitească fișierul de configurare.


Depanarea erorilor la instalarea serverului Apache

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ă aceasta este o 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>

ID-ul procesului, mai bine cunoscut sub numele de 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 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 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 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>

Apache este cel mai popular server web gratuit. Începând cu 2016, este folosit pe 33% din toate site-urile de internet, ceea ce reprezintă aproximativ 304 miliarde de site-uri. Acest server web a fost dezvoltat în 1995 ca înlocuitor pentru popularul server NCSA și a remediat multe dintre problemele acestuia. Se zvonește că numele său provine dintr-un negru, deoarece remedia erorile NCSA. Acum, este un program multiplatformă care acceptă Windows, Linux și MacOS și oferă suficientă flexibilitate, personalizare și funcționalitate. Programul are o structură modulară, care vă permite să-și extindeți funcționalitatea aproape la nesfârșit folosind module.

Puteți instala Apache pe Linux folosind câteva comenzi, dar programul oferă un număr foarte mare de setări care pot fi modificate, precum și module care, atunci când sunt activate, vor funcționa mai bine. Acest articol va acoperi instalarea și configurarea Apache, vom folosi Ubuntu ca sistem principal, dar puteți repeta acești pași în orice altă distribuție. Ne vom uita nu numai la instalarea programului în sine, ci și la modul de configurare, configurarea gazdelor virtuale Apache, precum și a celor mai utile module.

Momentan, cea mai nouă versiune a programului este 2.4, așa că vom lua în considerare configurarea Apache 2.4. După cum am spus deja, pe Linux programul este instalat literalmente în câteva comenzi. Pentru a instala pe Ubuntu, mai întâi actualizați sistemul la cea mai recentă versiune:

actualizare sudo apt
$ sudo apt upgrade

Apoi instalați apache2:

sudo apt install apache2

În alte distribuții, pachetul de program se numește fie this, fie httpd, iar instalarea acestuia nu vă va cauza dificultăți.

După finalizarea instalării, trebuie să adăugați serverul web la pornire pentru a nu-l porni manual după pornirea computerului:

sudo systemctl enable apache2

Configurare Apache

Au trecut vremurile în care configurația Apache era stocată într-un singur fișier. Dar este corect: atunci când totul este distribuit în propriile directoare, este mai ușor să navighezi în fișierele de configurare.

Toate setările sunt conținute în folderul /etc/apache/:

  • Fişier /etc/apache2/apache2.conf responsabil pentru setările de bază
  • /etc/apache2/conf-available/*- setări suplimentare ale serverului web
  • /etc/apache2/mods-available/*- setarile modulelor
  • /etc/apache2/sites-available/*- setări de gazdă virtuală
  • /etc/apache2/ports.conf- porturi pe care rulează apache
  • /etc/apache2/envvars

După cum ați observat, există două foldere pentru conf, mods și site. Acestea sunt disponibile și activate. Când activați un modul sau o gazdă, este creată o legătură simbolică din folderul disponibil către folderul de activare. Prin urmare, este mai bine să efectuați setările în folderele disponibile. În general, ai putea să faci fără aceste foldere, să iei totul și să arunci totul într-un singur fișier în mod vechi, și totul ar funcționa, dar nimeni nu face asta acum.

Mai întâi să ne uităm la fișierul principal de configurare:

vi /eta/apache2/apache2.conf

Pauză- indică cât timp serverul va încerca să continue transmisia sau recepția întreruptă a datelor. 160 de secunde vor fi suficiente.

Keep Alive On- un parametru foarte util, vă permite să transferați mai multe fișiere într-o singură conexiune, de exemplu, nu numai pagina html în sine, ci și imagini și fișiere css.

MaxKeepAliveRequests 100- numărul maxim de solicitări pe conexiune, cu cât mai multe, cu atât mai bine.

KeepAliveTimeout 5- expirarea conexiunii, de obicei 5-10 secunde sunt suficiente pentru a încărca o pagină, deci nu trebuie să mai setați, dar nici nu trebuie să întrerupeți conexiunea înainte ca toate datele să se încarce.

Utilizator, Grup- utilizator și grup în numele căruia va rula programul.

Căutare nume de gazdă- înregistrați nume de domenii în jurnal în loc de adrese IP, este mai bine să îl dezactivați pentru a accelera munca.

LogLevel- nivelul de înregistrare a erorilor. În mod implicit, se folosește warn, dar pentru ca jurnalele să se completeze mai lent, doar activați eroarea

Include- toate directivele include sunt responsabile pentru conectarea fișierelor de configurare discutate mai sus.

Directivele de director sunt responsabile pentru setarea drepturilor de acces la un anume director din sistemul de fișiere. Sintaxa aici este:


Valoarea parametrului

Următoarele opțiuni de bază sunt disponibile aici:

AllowOverride- indică dacă fișierele .htaccess trebuie citite din acest director, acestea sunt aceleași fișiere de setări și au aceeași sintaxă; Toate - permiteți totul, Niciunul - nu citiți aceste fișiere.

DocumentRoot- setează din ce foldere documentele ar trebui luate pentru a fi afișate utilizatorului

Opțiuni- indică ce caracteristici de server web ar trebui permise în acest folder. De exemplu, All - permit totul, FollowSymLinks - urmați legăturile simbolice, Indexes - afișați conținutul directorului dacă nu există un fișier index.

Solicita- stabilește ce utilizatori au acces la acest director. Require all denied - refuza pe toată lumea, Require all denied - permite tuturor. Puteți utiliza directiva utilizator sau grup în loc de toate pentru a specifica în mod explicit utilizatorul.

Comanda- vă permite să controlați accesul la director. Acceptă două valori: Allow,Deny - permite pentru toată lumea, cu excepția celor specificate sau Deny,Allow - deny pentru toată lumea, cu excepția celor specificate..ru.

Toate aceste directive nu sunt folosite aici, deoarece suntem mulțumiți de valorile implicite, dar în fișierele .htaccess pot fi foarte utile.

Rămânem cu fișierul /etc/apache2/ports.conf:

Conține o singură directivă, Listen, care spune programului pe ce port ar trebui să funcționeze.

Ultimul fișier este /etc/apache2/envvars, este puțin probabil să îl utilizați, conține variabile care pot fi folosite în alte fișiere de configurare.

Configurarea unui server Apache prin htaccess

Fișierele .htaccess vă permit să configurați serverul web Ubuntu să se comporte într-un anumit director. Toate instrucțiunile specificate în acest fișier sunt executate ca și cum ar fi împachetate într-o etichetă dacă ar fi în dosarul principal.

Este important de reținut că, pentru ca serverul să citească instrucțiunile din .htaccess, setările pentru acest folder din fișierul gazdă principală sau virtuală nu trebuie să conțină AllowOverride Nici unul pentru ca toate setările de care aveți nevoie să funcționeze AllowOverride All.

În caz contrar, orice configurare a serverului Apache se poate face aici, de la activarea modulelor până la simpla schimbare a accesului la foldere. Deoarece am luat deja în considerare toți parametrii, să dăm doar câteva exemple:

Comanda Respinge, Permite
Negați de la toți

Interzice tuturor accesul la acest dosar, important de aplicat pentru folderele de configurare. Cel mai adesea, .htaccess este folosit pentru a lucra cu modulul mod_rewrite, care vă permite să modificați cererile din mers:

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

Dar acesta este un subiect foarte larg și depășește scopul acestui articol.

Configurarea modulelor Apache

După cum am spus deja, Apache este un program modular, funcționalitatea acestuia poate fi extinsă folosind module. Toate modulele de încărcare disponibile și fișierele de configurare ale modulelor se află în folderul /etc/apache/mods-available. Și activat în /etc/apache/mods-enable.

Dar nu trebuie să analizați conținutul acestor foldere. Configurarea Apache 2.4 prin adăugarea de module se face folosind comenzi speciale. Puteți vizualiza toate modulele care rulează cu comanda:

Puteți activa modulul cu comanda:

sudo a2enmod module_name

Și dezactivați:

sudo a2dismod module_name

După activarea sau dezactivarea modulelor, trebuie să reporniți apache:

sudo systemctl reporniți apache2

Când una dintre aceste comenzi este executată, o legătură simbolică către un fișier modul cu o extensie de încărcare este creată sau ștearsă în directorul mods-available. Puteți privi conținutul acestui fișier, există o singură linie. De exemplu:

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

Aceasta înseamnă că modulul ar putea fi activat pur și simplu prin adăugarea acestei linii în fișierul apache2.conf. Dar se obișnuiește să faci exact asta pentru a evita confuzia.

Setările modulului se află în același folder, doar într-un fișier cu extensia .conf în loc de încărcare. De exemplu, să ne uităm la setările aceluiași modul pentru compresia dezumflată:

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

Fișierele din folderul conf-available sunt aceleași module, doar că sunt instalate separat de apache, acestea pot fi fișiere de configurare pentru a activa modulul php sau orice alt limbaj de programare. Totul funcționează exact la fel aici, doar comenzile pentru activarea și dezactivarea acestor module sunt ușor diferite:

a2enconf nume_modul

numele modulului a2disconf

După cum ați văzut, activarea modulelor este foarte simplă. Să activăm câteva module necesare, dar neactivate implicit:

sudo a2enmod expiră
$ sudo a2enmod anteturi
$ sudo a2enmod rescrie
$ sudo a2enmod ssl

Modulele expiră și antete reduc sarcina pe server. Ei returnează un antet Not Modified dacă documentul nu s-a modificat de la ultima solicitare. Modulul de expirări vă permite să setați timpul pentru care browserul ar trebui să memoreze în cache documentul primit. Rescrierea vă permite să schimbați adresele solicitate din mers, foarte util la crearea de legături CNC, etc. Și ultima pentru a activa suportul pentru criptarea SSL. Nu uitați să reporniți apache2 după finalizarea setărilor.

Configurarea gazdelor virtuale Apache

Nu ar fi complet convenabil dacă un singur site web ar putea fi găzduit pe o singură mașină fizică. Apache poate suporta sute de site-uri pe un singur computer și poate oferi conținutul corect pentru fiecare. Pentru aceasta sunt folosite gazde virtuale. Serverul determină la ce domeniu vine cererea și servește conținutul necesar din folderul acestui domeniu.

Setările pentru gazde Apache se află în folderul /etc/apache2/hosts-available/. Pentru a crea o nouă gazdă, trebuie doar să creați un fișier cu orice nume (este mai bine să terminați cu numele gazdei) și să-l completați cu datele necesare. Trebuie să includeți toți acești parametri într-o directivă VirtualHost. Pe lângă parametrii discutați aici, vor fi utilizați următorii:

  • ServerName- nume de domeniu primar
  • ServerAlias- nume suplimentar prin care site-ul va fi accesibil
  • ServerAdmin- e-mailul administratorului
  • DocumentRoot- folder cu documente pentru acest domeniu

De exemplu:

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