Sunteți pe pagina 1din 44

34

LUCRAREA DE LABORATOR NR.1



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