ce este Apache?
Apache este o piesă remarcabilă de software de aplicație. Este cea mai utilizată aplicație de Server Web din lume, cu o cotă de peste 50% pe piața serverului web comercial. Apache este cea mai utilizată aplicație de Server Web în sistemele de operare asemănătoare Unix, dar poate fi utilizată pe aproape toate platformele, cum ar fi Windows, OS X, OS/2 etc., Cuvântul, Apache, a fost luat de la numele tribului nativ American „Apache”, renumit pentru abilitățile sale în război și strategie de luare. este o aplicație server web modulară, bazată pe procese, care creează un fir nou cu fiecare conexiune simultană. Aceasta susține o serie de caracteristici; Multe dintre ele sunt compilate ca module separate și extinde funcționalitatea de bază, și poate oferi totul, de la server Suport limbaj de programare la mecanismul de autentificare. Găzduirea virtuală este o astfel de caracteristică care permite unui singur server web Apache să servească un număr de site-uri diferite.,
Cum pentru a instala Apache
Există numeroase moduri de a instala pachetul sau de aplicare. Există înrolat de mai jos –
- una dintre caracteristicile acestei aplicații web open source este că oricine poate face de instalare ca pe propriul mediu. Acest lucru a permis diverși furnizori, cum ar fi Debian, Red Hat, FreeBSD, Suse etc. pentru a personaliza locația fișierului și configurația apache, luând în considerare alte aplicații instalate și sistemul de operare de bază.,
- în afară de a-l instala de la un instalator bazat pe furnizor, există întotdeauna opțiunea de a-l construi și instala din codul sursă. Instalarea Apache din fișierul sursă este o platformă independentă & funcționează pentru toate sistemele de operare.serverul web apache este o aplicație modulară în care administratorul poate alege funcționalitatea necesară și poate instala diferite module conform cerințelor sale., toate modulele pot fi compilate ca Obiecte partajate dinamice (DSO este un fișier obiect care ar putea fi partajat de mai multe aplicații în timp ce acestea sunt de executare), care există separat de fișierul principal apache. Abordarea DSO este foarte recomandată, face ca sarcina de Adăugare/eliminare / actualizare a modulelor din configurația serverelor să fie foarte simplă.
instalați Apache: Linux Platform
pe sistemele bazate pe Red Hat sau rpm
Dacă utilizați un rpm (RedHat Package Manager este un utilitar pentru instalarea aplicației pe sistemele Linux) distribuție Linux bazată adică., Red Hat, Fedora, CentOs, Suse, puteți instala această aplicație fie prin managerul de pachete specific furnizorului, fie prin construirea directă a fișierului rpm din sursa disponibilă tarball.
puteți instala Apache prin Managerul de pachete implicit disponibil pe toate distribuțiile bazate pe Red Hat, cum ar fi CentOs, Red Hat și Fedora.
# yum install httpd
sursa Apache tarball ar putea fi convertită într-un fișier rpm folosind următoarea comandă.
# rpmbuild -tb httpd-2.4.x.tar.bz2
este obligatoriu să aveți pachetul-devel instalat pe serverul dvs. pentru a crea .fișier rpm de la sursă., după ce convertiți fișierul sursă într-un program de instalare rpm, puteți utiliza următoarea comandă pentru a instala Apache.
# rpm –ivh httpd-2.4.4-3.1.x86_64.rpm
după instalare, serverul nu pornește automat, pentru a porni serviciul, trebuie să utilizați oricare dintre următoarele comenzi pe Fedora, CentOs sau Red Hat.
# /usr/sbin/apachectl start# service httpd start# /etc/init.d/httpd start
instalați Apache din sursă
instalarea apache din sursă necesită instalarea pachetului –devel pe serverul dvs. .Puteți găsi cea mai recentă versiune disponibilă de Apache, o puteți descărca aici ., După ce descărcați fișierul sursă mutați-l în folderul/usr/local / src.
pentru a vedea toate opțiunile de configurare disponibile pentru Apache, puteți utiliza ./ configurare-opțiune de ajutor. Cea mai obișnuită opțiune de configurare este –prefix={install directory name}.
exemplul de mai sus arată compilarea Apache în directorul/usr/local / apache cu capacitatea DSO. Opțiunea-enable-so, poate încărca modulele necesare la apache în timpul rulării prin mecanismul DSO, mai degrabă decât să necesite o recompilare., după finalizarea instalării, puteți naviga pe pagina implicită a serverelor web cu browserul dvs. preferat. Dacă firewall-ul este activat pe serverul dvs., trebuie să faceți excepție pentru portul 80 de pe firewall-ul sistemului de operare. Puteți utiliza următoarea comandă pentru a deschide portul 80.
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
serviciul iptables salvați
puteți vedea ecranul de bun venit implicit Apache2 navigând adresa IP a serverului.
ce este Virtual Host?
un server web Apache poate găzdui mai multe site-uri web pe același server., Nu aveți nevoie de mașină server separat și software-ul apache pentru fiecare site web. Acest lucru se poate realiza folosind conceptul de gazdă virtuală sau VHost. orice domeniu pe care doriți să-l găzduiți pe serverul dvs. web va avea o intrare separată în fișierul de configurare apache.
Tipuri de Apache Virtualhost
- Numele pe bază de gazdă Virtuală
- Adresa pe bază de apă sau pe bază de IP gazdă virtuală și.
gazdă virtuală bazată pe nume
găzduirea virtuală bazată pe nume este utilizată pentru a găzdui mai multe site-uri virtuale pe o singură adresă IP.,
pentru a configura numele based virtual hosting, trebuie să setați adresa IP de pe care aveți de gând să primească Apache cereri pentru toate site-urile dorite. Puteți face acest lucru prin Directiva NameVirutalHost în configurația apache, adică httpd.conf / apache2.fișier conf.exemplu de gazdă virtuală Apache:
puteți adăuga cât mai multe gazde virtuale, conform cerințelor dvs., Puteți verifica dvs. de web, fișiere de configurare cu:
#httpd –tSyntax OK
Dacă fișierul de configurare a greșit unele de sintaxă, se va arunca o eroare
IP-based Virtual host
pentru a seta IP-based virtual hosting, ai nevoie de mai mult de o adresă IP configurate pe server. Deci, numărul de vhost apache va depinde denumărul de adrese IP configurate pe serverul dvs. Dacă serverul dvs. are 10 adrese IP, puteți crea 10 gazde virtuale bazate pe IP.
În diagrama de mai sus două site-uri example1.,com și example2.com li s-au atribuit diferite IP-uri și folosesc găzduire virtuală bazată pe IP.
ce Apache are nevoie pentru a rula fișierul Php?
rularea fișierelor Php pe Apache are nevoie de mod_php activat pe serverul dvs. Acesta permite Apache să interpreteze .Fișiere Php. Are Handlere Php care interpretează codul Php în apache și trimit HTML pe serverul dvs. web.
dacă mod_php este activat pe serverul dvs., veți avea un fișier numit php.conf în/etc / httpd / conf.d / Director., Puteți verifica, de asemenea, cu:
httpd -M | grep "php5_module"
rezultatul va fi similar cu:
Php stivuitoare în Apache
- mod_php
- CGI
- FastCGI
- suPHP
mod_phpis cele mai vechi PHP handler, se face PHP parte din apache și nu apela orice externe PHP proces. Acest modul este instalat în mod implicit în fiecare depozit de distribuție Linux, astfel încât activarea/dezactivarea acestui modul este foarte ușoară.,
Dacă utilizați FastCGI ca handler PHP, puteți seta mai multe versiuni de PHP pentru a fi utilizate de diferite conturi de pe serverul dvs. FastCGI adică mod_fastcgi este o extensie a mod_fcgid, unde ca mod_fcgid este o alternativă de înaltă performanță a CGI adică mod_cgi . Începe un număr suficient de instanțe de CGI pentru a gestiona cererile web concurente. De asemenea, utilizează suexec pentru a sprijini diferiți utilizatori cu propriile instanțe de PHP și îmbunătățește securitatea web.
rularea fișierelor ruby pe Apache trebuie să fie activată mod_ruby. Apache poate gestiona, de asemenea, fișiere ruby prin FastCGI., Este posibil să se utilizeze mai multe versiuni de ruby cu ajutorul mod_fcgid adică FastCGI.
de asemenea, puteți instala apache passenger și configura Apache să-l folosească pentru a servi pagini ruby.
(Phusion de Pasageri, de asemenea, cunoscut sub numele de „pasageri” este un program gratuit modul de server de web, care este proiectat pentru a integra cu Apache si Nginx )
Pași pentru a instala mod_ruby pe server –
Cum de a rula Ruby cu Apache
trebuie să adăugați mod_ruby modul de configurare Apache și anume /etc/httpd/conf.ruby.conf și adăugați următoarea linie.
LoadModule ruby_module module / mod_ruby.,deci
Dacă doriți să activați sau să dezactivați aceste module, trebuie să editați fișierul de configurare apache și să comentați sau să decomentați aceste module, dacă serverul web este deja compilat cu aceste module.
Cum de a Asigura Apache Web Server
Securizarea serverului web este foarte important, înseamnă a permite altora pentru a vedea doar informații destinate & protejarea datelor dvs. și restricționarea accesului. acestea sunt lucruri comune care îmbunătățesc securitatea serverelor web Apache.,
1) ascunderea versiunii Apache și a informațiilor despre sistemul de operare:
Apache afișează versiunea și numele sistemului de operare în erori, așa cum se arată în imaginea de mai jos.
Un hacker poate folosi aceste informații pentru a lansa un atac folosind dispoziția publicului vulnerabilități, în special versiunea de server sau sistem de OPERARE.
în scopul de a preveni Apache webserverfromdisplaying aceste informații, avem de a modifica
„server signature” opțiune disponibilă în fișierul de configurare apache., În mod implicit, este „pornit”, trebuie să-l setăm „oprit”.
vim /etc/httpd/conf/httpd.conf
ServerSignature OffServerTokens Prod
Ne-am stabilit, de asemenea, „ServerTokens Prod” care spune serverului web să se întoarcă doar apache și de a suprima sistemul de OPERARE majore și minore versiune
După modificarea fișierului de configurare, trebuie să restart/reload serverul de web apache pentru a face eficient.,
service httpd restart
2) Dezactivare Listare Director
Dacă documentul directorul rădăcină nu are un fișier index, implicit, serverul de web apache va afișa tot conținutul documentului directorul rădăcină.
Această caracteristică ar putea fi opriți pentru un anumit director prin „opțiuni directiva” disponibil în fișierul de configurare Apache.,
<Directory /var/www/html> Options -Indexes</Directory>
3) Dezactivarea inutile module
este O bună practică pentru a dezactiva toate modulele inutile care nu sunt în uz. Puteți vedea lista de activat modulul disponibile în fișierul de configurare apache –
Multe dintre aceste module pot fi dezactivate likemod_imap, mod_include, mod_info, mod_userdir, mod_autoindex, deoarece acestea sunt greu de folosit de către orice producția de servere web.
vi /etc/httpd/conf/httpd.conf#LoadModule auth_digest_module modules/mod_auth_digest.so
după ce ați comentat modulul, salvați fișierul.,
reporniți serviciile apache cu următoarea comandă.
/etc/init.d/httpd restart
4) Restricționarea Accesului la fișiere în afara web director rădăcină
Dacă doriți să vă asigurați că fișierele care se află în afara web director rădăcină nu sunt accesibile, trebuie să asigurați-vă că directorul este restricționat cu „Permit” și „Nega opțiune” în serverul de web fișier de configurare.
<Directory/>Options NoneAllowOverride NoneOrder deny,allowDeny from all</Directory>
după ce a restricționa accesul în afara web rădăcină directoy, nu va fi capabil de a accesa orice fișier situat pe orice alt folder de pe serverul dvs. de web, veți obține 404 cod de retur.,
5) Folosind mod_evasive pentru a combate atac DoS
Dacă doriți pentru a proteja serverul de web de la Dos (adică Denial of Service) trebuie să activați modulul mod_evasive. Este un modul terț care detectează atacul Dos și împiedică atacul să facă cât mai multe daune pe care le-ar face dacă ar fi lăsat să-și urmeze cursul. Ar putea fi descărcat aici.,
Descărcați Fișierul de mai sus
6) Folosind mod_security pentru a spori apache securitate
Acest modul funcționează ca un firewall pentru Apache și vă permite să monitorizeze traficul în timp real. De asemenea, previne serverul web de atacuri brute force. Modulul mod_security ar putea fi instalat cu managerul de pachete implicit al distribuției dvs.
7) Limitarea dimensiunea cerere
Apache nu are nici o restricție cu privire la dimensiunea totală de cerere http care ar putea duce la un atac DoS., Puteți limita dimensiunea cererii unei directive Apache „LimitRequestBody” cu eticheta de director. Valoarea poate fi setată de la 0 la 2 GB (adică 2147483647 octeți) conform cerințelor dvs.
<Directory "/var/www/html/uploads"> LimitRequestBody 512000</Directory>
Apache Log Format
Apache logs oferă informații detaliate care ajută la detectarea problemelor comune cu serverul.
pentru a crea jurnale de acces, mod_log_configurmodule trebuie să fie activat.
trei directive disponibile în fișierul de configurare apache, adică
- TransferLog: crearea unui fișier jurnal.
- LogFormat: specificarea unui format personalizat.,
- CustomLog: crearea și formatarea unui fișier jurnal.Directiva TransferLog este disponibilă în fișierul de configurare apache și rotește fișierele jurnal gazdă virtuale conform parametrilor setați.
două tipuri de format jurnal Apache
- format jurnal comun
- format jurnal combinat.
le puteți activa prin editarea fișierului de configurare apache, adică apache2.conf (Debian / ubuntu) sau httpd.,conf (rpm based systems) fișier
Comun Format istoric
LogFormat "%h %l %u %t \"%r\" %>s %b" commonCustomLog logs/access_log common
Common Log generate de Apache
client denied by server configuration: /export/home/live/ap/htdocs/test
Combinat Format istoric
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combinedCustomLog log/access_log combined
Aici,
- %h este gazdă de la distanță
- %l este identitatea utilizatorului determinată de identd
- %u este numele de utilizator determinată de autentificare HTTP
- %t este timpul server terminat procesarea cererii.
- % r este linia de solicitare de la client. („GET/HTTP / 1.,0”)
- %> S este codul de stare trimis de la server la client (500, 404 etc.)
- %b este dimensiunea răspunsului la client (în octeți)
- Referer este pagina care este legată de această adresă URL.
- User-agent este șirul de identificare a browserului.
jurnal combinat generat de Apache:
jurnal personalizat creează fișier jurnal separat pentru fiecare gazdă virtuală de pe serverul dvs. Trebuie specificat în secțiunea gazdă virtuală a fișierului de configurare.,
puteți vedea mai jos configurația gazdă virtuală menționată, Jurnalul generat va fi personalizat pentru acea gazdă virtuală și Formatul va fi combinat.
Configurați prima Producție Sever Web
1. Pentru a avea un server web de producție care rulează, aveți nevoie de un nod dedicat (instanță fizică/virtuală sau cloud) care rulează Linux/Unix, Windows, MacOS etc.
2. Serverul Web trebuie să aibă o conexiune directă la rețea și o adresă staticIP configurată pe acesta.
3., Trebuie să aibă toate modulele necesare pentru rularea paginilor web. Dacă un server web procesează pagini PHP, trebuie să aibă modulul PHP activat.
- de asemenea, trebuie să aibă o bună aplicație Antivirus de configurat și rulează pentru securizarea Serverului Web de Malware sau atacurile virusilor. De asemenea, aveți nevoie de mecanism pentru a actualiza aplicația antivirus/anti malware configurată în mod regulat, fără nicio intervenție manuală, pentru a obține beneficii maxime de la acestea.,
- dacă aveți sute de domenii pentru a fi găzduite pe serverul dvs. web, trebuie să implementați limitări privind cota sistemului de fișiere pentru fiecare domeniu, numărul de baze de date pe care fiecare domeniu le poate crea, numărul de conturi de e-mail pe domeniu etc.
- dacă serverul dvs. web a fost configurat pentru servicii de Găzduire Partajată, utilizatorii de pe serverul dvs. web trebuie să fie restricționați. Un utilizator de Găzduire Partajată ar trebui să aibă cel mai mic privilegiu de utilizator, astfel încât să nu deterioreze fișierele importante & rupe întregul server., Apache nu oferă nicio astfel de funcționalitate și are nevoie de diferite aplicații terțe, personalizarea sistemului de operare pentru a realiza acest lucru.
- dacă adăugați un domeniu nou pe serverul dvs. web, acesta trebuie să editeze sute de fișiere de configurare pentru a activa toate funcțiile pentru domeniul adăugat.
- Daca unul dintre domeniile gazduite necesita o setare PHP diferita de restul domeniilor, implementarea acestui lucru in core Apache web server este foarte complexa si are nevoie de personalizarea serverului web in mare masura.,
- un server web de producție are nevoie de un firewall pentru a bloca traficul nedorit care ar putea provoca o încărcare mare pe serverul dvs. Implementarea regulilor IPTABLE cu linia de comandă este foarte complexă. Are nevoie de expertiză a mediului Linux/Unix de bază pentru a scrie reguli eficiente de firewall pentru blocarea traficului nedorit. IPTABLE se bazează pe modulul netfilter; este un firewall la nivel de sistem de operare care permite unui administrator să creeze reguli pentru traficul de intrare/ieșire pe server.
- un server web de producție necesită mai multe aplicații diferite, cum ar fi E-Mail, FTP pentru încărcare de fișiere, Sistem de nume de domeniu pentru domenii parcate., Gestionarea tuturor acestor aplicații pe un sistem de bază Linux/Unix necesită expertiză asupra tehnologiilor respective.deci, se poate spune că gestionarea unui server web pentru mai multe domenii este o sarcină foarte complexă și necesită editarea a sute de fișiere de configurare, personalizarea fiecărei aplicații pentru a îndeplini rezultatul dorit. Depanarea oricărei configurații de dor va fi foarte dificilă pentru începători.
soluția care utilizează Cpanel sau software similar
Cpanel oferă o modalitate grafică de gestionare a serverului dvs. web., Este menit să ofere servicii de găzduire în masă ușor de utilizat și configurat. cPanel a redus barierele tehnice la intrarea în gestionarea serverului de găzduire și web. Aceasta face sarcină complexă mai ușoară, oferă multe interfețe web utile și ușor de utilizat care efectuează sarcini comune de administrare a sistemului necesare pentru a opera un server web.
cPanel compilează propria versiune de software.
dacă trebuie să recompilați serverul web adică., apache pe platforma Linux normală, trebuie să selectați/Căutați manual modulul necesar. cPanel oferă funcționalitate Easyapache, care este o metodă bazată pe script-ul web server de compilare.
nu numai că vă oferă servicii web, ci și poștă, DNS, FTP și multe alte servicii necesare pentru aplicația dvs. web.,
O sarcină care are nevoie de expertiza pe nucleul Linux/Unix pe baza de hosting, cum ar fi instalarea Ssl, recompilarea Apache cu diferite module PHP, actualizarea de Securitate Web, configurarea eficientă IPTABLE reguli, Adăugând ftp utilizatorilor, crearea de conturi de e-mail pentru fiecare domeniu, scanare document root cu antivirus și crearea de baze de date sunt ușor pentru a finaliza cu cPanel. Acesta oferă o mulțime de script-uri care stabilește, instala și depana sarcini administrative comune. Acesta oferă o copie de rezervă și restaurare funcționalitate eliminând necesitatea de a copia manual fișierele de stocare de rezervă., Dacă faceți o copie de rezervă a domeniului dvs., cPanel va crea un fișier tar care va conține folderul rădăcină de documente, conturi de e-mail și e-mailuri, conturi ftp, baze de date, înregistrări DNS și alte aplicații. Acesta oferă ,de asemenea, o documentație robustă, andhas o comunitate foarte mare de utilizatori în cazul în care ați putea discuta și de a lua soluție de problemele tale. deci, se poate spune că cPanel este cea mai bună aplicație pentru gestionarea serverului dvs. web cu funcțiile necesare. Acesta vă oferă, interfață ușor de utilizat pentru gestionarea domeniului dvs. și un mecanism pentru a evita complexitatea gestionării serverului web de bază., există multe produse concurente pentru cPanel precum Plesk, ISPConfig, Ajenti, Kloxo, panou deschis, Zpanel etc.