Professional Documents
Culture Documents
PHP-i-MySQL - Dodatak A PDF
PHP-i-MySQL - Dodatak A PDF
Instalacija
Postoje tri tehnika preduslova da bi se
izvrili svi primeri iz ove knjige: MySQL
(aplikacija baze podataka), PHP (jezik za
skriptovanje) i aplikacija veb servera (kroz
koju PHP radi). U ovom dodatku opisano
je instaliranje ovih alatki na dve razliite
platforme Windows 7 i Mac OS X. Ako
koristite udomljeni veb sajt, sve to ste ve
dobili, ali ovi proizvodi su svi besplatni i
sasvim se lako instaliraju, pa jo uvek ima
smisla da ih postavite na vlastiti raunar.
Osim instaliranja, u ovom dodatku su opisana i neka povezana pitanja od znaaja
za skoro svakog korisnika. Najpre, opisujem kako se u MySQL-u prave korisnici.
Zatim, izlaganjem tehnika koje e vam
biti potrebne kad god prvi put ponete
da koristite neki server, prikazujem kako
da testirate svoju PHP i MySQL instalaciju.
Nakon toga, nauiete kako da konfiguriete PHP da biste promenili njegovo
funkcionisanje. Na kraju, novost u ovom
izdanju knjige, pokazau vam kako da
izmenite ponaanje veb servera Apache
da biste zadovoljili uobiajene potrebe.
Instalacija na Windowsu
Mada na Windows raunar svakako
moete pojedinano da instalirate veb
server (kao to je Apache, Abyss, ili IIS),
PHP i MySQL, toplo vam preporuujem da
radije upotrebite sveobuhvatan instaler. To
je svakako lake i mnogo pouzdanije.
Za Windows se nudi nekoliko sveobuhvatnih instalera. Najee se pominju
dva: XAMPP (www.apachefriends.org) i
WAMP (www.wampserver.com). U ovom
dodatku, koristiu XAMPP, koji odgovara
za veinu verzija Windowsa.
Osim servera Apache, PHP-a i MySQL-a,
XAMPP takoe instalira:
n
n
n
O mrenim barijerama
Mrena barijera spreava komunikaciju preko portova (port je pristupna taka raunara). Verzije
Windows-a poevi od XP Service Pack 2 sadre ugraenu mrenu barijeru. Moete takoe da
preuzmete i instalirate mrene barijere drugih dobavljaa. Mrene barijere unapreuju bezbednost
vaeg raunara, ali mogu takoe da ometaju vae mogunosti da koristite Apache, MySQL, i neke
druge alatke potrebne za XAMPP, zato to sve one koriste portove.
Kada koristite XAMPP, ako vam se pojavi bezbednosno upozorenje koje nagovetava da mrena
barijera blokira (engl. firewall is blocking) Apache, MySQL, ili neto slino, izaberite Unblock ili
Allow, zavisno od verzije Windowsa koju koristite.
Inae, moete runo da konfiguriete svoju mrenu barijeru (na primer, za Windows 7
se to radi u Control Panel > System and Security). Sledei portovi treba da budu otvoreni
: 80 (za Apache), 3306 (za MySQL) i 25 (za mail server Mercury). Ako ne moete da ih
pokrenete ili da im pristupite, onemoguite mrenu barijeru i pokuajte ponovo. Ako
problem nestane, znaete da je problem u mrenoj barijeri i da je treba prekonfigurisati.
A2Dodatak A:Instalacija
Instalacija A3
A4Dodatak A:Instalacija
Instalacija na
Mac OS X-u
Mada se Mac OS X isporuuje sa ugraenim serverom Apache, a instaliranje
MySQL-a nije tako teko, preporuujem
da poetnici pou sasvim sigurnim putem
i primene sveobuhvatni instaler MAMP
(www.mamp.info). Za njega postoji i besplatna i komercijalna verzija, veoma se
lako koristi i nee uticati na server Apache
koji je ugraen u operativni sistem.
MAMP pored Apache-a, PHP-a i MySQLa instalira takoe i phpMyAdmin, veb
interfejs ka MySQL serveru, kao i mnoga
korisna PHP proirenja. Dok ovo piem,
MAMP (verzija 1.9.6.1) instalira dve verzije
PHP-a (5.2.13 i 5.3.2), pored MySQL-a
5.1.44, Apache-a 2.0.63 i phpMyAdmin-a
3.2.5.
Opisau proces instaliranja po takama. U
sluaju da se jave neki problemi, moete
da se obratite na forum za podrku ovoj
knjizi (www.LarryUllman.com/forums/),
ali ete verovatno vie sree imati na
MAMP-ovom sajtu (konano, to je njihov
proizvod). Osim toga, instaler zaista dobro
funkcionie i nije teak za upotrebu, pa
neu ulaziti u sve detalje svake take, ve
radije istiem najvanija razmatranja.
Instalacija A5
D Aplikacija MAMP PRO, za kontrolu i konfigurisanje Apache-a, PHP-a, MySQL-a i tako dalje.
A6Dodatak A:Instalacija
SAVET Vidite odeljak Konfigurisanje PHPa da biste nauili kako da konfiguriete PHP
u fajlu php.ini.
SAVET MAMP se isporuuje sa istrument
tablom Dashboard pomou koje moete da
kontroliete servere Apache i MySQL.
SAVET Va osnovni veb direktorijum u
koji morate da postavite svoje PHP skriptove
da biste ih testirali je folder htdocs u direktorijumu u koji je instaliran MAMP. Prema
standardnim uputstvima za instaliranje, to bi
bilo Applications/MAMP/htdocs.
Instalacija A7
Upravljanje MySQL
korisnicima
Kad jednom uspeno instalirate MySQL,
moete poeti da pravite MySQL korisnike. MySQL korisnik je fundamentalan
bezbednosni koncept, koji ograniava
pristup sauvanim podacima i uticaj
nad njima. Da bi bilo jasnije: vae baze
podataka mogu da imaju vie razliitih
korisnika, kao to ima i va operativni sistem. Ali korisnici MySQL-a se razlikuju od
korisnika operativnog sistema. Dok uite
PHP i MySQL na vlastitom raunaru, ne
mora vam biti potrebno da pravite nove
korisnike, ali za ive produkcione sajtove
su potrebni namenski MySQL korisnici sa
odgovarajuim dozvolama.
Poetna MySQL instalacija ima jednog
korisnika (po imenu root) bez postavljene
lozinke (osim ako koristite MAMP, koji
postavlja podrazumevanu lozinku root).
Minimum koji morate da uradite nakon
instaliranja MySQL-a je da napravite novu
bezbednu lozinku za osnovnog korisnika. Posle toga, moete da pravite druge
korisnike sa ogranienijim dozvolama. Po
pravilu, ne bi trebalo korisnika root da koristite za normalne, svakodnevne poslove.
Opisau oba ova procesa po takama na
sledeim stranicama. Skreem vam panju
da ako koristite udomljeni server, verovatno
e vam oni napraviti MySQL korisnike. Za
ovaj postupak je potreban klijent sa komandne linije mysql ili phpMyAdmin. Ako
ne znate kako da ih pokrenete na svom raunaru, proitajte brzo odeljak Pristupanje
MySQL-u u poglavlju 4 Uvod u MySQL.
A Auriranje lozinke
korisnika root koristei
SQL u MySQL klijentu.
A8Dodatak A:Instalacija
C Obrazac za auriranje
lozinke MySQL korisnika
sa phpMyAdmin-om.
Instalacija A9
OMOGUAVA
SELECT
INSERT
UPDATE
DELETE
Uklanjanje postojeih
podataka iz tabela.
INDEX
ALTER
CREATE
DROP
RELOAD
SHUTDOWN
PROCESS
Pregledanje i zaustavljanje
postojeih MySQL procesa.
FILE
GRANT
REVOKE
A10Dodatak A:Instalacija
Instalacija A11
4. Primenite izmene F :
FLUSH PRIVILEGES;
Pravljenje korisnika u
phpMyAdmin-u
Da biste pravili korisnike u phpMyAdminu, ponite biranjem kartice Privileges na
matinoj stranici phpMyAdmin. Na stranici
Privileges pritisnite Add A New User. Popunite
obrazac Add A New User u kojem definiete
korisniko ime, domaina, lozinku i privilegije.
Zatim pritisnite Go. Tako ste napravili korisnika sa optim privilegijama ali bez privilegija za
konkretnu bazu podataka.
Na rezultujuoj stranici, izaberite bazu podataka nad kojom e vaiti korisnikove privilegije
pa pritisnite Go. Na sledeoj stranici, izaberite
privilegije koje bi korisnik trebalo da ima nad
tom bazom podataka, pa ponovo pritisnite
Go. Time je zavren proces pravljenja prava
tog korisnika nad tom bazom podataka.
Primetiete da ovim procesom mogu korisniku
lako da se dodele razliita prava nad razliitim
bazama podataka.
Na kraju, vratite se istim putem nazad na
karticu Privileges na matinoj stranici, pa
pritisnite link Reload the Privileges.
A12Dodatak A:Instalacija
Testiranje instalacije
Sada poto ste instalirali sve i napravili
neophodne MySQL korisnike, trebalo bi
da testirate instalaciju. U tu svrhu mogu
se upotrebiti dva brza PHP skripta. Ako je
dolo do neke greke, vi to najverovatnije
ve znate, ali sledei postupak e vam
omoguiti da izvrite testiranje na svom (ili
nekom drugom) serveru pre nego to se
upustite u sloenije programiranje u PHPu, ili PHP-u sa MySQL-om.
Prvi skript koji izvravamo je phpinfo.php.
On ispituje da li je PHP omoguen i takoe
prikazuje veliku koliinu informacija o
PHP instalaciji. Koliko god ovaj skript bio
jednostavan, to je jedan od najznaajnijih
skriptova koje PHP programer ikad napie,
po mom miljenju, zato to prua toliko
dragocenog znanja.
Drugi skript e posluiti u dve svrhe. Najpre e utvrditi da li je omoguena podrka
za MySQL. Ako nije, moraete u sledeem
odeljku ovog dodatka da vidite kako se
to menja. Isti skript takoe ispituje da li
MySQL korisnik ima dozvolu povezivanja
za konkretnu MySQL bazu podataka.
Skript A.1 Skript phpinfo.php ispituje PHP
instalaciju i izvetava o njoj.
1 <?php
2 phpinfo(
);
3 ?>
(Mac OS X i MAMP).
Instalacija A13
A14Dodatak A:Instalacija
Konfigurisanje PHP-a
Jedna od prednosti instaliranja PHP-a na
vlastitom raunaru je to to moete da ga
konfiguriete kako god hoete. Kako e PHP
raditi, utvruje se u konfiguracionom fajlu
php.ini, koji se obino pravi prilikom PHP
instaliranja.
Menjanje PHP-ovog ponaanja je vrlo jednostavno i najverovatnije e u nekom trenutku biti potrebno. Ovo je nekoliko stvari o
ijem podeavanju ete moda razmiljati
n
n
Instalacija A15
Da biste menjali
konfiguraciju PHP-a:
1. U svom veb pretraivau izvrite skript u
kojem se poziva funkcija phpinfo().
Funkcija phpinfo(), opisana u prethodnom odeljku dodatka (vidite A ),
otkriva veliku koliinu informacija o PHP
instalaciji.
2. U rezultatu koji dobijete od pretraivaa,
potraite Loaded Configuration File A .
Vrednost pored ovog teksta je
lokacija aktivnog konfiguracionog
fajla. To e biti neto nalik na C:\
xampp\php\php.ini ili / /Applications/MAMP/conf/php5.3/php.ini. Na
vaem serveru moe da se nalazi vie
fajlova php.ini , ali vaan je ovaj.
Ako za Loaded Configuration File nije
navedena vrednost, znai da na vaem
serveru nema aktivnog fajla php.ini .
U tom sluaju, moraete da preuzmete
izvorni kd PHP-a sa sajta www.php.net,
da biste pronali probni konfiguracioni
fajl.
3. Otvorite fajl php.ini u bilo kojem tekst
editoru.
Ako odete u navedeni direktorijum, a u
njemu nema fajla php.ini, moraete da
preuzmete taj fajl sa PHP-ovog veb sajta
(ovaj fajl je deo izvornog koda PHP-a).
4. Promenite sve to elite, obratite panju
na sledee:
XX Komentari su oznaeni takom i zarezom. Sve iza toga se zanemaruje.
XX U fajlu se nalaze objanjenja veine
parametara.
XX Na poetku fajla su opte informacije
A16Dodatak A:Instalacija
Instalacija A17
Konfigurisanje Apache-a
Novost u ovom izdanju knjige je ovaj
odeljak, koji sadri uvod u konfigurisanje
veb servera Apache. Isto kao PHP, Apache
je tehnologija otvorenog koda, a postao
je preovlaujua sila u veb tehnologijama.
Ako ste na svoj raunar instalirali XAMPP
ili MAMP, vi sada imate funkcionalnu
verziju Apache-a. Ako koristite udomljeni
veb sajt, vie je nego verovatno da i tamo
imate Apache.
Poto instaliraju Apache sa podrkom za
PHP, mnogi PHP programeri vie ne razmiljaju o veb serveru. Ali, kako sve vie uite
o razvoju za Veb, sledei logian korak je
da uite malo vie o Apache-u.
Najei razlog da bolje prouite Apache
je, izmeu ostalog, mogunost da radite
sledee:
n
n
titite direktorijume
neki folder
ukazuje na ovo
neki folder
ukazuje na ovo
ukazuje na ovo
Instalacija A19
A20Dodatak A:Instalacija
NameVirtualHost 127.0.0.1:80
<VirtualHost 127.0.0.1:80>
Ali poto MAMP na Mac OS X-u i XAMPP,
zavisno od moguih konflikata, ne koriste
uvek port 80, odluio sam se za kd koji
nee praviti probleme.
SAVET Na velikom veb serveru, bolje je
napraviti vie konfiguracionih fajlova, koje
zatim osnovni konfiguracioni fajl uitava i
koristi. Na vlastitom personalnom raunaru, bez previe prilagoavanja, dovoljan je
jedan konfiguracioni fajl.
Instalacija A21
A22Dodatak A:Instalacija
http://forums.local.
Instalacija A23
All - sve
None - nita
Slino tome, direktiva ErrorDocument upuuje Apache koji fajl da se ponudi kada doe do
serverske greke. Sintaksa je:
ErrorDocument kd_greke /stranica.html
Vrednost koda greke se uzima iz kodova statusa servera, kao to su 401 (Unauthorized - neovraeno), 403 (Forbidden - zabranjeno) i 500 (Internal Server Error interna serverska greka). Moete
da odredite koju stranicu treba ponuditi za svaki kd. Obratite panju na to da navedete apsolutnu
putanju do fajlova greaka (tj., zaponite ih sa /, to se odnosi na osnovni veb direktorijum).
A24Dodatak A:Instalacija
Da biste omoguili
.htaccess nadjaavanja:
1. Otvorite httpd.conf u bilo kojem tekst
editoru
ili IDE okruenju.
2. U okviru oznaka VirtualHost za sajt o
kojem je re, dodajte:
<Directory /putanja/do/direktorijum>
</Directory>
Instalacija A25
Zatieni direktorijumi
Uobiajena primena .htaccess fajla je da
se zatiti sadraj direktorijuma. Mogua su
dva scenarija:
Odbijanje svakog pristupa
A26Dodatak A:Instalacija
I Ovaj zahtev za unos, prikazan u Internet Exploreru na Windowsu, generie Apache da bi se pristup
ograniio samo na ovlaene korisnike.
Instalacija A27
A28Dodatak A:Instalacija