Partea 1. Instalare.
1.1 Instalarea Apache
Apache 1.3.xx Win32 Binary (Self extracting)
Vă voi spune totul în exemplul Apache versiunea 1.3.33. Este destul de stabilă și nu au existat probleme cu instalarea și configurarea acestuia. Deși puteți descărca proaspăt de pe site. Nu este recomandat pentru a pune Apache 2. Din moment ce o grămadă de Apache 2 + PHP este cel mai experimental și problemele sale de instalare și configurare apar mult mai mult (mai ales atunci când MySQL este încă conectat).
De asemenea, vreau să risipesc o concepție greșită - Apache 2 nu este o versiune nouă a Apache 1.3, ci un proiect care este dezvoltat în paralel cu Apache 1.3. Apache 1.3 continuă să evolueze independent de versiunea 2.
1.1.1 Deci, ați descărcat Apache. Numele fișierului arată ca apache_1.3.33-win32-x86-no_src.exe. Deschideți acest fișier. Literele, cifrele sunt difuzate și, ca urmare, vedeți următoarea fereastră:
Deci, ați descărcat ceea ce aveți nevoie și acum va începe instalarea: faceți clic pe Următorul.
1.1.2 Apare o fereastră cu acordul de licență. Selectați Accept termenii din acordul de licență și faceți clic pe Următorul.
1.1.3 În fereastra următoare, faceți clic pe Următorul.
1.1.4 Acum trebuie să apară fereastra:
Primul câmp este numele de domeniu. Să spunem, scrie mysite.ru
Al doilea câmp este numele serverului. Să spunem, www.mysite.ru
Dacă utilizați serverul dvs. Web numai pentru testarea de scripturi pe computerul dvs. local - nu contează ce scrie acolo. După instalare, dacă doriți, puteți transmite aceste câmpuri.
Mai jos, faceți clic pe Executare ca serviciu pentru utilizatorii de Al.
1.1.5 În fereastra următoare, selectați Complete (Completare) și faceți clic pe Next (Următorul).
1.1.6 Acum vi se va întreba unde să punem Apache. Vă sfătuiesc, fără să mai adăugați în continuare, folderul implicit: C: \ Program Files \ Apache Group \
1.1.7 Veți fi informat că totul este pregătit pentru instalare. Faceți clic pe Instalare pentru ao porni.
1.1.8 Dacă totul a mers bine, la sfârșitul instalării veți vedea o fereastră
Faceți clic pe Finalizare. Asta e tot! Am instalat cel mai bun server web din lume - Apache!
Dar nu vă relaxați, avem încă multe de făcut. Mergeți la următorul punct:
1.2 Instalarea php
Nu descărcați "instalatorul PHP 5.x.x" - deoarece lipsesc multe dintre fișierele de care avem nevoie!
Apoi, despachetați arhiva pentru C: \ php, deși puteți dezarhiva oriunde doriți, dar în viitor, voi descrie setarea, presupunând că toate au - la fel în C: \ php.
Asta e tot, am instalat php. Dacă doriți să îl ștergeți, va fi necesar să ștergeți folderul c: \ php și nu prin instalare și eliminare. Continuați:
1.3 Instalarea perl
Acum, pentru instalarea interpretul o altă limbă populară pentru web - codificare - Perl. Pentru Win32, nu avem nevoie de un Pearl obișnuit, care a fost proiectat inițial pentru * nix - sisteme, și a compilat o versiune pentru Windows - Active Perl (deși, dacă doriți, puteți descărca sursă și compila Perl le sub Win32). Descărcarea-l pe site-ul www.activestate.com.
1.3.1 Deci, am descarcat fisierul. Arată ceva de genul ActivePerl-5.8.0.805-MSWin32-x86.msi - programul obișnuit Win - instalare. Rulați și vedeți fereastra:
1.3.2 Apare o fereastră cu acordul de licență. Selectați Accept termenii din acordul de licență și faceți clic pe Următorul.
1.3.3 Alegeți unde să puneți Perl. Vă sfătuiesc să schimbați numele directorului în C: \ usr.
Acest lucru ar trebui făcut din următorul motiv: dacă testați scripturile de pe o mașină locală, atunci cu siguranță încărcați-le pe serverul Web. Și serverele bune sunt cunoscute ca funcționând sub sistemele * nix. La începutul scriptului de perlă scrieți calea interpretului perlei. De obicei, pe server arata
#! / Usr / bin / perl. Și dacă Pearl mașină locală va fi într-un dosar, să zicem, C: \ Perl, prima linie va arata ca aceasta # / Perl, și după testarea script-uri și înainte de injectarea de server, trebuie să schimbați prima linie în toate dvs.! script-uri.
1.3.4 În fereastra următoare, faceți clic pe Următorul (nu bifați).
1.3.5 În fereastra următoare, lăsați caseta de selectare unde este și faceți clic pe Următorul.
1.3.5 Ar trebui să apară o fereastră:
Acum totul este gata pentru instalare, faceți clic pe Instalare.
1.3.6 Instalarea este finalizată. Faceți clic pe Finalizare. Citiți ajutorul și bucurați-vă - am instalat deja serverul web și interpreții celor două limbi de programare cele mai populare pe web - PHP și Perl. Dar instalarea nu sa terminat acolo.
Fiecare web - master, scrierea de proiecte serioase (și, mai devreme sau mai târziu va începe să le scrie) folosește o bază de date, și cel mai popular, comod și ușor de utilizat baza de date este, desigur, MySQL. Nu ar trebui să întârzie acest pas până la vremuri mai bune - hai să setați o dată și de a obține un web desktop complet - server cu toate clopotele și fluierele. Prin urmare, vom trece la următoarea parte:
1.4 Instalarea MySQL
În secțiunea Descărcări. Alegeți cea mai recentă versiune în Windows și descărcați. Vă voi spune în exemplul MySQL 4.1.9, deși instalarea celor mai noi nu diferă de aceasta. Distribuția este un fișier zip care trebuie să fie instalat undeva.
1.4.1 Acum, executați setup.exe. Ar trebui să apară fereastra:
1.4.2 În fereastra următoare, selectați tipul de instalare personalizată. Faceți clic pe Următorul.
1.4.3 Faceți clic pe butonul Modificare și modificați calea către C: \ Program Files \ MySQL \
1.4.4 Totul este gata pentru instalare, faceți clic pe Instalare.
1.4.5 Apare următoarea fereastră:
Selectați elementul de jos și faceți clic pe Următorul.
1.4.6. În caseta următoare, bifați și apăsați Următorul.
1.4.7 Apare fereastra Wizard Configuration.
Ei bine, ne vom configura. Faceți clic pe Următorul.
1.4.8 Selectați Configurare detaliată și faceți clic pe Următorul.
1.4.9 Selectați Developer Machine și faceți clic pe Next.
1.4.10 Selectați baza de date multifuncțională și apăsați Next.
1.4.11 Apare următoarea fereastră:
Lăsați totul ca în imagine și faceți clic pe Următorul.
1.4.12 Selectați Support Solution (DSS) / OLAP și faceți clic din nou pe Next.
1.4.13 Lăsați caseta de validare Enable TCP / IP Networking, lăsați numărul de port 3306 și apăsați Next.
1.4.14 Selectați setul standard de caractere și faceți clic pe Următorul.
1.4.15 Puneți o casetă de selectare în fața serviciului Install As Windows, lăsați numele MySQL și lansați automat MySQL Server. Deși, dacă doriți, puteți pleca, dar va continua să stea în memorie și să mănânce resurse (deși nu este mare, undeva în jurul valorii de 9 megaocteți). Personal, prefer să încep totul manual când este necesar.
1.4.16 Am pus un doc în fața Modifică setările de securitate, scrie parola root (acesta este numele administratorului în sistemele * nix), apoi confirmați în al doilea câmp și faceți clic pe Următorul.
1.4.17 Faceți clic pe Executare
1.4.18 Faceți clic pe Terminare.
Serverul MySQL pornește și se oprește cu comenzi
1.5 Concluzie la prima parte
Să facem o concluzie: am creat un set de masteriști web pentru platforma Win-platformă.
- Server-ul web Apache în sine
- Perl și interpreți PHP
- Baza de date MySQL
Acum vă puteți odihni înainte de următoarea parte a lucrării noastre cu dvs. - înființarea tuturor bine enumerate mai sus :)
Partea 2. Personalizarea.
Ei bine, am instalat cu succes totul, acum trebuie să facem ca toată lumea să lucreze una cu cealaltă. Deci:
2.1 Configurarea Apache
2.1 Configurarea Apache
2.1.1 În primul rând, căutăm o linie
DocumentRoot "C: / Fișiere program / Apache Group / Apache / htdocs" și modificați-l la DocumentRoot "C: / www / html"
Rețineți că în cale, în loc de slash-ul standard pentru versiunea Win, "" este folosit ca "-" / "direct". Acest lucru se datorează faptului că Apache a fost dezvoltat de la început sub * nix-sisteme, și peste tot "/" este folosit în loc de "".
2.1.2 Acum căutați linia
și schimbați-l la 2 linii următoare:
2.1.2 Căutați o secțiune
2.1.3 Căutarea unei linii
Ca rezultat, linia arată astfel:
Aici îi spunem serverului că fișierele cu extensii .bat. exe. cgi ar trebui considerate module cgi
2.1.4 Căutarea liniilor
Aici specificăm serverul, fișierele cu care p vor fi tratate ca SSI.
SSI (Server Side Include) - o tehnologie care vă permite să includeți în web - pagina Fișiere „externe“ (dacă alte HTML - pagina sau script în directorul cgi). Deci, puteți construi un site ca o cărămidă.
2.1.5 Nu uitați să salvați modificările din fișierul httpd.conf
Configurația generală a Apache a fost terminată. Faceți clic pe Start -> Run, tastați comanda
2.2 Configurarea legărilor Apache + PHP5
2.2.1 Copiați fișierul php5ts.dll din folderul C: \ php în directorul C: \ WINDOWS \ SYSTEM32
2.2.2 Copiați fișierul php.ini-dist din folderul C: \ php directorul C: \ Windows și redenumiți-l în php.ini, deschis în Notepad, localizați variabilele enumerate mai jos și setați valorile lor, după cum este descris mai jos:
"De fapt, din motive de securitate, de la versiunea 4.1, PHP este configurat în mod implicit, astfel încât valorile transferate să nu fie atribuite variabilelor.
Puteți obține valoarea transferată prin trimiterea la matricea corespunzătoare.
Dacă trecem metoda GET, referindu-ne la scriptul de tip de legătură
sau prin trimiterea unui formular, specificând în el metoda = "GET",
atunci toate variabilele sunt conținute în matricea $ _GET.
Dacă obținem date din formularul trimis prin metoda POST, toate câmpurile acestui formular sunt conținute în matricea $ _POST. Să presupunem că a existat un element în formă
apoi în scriptul specificat în acțiunea formei, puteți scrie echo $ _POST ['var']; și va fi afișat 1.
Prin urmare, dacă sunteți sigur că există o variabilă, dar nu o puteți găsi - căutați-o în matrice superglobale.
Același lucru este valabil și pentru variabilele serverului, cum ar fi $ REMOTE_ADDR, $ PHP_SELF. Le puteți obține accesând matricele $ _SERVER, $ _ENV sau getenv-getenv ('HTTP_REFERER');
Variabilele înregistrate în sesiune ar trebui căutate în matricea $ _SESSION.
Datele cookie sunt conținute în matricea $ _COOKIE, informațiile despre fișierele încărcate sunt în $ _FILES
Variabilele de mediu sunt în $ _ENV, și există, de asemenea, o matrice $ _REQUEST, care conține date din GET, POST și cookie.
Important! Una din funcțiile principale ale PHP este foarte utilă în căutarea variabilelor - phpinfo ()
Variabila register_globals din php.ini corespunde asignării variabilelor.
Dacă register_globals = este activată, toate datele primite de script vor fi atribuite variabilelor corespunzătoare.
Dezvoltatorii PHP recomandă insistent dezactivarea register_globals (acest mod este introdus chiar în mod implicit în toate versiunile noi) și utilizează datele primite de la utilizator numai prin trimiterea la matricele corespunzătoare.
Acest lucru se întâmplă deoarece cu register_globals = în cazul în care este ușor să crack un script scris neglijent.
Un număr mare de site-uri au fost hackate în acest fel.
În plus, register_globals = off ne obligă să folosim matrice superglobale ($ _GET, $ _POST, etc.), ceea ce contribuie la evitarea confuziei. Foarte mulți oameni, scriind o variabilă în sesiune și apoi încercând să-i schimbe valoarea, trecând-o la scenariu folosind metoda GET, mult timp nu au putut înțelege de ce nu funcționează? prin urmare
este foarte important atunci când lucrați cu sesiuni, cu orice setări (și mai ales cu register_globals = pe!) lucrați numai cu matricea $ _SESSION, așa cum este descris în secțiunea corespunzătoare.
Asta este, register_globals = off nu este cu adevărat un scop, ci un mijloc. Motivația programatorului de a scrie scripturi protejate și de a evita confuzia.
Dacă doriți să scrieți un script care nu depinde de setările register_globals și astfel protejat - variabilele trebuie să fie declarate înainte de utilizare. Aceasta este o altă inițiativă a dezvoltatorilor PHP care vizează scrierea programelor cu un nivel de eroare de raport egal cu E_ALL, în care sunt utilizate avertismente cu privire la utilizarea variabilelor nedeclarate.
Dacă nu este posibil să se modifice scriptul gata, dar trebuie să fie făcută pentru a lucra cu register_globals = off, este necesar să ne amintim că, în primul rând, că faci un potențial gaura de pe site-ul dvs., și în al doilea rând, pentru aceasta puteți utiliza extractul și import_request_variables
DAR: Folosirea acestor funcții este la fel de periculoasă!
Dacă doriți să adaptați scriptul vechi la noile reguli, executați codul în această ordine!
variabilele primite de la utilizator și apoi serverul predefinit, astfel încât primul nu a putut șterge același server.
IMPORTANT. Acest cod trebuie apelat cât mai curând posibil în scenariu. ÎNAINTE de orice cod și atribuirea variabilelor.
Pentru că este o gaură pohlesche register_globals = pe!
La urma urmei, dacă se numește după atribuirea variabilelor scriptului, hacker-ul le va înlocui cu ușurință.
Cele mai recente versiuni de PHP vă spun despre acest lucru când utilizați import_request_variables.
Și este adevărat - au trecut trei ani de la introducerea noilor reguli. Este timpul să învățați cum să scrieți scripturile în mod corect.
Dar este mai bine să folosiți variabile care nu sunt aruncate într-o grămadă, ci prin potrivirea matricelor. Mai ales dacă într-un singur script există variabile de la bucătar, din formular, din sesiune - se produce o mulțime de confuzie.
2.2.3 Noi vom configura PHP în două moduri: ca un modul Apache și ca binar CGI
2.2.3.1 Configurarea PHP ca modul Apache:
În fișierul de configurare httpd.conf Apache, adăugați:
(Deși poate fi LoadModule php5_module C :. /php/sapi/php5apache.dll depinde de PHP versiunea 5.0.3 și am acest fișier este, în primul caz.)
După ultima directivă AddModule, adăugați o linie
În interiorul blocului
În linia DirectoryIndex, trebuie să adăugați un alt index.php:
2.2.3.2 Configurarea PHP ca binar CGI:
În fișierul de configurare httpd.conf Apache, adăugați:
În interiorul blocului
Imediat dupa aceasta adaugati 2 linii:
Dacă aveți oa patra versiune de PHP, atunci în loc de ultima linie trebuie să scrieți:
În linia DirectoryIndex, trebuie să adăugați un alt index.php:
Vă sfătuiesc să instalați PHP ca un modul Apache. În caz contrar, veți pierde câteva funcții în PHP, de exemplu o funcție utilă utilă foarte utilă (). Și, în general, în opinia mea, PHP, instalat ca un modul Apache, funcționează mai stabil și mai rapid.
2.2.4 Asta este! Am configurat deja Apache și PHP. Acum să verificăm munca. Creați un fișier index.php în folderul C: \ www \ html și scrieți următoarele rânduri:
2.3 Configurarea pachetului Apache + Perl
În principiu, în secțiunea "Configurarea lucrării Apache" am stabilit deja totul. Acum rămâne doar să verificăm munca. Să scriem următorul script simplu-perl.cgi pe Perl:
Dacă vedeți inscripția "Funcționează!", Atunci chiar funcționează.).
2.4 Configurarea MySQL și PHP
2.4.1 Din directorul cu: \ php copiați fișierul libmysql.dll în C: \ windows \ system32
2.4.3 Verificați că în php.ini, linia cu locația fișierelor extensii arată astfel:
2.4.4 Legările Apache + MySQL + PHP sunt testate cu următorul script
Prin "your_password" se înțelege parola pe care ați specificat-o la instalarea MySQL (parola root)
Dacă vedeți cuvântul "Lucrări", înseamnă că am reușit să configuram operația MySQL prin PHP.
2.5 Configurarea MySQL și Perl
Aici, în principiu, nu trebuie să ajustăm nimic. Pentru a accesa baza de date, vom folosi modulul DBI. Pentru a testa activitatea Perl cu MySQL, scrieți scriptul mysql_test_perl.cgi:
Vreau să vă reamintesc că, după schimbarea oricăror fișiere de configurare, trebuie să reporniți Apache:
2.6 Concluzie la a doua parte:
Ei bine, ați învățat să instalați și să configurați un set de webmasteri geniali. Acum, puteți testa în siguranță toate scripturile de pe calculatorul de acasă.
Cu mare respect față de voi Vasily ..
și de ce nu salvez fișierul httpd. scrie: C: \ Program Files \ Apache Software Fundația \ Apache 2.2 \ conf \ httpd.conf nu poate fi creat
și nu a găsit linia #AddHandler server-parsed .shtml