Lxf113-114 apache

Material din Linuxformat.

Legăm mașinile Linux și le facem să ne servească

Apache. Serverul dvs. web

PARTEA 1. Neil Botvik lanseaza o noua serie de lectii pentru fanii pokolzovat pe fire si conectori. Asta este, pentru noi cu tine!







considerăm tipurile de servere instalate pe Linux, va învăța cum să le configurați și să învețe în această serie de lecții, ce beneficii pot fi învățate. Nu vom atinge rețelele fizice - aceasta va fi asigurată de instalatorul distribuirii dvs.; De asemenea, omitem detaliile instalării aplicațiilor - vom salva locul pentru lucruri mai importante. Majoritatea programelor enumerate aici sunt destul de obișnuite: le puteți găsi cu ușurință în repozitoriul oricărei distribuții și puteți instala managerul de pachete standard. Dacă trebuie să compilați ceva supernew de la sursă - o vom face atunci când (și dacă) este necesar. Unele servere pe care le vizităm de mai multe ori, întorcându-ne la niveluri tot mai complexe de dezvoltare. Dar principalul lucru este că noi învățăm ce și cum să facem cu ei.

Partea 1 Unde trăiește Apache și fișierele de configurare ale acestuia

Cereți oricui să numească serverul web pentru Linux, iar acesta va fi numit Apache. Un alt server? Și ce, și alții acolo? Da, există, dar Apache este omniprezent. Alte servere au avantajele lor (unele, de exemplu, sunt mai ușoare). Dar imaginați-vă că ați decis să mutați site-ul dintr-un server local într-unul comercial. Aproape sigur că rulează Apache, ceea ce înseamnă că setările nu vor fi pierdute.

De ce să instalați un server web? Există multe motive pentru aceasta, iar oricare dintre ele poate deveni decisivă.

  • Dezvoltarea și testarea site-urilor web înainte de a le transfera pe un server "live".
  • Lucrul cu documentele din rețeaua locală.
  • Organizarea unui site privat pentru familie și prieteni.
  • Experimente cu diverse programe web.
  • Doar pentru că poți!

De unde să încep

Locația paginilor HTML pe care Apache le servește. este instalat în fișierul de configurare, în diferite distribuții în moduri diferite. Locul standard pentru ei este / var / www / localhost / htdocs. dar unele utilizează / srv / www / htdocs sau doar / var / www. Indiferent de directorul selectat ca bază pentru site-urile Apache. cel mai popular și obișnuit loc pentru a-și păstra fișierele HTML este numele de gazdă / htdocs. În acest fel poți păstra site-uri pentru mai multe gazde într-o singură structură. Subdirectorul htdocs aici că există câteva fișiere pe care site-ul trebuie să le acceseze din browserul web ar trebui închise: de exemplu, fișierele cu parolă. Ele pot fi plasate în siguranță în numele de gazdă. Apache nimic "de mai sus" htdocs nu serveste. Aveți răbdare, va deveni în curând mai clară.

Unele distribuții nu conțin directoare separate pentru fiecare site: Ubuntu, de exemplu, plasează totul într-un rând în / var / www - și nu există un loc sigur pentru stocarea fișierelor personale. În primul rând, vom repara acest lucru.

Fișierele de configurare Apache sunt localizate în / etc / apache2. dar structura internă a acestui director depinde de distribuție. Fișierul principal este httpd.conf. Rareori este editat: toate informațiile despre site-uri sunt preluate din alte fișiere și directoare conectate prin directiva Include. De exemplu, OpenSUSE stochează setările implicite ale site-ului în default-server.conf. și alte site-uri - în directorul vhosts.d. În Ubuntu, setările pentru toate site-urile sunt stocate în site-uri disponibile, iar opțiunea implicită are implicit numele implicit. Pe fișierele din acest director sunt link-uri simbolice din site-urile activate ( «site-uri active"), astfel încât pornirea și oprirea site-ului este de a crea și de a elimina link-uri simbolice. Setările în sine rămân neatinse.

Nu uitați să reporniți Apache după fiecare schimbare de configurație. În caz contrar, veți fi nedumerit: de unde s-au făcut schimbările?

Vom analiza linia. configurare Apache este ierarhică în două direcții: fișierele și directoarele din / etc / apache2 simplifica organizarea mai multor site-uri, dar acest lucru este numai pentru comoditatea utilizatorului, pentru utilizare includ înseamnă că transferul Apache toate datele sunt combinate într-un singur fișier mare. În cadrul acestei mulțimi de parametri, există o altă ierarhie: setările pot fi globale și se pot referi la secțiuni specifice. Unitate de Directorul nostru - un exemplu al doilea caz: setările sale se aplică numai în directorul specificat și subdirectoarele sale (pentru care acestea sunt în mod corespunzător unitate de director poate fi schimbat, de asemenea). Aici vom vedea două opțiuni: indexuri instruiește Apache pentru a genera conținutul de director HTML-lista (index), în cazul în care URL-ul specificat nu este găsit fișierul index.html. Fără acest parametru, mesajul de eroare va fi returnat când încercați să introduceți un director fără un fișier index.







Scrisoare către admin

Prin personalizarea, am "învățat" pe Apache să servească fișiere HTML statice din directorul numit corespunzător, astfel încât să copiați conținutul acolo și să vedeți cum funcționează toate acestea. În mod tipic, Apache rulează sub apache: apache. Poate fi necesar să verificați drepturile de acces ale utilizatorilor și grupurilor; asigurați-vă că utilizatorul Apache a citit accesul la fișierele dvs. Există o mulțime de setări pentru fișiere Apache, dar acum va fi suficient pentru a verifica doar un cuplu.

căutați prima dată pentru index.php. apoi restul și folosiți primul detectat. Dacă nu se găsește nimic, catalogul va fi indexat sau o eroare returnată, în funcție de setarea Indexelor.

  • Daemon (daemon) Un program care rulează în fundal în timp ce așteaptă conexiuni. De obicei, acestea sunt servere care au un nume care se termină cu "d", de exemplu sshd sau ftpd. Versiunile anterioare ale Apache se prefaceau ca fiind httpd. dar acum nu-și ascund numele.
  • Inetd Un demon special, uneori numit "superdemon"; ascultă toate conexiunile la rând, apoi le distribuie programelor corespunzătoare. Unele servere pot aștepta un apel de la inetd sau de la "moștenitorul" xinetd. În loc să lucrați constant în fundal și să așteptați conexiunea. Apache nu este așa.
  • Directiva (instrucțiune, directivă) Deci, în documentația Apache (și trebuie să o re-numărăm foarte mult) se numește elementul de configurare în orice fișier de configurare.

Partea 2 Stop, cine merge!

Dacă intenționați să rulați mai multe servere pe același computer, utilizați directiva Listen pentru a asculta diferite porturi și configurați routerul în consecință.

Dacă aveți două carduri de rețea (una conectată la Internet și cealaltă la rețeaua locală), instrucțiunea Listen poate fi utilizată pentru a instrui Apache să răspundă numai la solicitările din interfața LAN:

sau o combinație de interfață și port:

Controlul accesului permite, de asemenea, accesul. Deasupra am văzut deja Permiteți tuturor, care nu necesită explicații. Și este posibil și așa:

și va trece doar prin 192.168.1. * și * .example.com. Instrucțiuni Permite poate fi mai multe, iar accesul va primi conexiuni care corespund cel puțin uneia dintre ele. Instrucțiunea Deny funcționează exact la fel, dar blochează accesul; iar instrucțiunea de ordine stabilește ordinea interacțiunii lor:

În primul caz, permisiunea este tratată mai întâi și cererea este respinsă dacă nu există nici o potrivire; apoi Deny este procesată și cererea este respinsă dacă există cel puțin o potrivire. Orice solicitare care nu se potrivește fie cu permisiunea "orDeny" este respinsă, iar pentru a fi acceptată, trebuie să se potrivească cel puțin un permis și nici un "refuz". În cel de-al doilea caz, Deny este tratat mai întâi și respinge orice potrivire, dacă nu se potrivesc apoi cu "Permite". Spre deosebire de prima metodă, o interogare care nu corespunde fie Deny. nici nu permiteți. este acceptată.

Cuvinte magice

Accesul la Apache poate fi gestionat și folosind parole - este configurat prin adăugarea următoarelor linii în fișierul de configurare:

Acești utilizatori și grupuri sunt definiți în fișierul AuthUserFile. și pentru a exclude încărcarea de către cei din afară, aceasta trebuie să fie situată în afara documentului. Unul dintre motivele pentru care am folosit / var / www / hostname / htdocs ca DocumentRoot - în acest caz, putem pune fișierul parolei la un nivel superior și va rămâne "legat" la o anumită gazdă. Creați un fișier și adăugați-l astfel:

și adăugați alți utilizatori fără opțiunea -c. Acest lucru va crea un nou fișier de parolă, suprascriind orice parolă existentă cu același nume. De fiecare dată când apelați htpasswd, vi se va cere parola pentru utilizatorul specificat, la fel ca în cazul comenzii sistemului passwd.

Control acces

Este posibil să combinați metodele de control al accesului? De exemplu, site-ul rețelei locale are pagini la care aveți nevoie pentru a oferi acces din exterior, dar nu toate. Manualul Satisfy vă va permite să combinați ambele metode de control al accesului.

Accesul rădăcină

Această comandă va funcționa pe Ubuntu și alte distribuții folosind sudo. La unele sisteme, trebuie să introduceți su și parola superuser. Amintiți-vă că lucrați în acest mod, puteți schimba fișiere importante ale sistemului, deci fiți foarte atenți! Pentru a afla că sunteți logat ca root, puteți schimba promptul de sistem de la '$' la '#'

Partea 3 Gazdele virtuale

Repetați toate acestea pentru fiecare gazdă virtuală care este creată, apoi specificați-le pe Apache, plasându-le

în / etc / hosts. iar cererea pentru oricare dintre aceste nume va reveni 192.168.1.1. dar Apache. care lucrează pe acest server, vor reveni la diferite site-uri pentru fiecare domeniu. Vorbind despre routere: dacă aveți un router NAT (ceea ce este cazul dacă aveți un acces tipic la Internet în bandă largă), trebuie să îl înregistrați pentru redirecționarea tuturor cererilor către portul 80 la un computer cu Apache.

Inregistrare domeniu

Ce urmează?

Odată ce aveți un server de lucru, faceți o copie de rezervă a directorului de configurare. Dintr-o data vei uita sau vei pierde ceva: va fi usor de restaurat.

Dacă Apache a fost capabil să configureze și să ruleze, poți face orice. Unele programe au interfețe web și pot fi utilizate: instalați MythWeb și înregistrați programele TV MythTV de unde doriți prin intermediul conexiunii la Internet. Și puteți utiliza PhpMyAdmin ca o interfață grafică pentru administrarea bazelor de date MySQL. Galeria va transforma serverul într-un site complet de galerii foto. Puteți experimenta lucrul cu un wiki, un blog sau un CMS, înainte de a le expune totul la un Internet mare și teribil. Multe dintre aceste programe folosesc PHP. care lucrează pe server, deci ar putea fi necesar să instalați câteva pachete suplimentare, cum ar fi Apache-php. în funcție de distribuția dvs. LXF







Articole similare

Trimiteți-le prietenilor: