De obicei, copia instalată de Apache constă din mai multe pachete interconectate: serverul în sine, diverse biblioteci, plug-in-uri, limbi de programare etc. Pentru a facilita instalarea, unele distribuții oferă posibilitatea de a instala un întreg grup de pachete simultan.
În Fedora, consola rulează comanda yum groupinstall 'Web-Server'. În SUSE, în secțiunea YaST rezervată gestionării pachetelor, este selectat Server ► Web și LAMP și apoi sunt instalate toate pachetele necesare. În Ubuntu, folosind Synaptic sau apt-get, pachetul apache2-mpm-prefork este instalat. Cu aceasta, sunt instalate mai multe pachete în funcție de acesta.
Începând cu versiunea 2, Apache suportă trei moduri diferite de lucru cu mai multe fire: perchild, prefork și worker. Metoda aleasă depinde de cât de eficient Apache poate gestiona mai multe cereri în mod sincron. Când instalați Apache, trebuie să alegeți una dintre aceste trei opțiuni. Dacă intenționați să utilizați limbajul de programare PHP cu Apache, este mai bine să alegeți prefork. Când lucrați cu alte variante, erorile sunt posibile, deoarece bibliotecile lor nu sunt adaptate pentru a lucra cu fluxurile.
Pornire / oprire. Apache este un daemon, care în unele distribuții trebuie să fie lansat special. Numele scriptului Init-V în diferite distribuții pot fi diferite: apache2 în Debian, SUSE și Ubuntu sau httpd în Fedora și Red Hat.
configurație
Dimensiunea cărții nu permite descrierea detaliată a configurației Apache. Dar cel puțin uitați-vă unde sunt localizate fișierele de configurare ale diferitelor distribuții și cum sunt făcute setările simple.
Anterior, configurația Apache a fost efectuată în fișierul httpd.conf, locația exactă a acesteia depinzând de distribuție. Dar, în timp, acest fișier de configurare a devenit din ce în ce mai confuz. În același timp, complexitatea suportului tehnic automat a crescut, în special, activarea și dezactivarea plug-in-urilor.
Ca rezultat, majoritatea distribuțiilor au început să folosească o altă metodă - setările au fost distribuite între mai multe fișiere și apoi citite din diverse directoare folosind comenzile include. Această metodă vă permite să creați fișiere individuale mai ușor de înțeles, însă sistemul în sine devine complet confuz. În plus, devine aproape imposibil să transferați setările unei distribuții în alta. Dacă sunteți în căutarea unui anumit cuvânt cheie în fișierele de configurare, atunci este mai bine să acționați astfel:
Mecanismul de funcționare este același ca și cu modulele: directorul disponibil pentru site-uri conține toate fișierele de configurare pentru toate gazdele, iar legăturile activate sunt legăturile corespunzătoare.
În SUSE, toate fișierele CONF din directorul sysconf.d sunt create cu scriptul Init-V /etc/init.d/apache2 din nou de fiecare dată când Apache este pornit! Din acest motiv, este lipsit de sens să se facă modificări în aceste fișiere. Dimpotrivă, ar trebui să modificați variabilele care sunt în / etc / sysconfig / apache2. În plus, acest fișier definește care module ar trebui să fie încărcate la pornirea Apache (variabila APACHE MODULES). Dacă doriți să adăugați propriul fișier în fișierele de configurare SUSE, specificați numele acestuia în variabila APACHE_CONF_INCLUDE_FILES.
Testarea configurației
Prin modificarea sintaxei, puteți utiliza comenzile httpd -t, httpd2-tnnnapache2 -t pentru a verifica dacă există vreo eroare de sintaxă în configurație. În Debian și Ubuntu, mai întâi trebuie să citiți din fișierul envvars câteva variabile de mediu:
Apoi, spuneți Apache să citească din nou fișierele de configurare:
În mod tipic, serverul web Apache rulează imediat. Dar, în funcție de setările unei anumite rețele, va trebui să modificați sau să adăugați cel puțin o linie în fișierele de configurare: variabila ServerName trebuie să conțină numele computerului. Dacă această opțiune nu funcționează, specificați UseCanonicalName Off.
În SUSE, numele computerului este scris în fișierul / etc / sysconfig / apache2 din variabila APACHE_SERVERNAME.
Codificare standard
Pentru Apache, în principiu, nu contează care codificare a fișierelor sunt stocate în. Programul transferă doar octeți de fișiere prin octet către browserul care a solicitat pagina. Dar Apache trimite împreună cu pagina un așa-numit antet, unde, printre altele, este indicat în care a fost creată codarea paginii. Browserul interpretează aceste informații și utilizează codificarea specificată la afișarea site-ului.
Setarea codificării. Apache trebuie să specifice corect codificarea. Dacă acest lucru nu funcționează, utilizatorul va vedea în browser-ul sau o combinație de caractere bizare. Pentru a evita acest lucru, Apache oferă posibilitatea de a configura configurația de codificare. Despre AddDefaultCharset - cu această setare, Apache interpretează eticheta META a fișierului HTML transmis și îi spune browserului ce codificare este specificată în această etichetă. Dacă fișierul HTML pornește după cum se arată mai jos, se folosește codarea Unicode UTF-8:
AddDefaultCharset charset - Apache raportează codificarea specificată aici la toate paginile browserului. Setarea este valabilă pentru fișierele HTML și PHP. Eticheta META din codul HTML este ignorată. Despre extensia de caractere AddDefaultCharset-Aceasta stabilește codificarea pentru fișierele care au o extensie specifică. Dacă specificați AddCharset utf-8 .utf8, toate fișierele care se termină în .utf8 vor fi trimise browserului în codificare Unicode UTF-8. Modulul AddCharset necesită modulul Apache mod_mime, care implicit este activ în toate distribuțiile.
Debian, Ubuntu. Desigur, configurația standard în diferite distribuții nu este aceeași. Pentru setarea globală a codificării în Ubuntu există un fișier de configurare /etc/apache2/conf.d/charset. În mod implicit este gol, adică este activată opțiunea AddDefaultCharset.
În plus, AddDefaultCharset și AddCharset pot fi utilizate în fișierele de configurare pentru gazdele virtuale (directorul disponibil în site-uri), precum și în fișiere. htaccess, dacă aveți nevoie de o anumită configurație a unei singure gazde sau a unui director. Dar nu uitați că setările de codare specificate în .htaccess sunt luate în considerare numai când parametrul AHowOverride AN sau FileInfo este specificat pentru directorul Web.
Fedora. Red Hat. În Fedora și Red Hat, puteți folosi și AddDefaultCharset UTF-8. Această setare se găsește în /etc/httpd/conf/httpd.conf. Același fișier conține setarea AHowOverride None pentru directorul / var / www / html.
În SUSE, nu există funcții speciale pentru specificarea codificării în fișierele de configurare. Astfel, opțiunea AddDefaultCharset este activă, adică codificarea este determinată numai de datele specificate în eticheta META a fișierului HTML. Pentru a configura AddDefaultCharset, fișierul /etc/apache2/mod_mime-defaults.conf este bine adaptat.
În plus, în SUSE, AllowOvern'de None este activat pentru directorul / srv / www / htdocs. Această setare poate fi modificată în /etc/apache2/default-server.conf.
Asigurarea siguranței atunci când lucrați acasă sau în interiorul organizației
Dacă intenționați să utilizați Apache numai într-o singură firmă sau într-o rețea locală, va trebui să refuzați accesul la server din exterior. Acest lucru se poate face folosind un firewall (vezi capitolul 18) sau prin schimbarea mai multor linii în fișierele de configurare.
În principiu, gestionarea accesului la directoarele web individuale are loc în secțiuni ale fișierelor de configurare (ca de obicei, locația lor diferă de distribuție la distribuție). În acest caz, dacă există setări pentru directorul rădăcină, toate celelalte directoare le urmează în mod implicit. Apoi, în alte secțiuni pentru directoarele specifice pot fi specificate alte setări care diferă de cele standard. Din exemplul următor, ar trebui să fie clar care sunt valorile cuvintelor cheie Ordine, Negativă și Permiteți.
Codul de mai jos se comportă astfel încât toate paginile web din directorul standard să poată fi solicitate numai de paginile localizate în rețeaua locală. În plus, link-urile simbolice nu mai funcționează, deoarece acestea amenință serios securitatea rețelei (rețineți că deny.allow este specificat fără spațiu!). Regulile stricte actuale sunt ușor relaxate pentru directorul / var / www / html / public. Cu parametrul Indexuri, browserul afișează o listă de fișiere care se află într-un director sau altul, dacă nu există fișier index.html în el.
Protejarea directoarelor web cu o parolă
Uneori este necesar să nu se refuze complet accesul la server, ci să se rezolve numai după introducerea parolei corecte.
Această metodă poate fi utilizată atunci când aveți mai multe pagini administrative pe site-ul dvs. (de exemplu, PhpMyAdmin pentru administrarea MySQL.) Nu contează unde vă (administratorul MySQL) sunteți acum, dacă doriți, puteți accesa această pagină. Pentru a exclude o oportunitate de ieșire a utilizatorilor obișnuiți pe paginile administrative.
Fișier cu parolă
Pentru a crea un nou fișier de parolă, utilizați comanda htpasswd (htpasswd2 în SUSE) cu opțiunea -c (creați). Parola, desigur, este criptată:
NOTĂ
Nu uitați să dați Apache dreptul de a citi fișierul cu parola și directorul în care este localizat acest fișier! Din motive de securitate, Apache nu funcționează sub un cont de administrator, ci în alt cont (www-data în Debian și Ubuntu, apache în Fedora și Red Hat, wwwrun în SUSE). Dacă computerul dvs. este protejat de SELinux sau AppArmor, atunci regulile acestor sisteme de securitate nu trebuie să împiedice serverul să acceseze fișierul cu o parolă.
Există două opțiuni pentru configurarea aplicației Apache, în care parolele sunt de fapt luate în considerare. Dacă utilizați prima opțiune, trebuie să modificați fișierele de configurare centrale (httpd.conf, etc.). A doua opțiune oferă o configurație în fișierul .htaccess din directorul web.
Fișierul httpd.conf
Pentru ca Apache să ia în considerare un fișier cu o parolă, trebuie să inserați un director protejat prin parolă în httpd.conf ca secțiune separată. Următorul exemplu arată cum se face acest lucru:
Parametrul AuthName desemnează zona la care este permis accesul. Ideea este că nu trebuie să vă conectați din nou de fiecare dată dacă doriți să accesați directoare diferite care sunt protejate de aceeași parolă. Dacă sunteți conectat cu o anumită denumire AuthName, aveți acces la toate celelalte directoare cu același AuthName.
Procesul descris mai sus poate fi efectuat numai dacă aveți acces la fișierele de configurare centrale Apache, adică dacă sunteți administratorul rețelei. Dacă nu sunteți administrator, nu puteți oferi o protecție mai puțin sigură utilizând fișierul .htaccess, care se află într-un director protejat de o parolă. În acest fișier ar trebui specificate aceleași comenzi ca și în grup. care este AuthType, AuthUserFile, AuthName și Require.
Notă - htaccess este luată în considerare numai în condițiile în care, în httpd.conf într-un grup de acest catalog pot fi modificate informații legate de autentificare (în loc AllowOvern'de authconfig poate fi specificat AllowOvern'de AN). Pe serverele web în care utilizatorii individuali sunt responsabili pentru propriile directoare de rețea, această condiție este de obicei îndeplinită.
Servicii de dezvoltare de site-uri pe MODX
MODX este software-ul pe care îl folosim pentru a dezvolta toate site-urile noastre.
MODX vă va permite să aibă control complet asupra continutului utilizat pe site-ul dvs., puteți adăuga, șterge, modifica, și să modifice orice conținut pe care doriți, puteți gestiona pe deplin site-ul dumneavoastră.
Dezvoltarea profesionala a site-urilor pe MODX, dezvoltarea si sustinerea site-urilor. crearea și finalizarea magazinelor online pe MODX.