Am înființat un server web pe baza apache debian

Am înființat un server web pe baza apache debian
server de web Apache, fără exagerare fi numit un standard de facto în Internet. Cele mai multe dintre populare sisteme de management de conținut și alte aplicații web sunt dezvoltate într-un astfel de mod de a lucra cu serverul de web „din cutie.“ Prin urmare, dacă aveți nevoie de o utilizare largă server de web, Apache va fi cea mai bună alegere. În acest articol vă vom arăta cum să instalați și să configurați un server cu drepturi depline web bazate pe Debian / Ubuntu Server.

Doar spune, Apache de mai mulți parametri, cum ar fi viteza sau consumul de resurse, nu un lider printre servere de web, dar se compară favorabil cu faptul că este garantat pentru a rula orice aplicație web sau site-ul fără ajustări și îmbunătățiri suplimentare. Adăugați la acest lucru flexibilitatea și ușurința de configurare, documentare bună și un prag scăzut de intrare. În general, dacă nu știi ce beneficii specifice pe care le va oferi utilizarea de server Web alternative, nu ezitați să alegeți Apache.

În plus față de serverul de web, avem nevoie de un sistem de management de baze de date, industria standard de facto pentru o lungă perioadă de timp este MySQL, și una dintre limbile de scripting pentru aplicații web, astăzi deține cu încredere PHP de palmier. Toate formează împreună buchet clasic, în continuare denumite LAMP-server, abrevierea standuri pentru: Linux - Apache - MySQL - PHP.

Pentru instalare, vom folosi platforma Debian / Ubuntu. Sistem, potrivit comunicatului, un set diferit de software, dar toate prezentate mai jos vor fi în mod egal aplicabile la oricare dintre ele. Diferențele existente vor fi specificate separat. La momentul scrierii, următoarele comunicate de sisteme relevante și versiuni de software:

  • Debian 8 Jessie: Apache 2.4.10, PHP 5.6.7, MySQL 5.5.43
  • 7 Debian Squeeze: Apache 2.2.22, PHP 5.4.39, MySQL 5.5.43
  • Ubuntu Server 14.04 LTS: Apache 2.4.7, PHP 5.5.9, MySQL 5.5.43
  • Ubuntu 12.04 LTS: Apache 2.2.22, PHP 5.3.10, MySQL 5.5.43

Toate aspectele de mai sus au versiune relativ modernă a software-ului, dar există unele caracteristici. Deci, o parte din Ubuntu 14.04 și Debian 8, Apache 2.4 are o diferente suficient de serioase între Apache 2.2 și nu toate CMS (sistem de management al conținutului, „motoare“) și aplicații bazate pe web sunt capabili să lucreze cu el, mai ales în versiunile mai vechi. De exemplu, nu puteți utiliza Apache 2.4 pentru accesul web la bazele de date de 1C: Enterprise. Prin urmare, dacă vă decideți să alegeți versiunea 2.4 - compatibilitatea Actualizarea cu ea toate planificate pentru a CMS hosting si aplicatii web.

În plus, MySQL Server Ubuntu 12.04 / 14.04 nu funcționează în interiorul containerelor OpenVZ, care sunt utilizate pe scară largă pentru furnizarea de servicii de VPS. Problema este rezolvată prin înlocuirea MySQL din depozit o versiune de MySQL comunitare (dezvoltatori) sau una dintre furci, de exemplu, MariaDB.

Având în vedere cele de mai sus, cea mai buna alegere pare sa ne folosim ca platforma de server web Debian 7 ca fiind cele mai compatibile cu aplicațiile web existente și nu are probleme serioase.

instalarea Apache

Instalarea serverului web este foarte simplu:

Am înființat un server web pe baza apache debian
Pentru Apache 2.4, ea arată un pic diferit, dar sensul rămâne același.

Setările serverului sunt conținute în /etc/apache2/apache2.conf. care face legătura între fișierele suplimentare din directoarele mods-activate și site-urile activate. În acest caz, nimic nu vă împiedică să facă toate aceste setări direct în apache2.conf - totul va funcționa, dar reduce dramatic ușurința de administrare, deoarece necesită schimbări constante ale fișierului de configurare principal, în timp ce setările în fișiere externe pornit cu ușurință pornit și oprit folosind unelte speciale.

În acest scop, mods-enabled directoare și site-uri activate nu conțin fișiere de configurare, ci doar link-uri simbolice la directoare mods-disponibile și site-urile-disponibile. care ar trebui să fie plasate fișierele. După cum sugerează și numele, directoarele de date sunt module de configurare și gazde virtuale. Dacă modulele trebuie să se ocupe rareori gestiona ceva gazde, astfel virtuale, adică site-uri, este foarte convenabil.

Am menționat deja în articolul despre detalii Lighttpd despre gazde virtuale, precum și locația conținutului site-ului. tot ce a spus că este adevărat în cazul nostru. Sunteți liberi să aleagă orice aspect de date, preferăm să păstreze conținutul site-urilor din directorul / var / www în numele de domeniu.

Următoarea chestiune care trebuie abordată este dreptul de acces la fișiere și foldere ale site-ului. În mod implicit, proprietarul acestora trebuie să fie un server web (de utilizator și de grup www-date), în caz contrar script-uri pot lucra în moduri neașteptate sau deloc. Mai convenabil și în condiții de siguranță pentru a rula conținutul site-urilor numele de utilizator în locul serverului Web. Pentru a face acest lucru, instalați următoarele pachete:

În Ubuntu 14.04, puteți întâlni o eroare în timpul instalării acestui pachet:

Acesta este un bug cunoscut. pentru continuarea acesteia de corecție:

Să presupunem că vrem să plaseze pe site-ul de conținut example.com serverul nostru. În primul rând, vom crea directoarele necesare și să le facă de utilizator al proprietarului, care va lucra cu site-ul:

Acum, creați un fișier gazdă virtuală, și continuați să-l umple:

Pentru Apache 2.4 fișierele de configurare trebuie să aibă extensia .conf. astfel încât echipa va fi după cum urmează.

au loc în interiorul următorul text:

În interiorul secțiunii gazdă virtuală a localiza o altă secțiune . care include directiva aplicată nu la gazdă, și directorul, în acest caz, directorul rădăcină al gazdei virtuale. Există directivă Opțiuni. care conține următoarele opțiuni (înainte de fiecare dintre care este plasat + sau - activează sau dezactivează opțiunea):

  • ± Include - activează / dezactivează SSI (Server Side Include - server-side include), în acest caz, este oprit din motive de securitate. Este logic să se includă numai în cazul în care site-ul dvs. este în mod explicit necesită această opțiune.
  • Indici ± - activează / dezactivează afișarea conținutului unui director cu nici un fișier index este dezactivat din motive de siguranță.
  • ± ExecCGI - activează / dezactivează execuția scripturilor CGI sunt dezactivate din motive de securitate.

Acesta este urmat de directiva AllowOverride. care stabilește utilizarea directivelor din .htaccess. Serverul implicit setează această directivă la Niciunul pentru / var / www. care interzice folosirea directivelor .htaccess în toate subdirectoarele. Pentru a permite folosirea directivelor .htaccess stabilite prezenta directivă tuturor. care să permită utilizarea în orice directive .htaccess.

Această listă de opțiuni disponibile (precum și directive) nu sunt exhaustive, dar ele sunt dincolo de domeniul de aplicare al acestui articol și vor fi discutate într-un articol separat. Vă puteți familiariza cu ele în documentația oficială.

Închideți secțiunea deschisă: și . apoi salvați fișierul. Configurația de gazdă virtuală este gata.

Pentru a activa site-ul este necesar să se facă o legătură simbolică la fișierul de configurare în directorul site-uri activate. și pentru a opri - pentru a elimina acest link. Acest lucru se poate face manual, cu comanda -s ln, sau de a folosi o utilitate specială apache:

Această comandă va permite site-ului să se închidă, de tip:

Ca o opțiune, echipa a transferat numele fișierului de configurare de pe site-uri disponibile. în cazul în care nici o extensie Apache 2.4. După fiecare dintre acești pași, trebuie să reporniți serverul de web:

Pentru a verifica funcționarea gazda virtuală, puneți-l în directorul rădăcină al tuturor HTML-fișier și se referă la serverul de nume de domeniu (domeniul O înregistrare trebuie să fie configurat și punctul de la serverul de web).

De exemplu, creați un fișier de index:

Și puneți o linie în ea:

Ca urmare, în browser, ar trebui să vedeți următoarele:

instalarea PHP

În mod implicit, PHP este instalat cu un set de bază de module care satisface cele mai multe nevoi, dar CMS folosit poate necesita module suplimentare care trebuie să fie instalat separat.

De exemplu, pentru lucrul cu grafica, aveți nevoie de suportul de bibliotecă GD2 grafice. De aceea, setați modulul corespunzător:

Apoi, asigurați-vă că pentru a reporni serverul web:

Apropo, GD2. în opinia noastră, nu cea mai bună alegere în biblioteca de active poate fi scris un consum redus de resurse și de operare de mare viteză, dar pe calitatea imaginii este inferioară ImageMagick alternativă de utilitate. uneori, în mod semnificativ. Deci, este logic să se stabilească atât utilitatea și alegeți cea care vi se potrivește cel mai lucrare. În cazul în care resursele serverului permit, este preferabil să se utilizeze ImageMagick.

Instalați utilitarul și modulul PHP pentru ea:

Pentru a testa PHP va crea în directorul rădăcină al unui site-ul script personalizat:

Și să facă următorul text:

Am înființat un server web pe baza apache debian

instalarea MySQL

Baza de date MySQL - a treia componentă esențială a unui server de web cu drepturi depline, scopul principal al bazei de date - informații site-ul de stocare, cum ar fi de utilizator și de servicii. În aceeași bază de date cu privire la importanța depășește toate celelalte componente, deoarece baza de date este echivalentă cu pierderea de pierdere a tuturor informațiilor dvs. de resurse.

Va instala serverul de baze de date și modulul PHP pentru a lucra cu ea:

În timpul instalării vi se va cere să introduceți parola pentru MySQL root (rădăcină), care nu trebuie confundat cu sistemul de rădăcină.

Am înființat un server web pe baza apache debian
Pentru o gestionare ușoară a bazei de date are sens pentru a instala phpMyAdmin - instrument web convenabil pentru gestionarea MySQL server:

Utilitarul de instalare este capabil să configureze automat populare serverul web Apache și lighttpd. specificați serverul pe care doriți să fie atunci când instalați:

Am înființat un server web pe baza apache debian

În Ubuntu 14.04, ne confruntăm cu o problemă mică, utilitatea ne-a informat că extinderea nu mcrypt găsit, deși modulul PHP corespunzător a fost instalat printre dependențe.

Am înființat un server web pe baza apache debian

Cu toate acestea, nimic nu teribil sa întâmplat, tot ce avem nevoie - este de a conecta modulul, de a crea o legătură simbolică:

Am înființat un server web pe baza apache debian

Nici un server suplimentar de configurare MySQL nu necesită beneficiul codificarea UTF-8 a devenit un standard de facto. În principiu, acest lucru poate fi completat, dar toate bazele de date găzduite pe serverul va rula ca MySQL root, care este nesigur. Prin urmare, este necesar să se creeze o bază de date de utilizator server de baze de date cu privilegii limitate, astfel încât acestea să poată gestiona doar bazele lor de date.

Deschideți phpMyAdmin, du-te la beneficii (membri). în cazul în care vom alege Adăugați un utilizator nou.

Am înființat un server web pe baza apache debian
Acum, derulați pagina de mai jos și setați opțiunea de a acorda privilegii depline la baza de date care face obiectul șablonului (nume de utilizator \ _%)

Acest lucru va permite, încă o dată să nu fie distras de instalarea drepturilor, ci pur și simplu pentru a crea o bază de date cu numele de specii sau petrov_base2 ivanov_base1. oferind utilizatorilor adecvate drepturi depline la acestea, precum și aparținând bazei de date identifica rapid. În același timp, această setare nu este o dogmă, puteți ajunge la discreția dumneavoastră. Restul este lăsat ca implicit.

Pentru a crea o bază de date de test phpMyAdmin - Baza de date - Bază de date nouă.

Am înființat un server web pe baza apache debian
La crearea unei baze de date, să acorde o atenție codificării. Astăzi, majoritatea motoarelor și aplicații web funcționează cu UTF-8 (utf8_general_ci). Cu toate acestea, versiunile mai vechi ale motoarelor pot utiliza coduri naționale, deci trebuie să fie chiar prima dată în etapa de creare a unei baze de date, în caz contrar, golful în baza de date care a fost creat în UTF-8 basculante de codificare Windows-1252 în locul literelor românești de pe site-ul va fi „kryakozyabliki“.

Am înființat un server web pe baza apache debian

Crearea unei baze de date, verifica franciza cu același nume, făcând clic pe link-ul de lângă numele bazei de date.

Am înființat un server web pe baza apache debian

După cum puteți vedea, toate, drepturi depline drepturi la baza de date este specificată în numele de utilizator și utilizatorul root, deși nu setări de acces la crearea de baze de date, nu am specificat.

În această configurație este acum completă și gata de operare server. În ciuda faptului că configurația descrisă este de bază, capacitatea sa este suficientă pentru a permite funcționarea normală și, practic, orice aplicatie CMS moderne de masă și vom folosi acest server ca referință pentru următorul nostru material de pe acest subiect.