Scopul lucrrii : nvarea notiunilor de baz ale cursului SGBD i pregtirea instrumentelor de lucru pentru utilizarea lor n practic, inclusiv n dezvoltarea aplicaiilor cu destinaie special n rezolvarea unor probleme concrete, ct i a aplicaiilor Web. Lucrarea consta din 2 pri, considerente teoretice i instrumente practice. Componentele au ntre ele o legtur logic i se completeaz reciproc. Lucrarea prezint materialul suport pentru celelate lucrri de laborator programate pentru cursul dat. I. PARTEA TEORETIC Baze de date si SGBD II.PARTEA PRACTIC Instalarea APACHE Instalarea PHP Instalarea MYSQL Instalarea PHPMYADMIN I. CONSIDERENTE TEORETICE
BAZE DE DATE si SGBD 1. CONCEPTE NOIUNI DE BAZ. PARTICULARITI. Distincia ntre date, informaii i cunotine Da!l! sunt definite de trei elemente: un identificator, atribute i valoare ; I"#or$a%ia este un mesaj care are caracter de noutate, altfel spus care nltur nedeterminarea (necunoaterea) i se obine n rezultatul prelucrrii datelor; Cu"o&i"%!l! reprezint informaii simple sau agregate, pe care le dobndim de-a lungul timpului, relativ la: obiecte, fenomene sau procese din lumea real. Organizarea datelor din punct de vedere informatic are 2 componente: organizarea datelor n memoria intern a calculatorului, care cuprinde structurile de tip: list, coad, stiv organizarea datelor pe memoria extern, care cuprinde structurile de tip fiier i baz de date. '. BAZ DE DATE 34 O baz de date poa! #i (!#i"i ca u" a"sa$)lu (! (a! !l!$!"ar! sau srucura!* acc!si)il! u"!i co$u"i%i (! uili+aori. Mai concret, o baz de date, este un ansamblu de fiiere intercorelate, interlegate, care conine nucleul de date necesare unui sistem informatic (aplicaie informatic). Un fiier este un ansamblu de nregistrri fizice, omogene din punct de vedere al coninutului i al prelucrrii. O nregistrare fizic este unitatea de transfer ntre memoria intern i cea extern a calculatorului. Aceasta este format din una sau mai multe nregistrri logice. O nregistrare logic este unitatea de prelucrare din punct de vedere al programului utilizator. Aceasta este format dintr-un ansamblu de cmpuri, care descriu o anumit realitate. Orice baza de date este conceputa si proiectata pe baza unui model: $o(!lul r!laio"al $o(!lul i!rar,ic $o(!lul r!%!a $o(!lul o)i!c n continuare ne vom opri doar la modelul realional. Fundamentele modelului relaional l prezin - Ta)!l!l! )i(i$!"sio"al! (relaii) legate ntre ele, care sunt determinate de structur, cheie primar, tip atribute, reguli de validare a datelor (restricii de integritate) .a. Printr-un exemplu aceste momente definitorii pot fi prezentate dup cum urmeaz: 34 -. ROLUL SGBD Care este rolul Sistemei de Gestiune a Bazelor de Date? Schema de mai jos este o prim lmurire a acestei noiuni - ,punte de legtura ntre BD, aplicaii Software specializate, administratorul BD i Utilizatori D!#. Un Sistem de Gestiune a Bazelor de Date, SGBD* constituie o interfa ntre utilizatori i BD,care permite n principal 1) crearea, 2) actualizarea i 3) consultarea acesteia. n acest context putem defini SGBD-ul ca un instrument de asamblare, codificare, aranjare, protecie i regsire a datelor n BD. /. 0UNCIILE SGBD Pri"cipal!l! #u"c%iu"i pe care le ndeplinete un SGBD sunt urmtoarele: memorarea datelor pe suportul extern prin sistemul de gestiune a fiierelor; gestiunea datelor i a legturilor dintre ele n vederea unei regsiri rapide prin intermediul sistemului de acces (SGBD intern); introducerea i extragerea datelor din / spre exterior n forma cerut de utilizator prin intermediul SGBD-ului extern. 1. OBIECTI2ELE DE BAZ ALE UNEI BD O)i!ci3!l! #u"(a$!"al! al! u"!i )a+! (! (a! 4BD5 C!"rali+ar!a (a!lor c! p!r$i!: suprimarea redundanei, asigurarea unicitii nregistrrii i controlul centralizat (asupra datelor). I"(!p!"(!"%a 6"r! (a! &i pr!lucrri. Baza de date, ca imagine 34 a unei anumite realiti, trebuie actualizat permanent. Acest lucru nu trebuie s afecteze programele de prelucrare. Pentru atingerea acestui obiectiv este necesar o abstractizare a datelor memorate n BD. Astfel s-a ajuns ca astzi s existe 3 niveluri de reprezentare i percepie a unei BD: etern, conceptual i intern 7. NI2ELURI DE REPREZENTARE 8I PERCEPIE A UNEI BD 9. :ANIPULAREA DATELOR PRIN LI:BA;E DECLARATI2E 4NEPROCEDURALE5 n general, exist dou categorii de utilizatori care manipuleaz datele dintr-o BD:utilizatori interactivi care, de regul, nu sunt informaticienii i programatorii. Prima categorie, are nevoie de limbaje de interogare foarte simple, apropiate de limbajul natural, care s le permit ntr-o manier foarte simpl s-i obin informaiile de care au nevoie. Un exemplu de astfel de limbaj, care este i standardizat, este S<L (Structured <uery Language). Cea de-a doua categorie de utilizatori (programatorii de aplicaii) folosesc de regul limbaje procedurale cum sunt cele tradiionale (generaia a treia: C, COBOL, PL1, etc.), limbaje orientate obiect (C++, Java) sau limbaje din generaia a 4- a (4LG) orientate pe descrierea specificaiilor la nivel utilizator final. =. TIPURI DE BD
34 Exist mai multe tipuri de BD. n continuare prezentm doar unele din ele: cli!">s!r3!r? )a+! (! (a! (isri)ui!, consecin a distribuirii n spaii a sub-unitilor unei ntreprinderii i a facilitilor oferite de reelele extinse; )a+! (! (a! a3a"sa!: )a+! (! (a! aci3! depind de apariia unor evenimente i dac sunt ndeplinite anumite condiii; )a+! (! (a! (!(uci3!, care cupleaz un motor de inferenta; )a+! (! (a! $uli(i$!"sio"al! explorate folosind proceduri de analiz multidimensionale (O!"#$ sau proceduri de analiz statistico-matematice (Data %ining) ; Ba+! (! (a! o">li"!. ce permit accesarea bazelor de date n sisteme &nternet'&ntranet'(tranet) @. SGBD AURI. Astzi exist un numr impuntor de SGBD-uri. n continuare prezentm doar unele din ele: ACCESS /SGBD realtional, firma MICROSOFT/ MySQL /din 2010 apratine firmei, ORACLE/ DB2 /corporatia IBM pachet Sofrware din categoria SDBD/ INFORMIX / Firma IBM, pachet Sofrware din categoria SDBD destinat prelucrarii tranzactiilor online/ ORACLE / firma ORACLE, este un sistem de management de baze de date obiect-relaionale / POSTGRESQL / OPEN-SOURCE este un sistem de management de baze de date obiect-relaionale / VISUAL FOXPRO /MICROSOFT, pachet Sofrware din categoria SDBD/ .a.... 1B. ACCESUL LA BAZE DE DATE a. Aplicaii SPFTWARE, adic obinute prin utilizarea pacetelor So!t"are directe cum ar !i de e#emplu, Delphy, C#, C++, Oracle, Informix, Acces, DBASE, CLIPER, Visual FoxPro s.a., care realizeaz interaciunea cu BD (MySQL, PostgreSQL, Access, Oracle i altele). b. Aplicaii WE$ 34 Aplicatiile Web (statice si dinamice) reprezinta in general site-uri Web complexe, interactive, care utilizeaza facilitatile oferite de limba%ele de &cripting (PHP, ASP, JSP, ColdFusion, Perl) si bazele de date (MySQL, PostgreSQL, Access, Oracle). Cele mai intalnite aplicatii Web dinamice sunt: portalurile, formularele, magazinele virtuale, forumurile. In dezvoltarea acestora este necesara o permanenta comunicare cu diverse baze de date. Astfel exista diverse metode de extragere a informatiilor din bazele de date si vizualizarea ulterioara a lor in pagini HTML. Pentru aceasta este necesara existenta urmatoarelor tehnologii: S!r3!r C!). soft care permite stocarea si livrarea aplicatiilor Web in exterior (Internet); Sis!$ (! G!siu"! Ba+! (! Da! 4SGBD5. care va stoca informatia pentru aplicatiile Web; Li$)aD! (! scripi"E. folosite in scrierea programelor (scripturilor) care permit vizualizarea continutului din tabelele bazei de date a aplicatiilor Web. Pentru a prelucra informatii din baza de date in diverse aplicatii Web e nevoie sa avem acces la niste informatii legate de aceasta. Astfel trebuie sa avem la dispozitie cel putin urmatoarele lucruri: U" $o( (! au!"i#icar! la )a+a (! (a! (server,user,parola); I"#or$aii l!Ea! (! caaloEul )a+!i (! (a!. Accesul la catalogul bazei de date este asigurat (la majoritatea SGBD- urilor) de un mijloc de acces numit INFORMATION_SCHEMA, ce contine informatii legate de: Tabelele bazei de date; Constrangeri asupra tabelelor bazei de date; Acces la inregistrarile acestor tabele; Informatii legate de campurile tabelelor (tip, lungime, cheie primara etc.) I" #u"ci! (! li$)aDul uili+a a3!$ "!3oi! sa>i si$ ar,i!cura (realizarea conexiunii la baza de date, alte utilitare pentru functionarea corecta a limbajului). In extragerea informatiilor in pagini HTML nu trebuie sa ignoram, de asemenea, din calcul diferentele dintre browser-ele intre care exista in unele cazuri diferente majore. Pentru realizarea aplicaiilor web avem nevoie de 2 tipuri de limbaje : li$)aD! (! proEra$ar! p! par!a Cli!"ului li$)aD! (! proEra$ar! p! par!a S!r3!rului. ' Pe partea SER(ER)*)+ * Atunci cnd un utilizator face o cerere pentru o pagin Web (aceasta 34 trece la ea printr-un link de adres sau printr-o ntroducere a acestei adrese concrete n )ara (! a(r!s! a )roFs!r>ului), atunci pagina Web indicat/adresat se prelucreaz pe serverul Web, pe care se execut toate script-urile asociate cu pagina dat, dup ce se intoarce la utilizator, sub forma unui simplu document HTML (Aceasta nseamn c utilizatorul nu mai poate vedea codul script-ului). Executarea script-urilor este total dependent de serverul care gzduiete site-ul adresat, i de aceea, ce versiune a unei sau altei limbaj de programare este acceptat de serverul ce gzduiete pagina Web. Printre limbajele de programare de pe servere vom meiona PGP (PHP: Hypertext Preprocessor) (www.php.net), P!rl (www.perl.com), SSI (Server Side Include). ' Pe partea C*+E,T-ului-. Dup cum sugereaz i numele, aceste limbaje pe partea clientului sunt prelucrate dinspre client, or dac mai simplu - programul cu privire la prelucrarea codului scriptului prezentat n limbajul clientului se prelucreaz cu ajutorul browser-ului. Acest Cod poate fi vizualizat n Browser prin optiunea ,sursa iniial. Cel mai rspndit limbaj este .a/aScript (avem nevoie de browser-ul Netscape Navigator). Mai este si un alt limbaj - (i&ual$a&icScript. In general avem nevoie de a cunoate browser-ile Internet Explorer, Opera, Mozilla s.a. Extragerea informatiilor dintr-o baza de date si prelucrarea lor in pagini HTML presupune existenta unor limbaje (asa numitele limbaje de scripting) cum sunt: PHP, JSP, .NET, Javascript, VB, C#. Sintaxa, precum si resursele necesare difera de la unul la celalalt. Utilizarea acestora in majoritatea aplicatiile web a impus existenta unei arhitecturi, formata din: browser Web; Internet; server Web; server de baze de date; interpretor PHP (daca de exemplu este utilizat acest limbaj). 34 In momentul in care utilizatorul acceseaza o astfel de pagina Web, prin intermediul unui browser Web, se transmite o cerere HTTP catre serverul Web. Daca serverul Web identifica tipul paginii ca fiind .p,p (,ot 0 am considerat ca exemplu pagini .p,p), atunci pagina este trimisa interpretorului PHP. Dupa interpretare, rezulta o pagina care contine cod HTML (si eventual JavaScript), care va fi returnata serverului Web. Sripturile PHP, ce contin cereri SQL, vor fi adresate serverului de baze de date (MySQL in exemplul curent). Ce e&te un &er/er 1 n contextul celor expuse mai sus, prezentm cteva definiii ale noiunii vizate. D!# . server-ul este PC-ul care stocheaz site-ul pe care intenionm s-l accesm i programul care se ocup de cererile de la browser-ul utilizatorului la orice pagin Web. 2e!0 3W+4+3. +n te,nologia informaiei, un &er/er este un program de aplicaie care furnizeaz ser-icii altor aplicaii .numite aplicaii client$, aflate pe acelai calculator sau pe calculatoare diferite) De obicei, aplicaia ser-er ateapt coneiuni din partea aplicaiilor client) Se mai numete &er/er i calculatorul pe care ruleaz una sau mai multe asemenea aplicaii) Deseori soluia pentru mari aplicaii cu muli utilizatori se bazeaz tocmai pe aritectura client-&er/er, care const din cel puin / aplicaii .i deseori cel puin / computere$) "proape toat structura &nternetului se bazeaz pe modelul de client- &er/er. %ulte milioane de ser-ere din toat lumea sunt conectate la &nternet i ruleaz continuu) %a0oritatea ser-iciilor oferite pe &nternet ruleaz pe ser-ere1 2eb3 Domain 4ame S5stem3 e-mail sau pot electronic3 FTP sau transfer de fiiere3 in&tant me&&aging sau mesagerie instant3 fiiere audio i -ideo3 0ocuri )a)m)d) #entru orice 34 aciune care este iniiat de un utilizator al &nternetului, unul sau mai multe ser-ere interacioneaz cu utilizatorul precum i ntre ele) 11. Ar,i!cura Cli!">S!r3!r Aceste arhitecturi se fondeaz, n esen, pe un dialog ntre dou categorii de entiti, entitatea Client (care interogheaz baza de date) i respectiv entitatea Ser/er (care gestioneaz baza de date), dispuse ntr- o reea de calculatoare. Cli!"ul - este entitatea care asigur interfaa cu utilizatorul, lanseaz cereri de executare a unor operaii ctre o entitate ser-er i se ocup de punerea ntr-o anumit form a datelor primite de la server n urma executrii operaiei. S!r3!rul - este entitatea care recepioneaz, interpreteaz i eecut cererile (operaiile) lansate de clieni. De asemenea, el furnizeaz rspunsul ctre client. Cele dou entiti se pot regsi sub form de calculatoare diferite, sau pot convieui pe acelai calculator. n aceast din urm situaie, calculatorul trebuie s aib instalat un sistem de operare multi-proces, cele dou entiti menionate regsindu-se sub form de procese distincte. Un client poate s efectueze cereri ctre mai multe servere, iar un server poate satisface cererile lansate de mai muli clieni. Cli!" s!r3!r CEB Odat cu apariia web-ului, arhitecturile client server au evoluat de la o arhitectur pe dou niveluri la o arhitectur pe trei niveluri: Ni3!lul CLIENT - este nivelul care permite unui utilizator comunicarea cu o baz de date prin intermediul WEB-ului. Aceast comunicare se manifest la acest nivel, prin interfaa pus la dispoziia utilizatorului de ctre un navigator (browser) WEB (client server de prezentare). Tot la acest nivel se poate vorbi n afar de partea de interfa i de o parte de aplicaie, sub forma unor programe (scripturi) 34 care pot fi executate de programul browser (scripturi JavaScript, VBScript, etc.). Ni3!lul APLICAIE - conine partea de aplicaii cea mai important din acest ansamblu. Pe acest nivel avem server-ul WEB, care prin intermediul protocolului HTTP, preia cererile venite de pe nivelul client, le proceseaz i le poate transmite mai departe ctre o alt aplicaie, aceasta transmind aceste cereri ctre SGBD, adic pe nivelul date. Server-ul WEB i celelalte aplicaii de pe acest nivel pot fi gzduite pe aceeai main sau pe maini diferite. Exemplu: un utilizator efectueaz o comand dintr-o pagin WEB (care poate conine pe lng tag-uri HTML i cod JavaScript sau VBScript pentru validri de date), comanda fiind preluat de server-ul WEB, care transmite datele mai departe interfeei ODBC, aceasta din urm transmind datele ctre o baz de date Access 2000. Ni3!lul DATE - Pe acest nivel este sistemul de gestiune a bazelor de date, de preferat a fi un SGBD care suport tipuri de date complexe de genul celor vehiculate pe WEB: text, imagini, secvene video, sunet, etc Din punct de vedere al calculatoarelor care gzduiesc aceste nivele, nivelul aplicaie i nivelul date pot convieui pe acelai calculator (cu un sistem de operare adecvat), dar pot fi instalate i pe calculatoare diferite. De asemenea, exist i posibilitatea accesrii unei bazei de date prin intermediul paginilor WEB de pe aceeai main unde se afl server- ul WEB i baza de date, caz n care toate cele trei nivele se regsesc pe 34 acelai computer. n arhitectura client server WEB, o baz de date poate fi pus la dispoziia unui numr mare de utilizatori din Internet sau dintr- o reea local, n configuraii ct se poate de eterogene. La rndul su, un utilizator poate accesa prin intermediul unei pagini WEB, mai multe baze de date localizate pe mai multe servere, caz n care avem de-a face cu o arhitectur client-multiserver. Un proEra$ s!r3!r, este un program instalat pe o $a&i"a s!r3!r* care ruleaza non-stop "n ateptare i "ascult cererile de la clieni (de obicei cererile vin de la utilizatori prin intermediul unei reele). Cnd apare o cerere de la un client, programul server execut instruciunile i ntoarce un rspuns clientului care a fcut cererea. Exemple de programe server care se folosesc uzual (cteodata fra s contientizai) sunt: 1. Ser/er "eb (va conectai la el prin intermediul browserului i v deservete paginile web pe care le vedei) Apace 5TTP Ser/er "pac,e 677# Ser-er .also referred to as simpl5 8"pac,e8$ ,as, at t,e time of writing, been t,e most popular web ser-er on t,e web since 9::;) "pac,e is de-eloped and maintained b5 t,e "pac,e Software <oundation, w,ic, consists of a decentralized team of de-elopers) 7,e software is produced under t,e "pac,e licence, w,ic, ma=es it free and open source) "pac,e is a-ailable for a range of operating s5stems, including Uni, !inu, 4o-ell 4etware, 2indows, %ac OS >, Solaris, and <reeBSD) "pac,e 677# Ser-er website1 ,ttp1'',ttpd)apac,e)org 6icro&o!t +nternet +n!ormation Ser/ice& 7++S8 &&S is, at t,e time of writing, t,e second most popular web ser-er on t,e web) &t is ,owe-er, gaining mar=et s,are, and if t,e current trend continues, it won?t be long before it o-erta=es "pac,e) &&S comes as an optional component of most 2indows operating s5stems) @ou can install &&S b5 using "dd'Aemo-e 2indows Bomponents from "dd or Aemo-e #rograms in t,e Bontrol #anel) %icrosoft &&S website1 ,ttp1''www)microsoft)com'iis Sun .a/a S9&tem Web Ser/er Based on t,e Sun One 2eb Ser-er, t,e Sun Ca-a S5stem 2eb Ser-er is designed for medium to large business applications) Sun Ca-a S5stem 2eb Ser-er is a-ailable for most operating s5stems) Sun Ca-a S5stem 2eb Ser-er website1 ,ttp1''www)sun)com'software'products'webDsr-r',omeDwebDsr-r)ml 2. Ser/er e-mail (trimitei i primii mesajele de e-mail) 3. Ser/er baza de date (se ocup de stocarea i interogarea datelor) 69S:*, ACCESS, 6S S:* SER(ER, +,F;R6+<, ;RAC*E 34 P;ST=RES:* s.a. 4. Ser/er FTP (servere ce ofer acces rapid la fiiere partajate) File>illa, Cerberu& FTP Ser/er, Cru&FTP Ser/er, 2ataE#pre&& Toat structura Internet, dup cum s-a menionat mai sus, este bazat pe arhitectura client-server. Milioane de s!r3!r! deservesc zilnic miliarde de utilizatori web, utilizatori de e-mail i alte servicii mai "invizibile pentru utilizatorii simpli. Ca o co"clu+i! la cele scrise mai sus, u" s!r3!r !s! un calculator specializat, care are instalat pe el un sistem de operare, pe care ruleaz unul sau mai multe programe de tip server, create pentru a deservi i raspunde la cererile mai multor clieni (utilizatori), care apeleaz i au nevoie de acele servicii. E#i&ta aplicatii cu ajutorul carora fiecare isi poate realiza propria aplicatie web in care sa prelucreze informatii dintr-o baza de date proprie, si anume: D!"3!r S!r3!r Ca$p S!r3!r Ha$pp S!r3!r EasIPGP ;oo$la PI,o" Drupal Dr!a$Fi!3!r AppS!r3!r 2!rriEoS!r3 1'. I"sru$!"! p!"ru (!+3olar!a aplica%iilor C!) Lucrarea de fa este orientat spre punerea la punct a unui sistem de dezvoltare de aplica ii web, tehnologia avut n vedere este combina ia: Apache ca server web, interfa intre aplica ia realizat i restul lumii :ySql, ca server de baze de date PHP, Hypertext Preprocessor, ca limbaj de procesare la nivelul server ului p,p:IA($i" > una dintre cele mai bune aplicaii pentru a gestiona baze de date MySql I"salar!a PGP* :ISJl* Apac,! &i cr!ar!a l!Eurilor (i"r! !l! 34 Orientarea spre aceste aplica ii este dat de rspndirea lor, legat in primul rnd de gratuitate, transparen mai mare n dezvoltare, i maturitate a tehnologiilor, dovedit printr o istorie destul de indelungat (pentru aplica ii IT). Succesiunea ini ialelor poate fi intlnit mai ales n sintagma LA:P (L Linux, echipa de multe ori intlnit n sistemele de lucru a server elor web) dar si CA:P (C Cindows), sau pe care le vom precuta ulterior. Dei imperecherea Windows ca sistem de operare AMP ca server F!)K(a!Kaplica%ii este mai rar intlnit n cadrul sistemelor de meninere a serverelor web capabile de aplicaii (hosting) este o situaie care prezint destule avantaje pentru a fi deseori ntlnit 6" $o$!"ul (!+3olrii aplica % iilor r!sp!ci3!. n continuare, lucrarea de laborator va avea ca scop nfiarea parcursului care trebuie efectuat pentru a instala Apace, 69S?l, P5P @i pp69Admin, cu sistemul de operare Windows 2000 i a legturilor care trebuie create intre aceste aplicaii pentru a le permite conlucrarea. Alegerea sistemului de operare Windows a fost impus de faptul c, n ciuda discuiilor aprinse legate de calitate, stabilitate, eficien, etc. Windows rmne cel mai rspndit sistem de operare pe staiile de lucru, iar numrul de aplicaii (inclusiv profesionale) disponibile pentru Windows i ofer, i i vor oferi i n viitorul previzibil, un avantaj n faa altor sisteme de operare. i nu numai. Sunt i alte motive : 1. Pro!Dar!a propriului PC, atunci cind lucrm cu AMP pe Host-ul local 2. :ISJl se nva mai uor i mai profund 3. L"3%ura are un caracter asc!"(!" - S!r3!r A Da! A GT:L A PGP A p,p:Ia($i" * ceea ce implic i durabilitatea cunotinelor 4. 0or$ar!a u"or a)ili%i pentru utilizarea unor instrumente integrate de dezvoltare a aplicaiilor Web cum ar D!"F!r* CA:P* HA:PP* EasIP,p sau al!l! Partizanii Linux se vor putea consola cu faptul c sistemul lor preferat de operare vine deja cu Apache, MySql i PHP preinstalate i preconfigurate. Noi ns ne vom focusa pe acumularea de cunotine iniiale, din ce considerente vom studia 1. INSTALAREA APACGE '. INSTALAREA PGP -. INSTALAREA :MS<L /. INSTALAREA PGP:MAD:IN 34 II. INSTRU:ENTE PRACTICE INSTALAREA APACGE C! !s! Apac,!N Apache este un server HTTP de tip open source. Apache a jucat i joac un rol important n dezvoltarea aplicaiilor Web, fiind folosit n prezent n circa 50 % din paginile Web. Cuvntul ,apace este numele apailor, triburi de indieni de pe continentul american /F. Cuper. ,APACHE/. Apac,! A c!l $ai uili+a s!r3!r (i" lu$! Este unul dintre cele mai utilizate si raspandite Servere Web din lume. A fost introdus in 1995 iar numele sau deriva din "A patchy Web server (Un web ser-er neuniform). Grupul initial s-a transformat ulterior in The Apache Group. Apace 5TTP Ser/er este Open Source Software si este considerat de catre cei care il sustin ca fiind rapid, scalabil si sigur. Al!r"ai3 la Apac,! Principalul competitor al serverului Apac,! este 6icro&o!t +nternet +n!ormation Ser/ice& 7++S8, urmat de Sun .a/a S9&tem Web Ser/er al companiei Sun Microsystems i multe altele, cum ar fi >eu& Web Ser/er. Apache este folosit de unele din cele mai mari situri din lume. Astfel, motorul de cutare folosit de GooEl! folosete o versiune modificat de Apache numit Google Web Server (GWS); i proiectele Wikimedia inclusiv Wikipedia ruleaz tot pe un server Apache. I"salar!a Apac,!. Pentru a instala serverul Apache, executai paii ce urmeaz: 1. Utilizai kit-ul de instalare apac,!O'.'./>Fi"-'>P=7>"oOssl /,ot0 il putei gsi i singuri pe www.apache.org, este un produs multi platform - Windows, Linux, si alte sisteme Unix/. '. Doublu click pe "apac,!O'.'./>Fi"-'>P=7>"oOssl.$si", i dac vi se solicit, facei i un clic pe ,Run. 34 -. Va aprea rmtorul expert de instalare: Tasa%i QN!PQR /. Pagina urmtoare conine termenii acordului. Selectai "I Accept . i #ac!%i clic p! SN!PTR 1. Citii informaia despre Serverul Apache de pe urmtorul ecran, &i asa%i QN!PQR 34 7. Urmtorul ecran v va solicita s definii informaii specifice despre serverul Apache. Selectai valorile prezentate de mai jos i asa%i SN!PTR 9. n urmtorul ecran selectai "TIpicalQ i asa%i QN!PQR =. Iari asa%i QN!PQR* lsnd directoriul definit prin default. 34 No. Dac pe PC este instalat Ci"(oFs 2isaK9, fr drepturi ale administratorului, atunci instalarea e mai bine sa fie plasat n mapa U.VUs!rsVPu)licVSER2ERVApac,!. Dac nu se va proceda astfel, ar putea s apar unele probleme n timpul exploatrii. @. Tas$ QI"sallQ. 1B. Dac instalarea a decurs corect, atunci vom obine urmtoarea fereastr R!$arc. n caz de apar anumite probleme, verificai dac portul 80 nu este ocupat de alte aplicaii. De regul sub acest port este instalat Skyp- ul. Astfel de situaii se pot ntmpla foarte rar, deoarece este cunoscut c porturile 80, 8080 sunt repartizate pentru serverul Apache, iar pentru MySQL, sunt determinate porturile cu numerele din intervalul --B7 A --B=. Verificarea listei alocrilor porturilor se se efectuiaz urmnd paii: Deschidei fereastra Run... (start, run.. sau tastai Ci"WR) i n cimpul de lucru selectai c$(; n fereastra consol selectai comanda "!sa >a"; 34 urmrii cu atenie lista repartizrii porturilor dup adresele IP; 11. EPis r!i $o(ali%i (! a 6"c!p! lucrul K a la"sa 6" lucru s!r3!rul Apac,! : Ca serviciu al Windows-ului; Prin monitorul Apache; Din linia de comand; Prima 3Ca &er/iciu al Windo"&-ului30 Lista serviciilor se lanseaz cu comanda Sar > Co"rol Pa"!l > A($i"israi3! Tools A S!r3ic!s. n rezultat se obine fereastra cu serviciile Windows-lui. Fereastra ,serviciile Windows Pentru a lansa serverul Apache, gasim in lista serviciilor Apache.2.2 i din partea stng apasm butonul de referin de tipul Startup.). A doua 3prin monitorul Apace30 Dup instalarea cu succes a Apace 2.2 n Taskbar (lng fereastra ora de sistem) va aprea fereastra monitor Apache 2.2. Executnd pe ea un clic va aprea un meniu din care selectai Sar, pentru lansarea n lucru, R!sar, pentru Restartarea i Sop pentru oprirea Serverului Apache 2.2. A treia 3din linia de comand3: Alegei una din variantele sar* ru".. sau tastai Ci"WR* dup ce n fereastra respectiv Ru"... selectati "! sar apac,!'.' 34 1'. Deschidei Internet Explorer i n linia de adrese selectai ",p.KKlocal,os". Dac va aprea pagina ce urmaz cu inscripia "I ForXsRQ* atunci serverul Apache a fost instalat cu success. 1-. Co"#iEurar!a s!r3!rului Apac,!.
Apache este de regul instalat n directoriul "C:\Program Files\Apache Software Foundation\Apache2.2" n interiroul acestui directoriu este instalat i fisierul denumit ",(ocs" (exhivalentul directoriilor \www\ sau \public_html\). Anume n acest directoriu urmeaz s fie dezvoltate aplicaiile Web ale utilizatorilor, iar accesarea lor ,local, urmeaz s se efectuieze prin ,p.KKlocal,osK#isi!rulOuili+aorului.p,p selectat in linia de adrese URL a Browser-ului instalat pe PC. S!ril! (! co"#iEurar! Apac,! sunt definite ntr-un fiier numit ",p(.co"#, situat n directoriul "co"#. A!"%i!RRR Nu ncercai s modificai aceste setri dac nu nelegei ce facei !!. O eroare n acest fiier va conduce la aceea c Server-ul Apache nu va funciona corect! Fisierul de configurare este ,p(.co"#. l deschidem de exemplu cu redactorul de texte NOTEPAD, sau NOTEPAD++. Toate modificrile n 34 fisierul de configurare au loc n aa numitele DIRECTI2E KNu (ir!coriiRRRK. Astfel: Directiva S!r3!rRoo AC03SER(ER3ApaceA - indic directoriul unde este instalat serverul Apache 2.2 Directiva Lis!" BC - Indic ce port de lucru utilizeaz Apache. Directiva Docu$!"Roo AC03SER(ER3Apace3tdoc&A - indic calea la directoriul radcin, de baz, de pe server. De fapt in acest directoriu i se regsete fisierul / pagina web cu inscripia "I CorXsR", care se excut, atunci cnd indicam n linia de adres URL, adresa ,p.KKlocal,osK Directiva YDir!corI Acalea pin la un oarecare directoriu AZ Aici vor fi stipulate directivele care vor fi specifice doar acestui directoriu. Opio"s ,one - aceast directiv, indic la faptul, c dac n directoriul rdcin nu va exista prin default fisierul de ncrcare, i utilizatorul nu-l va prezenta explicit n rindul de adresa URL, atunci n browser va fi indicat ierarhia ntregului server. De exemplu AlloFO3!rri(! ,one - Aceast directiv indic, poate fi utilizat fisierul .,acc!ss. n acest fisier pot fi modificate setrile serverului pentru un anumit directoriu fr a efectua rencrcarea serverului. YKDir!corIZ I$pora". L" calia! (! sl&* la i"(icar!a cii cr! #i&i!r* s! r!co$a"( (! uili+a sl&>ul QKQ! Atenei!! S precutm Directiva YDir!corI QC.KSER2ERKApac,!K,(ocsQZ i n cadrul ei s modificm unii parametri standard dup cum urmeaz: Ealoarea standard1 Opio"s No"! s! $o(i#ic cu -aloarea noastr Opio"s I"(!P!s 0olloFSI$Li"Xs 34 "stfel, -om specifica permisiunea de a prezenta la ecran structura ierar,ic a coninutului structurii ser-erului atunci cnd este absent pagina de baz care urma s fie ncrcat eplicit) unei pagina de download eplicit) (ste foarte con-enabil aceast Derecti-, pentru a nu scrie calea lung la paginil web de fiecare dat) Desigur, aceast configuraie este necesar numai pe ser-erul local) +n caz contrar, pe un site real, oricine ar putea -edea structura directoriilor ser-erului d-s ce de fapt nu prea este un lucru bun) Ealoarea standard1 AlloFO3!rri(! No"! s! $o(i#ic cu -aloarea noastr1 AlloFO3!rri(! All "stfel -om permite utilizarea .,acc!ss. No. 1. Nu uitai toate modificrile n fisierul de configurare ,p(.co"# sunt valabile, doar numai dup restartarea serverului Apac,!! 2. Gasii n lista fisierelor de lucru i fisierul de configurare pentru Apache 2.2, ,p(.co"#, care asigur funcionarea normal a serverului Apache /e&te /arianta care a&igur lucrul Apace @i prezint e#emplul pro!e&orului/. A!"%i! &i la al! a#i"i%iRR n pa&ul D din procesul de instalare este scris c programul de instalare este utilizat si pentru (!+i"salar!! Atenionm c procesul de dezinstalare se realizeaz ceva mai complicat, inclusiv se cere la un moment dat i utilizarea R!EE(i, pentru a curi registrul de prezena serverului Apache n cheile lui. Este cunoscut ns c lucrul cu RegEdit cere mare atentie si concentrare asupra operatiilor executate, deoarece orice eroare poate cauza defectarea sistemei operaionale Windows! INSTALAREA PGP C! !s! PGP N PHP (se pronunta pe-ha-pe) este un limbaj de programare ce ruleaza server, proiectat special pentru servere WEB. Intr-o pagina HTML se poate ingloba cod PHP care va fi executat la fiecare vizitare a paginii. Codul PHP este interpretat pe serverul WEB si genereaza un cod HTML care va fi vazut de Uilizator (clientului (browserului) fiindu-i transmis numai cod interpretat ca si HTML). 34 PHP a fost conceput in anul 1994 si a fost initial munca unui singur om, Rasmus Lerdorf. A fost adoptat de alti oameni talentati si a trecut prin trei rescrieri importante pentru a ajunge la produsul clar si matur de astazi. In octombrie 2002, era in uz de mai mult de noua milioane de domenii din lumea intreaga, iar acest numar este intr-o continua crestere. Numarul actual al acestora il puteti vedea la adresa http://www.php.net/usage.php PGP este un produs Open Source, cu acces la codul sursa. Il puteti folosi, modifica si redistribui, toate acestea in mod gratuit. Initial, PHP era acronimul de la Personal Gome Page, dar a fost modificat pentru a se alinia la conversia de numire recursiva GNU (GNU = Gnu`s Not Unix) si acum este acronimul pentru PGP GIp!r!P Pr!proc!ssor. Versiunea actuala a PGP !s! 1.1 (RC 1) Pagina de baza pentru PHP este: http://www.php.net Pagina pentru Zend (compania a carei fondatori au proiectat PHP4) se afla la http://www.zend.com I"salar!a PGP Executai paii ce urmeaz: 1. Utilizai fisierul arhivat p,p>1.'.B>Ci"-'.Zip /,ot0 il putei gsi i singuri pe www.php.net. Fii ateni!! Fisierul Zip sau Rar trebuie s aib aproximativ o lungime de aproximativ @:B!, deoarece sunt i cazuri de fisiere-capcan cu virui cu dimensiuni mult mai mici/. 2. Creai o map nou cu numele "p,p" pe partiia C:. Copiai the "p,p>1.'.B>Ci"-'.+ip" n directoriul ("C.Vp,p") si extragei fisierele din arhivul menionat. 34 3. Directoriul "C.Vp,p" ar trebui s arate cam aa: 4. Copiai fiierul "p,p.i"i>(is"/p,p.i"i>r!co$$!"(!( din "C.Kp,pKQ n mapa "C03W+,2;WS" i redenumiti-l "p,p.i"i". Ac!sa 3a #i #i&i!rul (! co"#iEurar! a PGP>ului. Vom reveni la el ceva mai trziu. 5. A sosi $o$!"ul s>I co$u"ic$ S!r3!rului Apac,! c PGP !Pis. Pentru aceasta deschidem fiierul de configurare a Serverului Apache din directoriul "C.VProEra$ 0il!sVApac,! So#Far! 0ou"(aio"VApac,!'.'Vco"#V,p(.co"#", n Notepad sau Notepad++ i a(auEai urmtoarele 4 linii 6" s!c%iu"!a "Loa(:o(ul!" section: LoadModule php5_module "c:/php/php5apache2_2.dll" AddHandler application/x-httpd-php .php # configure the path to php.ini PHPIniDir "c:/windows" 6. In directoriul ",(ocs", creai fiierul "i"#o.p,p". Deschidei-l cu Notepad sau Notepad++ i scriei n el urmtorul cod php. <?php phpinfo(); ?> 34 7. Restartai Serverul Apache pentru ca schimbrile s aib effect, sau s intre n vigoare. 8. Lansai Internet Explorer i n rndul de adres URL culegei ,p.KKlocal,osKi"#o.p,p. Dac browser-ul va prezenta pagina cu urmtoarea structur, atunci PHP a fost instalat cu success. 9. :o(i#ic$ #i&i!rul (! co"#iEurar! al PGP>ului dup cum urmeaz: Fiierul de configurare PHP (p,p.i"i) este gzduit n "C.KCINDOCSKp,p.i"i". l vom modifica dup cum urmeaz : Deschide-i fiierul "C.KCINDOCSKp,p.i"i" i gsii urmtorul rind: extension_dir = "./" sc,i$)a%i ac!s ri"( 6" extension_dir = "C:\php\ext" gsii urmtorul rind: ;session.save_path = "/tmp" &i sc,i$)a%i>l dup cum urmeaz: session.save_path = "C:\WINDOWS\temp" Atenie @i la alte a!initiEEE 1. Este foarte important de stabilit fusul orar al timpului fiindca pot si probleme in procesul de lucru. Fusul orar se stabileste orin intermediul Directivei (a!.i$!+o"!. 34 EP!$plu. date.timezone = "Asia/Novosibirsk" Lisa #usului orar s! a#l i" #isi!rul #ullOlisOE$.rar [-*/7 \)] INSTALAREA :MS<L C! !s! :IS<L N Mysql (se pronunta mai-es-chiu-el) este un sistem de gestiune a bazelor de date, foarte rapid si robust. O baza de date va permite sa stocati, sa cautati, sa sortati si sa va regasiti datele in mod eficient. Serverul MySQL controleaza accesul la datele dumneavoastra pentru a garanta ca mai multi utilizatori pot lucra simultan cu acestea. Deci, MySQL este un server multi-user (mai multi utilizatori) si multi-thread (mai multe fire de executie). El utilizeaza SQL (Structured Query Language), limbajul standard de interogare a bazelor de date din intreaga lume. MySQL este disponibil in mod public din 1996, dar istoria dezvoltarii sale incepe in 1979. A castigat de mai multe ori Linux Journal Readers` Choice Award (Premiul cititorilor). MySQL este disponibil sub o licenta Open Source, dar daca este nevoie sunt disponibile si licente comerciale. Pagina de baza pentru MySQL este: http://www.mysql.com I"salar!a :ISJlR Executai paii ce urmeaz: '. Utilizai fisierul $IsJl>1.1.-'>Fi"-' /,ot0 il putei gsi i singuri pe http://www.mysql.com. Fii ateni!! Fisierul Zip sau Rar trebuie s aib aproximativ o lungime de aproximativ 11B :B!, deoarece sunt i cazuri de fisiere-capcan cu virui cu dimensiuni mult mai mici/. Instalarea MySQL 5.1 urmeaz s fie executat cu mare atenie!! Lansai fisierul de instalare cu un dublu clic pe el. n rezultat va apare un program wizard pentru instalare. Eapa I. I"salar!a S!r3!rului :ISJl. Tasa%i SN!PT -. C! ip al!E!$N Alegeti TIPICAL &i asa%i SN!PTR 34 TIpical. Cu aceast opiune se instaleaz componentele de baz ale MySQL n directoria de baza a lui, C:\Program Files\MySQL\MySQL Server 5.1\ Ea include: o Serverul MySQL o Linia de comand a clientului o Alte linii de comand, utilitele necesare cum ar fi mysqldump, myisamchk i altele. SAU CO:PLETE. Instaleaz toate componentele MySQL cn directoria de baz, C:\Program Files\MySQL\MySQL Server 5.1\, inclusivecele ce au fost listate in cazul Tzpical, plus. o Documentarea o biblioteca serverului ncorporat o un set de referine o Suportul scriptorilor ,ot. Dei componentele n configurare TIpical vor funciona bine pentru cele mai multe scopuri de dezvoltare a aplicaiilor web, ar fi util sa avem la ndemn docs, aa c am putea s alegem i configurarea Co$pl!!. 3 In rezultat obinem setrile iniiale. Pentru a instala MySql asa%i SI"sallT. Proceul va dura cteva minute!!:
34 4 Dup ce MySQL a fost instalat cu success, va apare urmtoarea fereastr.
1. In continuare este necesar de configurat serverul MySQL. Se recomand! Pentru aceasta Bi#a%i opiunea Co"#iEur! ,! :IS<L S!r3!r "oF i asa%i )uo"ul 0i"is,! '. Eapa II. Co"#iEurar!a cu aDuorul u"ui Ci+ar( (! co"#iEurar!. Tasa%i SN!PTR
-. C! ip (! co"#iEurar! s al!E!$N S!l!ca$ 1 op%iu"!a D!ail!( Co"#iEuraio". Tasa%i SN!PTR
34 /. Al!E!$ ipul s!r3!rului A SD!3!lop!r :ac,i"!T
D!3!lop!r :ac,i"!. Aceast configurare presupune c MySQL va rula pe un PC utilizat pentru a dezvolta i testa aplicatii, n cazul n care baza de date va fi utilizat pentru verificarea i testarea unor idei de aplicaii i a unor teste simple. n acest caz MySQL va fi configurat pentru a utiliza resurse minime de sistem. 1. :ooar! (! socar! ntrebarea care se formuleaz este de ce fel de motoare de stocare avem nevoie :IISA: sau I""oDB. Dac nu suntei familiarizai cu MySQL, este, probabil, fireasc ntrebarea "Care e&te di!erena dintre +nno2$ &i 69+SA61- Dintre cele dou motoare, :IISA: este cel mai vechi dintre ele. n general :IISA:, n cele mai multe cazuri, este mai rapid dect I""oDB pentru aciunile tipice CR)2 (Create, Read/Retreive, Update, Delete). Acesta suporta pana la aproximativ 4 miliarde de rnduri de date i 64 de cmpuri indexate pe tabel. :IISA: folosete blocarea la nivel de tabel, ceea ce nseamn c atunci cnd un rnd este n curs de actualizare, tabelul este blocat i alte oricare operaii nu pot actualiza oricare alte rnduri, pn cnd rndul selectat nu este actualizat i numai dup aceasta blocarea de pe tabel este scoas. I""oDB este un motor ceva mai nou. El se mai numete "cel tranzactional si este construit pornind de la integritatea datelor. I""oDB susine constrngerile/restriciile cheiilor strine, ceea ce nseamn c modi!icrile la un tabel (s zicem, "Actori), care face referire la un alt tabel (s zicem, "Filme) sunt permise numai n cazul n care aceste schimbri le la&/le pstreaz pe ambele ntr-o stare valid. De exemplu, este imposibil s tergei un rnd de la tabelul "Actori, dac acest rnd are referin n orice rnduri din tabelul "Filme (adic nu se 34 poate elimina un actor din baza de date n cazul n care el / ea e indicat ca jucand in orice filme). Acest motor susine, de asemenea, blocarea la nivel de rnd, ceea ce nseamn c pot fi actualizate mai mult de un rnd n acelai timp. Ur$oar!l! co"s(!r!"! pot fi luate ca baza pentru alegerea ntre :IISA: i I""oDB : 1. 2a #i oar! uili+a BD 6" $ai $ar! par! la op!ra%ii de citire ? n acest caz ve-i desfura preponderent operaii de selectare i mai puine de inserare, actualizare si tergere ? Dac da, atunci urmeaz s selectai motorul 69+SA6. 2. Uili+ar!a BD i$plic c!l pu%i" la #!l (! $ul! op!ra%ii (! 6"scri!r! &i ciir!* &i $ai $ul "i$ic alc!3a? Asta ar nsemna, c ve-i realiza/ve-ti face cu BD mai multe operaii de inserare, actualizare i tergere, dect operaii de selectare? Dac '2a-, atunci urmeaz s selectai motorul +nno2$. 3. Ai "!3oi! (! cuar! !P>co$pl!N Dac '2a-, atunci utilizeaz 69+SA6. 4. Ai "!3oi! (! a co"s!r3a spa%iul (! (isc &i $!$oria RA:N Dac '2a-, atunci utilizeaz 69+SA6. 5. T! supr i(!!a (ac ai uili+a u" s!r3!r p!"ru BD "o">S<L N Ai putea s te simti mai bine dac ai alege +nno2$, deoarece ea are blocare la nivel de rnduri, siguran a tranzaciei i, n general, mai mult " sim relaional. Tr!)ui! s lu$ a$i"! c atunci cnd adugm un tabel la o baz de date MySQL, avem posibilitatea s specificm ce motor urmeaz s folosim. Se observ c mai des se specifica motorul +nno2$, pentru ele mai des sunt utilizate operaiile de citire, actualizare i tergere, excepie fiind acele tabele n care exist full-text search, pentru care, se utilizeaz 69+SA6. 8i acu$a c! op%iu"! r!)ui! s al!E!$ la pasul (aN A3!$ - 3aria"! (! s!l!c%i! . 1. Ba+ (! (a! :uli#u"cio"al. Acest lucru permite att motoare de stocare +nno2$, ct si 69+SA6 si imparte resursele n mod egal ntre ele. Aceasta este opiunea recomandat pentru dezvoltatorii de aplicaii care folosesc n mod regulat ambele motoare de stocare. Este op%iu"!a p! car! o propu"!$ s #i! al!as, deoarece ea are cea mai mare flexibilitate. 34
2. Nu$ai p!"ru Ba+a (! (a! ra"+ac%io"al. Aceast opiune permite utlizarea ambelor motoare de stocare, att +nno2$, ct si 69+SA6, dar dedic mai multe resurse pentru motorul +nno2$ 3. Nu$ai p!"ru )a+! (! (a! No">Tra"+acio"al: Aceast opiune dezactiveaz complet +nno2$, toate resursele sunt dedicate pentru motorul de stocare 69+SA6. 7. Dac ai ales Ba+ (! (a! $uli#u"cio"al! sau Nu$ai Ba+ (! (a! ra"+acio"ala, vei fi ntrebat de Windows unde intenionai s plasai tabelele InnoDB:
Ls$ s!ril! i$plici!, care stocheaz tabele MySQL n "directorul de in&talare. Tas$ SN!PTR 9. S!ri p!"ru co"!car! si$ula" Urmtoarea fereastr se refer la numrul de conexiuni concurente acceptate: 34
Avem a allege una din trei opiuni: 1. Supor D!ci+i! 4DSS5 K OLAP. Aceasta presupune o medie de aproximativ 20 de conexiuni concurente, cu un maximum de 100 de conexiuni concurente acceptate. Al!E!$ ac!as op%iu"!, deoarece ea va lucra pentru cele mai multe scenarii de dezvoltare a aplicaiilor Web. Tas$ SN!PTR 2. Proc!sar!a ra"+ac%iilor o"li"!. Aceasta suporta pana la 500 de conexiuni concurente i este, n general, pentru utilizarea n producie. 3. S!ar!a :a"ual. Aceasta v permite s specificai un anumit numr de conexiuni. Sunt folosite mai des pentru procesul de testare. =. Op%iu"i p!"ru r!%!l! 4p!"ru lucru 6" r!%!a5 Porul --B7 este portul implicit pentru MySQL R Al!E!$ ac!s por A(auE$ cas! (! 3ali(ar! p!"ru porul s!l!ca* a op%iu"ii > !Pc!p%ia #ir!Fall. De asemenea, a$ s!l!ca &i cas!a SAci3!a+ $o(ul sric co"rola!T. Tas SN!PTR 34 @. Co(i#icar!a I$plici a carac!r!lor
Esi (a o s!ri! (! op%iu"i* (ar co"si(!r$ uil s al!E!$ co(i#icar!a UT0>= p!"ru c !s! &i co(i#icar!a a C!)>ului. Tas$ SN!PTR 1B. Op%iu"i S!r3icii
S! r!co$a"(. Marcai caseta de selectare I"sall As Ci"(oFs S!r3ic!. Cnd MySql este instalat ca un serviciu Windows, el poate fi pornit automat la pornirea sistemului i restartat n cazul unei erori i ntreruperii serviciuului respectiv. 34 Selectnd implicit numele serviciului MySQL, excepie ar putea fi cazul n care exist deja un exemplu de MySQL instalat. n acest caz va trebui s oferii un alt nume. Marcai caseta de Lansare n mod automat a serverului MySQL Marcai caseta de Includere a Directoriului Bin n caseta PATH a Windows-ului. Tas$ SN!PTR 11. Op%iu"i (! s!curia!
A!"%i! RR. Vi se cere s furnizai o parol pentru roo de dou ori. Putei alege : - Activeaz acces roo de la maini la distan. Nu s! r!co$a"( (ac "u !s! "!c!sar RR - Creai un cont anonim. Nu a3!%i "!3oi! (! ac!s lucru RR 1'. Tr!c!%i la ur$orul pasR Tas$ SN!PTR Setarea este terminat la acest moment !!!
34 1-. EP!cua%i s!ril! Dac suntei mulumit de opiunile de configurare anterioar a MySql n Windows, opiuni selectate de Dvs. mai sus, executai un clic pe butonul EP!cu!. Dac toate opiunile au fost corecte vei obine informaia de pe fereastra ce urmeaz!
:ISJl este i"sala i co"#iEuraRR Dac "u* a3!%i $ul (! lucru p!"ru a r!i"sala s!r3!rul :MS<LRRRRR Or(i"!a o Easii $ai DosRR A!"%i! &i la al! a#i"i%iRR Procesul de dezinstalare este unul mai complicat! El cere inclusiv i utilizarea R!EE(i, pentru a curi registrul de prezena Serverului MySql n keile registrului. i nu numai. R!i"salar!a s!r3!rului :MS<LR 34 T!sar!a s!r3!rului :ISJlR 1. Pentru a testa daca MySQL a fost instalat correct vom ncrca acest server utiliznd pasii: Start > All Programs > MySQL > MySQL Server 5.0 > MySQL linia de comand. Linia de comand care va apare pentru MySQL este prezentat prin imagine de mai jos. 2. Prompterul MzSql va cere de la Dvs parola pe care i-ati definit-o mai sus n pasul 11. ntroduceti parola si tastai Enter. (,otaE Dac -eFti introduce parola %5SGl incorrect, ser-erul se -a deconecta n mod automat inc,iznd dup sine i linia de comand a prompteruluiHH$ 3. Dac totul este correct, treceti la comenyile de testare indicate n ecranul ce urmeaz /indicate cu culoare albastr/ Dac nu ve-i avea erori, i serverul va intoarce informaia 34 prezentat mai sus, putei considera c MzSql a fost instalat cu success! 4. Urmtorul pas pe care urmeaz sa-l realizm este s configuram PHP ca el s lucreze cu MySql! Urmai paii de mai jos. Co"#iEurar!a PGP p!"ru lucrul cu :IS<L. Avnd instalte ambele instrumente de lucru, PHP i MySql, urmeaz s le configurm pentru ca ele s lucreze mpreun. Pentru aceasta: 1. Deschidei fisierul p,p.i"i din C:/WINDOWS/php.ini i cutai n el linia ce conine informaia: ;extension=php_mysql.dll Pentru a face accesibila extensia MySQL, stergeti "; din fata rindului 2. La pasul urmtor trebuie s adugem directoriul unde se afl PHP n directoriul WINDOWS-ului. Pentru aceasta facei un click: Sar Z :I Co$pu!r Z Prop!ri!s Z A(3a"c!( Z E"3iro"$!" 2aria)l!s. n seciunea a doua gasii lista (SIs!$ 2aria)l!s), i n ea variabila cu numele "Pa,". Selectati aceasta variabila i apasai butonul "E(i". Includei la sfritul rndului expresia din ghilimelele ce urmeaz "?C.Vp,p" tocmai la sfritul rndului i tastai "O\". 3. Restartai PC-ul pentru ca modificrile s aib efect! 4. Creai un fisier nou in directoriul serverului APACHE ",(ocs" cu numele "$IsJlO!s.p,p". 5. Copiai codul ce urmeaz n fisierul creat "$IsJlO!s.p,p" i salvai-l. (,ot0 Fii ateni n textul ce urmeaz substituii constanta :MS<LOPASS cu parola MySQL pe care ai specificat-o la instalarea MySQL). <?php # Define MySQL Settings define("MYSQL_HOST", "localhost"); define("MYSQL_USER", "root"); define("MYSQL_PASS", "passFor("); define("MYSQL_DB", "test"); $conn = mysql_connect("".MYSQL_HOST."", "".MYSQL_USER."", "".MYSQL_PASS."") or die(mysql_error()); mysql_select_db("".MYSQL_DB."",$conn) or die(mysql_error()); $sql = "SELECT * FROM test"; $res = mysql_query($sql); while ($field = mysql_fetch_array($res)) 34 { $id = $field['id']; $name = $field['name']; echo 'ID: ' . $field['id'] . '<br />'; echo 'Name: ' . $field['name'] . '<br /><br />'; } ?> 6. Deschidei n browserul Internet Explorer, sau in altul cu care lucrai, i enumrate n prima parte ,Considerente teoretice, i culegei n linia de adrese URL textul ",p.KKlocal,osK$IsJlO!s.p,p". Dac in rezultatul de lucru al fisierului "$IsJlO!s.p,p" ve-i obine ceva similar cu : ID: 1 Name: John aceasta ar semnifica c PHP & MySQL au fost cu success configurate pentru a lucra mpreun. Felicitri! INSTALAREA PGP:MAD:IN Ce e&te pp69Admin1 Es! o aplicaie gratuit i una dintre cele mai bune aplicaii pentru a gestiona baze de date MySql. p,p:IA($i" e un sistem foarte stabil i sigur, folosit la scar larg n lumea dezvoltatorilor de site-uri web de pretutindeni. Cu ce &i&tem de operare !uncioneaz pp69Admin1 p,p:IA($i" funcioneaz cu sistemele de operare windows - Windows XP / Windows 2000 / Windows Vista / windows 7 - i Linux funcioneaz foarte bine cu Windows XP i Windows Vista. Cum &e !olo&e@te @i cum &e in&taleaz pp69Admin1 p,p:IA($i" este foarte uor de folosit i instalat, interfaa p,p:IA($i" este simpl i intuitiv i faciliteaz utilizarea. C! !s! PGP E(iorN PGP E(ior > o aplicaie pentru cei ce programeaz n limbajul de programare php. PGP E(ior este o aplicaie foarte bun, nu doar pentru cei ce programeaz n php dar i pentru cei ce programeaz n alte limbaje de programare. 34 Cu ce &i&tem de operare !uncioneaz P5P Editor1 PGP E(ior funcioneaz cu sistemele de operare windows - Windows XP / Windows 2000 / Windows Vista / windows 7 - i Linux funcioneaz foarte bine cu Windows XP i Windows Vista. Cum &e !olo&e@te @i cum &e in&taleaz P5P Editor1 Editorul PGP E(ior este un editor foarte uor de folosit i instalat, interfaa editorului PGP E(ior este simpl i intuitiv i faciliteaz utilizarea editorului. Ce e&te pp2e&igner1 p,pD!siE"!r > o aplicaie bun pentru cei ce programeaz folosind limbajul de programare php. p,pD!siE"!r te ajut s ctigi mult timp cnd trebuie s creezi codul php, are inclus o bilbiotec cu scripturile i codurile din limbajul php cele mai des folosite. Cu ce &i&tem de operare !uncioneaz pp2e&igner1 p,pD!siE"!r funcioneaz cu sistemele de operare windows - Windows XP / Windows 2000 / Windows Vista / windows 7 - i Linux funcioneaz foarte bine cu Windows XP i Windows Vista. Cu$ s! #olos!&! &i cu$ s! i"sal!a+ p,pD!siE"!rN E(iorul p,pD!siE"!r este un !(ior foarte uor de folosit i instalat, interfaa editorului p,pD!siE"!r este simpl i intuitiv i faciliteaz utilizarea editorului. I"salar!a p,p:IA($i"RR Executai paii ce urmeaz: 1. Utilizai fisierul arhivat p,p:IA($i">-./.-.'>!"Elis,.Zip /,ot0 il putei gsi i singuri pe www.phpMyAdmin.net. Fii ateni!! Fisierul Zip sau Rar trebuie s aib aproximativ o lungime de aproximativ /:B!, deoarece sunt i cazuri de fisiere-capcan cu virui cu dimensiuni mult mai mici/. 2. Acum, dup ce sunt instalate serverul Apache, PHP i MySQL putem instala i p,p:IA($i", un instrument efficient i simplu de lucru cu BD MySql. 3. Crem un folder "p,p$Ia($i"" directoriul ",(ocs" a lui Apache. Dezarhivm "p,p:IA($i">'.@.'>!"Elis,.+ip" n acest directoriu. Directoriul C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\phpmyadmin" urmeaz s arate: 34 34 4. Crem n directoriul "phpMyAdmin" un fisier nou cu denumirea "config.inc.php". Plasai acest cod n interiorul fisierului i nu uitai s substituii, adic R!plac! "YOUR_PASSWORD_HERE" (in both places below) Fi, your MySQL Password: <?php /* $Id: config.sample.inc.php 9675 2006-11-03 09:06:06Z nijel $ */ // vim: expandtab sw=4 ts=4 sts=4: /** * phpMyAdmin sample configuration, you can use it as base for * manual configuration. For easier setup you can use scripts/setup.php * * All directives are explained in Documentation.html and on phpMyAdmin * wiki <http://wiki.cihar.com>. */ /* * This is needed for cookie based authentication to encrypt password in * cookie */ $cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */ /* * Servers configuration */ $i = 0; /* * First server */ $i++; $cfg['Servers'][$i]['user'] = 'root'; $cfg['Servers'][$i]['password'] = ^MOUROPASSCORDOGERE'; // Your MySQL Password /* Authentication type */ 34 $cfg['Servers'][$i]['auth_type'] = 'config'; /* Server parameters */ $cfg['Servers'][$i]['host'] = 'localhost'; $cfg['Servers'][$i]['connect_type'] = 'tcp'; $cfg['Servers'][$i]['compress'] = false; /* Select mysqli if your server has it */ $cfg['Servers'][$i]['extension'] = 'mysql'; /* User for advanced features */ $cfg['Servers'][$i]['controluser'] = 'root'; $cfg['Servers'][$i]['controlpass'] = 'MOUROPASSCORDOGERE^; // Your MySQL Password /* Advanced phpMyAdmin features */ $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin'; $cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark'; $cfg['Servers'][$i]['relation'] = 'pma_relation'; $cfg['Servers'][$i]['table_info'] = 'pma_table_info'; $cfg['Servers'][$i]['table_coords'] = 'pma_table_coords'; $cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages'; $cfg['Servers'][$i]['column_info'] = 'pma_column_info'; $cfg['Servers'][$i]['history'] = 'pma_history'; /* * End of servers configuration */ /* * Directories for saving/loading files from server */ $cfg['UploadDir'] = ''; $cfg['SaveDir'] = ''; ?> 5. phpMyAdmin a fost cu success instalat! Pentru a-l folosi deschidei Internet Explorer i in linia de adrese URL scriei: ",p.KKlocal,osKp,p$Ia($i"". Aceast comand v va transfera pe pagina principal a p,p:IA($i". Dac apar careva ntrebri cu referin la phpMyAdmin adresai-V la fiierul "Documentation.html" n directoriul /phpMyAdmin/. 6. Uili+ai Apac,!* PGP* :IS<L &i p,p:IA($i"R 34 A!"%i! &i la al! a#i"i%iRR Procesul de deyinstalare este unul mai complicat! El cere inclusiv i utilizarea R!EE(i, pentru a curi registrul de prezena Serverului MySql n keile registrului. Dupa ce ati descarcat de pe internet ultima versiune de phpMyAdmin, fiti siguri ca ati dezarhivat si ati pus folderul in directorul www. Intrati apoi in folderul phpMyAdmin si deschideti fisierul config.inc.php. Cautati si editati liniile 84, 85 si 86 care arata cam asa: $cfg['Servers'][$i]['auth_type'] = 'config'; // Authentication method (config, http or cookie based)? $cfg['Servers'][$i]['user'] = 'root'; // MySQL user $cfg['Servers'][$i]['password'] = `; // MySQL password (only needed Modificati modul de autentificare si alegeti in loc de config, cookie astfel incat linia sa fie: $cfg['Servers'][$i]['auth_type'] = 'cookie'; apoi setati o parola secreta pentru modul de autentificare. Cautati linia $cfg['blowfish_secret'] = ''; si setati in interiorul ei un cuvant, de exemplu $cfg['blowfish_secret'] = 'baubau'; Dupa ce ati facut aceste modificari, este recomandat ca in locul user-ului root, sa creati un altul cu mai putine drepturi. Intrati in phpMyAdmin ca root si creati un nou utilizator apoi setati-l in config.inc.php. 34 Accesati apoi http://localhost/phpmyadmin si observati ca va cere un user si o parola pentru a va autentifica. Introduceti username root iar ca parola, introduceti cea setata de dumneavoastra. Daca ati instalat EasyPHP, acest pachet nu va seteaza o parola de inceput (default) pentru baza de date, acest lucru il faceti dumneavoastra. Fara sa faceti vreo modificare in fisierul acesta de configurare, accesati http://localhost/phpmyadmin dupa ce ati pus folderul phpMyAdmin in www. Dupa ce s-a incarcat pagina, apasati pe legatura "Drepturi de acces (daca interfata este in limba romana) daca este in engleza, apasati pe "Privileges. Acest buton se afla in mijlocul paginii. Va va incarca pagina cu drepturile de acces asupra MySQL-ului, apoi apasati pe butonul ce l-am incercuit eu in poza de mai jos. Apoi in dupa ce s-a incarcat urmatoarea pagina, gasiti unde apare Schimbare parola si bifati Parola, apoi tastati parola dorita de dumneavoastra si in prima, si in a-II-a casuta, dupa care apasati pe butonul ,Executa. De acum aveti setata o parola la baza de date MySQL, urmatorul pas este sa ne intoarcem la fisierul config.inc.php si sa ii setam parola in campul $cfg['Servers'][$i]['password'] = `; si anume $cfg['Servers'][$i] ['password'] = `parolamysql; 34