Čo je to server apache. Nainštalujte a nakonfigurujte server Apache

Apache je najobľúbenejší bezplatný webový server. Od roku 2016 ju používa 33% všetkých internetových stránok, čo je približne 304 miliárd stránok. Tento webový server bol vyvinutý už v roku 1995 ako náhrada za populárny server NCSA a vyriešil mnoho jeho problémov. Hovorí sa, že jeho meno je zo škvrny, záplaty, pretože opravil chyby NCSA. Teraz ide o multiplatformový program, ktorý podporuje systémy Windows, Linux a MacOS a poskytuje dostatočnú flexibilitu, prispôsobenie a funkčnosť. Program má modulárnu štruktúru, ktorá vám umožňuje rozšíriť jeho funkčnosť takmer na nekonečno pomocou modulov.

Apache môžete nainštalovať na Linux pomocou niekoľkých príkazov, ale program poskytuje veľké množstvo nastavení, ktoré je možné zmeniť, ako aj moduly, po ktorých bude fungovať lepšie. Tento článok sa bude týkať inštalácie a nakonfigurovať apache, ako hlavný systém použijeme Ubuntu, ale tieto kroky môžete zopakovať v akejkoľvek inej distribúcii. Zvážime nielen inštaláciu samotného programu, ale aj to, ako ho nakonfigurovať, nakonfigurovať hostiteľov virtuálnych apache, ako aj najužitočnejšie moduly.

Inštalácia Apache

V súčasnosti najviac nová verzia   program 2.4 preto bude považovaný za nastavenie apache 2.4. Ako som už povedal, v systéme Linux je program nainštalovaný iba v niekoľkých príkazoch. Ak chcete nainštalovať na Ubuntu, najskôr aktualizujte systém na najnovšiu verziu:

aktualizácia sudo apt
  $ sudo apt upgrade

Potom nainštalujte apache2:

sudo apt install apache2

V iných distribúciách sa programový balík nazýva buď to, alebo httpd a jeho inštalácia nespôsobí žiadne problémy.

Po dokončení inštalácie musíte do spustenia pridať webový server, aby ste ho po zapnutí počítača nespustili manuálne:

sudo systemctl povolí apache2

Nakonfigurujte Apache

Čas už uplynul, keď sa konfigurácia Apache uložila do jedného súboru. Je však správne, že keď je všetko distribuované v adresároch, je ľahšie sa pohybovať v konfiguračných súboroch.

Všetky nastavenia sú obsiahnuté v priečinku / etc / apache /:

  • súbor /etc/apache2/apache2.conf   zodpovedný za základné nastavenia
  • / etc / apache2 / conf-available / *   - ďalšie nastavenia webového servera
  • / etc / apache2 / mods-available / *   - nastavenie modulu
  • / etc / apache2 / sites-available / *   - tinktúry virtuálnych hostiteľov
  • /etc/apache2/ports.conf   porty spustené
  • / etc / apache2 / envvars

Ako ste si všimli, existujú dva priečinky pre conf, mods a site. Je k dispozícii a povolená. Keď zapnete modul alebo hostiteľ, symbolický odkaz sa vytvorí z dostupného priečinka na priečinok povoliť. Nastavenia sa preto najlepšie vykonávajú v dostupných priečinkoch. Všeobecne možno povedať, že bez týchto priečinkov by sa dalo robiť všetko, všetko by sa vzalo a vysypalo sa starým spôsobom do jedného súboru a všetko by fungovalo, ale teraz to nikto nerobí.

Najprv sa pozrime na hlavný konfiguračný súbor:

vi /eta/apache2/apache2.conf


timeout   - indikuje, ako dlho sa server pokúsi pokračovať v prerušenom prenose alebo prijímaní údajov. Stačí 160 sekúnd.

Keepalive on   - veľmi užitočný parameter, ktorý umožňuje prenášať viac súborov v jednom spojení, napríklad nielen samotnú stránku html, ale aj obrázky a súbory css.

MaxKeepAliveRequests 100   - maximálny počet žiadostí na pripojenie, tým lepšie.

KeepAliveTimeout 5- vypršal časový limit pripojenia, načítanie stránky zvyčajne trvá 5-10 sekúnd, takže ho už nemusíte nastavovať, ale pred načítaním všetkých údajov tiež nemusíte odpojiť pripojenie.

Používateľ, skupina   - používateľa a skupinu, v mene ktorej bude program fungovať.

HostnameLookups   - namiesto protokolov ip adries zapisujte do protokolov doménové mená, je lepšie ich deaktivovať, aby sa práca urýchlila.

LogLevel   - úroveň protokolovania chýb. V predvolenom nastavení sa používa upozornenie, ale pre protokoly, ktoré sa majú vyplňovať pomalšie, stačí povoliť chybu

zahrnúť   - za zahrnutie vyššie uvedených konfiguračných súborov sú zodpovedné všetky smernice zahrnutia.


Smernice o adresároch sú zodpovedné za nastavenie povolení pre adresár v systéme Windows súborový systém, Syntax tu je:


  Hodnota parametra

K dispozícii sú nasledujúce základné možnosti:

  AllowOverride   - indikuje, či sa majú z tohto adresára čítať súbory .htaccess, jedná sa o rovnaké súbory nastavení a rovnakú syntax. Všetko - povoliť všetky, žiadne - tieto súbory nečítajú.

DocumentRoot   - nastavuje, v ktorom priečinku sa majú dokumenty zobrazovať používateľovi

možnosti   - označuje, ktoré funkcie webového servera by mali byť v tomto priečinku povolené. Napríklad: Všetko - povoliť všetko, FollowSymLinks - nasledovať symbolické odkazy, Indexy - zobrazí obsah adresára, ak neexistuje indexový súbor.

vyžadovať - nastavuje, ktorí používatelia majú prístup k tomuto adresáru. Vyžadovať všetky zamietnuté - zakázať všetky, Vyžadovať všetky udelené - umožniť všetkým. namiesto toho môžete explicitne špecifikovať používateľa pomocou smernice používateľa alebo skupiny.

poriadok   - umožňuje ovládať prístup k adresáru. Trvá to dve hodnoty: Povoliť, Zakázať - povoliť pre všetkých okrem zadaných alebo Zakázať, Povoliť - vypnúť pre všetkých okrem zadaných ..ru.

Všetky tieto smernice sa tu nepoužívajú, pretože sme spokojní s predvolenými hodnotami, ale tu v súboroch .htaccess môžu byť veľmi užitočné.

Stále máme súbor /etc/apache2/ports.conf:


Má iba jednu smernicu, Počúvajte, ktorá hovorí programu, na ktorom porte bude pracovať.

Posledný súbor je / etc / apache2 / envvars, pravdepodobne ho nebudete používať, obsahuje premenné, ktoré je možné použiť v iných konfiguračných súboroch.


Konfigurácia servera Apache pomocou htaccess

.Htaccess súbory vám umožňujú nakonfigurovať webový server na Ubuntu pre správanie v konkrétnom adresári. Všetky pokyny uvedené v tomto súbore sa vykonajú, akoby boli zalomené do značky   ak ste boli v hlavnom súbore.

Je dôležité poznamenať, že aby server mohol čítať pokyny z .htaccess, nastavenia pre tento priečinok v hlavnom súbore alebo v súbore virtuálneho hostiteľa by nemali obsahovať AllowOverride Žiadneaby všetky nastavenia mohli fungovať AllowOverride All.

Pokiaľ ide o zvyšok, tu sa dá vykonať akákoľvek konfigurácia servera apache, od zapnutia modulov až po obvyklú zmenu prístupu k priečinku. Pretože sme už zvážili všetky parametre, uvedieme iba niekoľko príkladov:

Príkaz Zakázať, Povoliť
  Odmietnuť zo všetkých

Zakáže všetok prístup k tomuto priečinku, je dôležité používať pri priečinkoch s konfiguráciou. Najčastejšie sa htaccess používa na prácu s modulom mod_rewrite, ktorý vám umožňuje meniť požiadavky za behu:

Prepíšte
  PrepísaťRule ^ produkt /(►^/\\.†+)/?$ product.php? Id \u003d $ 1 [L]

Je to však veľmi široká téma a je mimo rozsahu tohto článku.

Konfigurácia modulov Apache

Ako som už povedal, Apache je modulárny program, jeho funkčnosť je možné rozšíriť pomocou modulov. Všetky dostupné zavádzače modulov a konfiguračné súbory modulov sa nachádzajú v priečinku / etc / apache / mods-available. A aktivované v / etc / apache / mods-enable.

Nemusíte však analyzovať obsah týchto priečinkov. Konfigurácia Apache 2.4 pridaním modulov sa vykonáva pomocou špeciálnych príkazov. Všetky spustené moduly môžete zobraziť príkazom:


Modul môžete povoliť príkazom:

sudo a2enmod module_name

Zakázať:

sudo a2dismod module_name

Po povolení alebo zakázaní modulov je potrebné reštartovať apache:

sudo systemctl reštart apache2

Počas vykonávania jedného z týchto príkazov sa vytvorí alebo odstráni symbolické prepojenie na súbor modulu s načítaním prípony v adresári mods-available. Môžete vidieť obsah tohto súboru, existuje iba jeden riadok. Napríklad:

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


Toto umožňuje modul jednoduchým pridaním tohto riadku do súboru apache2.conf. Je však zvykom robiť to len preto, aby sa predišlo nejasnostiam.

Nastavenia modulu sú umiestnené v rovnakom priečinku, iba v súbore s príponou .conf namiesto načítania. Poďme sa napríklad pozrieť na nastavenia toho istého modulu pre kompresiu deflácie:

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


Súbory v priečinku conf-available sú rovnaké moduly, iba sa inštalujú oddelene od apache, môžu to byť konfiguračné súbory, ktoré obsahujú modul php alebo iný programovací jazyk. Všetko tu funguje rovnako, iba príkazy na povolenie a zakázanie týchto modulov sa mierne líšia:

a2enconf module_name

názov modulu a2disconf

Ako ste videli, je veľmi jednoduché zahrnúť moduly. Povoľte niektoré potrebné, ale nie predvolené moduly:

platnosť sudo a2enmod vyprší
  $ sudo a2enmod záhlavia
  $ sudo a2enmod prepísať
  $ sudo a2enmod ssl

Moduly expirovania a hlavičky znižujú zaťaženie servera. Ak sa dokument od poslednej žiadosti nezmenil, vrátia hlavičku Neupravené. Modul expiries umožňuje nastaviť čas, počas ktorého má prehliadač ukladať prijatý dokument do vyrovnávacej pamäte. Prepísať vám umožňuje meniť požadované adresy za chodu, je to veľmi užitočné pri vytváraní CNC liniek, atď. A posledné je povoliť podporu šifrovania SSL. Nezabudnite reštartovať apache2 po dokončení nastavení.

Konfigurácia virtuálnych hostiteľov Apache

Nebolo by veľmi výhodné, keby sa na jeden fyzický stroj dalo umiestniť iba jedno miesto. Apache môže podporovať stovky webov na jednom počítači a zobraziť správny obsah pre každý z nich. Na tento účel sa používajú virtuálni hostitelia. Server určí, na ktorú doménu žiadosť príde, a vráti potrebný obsah z priečinka tejto domény.

Nastavenia hostiteľa Apache sú umiestnené v priečinku / etc / apache2 / hosts-available /. Ak chcete vytvoriť nového hostiteľa, jednoducho vytvorte súbor s ľubovoľným menom (lepšie je skončiť s menom hostiteľa) a vyplňte ho potrebnými údajmi. V smernici musíte zabaliť všetky tieto parametre   VirtualHost.   Okrem tu diskutovaných parametrov sa použijú tieto parametre:

  • ServerName - názov primárnej domény
  • ServerAlias   - ďalší názov, pod ktorým bude stránka k dispozícii
  • ServerAdmin   správca -
  • DocumentRoot   - priečinok s dokumentmi pre túto doménu

Napríklad:

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


ServerName test.site
  ServerAlias \u200b\u200bwww.test.site
  ServerAdmin [chránený e-mailom]
  DocumentRoot /var/www/test.site/public_html
  ErrorLog $ (APACHE_LOG_DIR) /error.log
  Kombinácia CustomLog $ (APACHE_LOG_DIR) /access.log

Je potrebné aktivovať virtuálnych hostiteľov, napríklad moduly. Na tento účel existujú špeciálne pomôcky. Ak chcete aktivovať, napíšte:

sudo a2ensite test.site

Tu je test.site názov súboru virtuálneho hostiteľa. Ak chcete zakázať, existuje aj príkaz:

sudo a2dissite test.site

Konfigurácia virtuálnych hostiteľov Apache je úplná a na verejnom serveri by to všetko fungovalo, ale ak potrebujete nakonfigurovať Apache na domácom počítači, vaša nová stránka sa v prehliadači neotvorí. Prehliadač nepozná takéto stránky. A ako to vedel? Služby DNS nemôžu o tomto názve domény hlásiť nič. Ale v systéme Linux môžeme sami určiť IP adresy doménových mien v súbore / etc / hosts. Preto na koniec súboru pridávame nasledujúce riadky:

127.0.0.1 test.site
  127.0.0.1 www.test.site

Teraz to bude fungovať, otvorte prehliadač, skontrolujte.

zistenie

To je všetko. Inštalácia a konfigurácia linuxového rozhrania Apache je dokončená, program môžete použiť na hosťovanie svojich stránok. Navyše ste to nielen nakonfigurovali, zistili ste všetky podrobnosti a teraz viete trochu viac. Ak máte ďalšie otázky, napíšte ich do komentárov!

  Tento materiál je určený špeciálne pre ľudí, ktorí sa práve chystajú pripojiť k štíhlym radom webových vývojárov alebo len chcú porozumieť niektorým zložitosti procesu. Tu sa dozviete, čo je to server Apache, prečo môže byť potrebný, kde ho získať a ako ho správne používať. V budúcnosti sa pokúsime popísať nastavenia Apache a jeho funkčné vlastnosti čo najjemnejšie, aby aj profesionáli v týchto materiáloch našli niečo nové pre seba.

Aby sa stránka mohla zobraziť na internete, musí byť hostená na serveri hostiteľa alebo vášho servera, musí byť pripojená k sieti a musí mať vyhradenú adresu IP. Server je počítač, na ktorom je špeciálny softvér, ktorý sa tiež nazýva „webový server“.

Na svete je toľko webových serverov. Líšia sa navzájom funkčnosťou a účelom. Dnes budeme hovoriť o najpopulárnejších z nich nainštalovaných na väčšine serverov poskytovateľov hostingu. Server Apache vyhovuje takmer všetkým potrebám moderného vývoja webových aplikácií, ale zároveň je dosť jednoduchý na to, aby ho programátori nainštalovali na ladenie svojich programov.

V roku 1994 Rob McCool, zamestnanec Národného centra pre aplikácie superpočítačov na University of Illinois v USA (NCSA), zdieľal prvý webový server, ktorý sa nazýval NCSA HTTP daemon. Server získal popularitu v úzkych kruhoch, ale v polovici roku 1994 McCool opustil univerzitu a vývoj sa zastavil.

Malá skupina zainteresovaných webmasterov začala spolupracovať na produkte. Komunikácia v diskusnom zozname o e-mailom, vyvinuli pre server „záplaty“ a inovácie. Práve oni vytvorili skupinu Apache, ktorá vyvinula prvú verziu servera Apache. Stalo sa tak v apríli 1995, keď boli na základňu aplikované všetky existujúce „záplaty“ (NCSA Server 1.3). Takže sa objavilo prvé oficiálne verejné vydanie Apache 0.6.2.

Prvá verejná verzia Apache sa objavila v apríli 1995 a vydanie 1.0 bolo vydané v decembri.

Práca na serveri sa nezastavila ani na jeden deň a veľmi skoro sa stala jednou z najpopulárnejších. Po mnohých skúškach 1. decembra 1995 sa verzia 1.0 objavila, stabilná a spoľahlivá. Po celé tieto roky zostal Apache úplne zadarmo. Možno to tiež určovalo úspech servera, pretože podľa NetCraft je Apache v súčasnosti nainštalovaný na 67% všetkých serverov na svete.

Server Apache je teraz nainštalovaný na 67% serverov na celom svete. V súčasnosti sa rozvíjajú dve vetvy súčasne

V súčasnosti sa paralelne vyvíjajú dve vetvy Apache - verzie 2.0 a 1.3. Druhá verzia prešla značným počtom zmien, ktoré ovplyvnili najmä jadro programu a niektoré dôležité moduly. Pretože moduly napísané vývojármi tretích strán pre verziu 1.3 nebudú fungovať vo verzii 2.0, je podporovaný aj „starý“ Apache. Avšak, ak sa chystáte nainštalovať Apache prvýkrát, mali by ste sa bližšie pozrieť na novú verziu.

Apache je plne funkčný, rozšíriteľný, otvorený webový server

Čo presne je Apache? Je to plne funkčný, rozšíriteľný webový server, ktorý plne podporuje HTTP / 1.1 a je otvoreným zdrojom. Server môže pracovať na takmer všetkých bežných platformách. Existujú pripravené spustiteľné súbory servera pre systémy Windows NT, Windows 9x, OS / 2, Netware 5.xa niekoľko systémov UNIX. Inštalácia a konfigurácia je však veľmi jednoduchá. Môžete to overiť neskôr.

Apache je nakonfigurovaný pomocou textových konfiguračných súborov. Hlavné parametre sú už nakonfigurované „v predvolenom nastavení“ a vo väčšine prípadov budú fungovať. Ak vám chýba funkčnosť bežného Apache, mali by ste sa bližšie pozrieť na redistribuovateľné moduly napísané skupinou Apache a vývojármi tretích strán. Dôležitou výhodou je, že tvorcovia aktívne komunikujú s používateľmi a reagujú na všetky chybové správy.

Najjednoduchšou funkciou, ktorú môže Apache vykonať, je stáť na serveri a obsluhovať bežnú webovú stránku HTML. Po prijatí požiadavky na konkrétnu stránku server pošle odpoveď prehliadaču. Zadáte adresu, otvorí sa stránka - všetko je jednoduché.

Server Apache umožňuje jednoduchú autentifikáciu

Komplikovanejšou funkciou, ktorá je zabudovaná v protokole HTTP / 1.1, je autentifikácia užívateľa. s personálne fondy   Apache server môžete obmedziť prístup na určité stránky webu pre rôznych používateľov. Je to potrebné napríklad na to, aby sa na webe vytvorilo rozhranie správcu. Na tento účel použite súbory .htaccess a .htpasswd, ako aj moduly mod_auth a mod_access. Používateľov je možné rozdeliť do skupín a pre každú z nich môžete prideliť vlastné prístupové práva.

Server Apache podporuje technológiu SSI

Na oddelenie konštrukčnej a funkčnej časti lokality a na zjednodušenie zmeny statických objektov existuje technológia SSI. Umožňuje vám umiestniť všetky duplicitné informácie do jedného súboru (napríklad top.inc) a potom na ne vložiť odkaz na stránky. Potom, ak potrebujete v týchto informáciách zmeniť niekoľko riadkov, budete ich musieť zmeniť iba v jednom súbore. Server Apache túto technológiu podporuje a umožňuje plné využitie serverových inklúzií.

Server Apache môže vytvárať vlastné adresáre pre webové stránky

Ak je na rovnakom serveri s nainštalovaným operačným systémom rodiny Unix a server Apache Pretože existuje niekoľko používateľov, každý z nich môže vytvoriť samostatný adresár. Presnejšie povedané, bude vytvorený automaticky spolu s aliasom. To sa vykonáva pomocou modulu mod_userdir a smernice UserDir. Napríklad priečinok public_html v domácom priečinku používateľa môžete napríklad mapovať na adresu www.site.ru/~user. Spravidla sa to deje na serveroch väčšiny stránok, ktoré poskytujú bezplatné hosťovanie. Správca servera môže povoliť alebo zakázať určitých používateľov na vytváranie domovských stránok, používanie SSI a ďalších funkcií servera. Plnohodnotný hosting zvyčajne zahŕňa vytvorenie samostatného virtuálneho servera pre každého používateľa.

Môžete nakonfigurovať virtuálnych hostiteľov. Vďaka nim môže jeden virtuálny server obsahovať niekoľko virtuálnych serverov

Server Apache bol jedným z prvých serverov, ktoré začali podporovať virtuálne servery (hostitelia). Táto funkcia umožňuje hosťovať niekoľko plnohodnotných webov na jednom fyzickom serveri. Každá z nich môže mať svoju vlastnú doménu, správcu, IP adresu a tak ďalej.

Ak potrebujete umiestniť doménu doména.ru a doména.com na server, musíte sa najprv ubezpečiť, že vaša adresa IP je na ne mapovaná v systéme DNS. Potom vytvorte dve konfigurácie v konfiguračnom súbore Apache kde popíšete každého virtuálneho hostiteľa. Server bude teda vedieť, do ktorého priečinka sa má žiadosť odoslať.

Apache podporuje prácu so skriptmi PHP, CGI a ďalšími

Väčšina webových stránok je v súčasnosti dynamická. To znamená, že ich vzhľad a obsah sa vytvára pomocou softvérového skriptu napísaného v jednom z „jazykov“ (nemôžu sa úplne nazývať jazyky, definícia je úplne ľubovoľná). V súčasnosti sú najrozšírenejšími technológiami CGI a PHP. Samozrejme, v Apache existuje podpora pre obidva, plus možnosť prepojenia ďalších jazykov.

Modul mod_cgi umožňuje hosťovať skripty CGI na serveri. Všeobecne sa jedná iba o spustiteľné súbory napísané v jednom z prijateľných programovacích jazykov. Môžu byť obsiahnuté v skompilovanej podobe (napríklad, ak píšu CGI v C ++), a vo forme zdrojového textu (ak je Perl nainštalovaný na serveri, programátor môže také súbory vložiť. Niekedy majú príponu .pl).

Pokiaľ ide o PHP, schopnosť integrovať ho do Apache poskytujú vývojári samotného PHP. Apache vykonáva iba funkcie sprostredkovateľa medzi skriptom a kompilátorom. Existujú dva spôsoby, ako integrovať PHP do Apache. Prvým je inštalácia špeciálneho modulu, ktorý rozširuje možnosti servera a potom je schopný sám "kompilovať" skripty. Druhou je inštalácia prepojení medzi súbormi php a samotným kompilátorom v konfiguračných súboroch (nachádza sa na disku vo forme súborov .cgi alebo.exe).

V najnovšej verzii Apache je modul pre prácu so silnou kryptografickou ochranou SSL / TSL

Na základe servera Apache môžete vytvárať nielen jednoduché amatérske weby, ale aj prostriedky, ktoré vyžadujú závažnú kryptografickú ochranu prenášaných údajov. Konkrétne bol vyvinutý protokol SSL / TLS a jeho podpora bola zabudovaná do Apache 2.0. Pomocou špeciálneho modulu je možné vykonať autentifikáciu na základe osobných certifikátov, čo takmer určite zaručuje autenticitu užívateľa.

Apache uchováva podrobné protokoly o všetkom, čo sa deje na serveri

Server Apache samozrejme môže viesť záznamy o všetkých akciách, ktoré sa s ním vykonali. Okrem toho si správca môže zvoliť mieru podrobnosti protokolu. Protokoly sa udržiavajú osobitne pre chyby, pre úspešné operácie a pre každého virtuálneho hostiteľa. Stručne povedané, kompletný súbor pre dôkladnú analýzu chýb, ktoré sa objavia.

V rámci jedného materiálu sme neboli schopní podrobne rozprávať o všetkých vlastnostiach servera Apache, ale jednoducho ich uviesť. Tento článok bol určený na prvé povrchné zoznámenie používateľov a budúcich vývojárov so serverom Apache. V ďalších materiáloch sa určite dotkneme všetkých jemností tvorby stránok založených na tomto nádhernom softvérovom balíku.

HTTP server Apache je tzv. Bezplatný webový server, ktorý je multiplatformovým softvérom. Apache podporuje nasledujúce operačné systémy: BSD, Microsoft Windows, Linux, Mac OS, BeOS, Novell NetWare.

Ako nakonfigurovať Apache?

Zvyčajne sa nastavenie servera Apache uskutočňuje prostredníctvom súboru .htaccess (podrobné pokyny). Tento súbor sa nachádza na serveri, na ktorom sa nachádza váš web. Server sám číta svoj obsah a uplatňuje nastavenia, ktoré sú tam uvedené. Nižšie uvádzame hlavné parametre, ktoré sa menia v súbore .htaccess a budú užitočné pre webmasterov.

Automatické presmerovania z jednej stránky na druhú

  • Presmerovanie z adresy http://www.site.com na http://site.com
  • Reverzné presmerovanie z adresy http://site.com na http://www.site.com
  • Prechod zo starej domény na novú
  • site.com/page alebo site.com/page/ presmerované na web site.com/page.html
  • Spätný chod z lokality.com/page.html na stránku.com/page
  • Na konci adresy URL odstránime lomku (na stránkach site.com/page/, now site.com/page)
  • Presmerovanie všetkých stránok jednej časti stránky.com/razdel-1/razdel-2/page na stránky inej časti stránky.com/razdel-1/page

Chyba pri manipulácii

  • Ak dôjde k chybe, používateľovi sa namiesto štandardného svinstva zobrazí krásna stránka, ktorú ste nastavili.

Konfigurácia zabezpečenia stránok

  • Ochrana vstrekovania
  • Ochrana pred krádežou obrazu
  • Blokovanie používateľov podľa adresy IP
  • Ochrana súborov a priečinkov
  • Práca s užívateľskými agentmi

Kódovanie stránky

  • Pracujte s kódovaním stránok stránok na úrovni servera.

Optimalizácia webových stránok

  • Zrýchlenie webových stránok
  • Práca s ukladaním do vyrovnávacej pamäte
  • Zmeňte domovskú stránku

Nastavenia PHP

  • Pracujte s parametrami PHP nastavenými na úrovni servera.

Informácie o Apache

Spoľahlivosť a flexibilita konfigurácie sú hlavnými výhodami Apache. Vďaka tomuto softvéru je možné pripojiť externé moduly, ktoré sa používajú na poskytovanie údajov, úpravu chybových hlásení a použitie DBMS na autentifikáciu užívateľa. Apache podporuje IPv6.

Od apríla 1996 do súčasnosti je Apache najbežnejším a najpopulárnejším HTTP serverom na internete. Podľa štatistík pracovalo v auguste 2007 ako server HTTP 51% všetkých webových serverov, v máji 2009 to bolo 46% av januári 2011 to bolo 59%. Dnes webový server Apache obsluhuje viac ako 59% z celkových webových stránok. Vývoj a podpora Apache vykonávajú odborníci z otvorenej komunity vývojárov pod záštitou Apache Software Foundation. Apache je súčasťou väčšiny softvérových produktov, vrátane IBM WebSphere a Oracle DBMS.

Apache má zabudovaný mechanizmus virtuálneho hostiteľa. Z tohto dôvodu možno veľké množstvo webových projektov (doménových mien) obsluhovať na jednej adrese IP, pričom pre každý z nich sa zobrazuje vlastný obsah. Pre každého virtuálneho hostiteľa je možné zadať vaše nastavenia pre moduly a jadro, ako aj nastaviť obmedzenia prístupu k celému webu alebo niektorým súborom. Pomocou Apache-ITK môžete spustiť proces httpd s identifikátormi gid a uid pre každého virtuálneho hostiteľa. Existujú tiež moduly, ktoré vám umožňujú obmedziť a zohľadniť serverové prostriedky (prenos, RAM, CPU) osobitne pre každého virtuálneho hostiteľa.

Inštalácia webového servera v systéme Linux:

  • Ak máte Ubuntu, je pre vás vhodný článok „Ako nainštalovať webový server Apache s PHP 7, MariaDB / MySQL a phpMyAdmin (LAMP) na Ubuntu 16.10“.
  • Ak máte Arch Linux, je pre vás vhodný článok „Inštalácia LAMP (Linux, Apache, MySQL / MariaDB, PHP7 a phpMyAdmin) v Arch Linux / BlackArch“.

Lokálny server   veľmi užitočný nástroj. Je to určite užitočné pre webmasterov, PHP programátorov, testerov penetrácie. Všetky programy zahrnuté v typickej inštalácii webového servera sú zadarmo, všetky majú otvorený zdrojový kód. Lokálny webový server spotrebuje minimálne zdroje a v skutočnosti nie je ťažké nainštalovať a nakonfigurovať.

Táto príručka vám povie, ako nainštalovať lokálny webový server bez použitia pripravených zostáv. Táto metóda má svoje výhody. Najdôležitejšie z nich sú: úplná kontrola nad tým, čo inštalujete; schopnosť využívať najviac najnovšie verzie   softvér.

Ak budete postupovať presne podľa pokynov, potom všetko bude pracovať za vás! Okrem systémov so systémom Windows XP: v systéme Windows XP nefunguje.

Ukážem príklad inštalácie na Windows 10, ale ak máte inú verzia systému Windows, potom vám to nevadí - postup je všade rovnaký. Budem sťahovať najnovšie (najnovšie) v čase písania verzie programov. Ak v čase, keď si prečítate nové verzie, stiahnite ich.

Postup inštalácie:

  1. Príprava (sťahovanie programov zahrnutých v serveri, vytvorenie štruktúry servera)

Potrebujeme:

  • apache   (priamo webový server)
  • PHP   - prostredie pre beh PHP programov (vyžadované takmer všetkými webmi)
  • MySQL   - systém správy databáz (vyžaduje väčšina webových stránok),
  • phpMyAdmin   - veľmi pohodlný nástroj na správu databázy

Oficiálne stránky vývojárov Apache sú httpd.apache.org , Apache si môžete stiahnuť z tejto stránky. Oficiálna verzia je však vytvorená pomocou starého kompilátora, preto s novými verziami PHP nefunguje. Autori PHP odporúčajú Apache z webu. Preto si pre túto inštrukciu stiahnite Apache z webu.

Ak máte 64-bitovú verziu systému Windows, môžete si vybrať 64-bitovú aj 32-bitovú verziu komponentov. Hlavným pravidlom je, že všetky komponenty musia mať rovnakú bitovú veľkosť. Ak máte 32-bitovú verziu systému Windows, všetky komponenty musia byť 32-bitové. To neplatí pre phpMyAdmin, ktorý je napísaný v PHP. Pre programy PHP nie je použiteľný pojem bitness.

Potrebujeme tiež súbor C ++ Redistributable Visual Studio 2017, t.j. Redistribuovateľnú súčasť Visual C ++ pre Visual Studio 2017 (alebo akúkoľvek inú novšiu verziu) si môžete stiahnuť na oficiálnej webovej stránke spoločnosti Microsoft pomocou odkazu (priame stiahnutie 64-bitovej verzie; priame stiahnutie 32-bitovej verzie). Tento súbor je potrebný pre webový server. A pre MySQL potrebujete redistribuovateľné balíky Visual C ++ pre Visual Studio 2013. Môžete si ich stiahnuť z tohto balíka.

Stiahol som teda nasledujúce súbory:

  • httpd-2.4.29-Win64-VC15.zip
  • php-7.2.0-Win32-VC15-x64.zip
  • mysql-5.7.20-winx64.zip
  • phpMyAdmin-4.7.6-all-languages.zip
  • vc_redist.x64.exe
  • vcredist_x64.exe

Nainštalujte súbory vc_redist.x64.exe   a vcredist_x64.exe.

  2. Vytvorenie štruktúry webového servera

Vytvorte adresárovú štruktúru nášho servera. Hlavnou myšlienkou je oddeliť spustiteľné súbory a súbory stránok s databázami. Toto je vhodné pre údržbu servera vrátane zálohovania.

V koreňovom adresári disku C: \\   vytvoriť adresár server, V tomto adresári vytvorte 2 podadresáre: popolnice   (pre spustiteľné súbory) a dáta.

Prejdite do adresára dáta   a vytvoriť tam podpriečinky DB   (pre databázy) a htdocs   (pre stránky).

Prejdite do adresára C: \\ Server \\ data \\ DB \\   a vytvorte tam prázdny priečinok dáta.

  3. Nainštalujte Apache 2.4

Obsah stiahnutého archívu (presnejšie iba adresár Apache24), rozbalte na C: \\ Server \\ bin \\.

Prejdite do adresára c: \\ Server \\ bin \\ Apache24 \\ conf \\   a otvorte súbor httpd.conf   ľubovoľný textový editor.

V ňom potrebujeme nahradiť niekoľko riadkov.

ServerRoot "c: / Apache24"

ServerRoot "c: / Server / bin / Apache24"

   #ServerName www.example.com:80

ServerName localhost

DocumentRoot "c: / Apache24 / htdocs"

DocumentRoot "c: / Server / data / htdocs /"

DirectoryIndex index.html

DirectoryIndex index.php index.html index.htm

# AllowOverride riadi, aké smernice môžu byť umiestnené do súborov .htaccess. # Môže to byť „Všetky“, „Žiadne“ alebo akákoľvek kombinácia kľúčových slov: # AllowOverride FileInfo AuthConfig Limit # AllowOverride None

   # AllowOverride riadi, aké smernice môžu byť umiestnené do súborov .htaccess. # Môže to byť „Všetky“, „Žiadne“ alebo akákoľvek kombinácia kľúčových slov: # AllowOverride FileInfo AuthConfig Limit # AllowOverride All

   #LoadModule rewrite_module modules / mod_rewrite.so

LoadModule rewrite_module modules / mod_rewrite.so

Uložte a zatvorte súbor. To je všetko, nastavenie Apache je hotové!

Otvorte príkazový riadok (je to možné súčasným stlačením klávesov Win + X). Vyberte si tu Príkazový riadok   (správca) a tam skopírujte:

Inštalácia C: \\ Server \\ bin \\ Apache24 \\ bin \\ httpd.exe -k

Ak od firewallu existuje požiadavka týkajúca sa Apache, kliknite na Povoliť.

Teraz zadajte príkazový riadok:

C: \\ Server \\ bin \\ Apache24 \\ bin \\ httpd.exe -k

A stlačte kláves Enter.


Ako meno používateľa zadajte root. Pole pre heslo nechajte prázdne. Ak sa všetko urobí správne, malo by všetko vyzerať takto:


  7. Využitie servera a zálohovanie údajov

V katalógu   c: \\ Server \\ data \\ htdocs \\   vytvárať priečinky a súbory, napríklad:

c: \\ Server \\ data \\ htdocs \\ test \\ ajax.php - tento súbor bude preto k dispozícii na adrese http: //localhost/test/ajax.php atď.

Ak chcete vytvoriť úplnú zálohu všetkých lokalít a databáz, skopírujte adresár dáta.

Pred aktualizáciou modulov zálohujte priečinky popolnice   - v prípade problémov bude ľahké vrátiť sa k predchádzajúcim verziám.

Pri preinštalovaní alebo aktualizácii servera musíte znova nakonfigurovať konfiguračné súbory. Ak máte kópie týchto súborov, proces sa môže výrazne urýchliť. Je vhodné zálohovať nasledujúce súbory:

  • c: \\ Server \\ bin \\ Apache24 \\ conf \\ httpd.conf
  • c: \\ Server \\ bin \\ mysql-5.7 \\ my.ini
  • c: \\ Server \\ bin \\ PHP \\ php.ini
  • c: \\ Server \\ data \\ htdocs \\ phpMyAdmin \\ config.inc.php

Uložia všetky nastavenia.

  8. Dodatočná konfigurácia PHP

PHP je v súčasnosti veľmi výkonný, flexibilný a ľahko použiteľný nástroj. na miestny počítač   s tým môžete vyriešiť celý rad úloh, ktoré nemusia byť nevyhnutne spojené s generovaním webových stránok. Pri riešení mimoriadnych úloh môžete naraziť na obmedzenia stanovené v nastaveniach. Tieto nastavenia sú obsiahnuté v súbore php.ini (c: \\ Server \\ bin \\ PHP \\ php.ini) Zvážte niektoré z nich:

Memory_limit \u003d 128M

nastavuje maximálne množstvo pamäte, ktoré môže skript použiť

Post_max_size \u003d 8M

nastavuje maximálne množstvo údajov, ktoré budú akceptované pri odosielaní pomocou metódy POST

   ; default_charset \u003d "UTF-8"

nastaví kódovanie (štandardne je riadok komentovaný)

Upload_max_filesize \u003d 2M

maximálna veľkosť súboru nahraného na server. Pôvodne je nastavená veľmi malá veľkosť - iba dva megabajty. Napríklad pri načítaní databázy do phpMyAdmin nebude možné načítať súbor väčší ako 2 megabajty, kým sa táto položka nastavenia nezmení.

Max_file_uploads \u003d 20

maximálny počet súborov na odovzdanie naraz

Max_execution_time \u003d 30

maximálny čas vykonávania jedného skriptu

Zmena týchto nastavení je voliteľná, ale je užitočné o nich vedieť.

  9. Dodatočná konfigurácia phpMyAdmin

Už sme nakonfigurovali phpMyAdmin a postačuje väčšina základných funkcií. Na úvodnej stránke phpMyAdmin je však nápis: „Ďalšie funkcie phpMyAdmin nie sú úplne nakonfigurované, niektoré funkcie boli zakázané.“

Nové funkcie sú:

  • zobrazujú sa vzťahy medzi (prepojenými) tabuľkami
  • pridávanie informácií o tabuľkách (od verzie 2.3.0 môžete v špeciálnej tabuľke „table_info“ opísať, ktorý stĺpec sa zobrazí v popise pri pohybe kurzora nad priradeným kľúčom);
  • vytvorenie schémy PDF (od verzie 2.3.0 môžete vytvárať stránky PDF v phpMyAdmin ukazujúce prepojenia medzi tabuľkami);
  • zobraziť komentáre stĺpcov (od verzie 2.3.0 môžete pre každú tabuľku vytvoriť komentár s popisom každého stĺpca. Budú viditeľné v „ukážke pred tlačou“. Od verzie 2.5.0 sa komentáre používajú na vlastných stránkach tabuľky av režime pohľad, zobrazujúci sa ako popisy stĺpcov (tabuľky vlastností) alebo vložené do hlavičky tabuľky v režime zobrazenia. Môžu sa tiež zobraziť v výpise tabuľky);
  • vytvárať záložky (počnúc verziou 2.2.0, phpMyAdmin umožňuje používateľom ukladať záložky. To môže byť užitočné pre často používané požiadavky);
  • história dotazov SQL (od verzie 2.5.0 si môžete ukladať históriu všetkých dotazov SQL, ktoré boli vytvorené prostredníctvom rozhrania phpMyAdmin);
  • designer (od verzie 2.10.0 je k dispozícii nástroj Designer; umožňuje vizuálne spravovať vzťahy medzi tabuľkami);
  • informácie o nedávno použitých tabuľkách;
  • nastavenie rozhrania pre často používané tabuľky;
  • sledovanie (od verzie 3.3.x je k dispozícii mechanizmus sledovania. Pomáha vám sledovať každý príkaz SQL, ktorý vykonal phpMyAdmin. Podporuje zaznamenávanie práce s údajmi a písanie príkazov. Po zapnutí môžete vytvárať verzie tabuliek);
  • užívateľské nastavenia (od verzie 3.4.x, phpMyAdmin umožňuje užívateľom zadať väčšinu nastavení a uložiť ich do databázy);
  • prispôsobiteľné ponuky (od verzie 4.1.0 môžete vytvárať skupiny používateľov, ktorým budú k dispozícii iba priradené položky ponuky. Používateľ môže byť definovaný v skupine a budú vidieť iba položky ponuky dostupné pre svoju skupinu);
  • skryť / zobraziť položky navigácie (od verzie 4.1.0 môžete skryť / zobraziť položky v navigačnom strome).
  • a ďalšie

Teraz budeme tieto ďalšie funkcie plne konfigurovať. Kliknite na odkaz http: //localhost/phpmyadmin/chk_rel.php   a kliknite na „Vytvoriť databázu“. Potom sa aktivujú všetky nové funkcie.

Niekoľko snímok nových funkcií:

1) Dizajnér


2) Sledovanie


  10. Inštalácia korešpondencie pošty

V adresári C: \\ Server \\ bin \\ vytvorte nový adresár s názvom Sendmail. Teraz v tomto adresári vytvorte súbor sendmail.php s nasledujúcim obsahom:

   #! / usr / bin / env php

Otvorte konfiguračný súbor PHP, ktorý sa nachádza tu C: \\ Server \\ bin \\ PHP \\ php.ini, A tam pridajte jeden riadok:

Sendmail_path \u003d "C: \\ Server \\ bin \\ PHP \\ php.exe C: \\ Server \\ bin \\ Sendmail \\ sendmail.php - adresár C: \\ Server \\ bin \\ Sendmail \\ emails

Uložte súbor a reštartujte server. Skvelé, všetky odoslané listy sa teraz uložia do adresára C: \\ Server \\ bin \\ Sendmail \\ emails \\


Písmená budú mať príponu EML   a môže ich otvoriť napríklad program buřňák, Alebo bežný textový editor.

  11. Pridanie PHP adresárov do PATH na Windows

Ak to neurobíte, môžu sa vyskytnúť problémy s niektorými modulmi PHP vrátane php_curl.dll, php_intl.dll, php_ldap.dll, php_pdo_pgsql.dll a php_pgsql.dll. Aspoň pri spustení servera sa v protokoloch zakaždým objaví toto:

Upozornenie PHP: Spúšťanie PHP: Nie je možné načítať dynamickú knižnicu "C: \\\\ Server \\\\ bin \\\\ PHP \\\\ ext \\\\ php_curl.dll" - \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xef \\ "- \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xbf \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd. \\ r \\ n in Neznámy na riadku 0 PHP Varovanie: Spustenie PHP: Nie je možné načítať dynamickú knižnicu " C: \\\\ Server \\\\ bin \\\\ PHP \\\\ ext \\\\ php_ldap.dll "- \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ d \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ .dll "- \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd. \\ r \\ n in Unknown on line 0 PHP Varovanie: PHP Startup: Dynamické načítanie nie je možné načítať knižnica "C: \\\\ Server \\\\ bin \\\\ PHP \\\\ ext \\\\ php_pgsql.dll" - \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbd \\ xef \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xb \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xbd. \\ r \\ n v Neznámy na riadku 0

Ak sa chcete vyhnúť týmto varovaniam, musíte do premenných systémového prostredia pridať cestu k PHP.

Kliknite na tlačidlo Štart (alebo na čokoľvek, čo sa v systéme Windows 10 nazýva?) Zmena premenných systémového prostredia»A otvorte príslušné okno nastavení.

Kliknite na tlačidlo „ Premenné prostredia»:


V okne “ Systémové premenné»Vyhľadajte a kliknite na cesta, potom kliknite na tlačidlo „ pozmeniť»:



Zatvorte všetky okná s vykonanými zmenami.

Reštartujte server.

  12. Zastavenie prevádzky, spomalenie a / alebo chyba servera Asynchrónne AcceptEx zlyhalo

Ak váš server zamrzne aj bez načítania, nezobrazuje webové stránky, kým sa nereštartuje a chyby protokolu Asynchronous AcceptEx v protokoloch servera:

AH00455: Apache / 2.4.9 (Win64) PHP / 5.5.13 nakonfigurovaný - obnovenie normálnych operácií AH00456: Apache Lounge VC11 Server postavený: 16. marca 2014 12:42:59 AH00094: Príkazový riadok: "c: \\\\ Server \\\\ (OS 64) Zadaný názov siete už nie je k dispozícii. : AH00341: winnt_accept: Asynchrónny AcceptEx zlyhal. (OS 64) Zadaný názov siete už nie je k dispozícii. : AH00341: winnt_accept: Asynchrónny AcceptEx zlyhal. (OS 64) Zadaný názov siete už nie je k dispozícii. : AH00341: winnt_accept: Asynchrónny AcceptEx zlyhal. (OS 64) Zadaný názov siete už nie je k dispozícii. : AH00341: winnt_accept: Asynchrónny AcceptEx zlyhal. (OS 64) Zadaný názov siete už nie je k dispozícii. : AH00341: winnt_accept: Asynchrónny AcceptEx zlyhal. (OS 64) Zadaný názov siete už nie je k dispozícii. : AH00341: winnt_accept: Asynchrónny AcceptEx zlyhal.

Potom do konfiguračného súboru Apache pridajte:

AcceptFilter http žiadne AcceptFilter https žiadne EnableSendfile vypnuté EnableMMAP vypnuté

  13. Odstránenie servera

Zastavte služby a odstráňte ich zo spustenia postupným vykonaním nasledujúcich príkazov na príkazovom riadku:

C: \\ Server \\ bin \\ Apache24 \\ bin \\ httpd.exe -k stop c: \\ Server \\ bin \\ Apache24 \\ bin \\ httpd.exe -k odinštalujte net stop mysql c: \\ Server \\ bin \\ mysql-5.7 \\ bin \\ Vymažte súbory servera, ak to chcete, vymažte priečinok

C: \\ Server \\ Pozor, odstránia sa tým všetky databázy a vaše stránky..   14. Nič pre mňa nefunguje.

PRED PRIPOJENÍM PRIPOMIENKY

(PREČÍTAJTE POVINNÉ) 1. Ak pre vás niečo nefunguje, je to len na vás, nie na pokynoch. Táto inštrukcia je staršia ako 5 rokov (bola napísaná pre iné miesto), odvtedy je pravidelne aktualizovaná a opätovne kontrolovaná na strojoch s rôznymi konfiguráciami. Po celú dobu ju videli niekoľko stotisíc ľudí. Pre väčšinu všetko funguje.:

2. Z pokynov nemôžete ustúpiť: ak sa rozhodnete nainštalovať ho na iný disk, neaktivovať žiadne moduly, neinštalovať redistribuovateľnú súčasť Visual C ++ pre Visual Studio atď. a nefunguje to pre vás, potom je to presne ten pravý bod a netreba tu klásť otázky „prečo to nefunguje“? Preto to nefunguje.

3. Vzácna chyba súvisí so skutočnosťou, že niektorý iný program už počúva na porte 80. Ak chcete zistiť, či je port 80 už obsadený, postupujte takto:

{!LANG-e23b5f98cee8c9fe187e665df88ecfd9!}

1) stlačte kombináciu klávesov WIN + x

2) zo zoznamu, ktorý sa otvorí, vyberte príkaz „Príkazový riadok (správca)“

3) tam:

Pre / f "tokeny \u003d 1,2,3,4,5 *"% i in ("netstat -aon ^ | findstr": 80 "^ | findstr / i počúvanie") do echo% j% l & @tasklist | findstr% m

Ak už nejaký program visí na 80. porte, uvidíte ho.

4. Ak ste spustili inštaláciu podľa niektorých ďalších pokynov, niečo tam neprišlo, prišlo sem a pokračovalo v tomto a potom nič nefunguje, potom svoju otázku presmerujte autorovi inej inštrukcie. Alebo vymažte všetko a začnite znova pomocou tejto príručky. Otázky sa prijímajú iba od tých, ktorí urobili všetko podľa vyššie uvedených pokynov. Mimochodom, potom tu nebudú žiadne chyby ani otázky.

5. Pozorne si prečítajte súbory, ktoré sťahujete. VEĽMI POZORNE. Apache z apachelounge.com a Apache z httpd.apache.org sú veľmi odlišné (pokiaľ ide o spustiteľné súbory). Verzia Apache Lounge bola vybraná z nejakého dôvodu - existujú vážne dôvody. Všetko v tejto príručke nie je len ...

Stránka na stiahnutie PHP má 12 verzií! A 24 súborov na stiahnutie !!! Pozorne si prečítajte odporúčanie na stiahnutie súboru.

6. Ak chcete nainštalovať do iného priečinka a dúfate, že všetko funguje, neočakávajte, nebude to fungovať. Najnáročnejší sa snažia „zmeniť“ konfiguračné súbory na cestách. Tí, ktorým niečo uniklo, napíš sem, že „nefunguje“. Buď nič nemeníte alebo tu nepíšete o svojich problémoch.

7. Nepracuje v systéme Windows XP, nikdy nebude fungovať a nikto vám nepomôže. Osviežte sa nakoniec - nebuďte nekrofágmi.

8. Čo mám robiť, ak urobím všetko podľa pokynov a server stále nefunguje?

1) Začnite tým, že to urobíte znova, s čerstvou mysľou. Už ma nebaví odpovedať v situácii, že 99% chýb súvisí iba so skutočnosťou, že niekto niekde prehliadol alebo sa rozhodol robiť „lepšie“, „vlastným spôsobom“.

2) Ak to tak nie je, opíšte čo najviac svoju chybu - čo to je. Ak sa po vašom komentári potrebujem opýtať: „v akej chybe, v čom sa prejavuje?“, Potom bude taký komentár jednoducho vymazaný.

3) Zoznam obsahu súboru C: \\ Server \\ bin \\ Apache24 \\ logs \\ error.log, Nemusíte ho meniť, orezávať, vyberať „potrebné“, prekladať atď. Zistím to sám. Ak je súbor veľký, nahrajte ho do služby hostenia súborov.

9. Ak všetko ostatné zlyhá, jednoducho to berte za samozrejmé: nie každý môže preskočiť 2 metre, nie každý má rovné zbrane, vyrastie zo správneho miesta a má dostatočnú starostlivosť, aby si nainštaloval webový server sám ... Pozerajte sa na mnoho hotových zostáv ...

10. Ak ste urobili všetko presne podľa pokynov, ale vyskytla sa chyba, určite sa vám pokúsim pomôcť prísť na problém, ak podniknete nasledujúce kroky (na jednom pracovnom mieste naraz, a nie tak, aby som vás požiadal viackrát):

  • Podrobne opíšte svoj problém a uveďte chybové správy.
  • Spustite na príkazovom riadku
  strom C: \\ Server\u003e C: \\ Server \\ tree.txt

Súbor tree.txt sa zobrazí v adresári C: \\ Server.

O webovom serveri sme už hovorili dosť, je čas, aby sme ho nainštalovali a vyskúšali. Existuje zavedený zoznam najbežnejších webových serverov, pri výbere sa zohľadňujú konkrétne úlohy, na ktoré je nasadený. Zastavme sa na bezplatnom webovom serveri Apache. Považujem ho za ideálny pre vstupné a prechodné stránky. Samozrejme, môžete ísť ľahkou cestou - nainštalovať hotovú kombináciu Denweru, ako väčšina začiatočníkov, ale v našom prípade sú okrem výsledku dôležité aj teoretické znalosti. A po dnešnej lekcii sa vaše schopnosti určite zvýšia :)

Prejdeme na stránku na stiahnutie projektu - http://httpd.apache.org/download.cgi a stiahneme si najnovšiu stabilnú verziu pre Windows ako inštalátor MSI (v mojom prípade to bol apache_2.2.14-win32-x86-no_ssl.msi). Začnime inštaláciu. Prvý dialóg, ktorý nás môže priviesť na scénu, je dialógové okno na zadanie informácií o serveri:

Po inštalácii nakonfigurujeme náš server, teraz však neberieme parný kúpeľ a do polí „Network Domain“ a „Server Name“ localhost a do poľa „E-mailová adresa správcu“ zadajte svoju e-mailovú adresu (o tom, čo localhost, budeme hovoriť neskôr). Nedotkneme sa spodných prepínačov, klikneme na tlačidlo „Ďalej“, opäť súhlasíme s typickou inštaláciou a potom na tlačidlo „Ďalej“. Inštalátor vám ponúkne výber adresára, do ktorého sa bude webový server nainštalovať:


Cesta je podľa môjho názoru príliš dlhá, skrátime ju C: \\ Program Files \\ Apache, Pokračujeme v inštalácii, čakáme na jej dokončenie. Po zatvorení inštalátora sa na paneli objaví ikona monitora Apache:

Tento nástroj umožňuje spustiť, zastaviť, reštartovať náš webový server a zistiť jeho stav. Samotný Apache bol nainštalovaný ako služba, ktorá sa automaticky spustí po zavedení počítača:


Teraz si pripomeňme, o čom sme hovorili v článku. Ako si pamätáte, každý počítač pripojený k sieti má svoju vlastnú adresu IP. Ale aj keď váš počítač nemá jediné sieťové pripojenie, má aspoň jednu internú adresu IP. Táto adresa je 127.0.0.1 , Na všetkých počítačoch je to rovnaké a odkazuje na samotný počítač. To znamená, že ak sieťová klientska aplikácia špecifikuje adresu servera 127.0.0.1, potom sa klient pokúsi pripojiť k serveru umiestnenému vo vašom počítači. Ďalej sme hovorili o názvoch domén, ktoré DNS servery prekladajú na IP adresy. Interná adresa 127.0.0.1 má svoj vlastný interný názov domény - localhost, Ak však chcete previesť toto meno na adresu, počítač nemusí pristupovať k serveru DNS, pretože táto korešpondencia je zabudovaná v samotnom počítači.

Spustíme webový prehľadávač a do panela s adresou zadajte doménu localhost:


Dúfam, že pochopíte, čo sa stalo? Doména localhost bola konvertovaná na IP adresu 127.0.0.1, webový prehliadač pripojený k webovému serveru na tejto adrese a portu 80 a požiadal o hlavnú stránku pomocou protokolu HTTP. To znamená, že náš webový server funguje, do prehliadača odoslal stránku s nápisom „Funguje to“.

Zostavme náš webový server, ktorý sa scvrkáva na úpravu konfiguračných súborov Apache. Najprv musíte získať praktický, praktický a zároveň jednoduchý textový editor. Ak už nejaký máte, chcem zablahoželať, ak ste nešťastným používateľom programu Poznámkový blok, môžem ponúknuť editora. Prejdite do priečinka C: \\ Program Files \\ Apache \\ conf   a premenujte súbor httpd.conf   v httpd.conf.bakaby bola k dispozícii počiatočná konfigurácia. Vytvorte nový súbor httpd.conf   s nasledujúcim obsahom:

ServerRoot "C: / Program Files / Apache" Počúvajte 80 LoadModule actions_module modulov / mod_actions.so LoadModule alias_module modulov / mod_alias.so LoadModule asis_module modulov / mod_asis.so LoadModule auth_basic_module modulov / mod_auth_basic.so /mod_authn_file.so LoadModule authz_default_module modules / mod_authz_default.so LoadModule authz_groupfile_module modules / mod_authz_groupfile.so LoadModule authz_host_module modules / mod_authz_host.so LoadModule authz_user_module modules / mod_authz_user.so LoadModule autoindex_module modules / mod_autoindex.so LoadModule cgi_module modules / mod_cgi.so LoadModule dir_module modules / mod_dir.so LoadModule moduly env_module / mod_env.so LoadModule zahŕňajú moduly modulov / mod_include.so LoadModule moduly isapi_module / mod_isapi.so LoadModule moduly log_config_module / mod_log_config.so moduly modulov mime_module _negotiation.so LoadModule rewrite_module modules / mod_rewrite.so LoadModule setenvif_module modules / mod_setenvif.so ServerName localhost AccessFileName .htaccess ServerTokens prod LogLevel error ErrorLog "logs / error.log" DefaultType text / plain AddDefaultCharset UT    DirectoryIndex index.html    Objednávka povoliť, odmietnuť odmietnuť od všetkých spokojných všetkých    TypesConfig conf / mime.types AddType application / x-compress .Z AddType application / x-gzip .gz .tgz    LogFormat "\\ nclient \u003d% h \\ ntime \u003d% (% d.% M.% Y% H:% M:% S) t \\ npage \u003d% U% q \\ nreferer \u003d% (sprostredkovateľ) i \\ nreqmethod \u003d% m \\ nhost \u003d% (Host) i \\ nagent \u003d% (User-agent) i \\ n \\ n "mylog

Rozumieme. ServerRoot   - Cesta, na ktorej je nainštalovaný náš webový server. Venujte pozornosť lomkám. Listern   - uveďte číslo portu, ktorý bude webový server „počúvať“, a prípadne aj IP adresu (ak má váš počítač niekoľko pripojení a musíte akceptovať pripojenia iba na jednom z nich). Zadali sme port 80, ktorý je štandardom pre webové servery. LoadModule   načíta modul webového servera; moduly poskytujú ďalšie možnosti. Náš konfiguračný súbor obsahuje zoznam štandardných modulov. AddDefaultCharset   - predvolené kódovanie nastavené na Unicode (UTF-8). Zvyšok sa nás veľmi netrápi.

A teraz najdôležitejšia vec. Nezabudnite, prečo inštalujeme webový server? Správne, pre prácu na našich budúcich stránkach. Existuje koncept koreňový adresár - Toto je adresár, v ktorom sa nachádza obsah stránky, to znamená súbory, z ktorých pozostáva. Predvolený koreňový adresár v našom adresári Apache je , Tam nájdete len jeden súbor s názvom index.html, Je to rovnaký súbor, ktorý obsahuje hlavnú stránku s textom „Funguje to“ na stránke http: // localhost, Faktom je, že ak žiadosť (ktorá sa mimochodom nazýva url) neobsahuje názov súboru, potom webový server hľadá súbor s jedným zo štandardných názvov. Tieto mená (presnejšie jedno meno - index.html) sú registrované v našom konfiguračnom súbore:

   DirectoryIndex index.html

Tak, na požiadanie http: // localhost   webový server vyhľadá súbor C: \\ Program Files \\ Apache \\ htdocs \\ index.htmlna požiadanie http: // localhost / docs - C: \\ Program Files \\ Apache \\ htdocs \\ docs \\ index.html   (V prípade, docs   - priečinok), na požiadanie http: //localhost/news.html - C: \\ Program Files \\ Apache \\ htdocs \\ news.html   a tak ďalej.

Pri vytváraní webu je vhodné mať jednu, ale povedzme tri miestne domény (umiestnené na lokálnom počítači), na ktorých môžete nezávisle testovať svoje stránky. Apache vám umožňuje obsluhovať viac stránok, to znamená, že nemusíte inštalovať svoju vlastnú kópiu webového servera pre každú doménu (okrem toho si pamätáme, že na počítači na konkrétnom porte môže bežať iba jedna serverová aplikácia). Viacero doménových mien sa môže vzťahovať na tú istú IP adresu. Apache môže zase v závislosti od názvu domény prenášaného v požiadavke HTTP (nezabudnite na parameter Host, článok „Zásady fungovania webového servera“) vyhľadávať súbory v konkrétnom koreňovom adresári. Táto technológia sa nazýva virtuálny hostiteľ.

Localhost teda zodpovedá adrese 127.0.0.1, vytvorme teda ďalšie tri interné domény test-domain1, test-domain2 a test-domain3, ktoré budú zodpovedať rovnakej adrese. Otvorte súbor v textovom editore C: \\ WINDOWS \\ system32 \\ drivers \\ etc \\ hosts, V tomto súbore môžete nastaviť korešpondenciu názvov domén a IP adries. Tu nájdeme adresu localhostu 127.0.0.1. Na koniec súboru pridajte riadky:

127.0.0.1 testovacia doména1 127.0.0.1 testovacia doména2 127.0.0.1 testovacia doména3

Pred prístupom na server DNS sa v tomto súbore vyhľadá zhoda a ak je úspešný, hovor sa zruší a použije sa nájdená adresa.

Ďalším krokom je, aby každý názov domény vytvoril svoj vlastný koreňový adresár a informoval o tom náš webový server. Odstrániť v priečinku C: \\ Program Files \\ Apache \\ htdocs   súbor index.html   a vytvorte tam tri priečinky: test-domain1, test-DOMAIN2   a test-DOMAIN3, v každom z týchto priečinkov priečinok log   - pre denníky a priečinky www   - v skutočnosti koreňový adresár pre doménu. Na konci súboru C: \\ Program Files \\ Apache \\ conf \\ httpd.conf   pridávame nasledovné:

MenoVirtualHost *: 80    ServerName test-domain1 DocumentRoot "C: / Program Files / Apache / htdocs / test-domain1 / www" ErrorLog "C: / Program Files / Apache / htdocs / test-domain1 / log / error.log" CustomLog "C: / Program Súbory / Apache / htdocs / test-domain1 / log / access.log "mylog    ServerName test-domain2 DocumentRoot "C: / Program Files / Apache / htdocs / test-domain2 / www" ErrorLog "C: / Program Files / Apache / htdocs / test-domain2 / log / error.log" CustomLog "C: / Program Súbory / Apache / htdocs / test-domain2 / log / access.log "mylog    AllowOverride All Options -Indexes    ServerName test-domain3 DocumentRoot "C: / Program Files / Apache / htdocs / test-domain3 / www" ErrorLog "C: / Program Files / Apache / htdocs / test-domain3 / log / error.log" CustomLog "C: / Program Súbory / Apache / htdocs / test-domain3 / log / access.log "mylog    AllowOverride All Options -Indexes

Tri bloky VirtualHost   popíšte našich troch virtuálnych hostiteľov. Každý z nich má svoj vlastný koreňový adresár - DocumentRoot, cesta k protokolu chýb je ErrorLog   a prístupový denník - CustomLog.

V koreňovom adresári každej domény vytvorte súbor index.html   s obsahom „Ahoj z testovacej domény1“, „Ahoj z testovacej domény2“ a „„ Ahoj z testovacej domény3 “. Aby sa zmeny v konfigurácii prejavili, musíte reštartovať Apache (ľavým tlačidlom myši kliknite na ikonu monitora Apache -\u003e Reštartovať) Ak nedôjde k chybám, všetko by malo fungovať:

Gratulujeme, teraz máte nakonfigurovaný webový server s tromi miestnymi hostiteľmi. Expanzia pre webmasterov :) Je čas začať sa učiť základy tvorby webových stránok.