Sunteți pe pagina 1din 14

Implementarea unui sistem de dezvoltare a aplicaiilor Web Instalare PHP, MySql, Apache i crearea legturilor dintre ele

l. Radu Damian, Facultatea de Electronic, Telecomunicaii i Tehnologia Informaiei, Iai


Lucrarea de fa este orientat spre punerea la punct a unui sistem de dezvoltare de aplicaii web, tehnologia avut n vedere este combinaia:

Apache ca server web, interfa intre aplicaia realizat i restul lumii MySql, ca server de baze de date PHP, Hypertext Preprocessor, ca limbaj de procesare la nivelul server-ului

Orientarea spre aceste aplicaii 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 aplicaii IT). Succesiunea iniialelor poate fi intlnit mai ales n sintagma LAMP (L- Linux, echipa de multe ori intlnit n sistemele de lucru a server-elor web) dar si WAMP (W - Windows) aa cum va fi ntlnit pe parcursul prezentei lucrri de laborator. Dei imperecherea Windows ca sistem de operare - AMP ca server web/date/aplicaii este mai rar intlnit n cadrul sistemelor de meninere a server -elor web capabile de aplicaii (hosting) este o situaie care prezint destule avantaje pentru a fi deseori ntlnit n momentul dezvoltrii aplicaiilor respective. Lucrarea de laborator va avea ca scop nfiarea parcursului care trebuie parcurs pentru a instala Apache, MySql i PHP pe un sistem cu sistem 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. Partizanii Linux se vor putea consola cu faptul c sistemul lor preferat de operare vine deja cu Apache, MySql i PHP preinstalate i preconfigurate. Partizanii MacOS vor trebui sa se descurce singuri. Alegerea Windows 2000 ca versiune de Windows utilizat e legat de: n cazul realizrii mainii care va constitui server-ul pe o main virtual rulnd pe calculatorul dezvoltatorului, utilizarea unui sistem de operare mai puin pretenios va consuma mai puine resurse de pe calculatorul gazd. nu e lipsit de interes posibilitatea unui calculator independent pentru a rula post de server de dezvoltare n reeaua organizaiei sau reeaua personal a celui care realizeaz aplicaia web. n momentul de fa un calculator capabil de a rula decent Windows 2000 dar inutilizabil ca staie de lucru (depit moral de aplicaiile prezentului, de ex. Windows XP i un program antivirus) poate fi achiziionat extrem de ieftin (50-100 RON).

Nu este obligatoriu ca sistemul de server sa fie instalat pe o main separat (real sau virtual) i nici ca dezvoltarea aplicaiilor s se realizeze lucrnd pe acea main. Cel mai des separarea este impus de necesiti de securitate i de protejare a mainii de lucru: de atacuri din afar (un server este automat mai vizibil pe Internet i mai greu de protejat) . de utilizare neperformant (sistemele de test, pe care se experimenteaz o aplicaie inainte de a fi distribuit, sau, cum e cazul curent, sistemele de laborator pe care se fac experimente n scopul nvrii).

1. Varianta simpl i rapid (For dummies - pentru bunica)


Aceast variant (nerecomandat) permite obtinerea rapid a unui sistem de dezvoltare AMP . Acest lucru se realizeaz cu ajutorul unei aplicaii care instaleaz automat succesiunea amintit. Ca exemple amintim: EasyPHP (http://www.easyphp.org/) WAMP Server (http://www.wampserver.com/) cu detalii poate fi citit la adresa

O list a mai multor astfel de suite "http://en.wikipedia.org/wiki/Comparison_of_WAMPs".

Vom exemplifica pentru WAMP procedura de instalare pe o main virtual. De pe internet se descarc programul corespunztor (la momentul scrierii acestor rnduri este vorba de WampServer2.2.exe ce conine - Apache 2.2.22, MySQL 5.5.24, PHP 5.4.3) i se copie pe sistemul virtual (Guest) prin drag'n'drop sau prin intermediul unui director partajat cu drepturi de scriere de pe sistemul virtual.

Procedura de instalare este rapid, singura alegere fiind la nivelul directorului n care va fi instalat aplicaia (implicit "c:\wamp") care va avea drept consecin locul in care vor fi poziionate fiierele accesibile prin server-ul Apache (implicit "c:\wamp\www\"). Succesul instalrii poate fi observat dup pornirea serverului prin apariia icoanei de control wamp n "system tray", i prin ncrcarea paginii de start a server-ului (fiind vorba de calculatorul local adresa este "http://localhost") n browser (Win 2000 cu SP4 are preinstalat Internet Explorer 5.0).

Utilizarea mouse-ului click dreapta permite oprirea server-elor ("Exit") indicat i prin oprirea proceselor httpd.exe i mysqld.exe i eliberarea resurselor. Utilizarea mouse-ului click stnga permite afiarea unui meniu de control din care se poate alege deschiderea spre exterior a server-ului ("Put online") ceea ce permite accesarea server-ului (cel mai adesea prin intermediul adresei IP) de pe alte maini, n caz contrar accesul fiind permis doar de pe maina pe care e instalat server-ul (localhost). De asemenea se pot activa/dezactiva unele module, i se pot accesa fiierele de configurare pentru toate aplicaiile.

Soluia "all-in-one" are anumite avantaje, dintre care cel mai important este legat de faptul c (cel puin n cazul WAMP) se pot instala simultan mai multe versiuni pentru fiecare aplicaie n parte care pot fi rulate pe rnd permind astfel testarea unei aplicaii intr-o multitudine de configuraii (oricare posibil n cazul unui server de hosting real). Totui dezavantajele sunt mai mari i mai multe dect avantajele, astfel n cazul unui utilizator profesionist este recomandat instalarea individual a aplicaiilor. Dezavantajele principale in de securitate (de exemplu pentru server-ul MySql se creaz un singur utilizator, root, cu drepturi depline, inclusiv pentru aplicaii, chiar dac se poate schimba parola) i de dificultatea controlrii n amnunt a aplicaiilor, lucru care poate deveni necesar pentru anumite aplicaii realizate.

2. Instalarea individual a aplicaiilor


Se vor exemplifica modalitile de instalare pentru Apache 2.0.63, MySQL 5.0.19, PHP 5.2.0 pe Windows 2000. Chiar dac acestea nu sunt ultimele variante disponibile sunt totui de ultim generaie. Motivul alegerii explicite a acestor variante este legat de suportul pentru sistemul de operare Windows 2000 la care se renun n versiunile mai noi (de exemplu MySQL 5.0 prezint suport pentru Windows 2000 n timp ce MySQL 5.1 nu). Oricum sistemele comerciale de hosting bazate pe LAMP nu se "reped" la instalarea noilor versiuni imediat ce acestea apar, preferndu-se ntotdeauna alegerea soluiilor stabile i verificate timp ct mai ndelungat. Se prezinta mai jos situaia prezent n dou astfel de situaii.

Instalarea efectiv a aplicaiilor nu prezint complexiti deosebite si este exemplificat n continuare. 2.1. Apache Server-ul Apache poate fi obtinut de la adresa "http://httpd.apache.org/" in diverse variante si versiuni. Versiunea 2.0.63 este ultima versiune 2.0. Conform conveniilor Linux versiunile pare (2.0, 2.2, etc.) reprezint versiunile stabile iar cele impare (2.3.5 de exemplu) sunt versiunile viitoare n teste, nerecomandate pentru utilizare n aplicaii comerciale. Versiunile pentru Windows se regsesc n forma Windows Installer File (extensia msi - executabil n versiunile recente Windows) i sunt prezente cu OpenSSL (Secure Sockets Layer) incluse sau fr. Versiunea care intereseaz este cuprins n fiierul " apache_2.0.63-win32-x86-no_ssl.msi".

Setrile implicite la instalare (cum ar fi calea) pot fi lsate nemodificate. De obicei o main de dezvoltare a aplicaiilor, cum este cazul aici, nu este prevzut cu un nume de domeniu i implicit nici cu un nume de server astfel nct, fr a fi esenial, dar mcar pentru a elimina o suit de erori care pot fi anunate de server-ul Apache la fiecare pornire, e indicat s introducem adresa IP a mainii, aa cum e obinut prin comanda "ipconfig /all" introdus n prompter-ul de comenzi text al sistemului de operare. Adresa de email a

administratorului e de obicei inutil deoarece de multe ori un server realizat pe sistem de operare Windows nu are prezent i funcia SMTP. Este utilizat pentru a trimite anumite informaii prin email administratorului (erori etc.). [Sat Feb 20 23:18:36 2010] [notice] Apache/2.0.63 (Win32) configured -- resuming normal operations [Sat Feb 20 23:18:36 2010] [notice] Server built: Jan 17 2008 22:58:29 [Sat Feb 20 23:18:36 2010] [notice] Parent: Created child process 2160 [Sat Feb 20 23:18:36 2010] [notice] Child 2160: Child process is running [Sat Feb 20 23:18:36 2010] [notice] Child 2160: Acquired the start mutex. [Sat Feb 20 23:18:36 2010] [notice] Child 2160: Starting 250 worker threads.

Calea implicit de instalare a programului apache este "C:\Program Files\Apache Group\Apache2\". mpreun cu programele ce constituie aplicaia server se instaleaz i o aplicatie secundar extrem de util pe o main de dezvoltare, intitulat Apache Service Monitor, accesibil din meniul de start sau din icoana de control din "system tray". Aceast aplicaie permite pornirea/oprirea unui anume server Apache prezent pe sistem. Prezint un buton intitulat "Services" care prezint lista de servicii din Windows. Este un moment n care, dac se dorete se poate modifica serviciul corespunztor server-ului Apache pentru a nu porni automat la pornirea calculatorului, schimbnd "Startup type" din Automatic n Manual. Aceast operaiune este necesar de obicei doar n cazul n care se realizeaz instalarea aplicaiilor chiar pe maina de lucru, nu pe o main dedicat. In acest caz ar putea aparea necesitatea pornirii serverului doar n momentul n care este necesar. Starea server-ului Apache se poate observa n programul amintit, dar detalii pot fi obtinute consultnd fiierul text "error.log" ce poate fi gsit n directorul "C:\Program Files\Apache Group\Apache2\logs\". Momentan in acest log pot fi gsite informaii relativ la pornirea/oprirea normal a server-ului. 2.2. PHP Interpretorul HyperText Preprocessor PHP poate fi obinut la adresa "http://www.php.net/". Dei exist i posibilitatea utilizrii unui procedeu automat de instalare ("PHP 5.2.x installer") n momentul de fa acesta nu este foarte bine pus la punct i este preferabil controlul manual. PHP este un interpretor de text care va fi lansat de Apache "cnd" va fi nevoie i ca atare, neavnd nevoie de control detaliat n legatur cu sistemul de operare, instalarea pus la dispoziie automat nu este necesar. Ca urmare pachetul cel mai util este pachetul arhiva ("PHP 5.2.x zip package") care conine toate elementele necesare, elemente care pot fi dezarhivate ntr-un director oarecare, recomandat "C:\PHP" pentru claritate. 2.3. MySql Server-ul de baze de date MySql poate fi gsit la adresa "http://dev.mysql.com/downloads/mysql/" Instalarea decurge fara probleme deosebite. Calea implicit de instalare " C:\Program Files\MySQL\MySQL Server 5.0\" poate fi pastrat fr nici o problem. Restul opiunilor pot fi pstrate pe valorile implicite

deasemenea. La sfritul instalrii apare opiunea lansrii aplicaiei de configurare a server-ului i este recomandat s facei imediat acest lucru, pentru a controla de la nceput cteva opiuni eseniale de funcionare a aplicaiei.

Aplicaia de configurare a server-ului poate fi apelat din meniul de start i mai trziu dac este nevoie, cu toate c instalarea aplicaiei MySql Administrator va permite control mai fin al server-ului.

3. Configurare
Configurarea aplicaiilor va fi diferit ca metod de lucru. Dac MySql vine mpreun cu o aplicaie cu interfa grafic bine pus la punct pentru modificarea fiierului text de configurare "my.ini", iar funcionarea MySql este independent, n cazul Apache i PHP va trebui realizat modificarea fiierelor text de configurare ("C:\Program Files\Apache Group\Apache2\conf\httpd.conf" i "C:\PHP\php.ini") n aa fel nct s se realizeze legtura dintre acestea (Apache va trebui sa gaseasc i s lanseze PHP la nevoie, acesta la rndul lui tr ebuind s acceseze server-ul independent MySql). Este poate util instalarea anterioar a Notepad ++ naintea modificrii fiierelor de configurare Apache i PHP datorit avantajelor evidente de vizualizare/cutare puse la dispoziie de acest program (num ai indicarea numrului de linie aa cum e menionat n continuare permite o accelerare deosebit a aciunilor menionate). 3.1. MySql Aplicaia de configurare a server-ului poate fi apelat din meniul de start i mai trziu dac este nevoie, cu toate c instalarea aplicaiei MySql Administrator va permite control mai fin al server -ului. Se alege configurare detaliat pentru a avea acces la opiunile de baz. Accesul la server (din exterior, din PHP) se va realiza prin protocol TCP/IP care trebuie activat. Este poate util schimbarea portului implicit (3306) pe o main care va juca strict rol de server de dezvoltare din raiuni de securitate mai strict. Un server care comunica pe portul implicit MySql va fi mai sensibil la atacuri exterioare.

La capitolul configurare aplicaie este recomandat instalarea ca serviciu a aplicaiei, i se poate alege pornirea automat a acestui serviciu (cazul unui server dedicat sau main virtual) sau nu (echivalent co modificarea "Startup type" din Automatic n Manual n serviciile Windows - cazul n care server-ul funcioneaz direct pe maina de dezvoltare, pentru pornirea/oprirea dup nevoie a server-ului). Trebuie de asemenea aleas o parol (puternic) pentru contul de administrare ("root") i se poate alege a permite sau nu accesul de pe alte maini a utilizatorului "root" la server-ul MySql. Tipic, pe un server dedicat (virtual sau real) ar trebui permis acest acces deoarece programatorul va lucra n mod curent pe maina de dezvoltare, n cazul n care server-ul este instalat chiar pe maina de dezvoltare este contrar contraindicat permiterea acestui acces.

Facilitatea de configurare a server-ului permite modificarea unui numr mai mare de opiuni, schimbarea unelor dintre ele fiind utile (cu o documentare prealabil asupra sensului) dar majoritatea pot fi lsate la valorile implicite. Menionam ca utile/utilizabile: modificarea gradului de ocupare a resurselor (care poate fi diferita pe main dedicat, virtual sau real, dar nerecomandat pe o main de dezvoltare), modificarea setului implicit de caractere n latin2 sau UTF8 pentru lucrul cu diacriticile romneti, tipul tranzacional sau nu al bazei de date - depinznd mai ales de tipul de baz de date a server-ului de hosting int, locaia fiierelor binare ce conin datele efective memorate de server etc. 3.2. Apache Fisierul text de configurare se numete "httpd.conf" poate fi gsit n directorul (implicit) "C:\Program Files\Apache Group\Apache2\conf\". In acest fiier se gsesc suficiente explicaii pentru configurarea server-

ului (caracterul "#" la nceputul liniei transform linia respectiv n comentariu), dar n anumite situaii o documentare suplimentar este recomandat. Anumite optiuni sunt preconfigurate n timpul instalrii, de exemplu: ServerRoot "C:/Program Files/Apache Group/Apache2" (linia 57) calea spre programe - NU trebuie schimbat ServerAdmin some@server.com (linia 198) ServerName 192.168.72.128:80 (linia 212) DocumentRoot "C:/Program Files/Apache Group/Apache2/htdocs" (linia 228) - locaia documentelor vizibile din exterior.

Anumite opiuni este recomandat s fie schimbate. Locaia implicit a documentelor de exemplu "C:/Program Files/Apache Group/Apache2/htdocs" este greu de accesat din acest motiv este recomandat s se creeze un director n rdcin n care s fie stocate fiierele. Acel director va trebui accesat frecvent pentru stocarea fiierelor din programul de editare, deci pe o masin dedicat (real sau virtual) va trebui ca acest director s fie partajat n reea ("Share"). Deci recomandat: DocumentRoot "C:/Server" (linia 228) - locaia documentelor vizibile din exterior.

Aceast schimbare implic i modificarea drepturilor de acces corespunztoare, opiunea <Directory "C:/Program Files/Apache Group/Apache2/htdocs"> fiind necesar s devin: <Directory " C:/Server "> (linia 253)

Deoarece vom realiza server-ul pentru a servi n special fiiere care conin i cod PHP va mai fi necesar schimbarea opiunii "DirectoryIndex index.html index.html.var" n: DirectoryIndex index.php index.html index.html.var (linia 321) - fiierul implicit trimis de Apache dac URL-ul primit reprezint un director.

Mai rmne de realizat (ca modificare esenial) instruirea Apache s utilizeze PHP ca interpretor pentru fiierele PHP. Utilizarea recomandat este ncrcarea PHP ca modul Apache iar instruciunile pot fi gsite n fiierul "install.txt" care vine impreun cu PHP (locaia n cazul respectrii setrilor anterioare este "C:\PHP\install.txt"). Se poate cuta n acest document zona corespunztoare "Apache 2.0.x on Microsoft Windows". Pentru versiunea PHP 5.2.0 exemplificat aici se va regsi aceast seciune: # For PHP 5 do something like this: LoadModule php5_module "c:/php/php5apache2.dll" AddType application/x-httpd-php .php # configure the path to php.ini PHPIniDir "C:/php"

Indicaiile prezente n fiier amintesc necesitatea schimbrii cii spre directorul PHP cu cea efectiv, faptul c n configurarea text pentru Apache se utilizeaz slash ("/") n loc de backslash ("\") pentru delimitarea directoarelor n cale, i "Users of Apache 2.2.x may use the documentation below except the appropriate DLL

file is named php5apache2_2.dll and it only exists as of PHP 5.2.0.". Ca urmare trebuie introduse n fiierul "httpd.conf" liniile noi: LoadModule php5_module "C:/PHP/php5apache2.dll" AddType application/x-httpd-php .php PHPIniDir "C:/PHP"

Alte opiuni Apache sunt utile (uneori chiar eseniale din punctul de vedere al securitii - cum ar fi seciunea "AccessFileName .htaccess" i cele asociate) i permit controlul n detaliu al server-ului, dar nefiind eseniale ntr-un sistem de dezvoltare a aplicaiilor rmn pentru studiu individual. 3.3. PHP Aa cum este amintit anterior ("# configure the path to php.ini") PHP folosete configurrile dintr-un fiier text editabil "php.ini". n acest moment al exemplificrii n directorul "C:\PHP" nu se gsete nici un fiier "php.ini". Pachetul arhiva contine dou fiiere "php.ini-recommended" i "php.ini-dist" care pot fi folosite ca model pentru a crea un fiier "php.ini" adaptat cerinelor de pe maina configurat. Fiierul " php.ini-dist" conine setrile implicte, utilizate de PHP chiar i n cazul absenei "php.ini" i este mai puin strict dar i mai puin sigur. Se recomand redenumirea celui de-al doilea fiier "php.ini-recommended" n "php.ini" i editarea acestui fiier pentru detalierea configurrilor. Ca i n cazul Apache n fiier se gsesc suficiente explicaii pentru configurarea PHP-ului (caracterul ";" la nceputul liniei transform linia respectiv n comentariu), dar n anumite situaii o documentare suplimentar este recomandat. PHP va fi utilizat mcar pentru acces la baze de date MySql deci va trebui ncrcat extensia corespunztoare. Alte extensii utile sunt biblioteca grafic "gd2" i eventual altele dac aplicaia respectiv o impune. Extensiile se regsesc n subdirectorul "ext" din locaia in care a fost amplasat PHP. O modificare esenial n "php.ini" va fi indicarea cii respective: extension_dir = "C:\PHP\ext" (linia 520)

Trebuie apoi specificate extensiile ncrcate de PHP, dup dorin. Extensiile exist n "php.ini" dar eliminate prin comentariu (";"). Trebuie eliminat acest caracter din faa extensiilor care se doresc folosite. extension=php_gd2.dll (linia 639) extension=php_mysql.dll (linia 651)

Este recomandat verificarea prezenei fiierelor "dll" corespunztoare extensiilor n directorul specificat extension_dir = "C:\PHP\ext". Dac va fi schimbat portul TCP/IP din cel implicit "3306" la configurarea MySql (vezi n continuare) trebuie schimbat i seciunea existent dar neiniializat, neiniializat nsemnnd implicit: mysql.default_port = (linia 765) Alte seciuni care ar putea interveni n funcie de aplicaie:

session.save_path = "C:\PHP\sessiondata" (linia 969) n cazul n care se folosesc funciile de control a sesiunii, directorul indicat poate fi modificat dup dorin max_execution_time = 30 (linia 300) limitare a timpului maxim de execuie - secunde, util n cazul scripturilor intensive, dar protecie contra unor erori n faza de dezvoltare max_input_time = 60 (linia 301) limitare a timpului de ateptare a datelor de intrare - secunde, util n cazul reelelor lente, dar protecie contra unor erori de comunicaii memory_limit = 16M (linia 300) limitare a memoriei maxime utilizate - octei, util n cazul scripturilor ce controleaz multe date, dar protecie contra unor erori n faza de dezvoltare post_max_size = 8M (linia 468) limitare a cantitii datelor de intrare - octei, util n cazul trimiterii spre server a unor cantiti mari de date (cmpuri BLOB n MySql), dar protecie contra unor erori de comunicaii sau de programare file_uploads = On (linia 566) permiterea/interzicerea trimiterii de fiiere spre server upload_max_filesize = 2M (linia 573) limitare a dimensiunii fiierului trimis - octei, util n cazul trimiterii spre server a unor cantiti mari de date, dar protecie contra unor erori de comunicaii sau de programare

Not important 1. Unele extensii PHP necesit ca anumite biblioteci s poat fi gsite de sistemul de operare. Este cazul extensiei MySql care are nevoie de utilizarea bibliotecii "libmysql.dll" care se gsete n directorul "C:\PHP". Se impune ori copierea acestui fiier ntr-un director aflat n variabila "PATH" a sistemului (de exemplu "C:\Windows\system32") ori modificarea acestei variabile sistem prin adugarea directorului "C:\PHP". Not important 2. Server-ul Apache trebuie repornit dup schimbarea fiierelor de configurare Apache/PHP pentru a permite reiniializarea sa cu noile valori introduse. Acest lucru poate fi fcut cu ajutorul aplicaiei Apache Service Monitor iar succesul poate fi observat prin modificarea liniilor introduse la pornire n log-ul de erori a serverului ("error.log" amintit anterior), linia "Apache/2.0.63 (Win32) configured -- resuming normal operations" devine "Apache/2.0.63 (Win32) PHP/5.2.0 configured -- resuming normal operations".

4. Aplicaii utile
4.1. Apache Server-ul Apache are o funcionare de sine stttoare i intervine destul de puin n partea de dezvoltare a aplicaiilor. Totui funcionarea implicit n tandem cu interpretorul PHP face ca erorile i notificrile mai puin eseniale (warning) privind funcionarea scripturi-lor PHP s se regseasc n log-ul de erori "error.log" a server-ului Apache. Consultarea facil a acestui log este benefic n faza de dezvoltare a aplicaiilor. O aplicaie recomandat este LogView, disponibil gratuit la adresa "http://www.rftech.ro/logview.php". Aplicaia permite ncrcarea automat a unui fiier la intervale regulate de timp, cu evidenierea modificrilor aprute fa de ultima citire, i cu posibilitatea semnalizrii n "system tray" a apariiei unor modificri. Aplicaia funcioneaz pe toate sistemele Windows >= 2000 i este recomandat s fie rulat pe maina de dezvoltare a aplicaiilor i nu pe maina server (real sau virtual), caz n care e nevoie ca fiierul log de erori s fie accesibil prin reea ("C:\Program Files\Apache Group\Apache2\logs\" partajat cu drepturi de citire).

4.2. PHP O opiune suplimentar interesant i extrem de util celor care realizeaz dezvoltarea de programe este utilitarul de documentaie n format chm - Compiled Help File, disponibil ntr-un pachet separat. Dei documentaia este disponibil i n format HTML, avantajul formatului chm este dat de facilitatea integrat de cutare i indexare care accelereaz destul de mult gsirea informaiilor necesare. Suplimentar, o versiune mult mai util dar la care din pcate s-a renunat la realizarea formatului chm este Manualul PHP cu notele utilizatorilor incluse. De multe ori reinventarea roii nu este necesar astfel nct apelul la experiena anterioar a altor utilizatori prin multitudinea de exemple introduse in manual este extrem de util. Trebuie menionat c versiunea on-line a documentaiei, accesibil la adresa "http://www.php.net/manual/en/index.php" sau n limba romn la adresa "http://www.php.net/manual/ro/index.php" conine notele utilizatorilor, s-a renunat la introducerea acestor note n formatul compilat chm. Singura soluie disponibil este gsirea unui fiier corespunztor unei versiuni mai vechi (de cele mai multe ori suficient pentru operaiile uzuale nt lnite n lucrul n PHP). Versiunea chm extins (cu notele utilizatorilor) este identificabil prin prezena a dou fiiere "php_manual_en.chm" i "php_manual_notes.chm". Aceast documentaie trebuie de asemenea s se gseasc pe maina de dezvoltare a aplicaiilor i nu pe maina server (n cazul n care nu coincid). De asemenea ncepnd cu Windows XP SP2 sistemul de operare detecteaz faptul c fiierul chm este "strin" adic provine de pe un alt calculator i este nevoie s fie deblocat nainte de a fi utilizat. 4.3. MySql MySql se bucur de un numr mai mare de aplicaii disponibile la adresa "http://dev.mysql.com/downloads/workbench/". n momentul scrierii acestor informaii cele mai utile sunt aplicaiile grupate sub denumirea "MySql Tools for 5.0" fiierul corespunztor fiind "mysql-gui-tools-5.0-r17win32.msi". Aceast suit cuprinde aplicaiile individuale: MySql Administrator, un program de administrare al server-ului, extrem de util i necesar. Utilitatea oferit consta n:

Seciunea "Startup Variables" - ofer posibilitatea configurrii din interfa grafic a server-ului MySql, n detalii care nu apar n utilitarul de configurare utilizat la instalare. Una din opiunile care ar putea fi necesar s fie modificate de exemplu este n zona Tab "Advanced Networking" -> Max_packet_size = 1M (implicit) n cazul dorii s introducei cantiti mari de date (de exemplu fiiere) o Seciunea "User Administration" - pentru a aduga utilizatori suplimentari, cu drepturi mai mici asupra server-ului, nafara utilizatorului de administrare "root" creat la instalare. Se pot controla in detaliu drepturile fiecrui utilizator asupra fiecrei baze de date controlate. Un pas absolut necesar, deoarece probabilitatea de a avea acces la utilizatorul "root" pe un server profesionist de hosting este infim. o Seciunile "Backup" i "Restore" utile pentru a crea/restaura copii de siguran ale datelor, copii eseniale n cazul unor server-e de dezvoltare de aplicaii n cazul crora codul este de multe ori experimental. MySql Query Browser, un program de trimitere a interogrilor SQL spre server, util pentru: o crearea de baze de date i tabele o vizualizarea i modificarea structurii bazelor de date o vizualizarea i modificarea datelor stocate o experimentarea interogrilor SQL naintea utilizrii lor n scripturile PHP o modificarea script-urilor SQL, inclusiv a celor rezultate n urma operaiunilor de backup, n vederea controlului datelor sau a diferenelor ntre diferite versiuni/produse software (de exemplu un fiier backup produs de PHP My Admin nu va putea fi restaurat de MySql Administrator fr o modificare prealabil, dar va putea fi rulat cu MySql Query Browser) MySql Migration Toolkit, un utilitar care permite conversia bazelor de date din alte server-e (MS Access, MS SQL, Oracle, Sybase .a.), n special MS Access este extrem de util datorit posibilitii de conlucrare facil n interiorul MS Office ntre Access i alte aplicaii posibil purttoare de informaie (Excel i Word) MySql System Tray Monitor, aplicaie care permite o funcionalitate echivalent cu "Apache Service Monitor", introducnd o icoan n "system tray" de unde se poate opri/porni server-ul MySql, util dac server-ul se instaleaz pe maina de dezvoltare a aplicaiilor, pentru a permite oprirea/pornirea facil dup dorin a server-ului n vederea economiei de resurse/cretere a securitii.

Trebuie menionat c aceste aplicaii se instaleaz pe maina de dezvoltare a aplicaiilor nu pe maina care conine server-ul (dac nu coincid) cu excepia MySql Administrator care la instalarea pe maina server

primete acces la log-urile server-ului. Utilitatea deplin a aplicaiilor se obine cu condiia s fie permis accesul utilizatorului "root" de pe alte maini la server-ul MySql (din nou dac maina de dezvoltare nu coincide cu maina server). De asemenea trebuie amintit faptul c suportul pentru aplicaiile individuale amintite anterior a fost eliminat de MySql ceea ce face ca fiierul amintit "mysql-gui-tools-5.0-r17-win32.msi" s nu mai fie disponibil dect n seciunea Archive la adresa "http://dev.mysql.com/" sau, momentan pe pagina "http://dev.mysql.com/downloads/workbench/". Se afl n pregtire o aplicaie mai complex de proiectare a bazelor de date MySQL Workbench care va conine faciliti modelare i proiectare a bazelor de date, dezvoltare SQL (nlocuind MySql Query Browser) i administrare server (nlocuind MySql Administrator). Momentan, n momentul scrierii acestui material, versiunea MySQL Workbench 5.2.47 disponibil la adresa "http://dev.mysql.com/downloads/workbench/5.2.html" include nlocuitorii Query Browser i Administrator dar are o funcionare defectuoas i o interfa greoaie. 4.4. Aplicaii generale Aici trebuie amintit un editor extrem de bun, Notepad ++, disponibil la adresa "http://notepad-plusplus.org/". Recunoaterea limbajelor uzuale (HTML, PHP, SQL, Javascript) i afiarea difereniat a sintaxei l face inestimabil (fr a exagera) n crearea i depanarea fiierelor implicate n dezvoltarea aplicaiilor web. Trebuie menionat i Adobe/Macromedia Dreamweaver care are avantajul interpretrii codului HTML fiind o aplicaie WYSIWYG (What You See Is What You Get) i posibilitatea lucrului cu abloane (template), dar licena foarte scump i afiarea difereniat a sintaxei mult mai deficitar dect n Notepad ++ fac s nu fie utilizat n laborator.

5. Testarea mainii server


Un prim test const n utilizarea funciei PHP predefinite phpinfo(). Se creaz n radcina de documente a server-ului ("C:\Server") fiierul "index.php". Fr a intra n detalii de limbaj, acest document va trebui s conin scheletul unui document HTML iar n sectiunea <body> doar rezultatul funciei "phpinfo()". Fiierul rezultat va fi urmtorul: <html <head> <title>Untitled Document</title> </head> <body> <?php phpinfo(); ?> </body> </html>

n acest moment introducerea n browser a adresei "http://localhost/" pe maina server sau "http://192.168.72.128/" pe maina de dezvoltare ar trebui n caz de succes s conin o pagin bogat n

informaii despre: Sistemul de operare, interpretorul PHP, server-ul Apache. (192.168.72.128 se consider a fi adresa IP a mainii server aflat cu "ipconfig /all" la un pas anterior) Acest prim test evideniaz funcionarea corect a server-ului Apache i a interpretorului PHP, inclusiv a legturii dintre ele. Se poate observa deasemenea ncrcarea modulelor MySql n PHP, fr a avea informaii despre existena i funcionarea server-ului de baze de date. Testarea funcionrii server-ului MySql i a accesibilitii prin intermediul PHP-ului necesit civa pai suplimentari. Mai nti se folosesc aplicaiile MySql pentru a accesa server-ul respectiv. Se pornete MySql Query Browser, cu comanda "File>Open Script" se deschide script-ul SQL "world.sql" existent n directorul "C:\kit\Exemple". Acest script este o copie a fiierului de test disponibil pe Internet la adresa "http://dev.mysql.com/doc/index-other.html", - "MySQL Documentation: Other MySQL Documentation: Example Databases" cu modificrile SQL pentru crearea bazei de date (CREATE DATABASE world; USE world;). Executarea acestui script are ca efect crearea unei baze de date denumit "world" i popularea ei cu date (tabele pentru ar, ora, limb). Chiar pornirea MySql Query Browser implic conectarea la server deci o validare a existenei acestuia. Reaciunea corect la script-ul amintit certific suplimentar funcionarea corect a acestuia. Pentru validarea accesibilitii din PHP a server-ului MySql se utilizeaz MySql Administrator, Seciunea "User Administration", pentru a crea un utilizator denumit "web" cu parola "test" cu drepturile "SELECT" + "INSERT" + "UPDATE" asupra bazei de date "world". Se copie apoi din directorul "C:\kit\Exemple" n directorul rdcin a documentelor web "C:\Server" fiierul "test.php" ce are ca scop rularea interogrii SQL "SELECT `Code`,`Name`,`Population` FROM `country` AS c ;" prin intermediul interpretorului PHP. Introducerea n browser a adresei "http://localhost/test.php" pe maina server sau "http://192.168.72.128/ test.php " pe maina de dezvoltare ar trebui n caz de succes afiarea unui tabel cu datele dorite. Se verifica coincidena datelor respective cu cele obinute ca urmare a rulrii aceleiai interogri n MySql Query Browser. Se verific faptul c numrul de linii obinute este acelai n ambele situaii.

S-ar putea să vă placă și