71
Matic Šmarčan ZASNOVA SPLETNEGA FORUMA Z ORODJEM PHP BB Diplomsko delo Maribor, junij 2010

Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Matic Šmarčan

ZASNOVA SPLETNEGA FORUMA Z ORODJEM PHP BB

Diplomsko delo

Maribor, junij 2010

Page 2: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za
Page 3: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

I

Diplomsko delo visokošolskega strokovnega študijskega programa

ZASNOVA SPLETNEGA FORUMA Z ORODJEM PHP BB

Študent: Matic Šmarčan

Študijski program: VS ŠP Elektrotehnika

Smer: Telekomunikacije

Mentor: Doc. dr. Janez Stergar

Somentor(ica): Doc. dr. Iztok Kramberger

Lektor(ica): Barbara Vukovič, prof.

Maribor, junij 2010

Page 4: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

II

ZAHVALA

Zahvaljujem se mentorju za pomoč in vodenje pri

opravljanju diplomskega dela. Prav tako se

zahvaljujem komentorju. Posebna zahvala velja

staršem in bratu, ki so mi omogočili študij.

Page 5: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

III

ZASNOVA SPLETNEGA FORUMA Z ORODJEM PHP BB

Ključne besede: PHP bb 3, php, SQL, Apacche UDK: 004.777(043.2)

Povzetek

V diplomi bom predstavil, kako med množico odprtokodnih forumov izbrati željeno rešitev.

Pokazal bom, kako si pripravimo testno okolje. Opisal bom postopek namesittve in

konfiguracijo ter vzdrževanje spletnega foruma. Postavil bom forum za potrebe MRSKGP-

ja in ARSKTRP-ja, ob tem pa bom izpostavil vsakega izmed naštetih korakov. Za lažje

vzdrževanje je izredno pomembna faza konfiguracije in načrtovanja, kjer se s pravilnimi

odločitvami lahko prihrani veliko časa.

Page 6: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

IV

DESIGNING A WEB FORUM USING PHP BB

Key words: PHP bb 3, php, SQL, Apacche

UDK: 004.777(043.2)

Abstract

In my diploma thesis I am going to present how to select the desired solution among the

multitude of open source forums. I am going to demonstrate how to prepare a test

environment. In addition to this, I am going to describe the procedure of installation,

configuration, and maintenance for selected forum. I am going to use the forum, which I

have integrated, as my case study. This is the forum of Agency of the Republic of Slovenia

for Agricultural Markets and Rural Development and Ministry of Agriculture, Forestry

and Food. For easier maintenance the configuration and design phase are extremely

important, since the right decisions can save a lot of time.

Page 7: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

V

VSEBINA

1 UVOD ............................................................................................................................1

2 OPIS PROBLEMA.......................................................................................................2

3 IZBIRA OPTIMALNEGA SISTEMA .......................................................................3

4 OPIS.............................................................................................................................10

4.1 APACHE.................................................................................................................11

4.2 PHP.......................................................................................................................11

4.3 MYSQL.................................................................................................................12

4.4 PHPMYADMIN .......................................................................................................12

4.5 EXAMPP..............................................................................................................13

4.6 PHPBB .................................................................................................................13

5 PRIPRAVA IN NAMESTITEV................................................................................14

5.1 APACHE.................................................................................................................14

5.2 PHP.......................................................................................................................15

5.3 MY SQL ...............................................................................................................20

5.4 PHPMYADMIN .......................................................................................................26

5.4.1 Uporaba phpMyAdmin .................................................................................28

5.5 XAMPP ................................................................................................................30

6 PHP BB 3 NAMESTITEV.........................................................................................32

7 KONFIGURACIJA....................................................................................................35

7.1 LOKALIZACIJA .................................................................................................35

7.2 SPLOŠNO ............................................................................................................35

7.3 UREJANJE PREDLOGE .....................................................................................36

7.4 RAZŠIRITVE – MODULI ...................................................................................37

7.5 VSEBINSKA STRUKTURA FORUMA.............................................................39

7.6 SKUPINE UPORABNIKOV ZNOTRAJ ARSKTRP IN MKGP.........................41

7.7 TIPI FORUMOV GLEDE NA ZUNANJE UPORABNIKE ................................43

7.8 KONFIGURACIJA NASTAVITEV....................................................................44

Page 8: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

VI

7.8.1 Dovoljenja ....................................................................................................44

7.8.2 Varnost .........................................................................................................46

8 PREIZKUS NASTAVITEV, POSODABLJANJE IN VZDRŽEVANJE..............48

8.1 PREIZKUS NASTAVITEV.................................................................................48

8.2 VARNOSTNE KOPIJE........................................................................................49

8.3 POSODABLJANJE..............................................................................................50

9 SKLEP .........................................................................................................................52

10 VIRI, LITERATURA................................................................................................53

11 PRILOGE....................................................................................................................54

Page 9: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

VII

UPORABLJENE KRATICE

PHPBB (Hypertext Preprocessor Bulletin Board) - PHP oglasna deska

XAMPP - X(pomeni različne platforme), Apache http server, MySQL, Php, Perl

APACHE (Web server)- Apache spletni strežnik

SQL (Structured Query Language) – Strokturni jezik za poizvedovanje

PHP (Personal Home Page Hypertext Preprocessor) - Predprocesor hiperteksta za osebne

domače strani

HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta

XML (Extended Markup Language) - Razširljiv označevalni jezik

HTTP (Hypertext Transfer Protocol) - Protokol za prenos hiperteksta

HTTPS (Hypertext Transfer Protocol with SSL) – Protokol za varni prenos hiperteksta

SSL (Secure Socket Layer) - Sloj varnih vtičnic

ACP (Administration control panel) - Administratorska nadzorna plošča

ARSKTRP - Agencija Republike Slovenije za kmetijske trge in razvoj podeželja

ARSAMRD (Agency of the Republic of Slovenia for Agricultural Markets and Rural

Development)

MRSKGP - Ministerstvo Republike Slovenije za kmetijstvo, gozdarstvo in prehrano

MRSAFF (Ministry of the Republic of Slovenia of Agriculture, Forestry and Food)

CHMOD (Change mode) -

GPL (General Public Licenca) - Splošna javna licenca

WYSIWYG (What You See Is What You Get) -

RSS (Reali Simple Sindicate) - Protokol za objavo in distribucijo spletnih vsebin v zapisu

XML

GUI (Graphical User Interface) - Grafični uporabniški vmesnik

CMS (Content Manegment System) – Sistem za upravljanje spletnih vsebin

Page 10: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za
Page 11: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 1

1 UVOD

Diplomska naloga je nastala v okviru študentskega dela v Agenciji Republike Slovenije za

kmetijske trge in razvoj podeželja, kjer sem opravljal delo v službi za informacijsko

upravljanje in tehnologijo v oddelku za dostop do podatkov.

Ena izmed nalog, ki sem jih dobil, je bila prenova obstoječega foruma kmetijskih

svetovalcev na spletni strani ARSKTRP (Agencija Republike Slovenije za kmetijske trge

in razvoj podeželja) http://www.arsktrp.gov.si/ in MRSKGP (Ministrstvo Republike

Slovenije za kmetijstvo, gozdarstvo in prehrano) http://www.mkgp.gov.si/.

Moja naloga je bila, da zberem informacije o različnih sistemih, jih med sabo primerjam in

se na podlagi ugotovitev odločim za optimalnega. Pripravil sem testno okolje, da sem

lahko izbrani sistem namestil in preizkusil. Potrebna je bila konfiguracija foruma in

usklajevanje vsebine z zahtevami s strani agencije oz. kmetijskih svetovalcev.

Page 12: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 2

2 OPIS PROBLEMA

Izmed vseh razvitih odprtokodnih forumov je potrebno izbrati sistem, ki je stabilen,

fleksibilen in uporaben. Potrebno ga je implementirati v že obstoječi sistem podatkovnih

baz in namestiti na strežnik. Sistem je potrebno lokalizirati in nastaviti potrebne skupine

uporabnikov in tipe forumov. Forum agencije mora biti delno odprtega tipa in je namenjen

kmetijskim svetovalcem in drugim morebitnim zunanjim sodelavcem agencije. Svetovalec

potrebuje za prijavo uporabniško ime ter geslo, ki mu ju dodeli agencija na podlagi

uradnih, internih evidenc. V kolikor svetovalec nima gesla in uporabniškega imena, zaprosi

zanj preko svojega zavoda, tako da predstojnik zavoda pošlje zahtevo po elektronski pošti

na naslov: [email protected]. Dodeljeno uporabniško ime in geslo svetovalec prejme

na svoj elektronski naslov. Obiskovalci pa se lahko registrirajo le za del foruma MKGP.

Tako se lahko prijavi in postavi vprašanja. Sistem je pred uporabo potrebno še testirati in

preizkusiti, če delujejo vse možne variante.

Page 13: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 3

3 IZBIRA OPTIMALNEGA SISTEMA

V zadnjem desetletju se na internetu pojavlja vedno več brezplačnih odprtokodnih

sistemov za urejanje spletnih vsebin, tako imenovanih CMS (Content Manegment System),

sistem za upravljanje spletnih vsebin.

Vidimo, da se uporablja predvsem php, nekaj je programiranih v javi, so pa tudi posamezni

poskusi v programskem jeziku asp in pa perl-u. Delijo se tudi na komercialne oz. plačljive

in

odprtokodne forume, ki so na voljo preko splošne javne licence GPL (General Public

Licenca).

Na spletu obstaja več spletnih strani1, kjer je moč primerjati med različnimi sistemi. S

primerjavo bomo spoznali, kaj sploh je na voljo, katere funkcije so najpogostejše, kako je z

integracijo v različne sisteme podatkovnih baz, in se tako lažje odločili za rešitev, ki je za

nas najbolj primerna. Najbolj razširjene funkcije bomo tudi opisali.

Na spletu je vpisanih preko 50 različnih sistemov, izmed katerih smo izbrali med prvimi

phpBB (2000), ker je najbolj uporabljen in je prisoten najdlje časa ter Simple Machines

Forum (2003), ker je tudi eden bolj razširjenih v Evropi. Ostali sistemi, ki smo jih izbrali

za primerjavo, pa so: PunBB, Vanilla, miniBB in pa Yet Another Forum.

Spodaj je primerjava med izbranimi sistemi, in sicer najprej na splošno. Vidimo, da je

edina bistvena razlika pri programskem jeziku, kjer se poleg php-ja pojavi še asp.net, C#.

Med ostalimi primerjavami naj še omenim namestitev in nadgradnjo, kjer namestitev pri

vseh poteka preko čarovnika, se pravi spletnega vmesnika, medtem ko pa za nadgradnjo

ponekod lahko uporabimo ročno metodo, torej prenos datotek preko recimo ftp računa in

ročno spreminjanje konfiguracijskih datotek, kjer je to potrebno.

1 http://www.forummatrix.org

http://www.forum-software.org

Page 14: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 4

Tabela 1: Primerjava med različnimi sistemi – Splošno

Splošno Mini BB Php BB Pun BB SMF Vanilla Yet Anather Forum

Verzija 2.4 3.0.6 1.2.14 1.1.10 1.1.5a v1.9.3 Datum izdaje

18.8.2008 17.11.2009 15.10.2006 14.6.2009 24.9.2008 22.4.2009

Avtor Mini BB Team

The php BB Group

Pun BB Development Team

SMF Development Team

Mark O Sullivan; Lussumo

Tiny Gecko

Internetni naslov

minibb.com

phpbb.com punbb.org simplemachines.com

getvanilla.com

yetanatherforum.net

Odprta koda Da Da Da Da Da Da Licenca GPL GPL GPL Po meri GPL GPL v2.0

Cena licence

Zastonj Zastonj Zastonj Zastonj Zastonj Zastonj

Programski jezik

Php php Php php php asp.net, C#

UTF-8 podpora

Da Da Ne a Da Da

Tip foruma Raven Raven Raven Raven Raven Raven ali drevesna stroktura

Namestitev Preko čarovnika

Preko čarovnika

Preko čarovnika

Preko čarovnika

Preko čarovnika

Preko čarovnika

Nadgradnja Ročno Ročno in čarovnik

Ročno Čarovnik Ročno Ročno in čarovnik

Poglejmo si primerjavo podpore podatkovnih baz. Od vseh ima phpBB največjo podporo,

se pravi, da ga je moč integrirati v različne sisteme, kar je tudi ključno. Od vseh sistemov

pa je najbolj uveljavljen MySQL.

Tabela 2: Primerjava med različnimi sistemi – Shranjevanje podatkov

Shranjevanje podatkov Mini BB Php BB Pun BB SMF

Vanilla

Yet Another Forum

MySQL Da Da Da Da Da Ne Postgres Da Da Ne Da Ne Oracle Da Ne Ne Ne Ne SQlite Da Da Ne Ne Ne Tekstovne datoteke Ne Ne Ne Ne Ne Ne Dugo FireBird 2.0+,

MSSQL 2000+, MSSQL 2000+ (ODBC)

Ne Ne Ne Microsoft SQL Server

Gostovanje Ne Ne Da Ne Ne Ne

Page 15: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 5

Primerjava možnosti prispevkov nam dejansko pove, kakšno kodo oz. možnosti imamo pri

urejanju prispevka, najbolj razširjena je BB koda, ki je posebna implementacija HTML

(Hypertext Markup Language) – jezik za označevanje hiperteksta, ki izgleda nekako

takole:

[b]Zdravo[/b]

izpiše pa se takole: Zdravo

[u] Zdravo [/u]

izpiše pa se takole: Zdravo

Uporablja se tudi pri večini ostalih podobnih CMS sistemov. Nekatere opcije so pri

določenih rešitvah možne preko vtičnikov (plugin-ov), ki jih namestimo ročno ali preko

vmesnika.

Tabela 3: Primerjava med različnimi sistemi – Prispevki

Prispevki Mini BB Php BB Pun BB SMF Vanilla Yet Another Forum

BBkoda Da Da Da Da Vtičnik Da HTML Opcijsko Ne Popravek Da Vtičnik Da Ikone Vtičnik Da Da Da Vtičnik Da WYSIWYG urejevalnik

Vtičnik Ne Popravek Ne Vtičnik Opcijsko

Citiranje Enojno Vstavljeno Vstavljeno

Vstavljeno Enojno Vstavljeno

Poudarjanje sintakse Da Da Popravek Da Vtičnik Da Priponke Več

datotek Več datotek

Ne Več datotek

Več datotek

Več datotek

Pri primerjavi forumov ugotovimo, ali lahko ustvarjamo kategorije in podforume, kar nam

koristi pri organizaciji foruma, vidimo, ali nam sistem prikazuje zadnje prispevke in ali je

mogoča preusmeritev foruma ipd.

Tabela 4: Primerjava med različnimi sistemi – Forumi

Forumi Mini BB Php BB Pun BB SMF Vanilla Yet Another ForumKategorije Da Da Da Da Da Da Podforumi En nivo Neomejeno Ne Neomejeno Ne Neomejeno Zadnji prispevki Da Da Da Da Da Da Preusmeritev foruma Ne Da Da Vtičnik Ne Da Forum za smeti Da Ne Ne Da Ne Opcijsko

Page 16: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 6

Pri primerjavi spam zaščite in varnosti si najprej poglejmo različne možnosti in kaj sploh

pomenijo. CAPTCHA pomeni Completely Automated Public Turing test to tell Computers

and Humans Apart.

Tabela 5: Primerjava med različnimi sistemi – Spam zaščita in varnost

Spam zaščita in varnost Mini BB Php BB Pun BB SMF Vanilla Yet Another Forum

CAPTCHA Vtičnik Da Popravek Da Vtičnik Da Grupe Ne Več grup Ena grupa Več grup Več grup Več grup Zaščita pred poplavo Vtičnik Da Da Da Da Da ACLs Vtičnik Da Ne Da Da Da Črna lista Vtičnik Da Da Da Da Da Opozorila Vtičnik Da Ne Vtičnik Ne Ne Izključitve Da Da Da Da Da Da Bans Da Da Da Da Da Da IP blokade Da Da Da Da Ne Da Revizija Vtičnik Da Da Ne Da Uporabniška poročila Ne Da Da Vtičnik Da

CAPTCHA je test, ki ugotovi, ali je določen uporabnik človek ali program. Temelji na

načelu poziv-odgovor. To pomeni, da uporabniku prikaže sliko, na kateri je zaporedje

znakov, in ga pozove, naj znake s slike vpiše v ustrezno pozivno okno. Sistem oceni, ali ga

je uporabnik pravilno rešil, ne more pa ga rešiti sam. In prav to omogoča, da lahko na

podlagi testa CAPTCHA razločimo med človeškimi in nečloveškimi uporabniki.

Podpora skupinam je funkcija, ki omogoča, da uporabnike razvrščamo v skupine, saj jim

tako lažje dodeljujemo uporabniške pravice, v smislu, da lahko dodeljujemo pravice celi

skupini. Nekateri forumi te funkcije nimajo ali pa imajo podporo za samo eno skupino,

zato je to dobro preveriti, posebej če potrebujemo več skupin, kot se bo izkazalo v našem

primeru. In phpBB ima podporo za več skupin.

Kontrola poplave (Flood Control) je funkcija, ki onemogoča poplavo prispevkov oz. tem, v

primeru spam napada (automatic spamming). Funkcija onemogoča večkratno odpiranje

novih tem v določenem časovnem oknu.

Kontrolna lista dostopa ali ACL (Access Control List) omogoča, da lahko administrator

blokira določene skupine ali uporabnike z določenim številom objav.

Sledijo še ostale možnosti, ki po moje ne potrebujejo posebne razlage.

Sledijo primerjave s področja obveščanja, kjer imamo skoraj povsod na voljo spletne vire

RSS/ATHOM, obveščanje preko e-maila, klepetalnice in možnost dodajanja zaznamkov.

Page 17: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 7

Dokument RSS (Reali Simple Sindicate) se imenuje "krma", "web feed" ali "kanal".

Vsebuje povzetek ali celotno besedilo, plus metapodatke, kot so datumi objave in

avtorstvo. V bistvu gre za protokol za objavo in distribucijo spletnih vsebin v zapisu XML.

Tabela 6: Primerjava med različnimi sistemi – Obveščanje

Obveščanje Mini BB Php BB Pun BB SMF Vanilla Yet Another ForumRSS/ATHOM Vtičnik Da Da Da Vtičnik Da E-mail Da Da Da Da Vtičnik Da Klepetalnica Jabber Ne Zaznamki Vtičnik Da Da Vtičnik Da Popravek

V področju skupnost imamo v mislih nastavitve, funkcije, ki so vezane na uporabnika, od

avatarjev, do podpisov pod prispevki, zasebnih sporočil, seznam prijavljenih uporabnikov

itd.

Tabela 7: Primerjava med različnimi sistemi – Skupnost

Skupnost Mini BB Php BB Pun BB SMF Vanilla Yet Another Forum

Avatarji Vtičnik Da Da Da Da Da Uvrščanje uporabnikov Vtičnik Da Da Da Ne Da Ocenjevanje / Karma sistem Vtičnik Ne Vtičnik Da Da Ne Podpisi Vtičnik Da Da Da Vtičnik Da Seznam prijavljenih uporabnikov Vtičnik Da Da Da Vtičnik Da Privatna sporočila Vtičnik Da Popravek Da Da Da Polja profila po meri Vtičnik Da Popravek Vtičnik Vtičnik Da

Spodaj vidimo primerjavo moderacij. Te nastavitve so vezane na moderiranje foruma, od

prestavljanja narobe uvrščenih tem do zapiranja tem.

Tabela 8: Primerjava med različnimi sistemi – Moderacije

Moderacije Mini BB Php BB Pun BB SMF Vanilla Yet Another Forum

Moderatorji Globalno, Forum

Globalno, Forum

Globalno, Forum

Globalno, Forum, Teme

Globalno Globaln, Forum

Prestavljanje niti

Da Da Da Da Da Da

Deljenje niti Vtičnik Da Popravek Da Ne Ne Zapiranje niti Da Da Da Da Da Da Senčenje tem

Vtičnik Da Da Da Ne Da

Lepljive niti Da Da Da Da Da Da Pomembne niti

Vtičnik Da Ne Vtičnik Ne Da

Page 18: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 8

Iskanje primerjamo po možnostih, ki jih imamo pri izbiri. Lahko iščemo po avtorju ali

besedilu in neprebranih temah; skoraj vsi pa omogočajo napredno iskanje, kjer je še nekaj

dodatnih možnosti, odvisno od sistema do sistema.

Tabela 9: Primerjava med različnimi sistemi - Iskanje

Iskanje Mini BB Php BB Pun BB SMF Vanilla Yet Another Forum

Iskanje besedila Da Da Da Da Da Da

Iskanje avtorja Da Da Da Da Da Da Napredno iskanje

Da Da Da Da Da Ne

Neprebrane teme

Sledenje

podatkovne baze

Sledenje

podatkovne baze

Sledenje seje

Sledenje

podatkovne baze

Sledenje

podatkovne baze

Sledenje seje

Nekateri sistemi so prisotni že več časa in so posledično tudi bolj uveljavljeni, zato imajo

podporo tudi do 60 različnih jezikov. Vsi sistemi imajo možnost razširitev z vtičniki in

menjave predlog, nekateri celo podpirajo več predlog hkrati na različnih forumih.

Navedene so še ostale možnosti, ki jih nekateri sistemi že vsebujejo, drugje pa omogočajo

razširitev preko vtičnikov.

Tabela 10: Primerjava med različnimi sistemi - Kostumizacija

Kostomizacija Mini BB Php BB Pun BB SMF Vanilla Yet Another Forum

Število jezikov 40+ 61 40 47 23 22 Predloge Globalno Globalno,

Forum Globalno Globalno,

Forum Globalno Globalno,

Forum BB koda po meri Popravek Da Popravek Vtičnik Ne Da Urejevalnik teme Vtičnik Da Vtičnik Da Ne Ne Paket ikon Vtičnik Da Popravek Da Vtičnik Da Vtičniki Da Da Da Da Da Da

Statistika je ena izmed možnosti, ki jih vsebuje že skoraj vsak sistem, priljubljene so tudi

ankete, nekoliko bolj redko se pojavi koledar ter možnost prijaznih url-jev.

Tabela 11: Primerjava med različnimi sistemi – Posebne možnosti

Posebne možnosti Mini BB Php BB Pun BB SMF Vanilla Yet Another ForumStatistika Da Da Da Da Vtičnik Da Ankete Vtičnik Da Popravek Da Vtičnik Da Koledar Vtičnik Ne Popravek Da Vtičnik Ne Prijazni URL-ji Opcijsko Popravek Popravek Da Vtičnik Da

Page 19: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 9

Upravljanje s podatki lahko ločimo na več načinov; vidimo, da phpbb nima vgrajene

funkcije arhiviranja, lahko pa to storimo z izvozom podatkovne baze in si tako ustvarimo

varnostno kopijo.

Tabela 12: Primerjava med različnimi sistemi – Upravljanje s podatki

Upravljanje s podatki Mini BB Php BB Pun BB SMF Vanilla Yet Another ForumObrezovanje Vtičnik Da Da Da Ne Da Arhiviranje Vtičnik Ne Ne Vtičnik Ne Ne Format izvoza CSV, TXT WAP(2), Imode Ne Izvoz privatnih sporočil Vtičnik Da Ne Vtičnik Ne Ne Lo-Fi pogled Da Da Ne Da Da Ne

Priljubljenost oziroma iskanost lahko preverimo tudi s storitvijo Google Trends, ki nam

rezultate prikaže v časovnem zaporedju. Google Trends analizira iskani izraz (lahko tudi

več iskanih besed hkrati) in poda rezultat, ki pove, koliko iskanj je bilo za vneseni izraz.

Prikazan je graf z rezultati količine iskanja. Spodaj je prikazan še graf količine novic, ki

nam pokaže, kolikokrat se je iskani izraz pojavil v Google News zgodbah in kdaj.

Vidimo, da je najbolj iskani pojem phpbb.

Slika 3.1: Google trends - Primerjava iskanih izrazov

Po vseh primerjavah, ki smo jih opravili, smo se odločili za sistem php BB verzija 3.

Sistem ima najširši nabor funkcij v primerjavi z ostalimi konkurenčnimi sistemi. Na

odločitev, za kateri sistem se odločiti, so vplivale tudi predhodnje izkušnje s prejšnjo

verzijo sistema.

Page 20: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 10

4 OPIS

Da sistem php bb deluje, potrebujemo:

Spletni strežnik (Apache) ali gostovanje pri ponudniku internetnih storitev. SQL sistem za podatkovne baze:

o FireBird 2.0 ali višja verzija o MySQL 3.23 ali višja verzija o MS SQL Server 2000 ali višja verzija o Oracle o PostgreSQL 7.x ali višja verzija o SQLite 2

PHP 4.3.3 or ali višja verzija s podporo sistema podatkovnih baz. Možna prisotnost modulov znotraj php zagotovi dodatne opcije, ki pa seveda niso obvezne.

o zlib Compression podpora o Remote FTP podpora o XML podpora o Imagemagick podpora o GD podpora

Za namestitev foruma phpBB3 potrebujemo torej primerno testno okolje. Najbolje, da na

svojem osebnem računalniku namestimo lokalni strežnik, v kombinaciji s PHP, MySQL in

PHPMyAdmin. To lahko naredimo z inštalacijo posameznih komponent Apache, php, sql

in pravilno konfiguracijo, lahko pa se odločimo za enega od t. i. «trojčkov«, recimo

Exampp. Najprej bomo vsako potrebno komponento opisali, v naslednjem poglavju pa si

bomo ogledali, kako se namesti lokalni strežnik apache s php in sql podporo ter paket

exampp.

Page 21: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 11

4.1 Apache

Spletni strežnik Apache, velikokrat samo Apache, je spletni strežnik, ki igra ključno vlogo

pri širjenju spleta. Govorimo seveda o strežniškem programu in ne strežniku kot strojni

opremi. Bil je prva alternativa Netscapeovemu spletnemu strežniku, trenutno znanem kot

spletni strežnik Sun Java System. Od aprila 1996 je Apache najbolj popularen HTTP

strežnik na celem spletu. Od oktobra 2007 pa je bilo na Apache strežniku postavljenih

približno 48 % vseh spletnih strani.1 Preprosto rečeno, Apache je zmogljiv strežniški

program, ki po protokolu http usmerja in interpretira podatke, ki jih dobi po svetovnem

omrežju ali jih tja pošilja. V praksi so to programi, moduli in nadzorne datoteke, v katere

pišemo in tako (pre)nastavljamo strežnik. Na primer, kaj naj s posameznimi zahtevki za

ogled določene spletne strani naredi strežnik. Apache nato poskrbi, da je zahtevek

izpolnjen in je uporabniku posredovana želena spletna stran. Glavna konfiguracijska

datoteka v Apacheju se imenuje http.conf, kjer lahko nastavljamo številne nastavitve.

4.2 PHP

PHP je kratica, ki pomeni (Personal Home Page Hypertext Preprocessor), in je strežniški

skriptni jezik, ki ga lahko po želji pišemo med vrstice s kodo html. Lahko ga primerjamo z

Microsoftovim ASP-, VBScript in JScript sistemom, Sun Mycrosystemovim JSP- in Java

sistemom ter CGI- in Perl sistemom.2 PHP je splošno namembni skriptni jezik; glavni cilj

piscev php-ja je bil, da omogočijo izdelovalcem spletnih strani hitro gradnjo dinamičnih

spletnih strani. Njegova prednost se izkaže pri pisanju krajših in srednje dolgih spletnih

strani, saj je kakovostno stran z njim mogoče napisati zelo hitro. Poleg tega je izjemno

prilagodljiv in ga je moč kombinirati s številnimi jeziki in aplikacijami v različnih

operacijskih sistemih.

1 PHP in MySQL – Matjaž Štrancar, Simon Klemen

2 PHP in MySQL – Matjaž Štrancar, Simon Klemen

Page 22: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 12

Primer PHP skripte vključene v HTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>PHP</title> </head> <body> <?php echo "Pozdrav!"; ?> </body> </html>

4.3 MySQL

MySQL je sistem za upravljanje s podatkovnimi bazami. MySQL je odprtokodna

implementacija relacijske podatkovne baze, ki za delo s podatki uporablja jezik SQL.1

Strežnik MySQL lahko upravljamo na dva načina: z ukazno vrstico in z grafičnim

uporabniškim vmesnikom (GUI-Graphic User Interface). MySQL lahko urejamo tudi z

različnimi skripti. Eden izmed takšnih skupkov skriptov z grafičnim uporabniškim

vmesnikom je tudi phpMyAdmin.

4.4 phpMyAdmin

Php My Admin je spletni vmesnik za delo s podatkovnimi bazami, je skupek skript,

napisanih v php, s katerim lahko dostopamo do strežnika My SQL preko brskalnika, se

pravi od povsod. 2Omogoča izdelovanje, dodajanje, brisanje in urejanje zbirk podatkov,

tabel in podatkov. Podpira tudi SQL sintakso, tj. ukaze za izvajanje določenih operacij.

1 PHP in MySQL – Matjaž Štrancar, Simon Klemen

2 PHP in MySQL – Matjaž Štrancar, Simon Klemen

Page 23: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 13

4.5 EXAMPP

Na spletu pa so že nekaj časa na voljo tako imenovani »trojčki«, kjer je skonfiguriran

trojček Apache, php, sql. Eden takšnih je tudi EXAMPP. Exampp je paket, ki vsebuje

Apache, MySQL, PHP; je zelo enostaven za namestitev in uporabo, kadar potrebujemo

testno okolje na hitro.

4.6 PHPBB

PHP BB je skupek skript, napisanih v jeziku php. Phpbb je ena prvih rešitev spletnega

foruma, kjer bb pomeni Bulletin Board. Dostopen je pod GPL licenco. Prva verzija phpBB

1.0.0, je bila izdana 9.12.2000, nato je sledila verzija phpBB 2.0.0, z izdajo dne, 4.4.2002.

Zdajšnja različica phpBB 3.0.0 pa je bila izdana 13.12.2007.

Nekaj glavnih funkcionalnosti phpBB3:

modularna zasnova Administratorske, Moderatorske in Uporabniške nadzorne

plošče

podpora različnim podatkovnim sistemom

neomejena število podforumov

sistem dovoljenj

Page 24: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 14

5 PRIPRAVA IN NAMESTITEV

5.1 Apache

S strani http://httpd.apache.org/download.cgi prenesemo zadnjo verzijo (trenutno 2.2.14).

Prenesite "Win32 Binary without crypto (MSI Installer): apache_2.2.14-win32-x86-

no_ssl.msi". Začnemo z namestitvijo Apache serverja. Dvoklik na inštalacijski file:

apache_2.2.14-win32-x86-no_ssl.msi. Sledimo postopku, preberemo in označimo, da se

strinjamo z licenčno pogodbo in kliknemo naprej. V okno Server Information vpišemo

želene podatke, v našem primeru napišemo localhost, za Network Domain in Server

Domain. Za administratorski e-mail pa: admin@localhost. Nadaljujemo.

Slika 5.1: Namestitev Apache serverja – Vnos podatkov

Page 25: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 15

V naslednjem oknu izberemo Custom Setup Type in nadaljujemo. V našem primeru smo

zamenjali lokacijo inštalacije, in sicer na C:\WEB\APACHE\.

Slika 5.2: Namestitev Apache serverja – Vnos poti

Sledimo postopku do konca inštalacije. Po koncu inštalacije se program zažene in nato

odpremo brskalnik in odtipkamo http://localhost/ v url vrstico. Ko se izpiše "It Works!", je

to samo potrditev, da deluje in lahko nadaljujemo z inštalacijo php.

5.2 PHP

Na spletni strani http://www.php.net/downloads.php najdemo pod Windows Binaries

zadnji ZIP paket (trenutno 5.2.8), ki si ga prenesemo na testno postajo. Odpremo

raziskovalec in v mapi C:\WEB ustvarimo novo mapo z imenom PHP. Razširimo file php-

5.2.8-Win32.zip v C:\WEB\PHP. Poiščemo datoteko php.ini.dist in jo preimenujemo v

php.ini. Datoteka php.ini vsebuje nastavitve delovanja php. Nastavitve urejamo tako, da

odpremo datoteko z urejevalnikom besedil, spremenimo nastavitve, shranimo in strežnik

ponovno zaženemo. O morebitnih napakah nas sistem opozori samodejno.

Page 26: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 16

Slika 5.3: Namestitev php – php.ini

Pojdimo na C:\WEB\APACHE\Conf. Odpremo konfiguracijsko datoteko httpd.conf in se

pomaknemo na dno datoteke, kjer dodamo spodnjo kodo:

LoadModule php5_module "C:/WEB/PHP/php5apache2_2.dll"

AddHandler application/x-httpd-php .php

PHPIniDir "C:/WEB/PHP"

Page 27: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 17

Slika 5.4: Konfiguracija php – Vtičnik http.conf

S tem omogočimo modul php5. Poiščemo še DirectoryIndex in dodamo index.php, kot

kaže slika. S tem omogočimo, da server pri pregledu indeksira tudi index.php. ter vrne kot

rezultat prvi index, ki ga najde.

Page 28: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 18

Slika 5.5: Konfiguracija php – Vtičnik http.conf

Shranimo in zapremo httpd.conf. Nato ponovno zaženemo Apache in se pomaknemo v

C:\WEB\APACHE\htdocs. Kreiramo novo datoteko z imenom phpinfo.php.

Odpremo phpinfo.php in vnesemo spodnjo kodo:

Code:

<?

phpinfo();

?>

Page 29: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 19

Slika 5.6: Konfiguracija php – Kreiranje phpinfo.php

Shranimo phpinfo.php, odpremo brskalnik in vpišemo http://localhost/phpinfo.php. S tem

preverimo osnovne nastavitve strežnika, njegovi podpori za php in podatke o drugih

nameščenih modulih. Ko se nam pokaže stran s php informacijami, kot kaže slika, lahko

nadaljujemo z instalacijo MY SQL-a.

Page 30: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 20

Slika 5.7: Php verzija in informacije

5.3 MY SQL

S spletne strani http://dev.mysql.com/downloads/mysql/5.0.html#win32 prenesemo

datoteko Windows ZIP/Setup.EXE (x86). Odpremo mysql-5.0.77-win32.zip in poženemo

setup.exe. Kliknemo naprej, pri izbiri tipa instalacije pa izberemo po meri. Izberemo

lokacijo C:\WEB\MYSQL\ in nadaljujemo.

Page 31: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 21

Slika 5.8: Namestitev MySQL serverja – Vnos poti

Odklikamo naprej, na koncu pa še označimo Configure the MySQL Server now in

nadaljujemo. Konfiguracija poteka s pomočjo čarovnika, kjer označimo Detailed

Configuration, nato nadaljujemo in označimo Developer Machine in Multifunctional

Database. Sledi označba Decision Support (DSS)/OLAP, potem pa se pojavi spodnje

okno, kjer omogočimo Enable TCP/IP Networking in Enable Strict Mode. Privzeti TCP

port za mysql pa je 3306.

Page 32: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 22

Slika 5.9: MySQL server konfiguracija

V nadaljevanju označimo Install As Windows Service, kar nam namesti mysql kot servis.

Ne omogočimo pa Include Bin Directory in Windows PATH . Kliknemo naprej,

označimo Modify Security Settings. Za potrebe testiranja sem uporabil privzeto geslo root.

Če pa bi stran bila javno dostopna, pa je seveda priporočeno močnejše geslo. Opciji Create

An Anonymous Account in Enable root access from remote machines pa pustimo

neoznačene.

Page 33: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 23

Slika 5.10: MySQL server konfiguracija

Nadaljujemo do konca namestitve. Sedaj pa je potrebno skonfigurirati PHP, da omogoči

MySQL, zato se postavimo na C:\WEB\PHP, odpremo konfiguracijsko datoteko php.ini in

poiščemo spodnjo kodo:

;extension=php_mysql.dll

Odstranimo podpičje ; s tem omogočimo razširitev.

Page 34: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 24

Slika 5.11: Konfiguracija php.ini – omogočanje mysql

Poiščemo še extension_dir = "./", kjer dodamo za ./ext/, kot kaže slika. S tem določimo

pot do modula.

Slika 5.12: Konfiguracija php.ini

Page 35: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 25

Shranimo in zapremo php.ini. Potrebno je dodati še PHP pot v Sistemske spremenljivke -

Environment Variables, zato odpremo System Properties (desni klik na My Computer,

izberemo Properties). Pritisnemo Advanced tab, nato pa Environment Variables.

Slika 5.13: Sistemske spremenljivke – Pot do php

Pod System variables, najdemo Path in kliknemo Edit. Gremo na konec vrstice in dodamo

pot do PHP mape C:\WEB\PHP, potrdimo in zapremo. Potreben je ponovni zagon, da se

spremembe shranijo. Ob ponovnem zagonu odprite brskalnik in pojdite na url naslov

http://localhost/phpinfo.php, kjer poiščemo "mysql".

Page 36: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 26

Slika 5.14: Phpinfo.php - Mysql informacije

Sledi namestitev PHPMyAdmin.

5.4 phpMyAdmin

Na povezavi http://www.phpmyadmin.net/home_page/downloads.phpre prenesemo zadnjo

verzijo (trenutno 3.1.2) english.zip. Odpremo datoteko phpMyAdmin-3.1.2-english.zip in jo

odzipamo v C:\WEB\APACHE\htdocs. Nato mapo phpMyAdmin-3.1.2-

english preimenujemo v phpmyadmin. To naredimo zaradi lažje navigacije v brskalniku.

Pomaknemo se v mapo C:\WEB\APACHE\htdocs\phpmyadmin. Preimenujemo vzorčno

datoteko config.sample.inc.php v konfiguracijsko datoteko phpMyAdmin-a config.inc.php

in jo odpremo ter poiščemo kodo:

$cfg['Servers'][$i]['auth_type'] = 'cookie';

spremenimo cookie v config. In poiščemo kodo:

// $cfg['Servers'][$i]['controluser'] = 'pma';

// $cfg['Servers'][$i]['controlpass'] = 'pmapass';

nad katero dodamo spodnjo kodo:

Page 37: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 27

$cfg['Servers'][$i]['user'] = 'root';

$cfg['Servers'][$i]['password'] = 'MYSQL_PASSWORD';

Spremenimo pma v root, kar je privzeti uporabnik, in pmapass v geslo, ki smo si ga izbrali

ob namestitvi MySQL-a, v našem primeru tudi root.

Slika 5.15: Konfiguracija Apache – config.inc.php

Shranimo datoteko in jo zapremo. V brskalnik vpišemo pot do

http://localhost/phpmyadmin.

Sistem nas avtomatsko prijavi in že lahko začnemo s kreiranjem naše baze in uporabnika

za testno inštalacijo phpBB3 foruma.

Page 38: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 28

5.4.1 Uporaba phpMyAdmin

Ustvarimo novega uporabnika, in sicer lokalno. Kliknemo na privilegiji, izberemo

uporabniško ime, v našem primeru test. Gostitelj izberemo localhost ter dodelimo še geslo.

Če obkljukamo še opcija Create database with same name and grant all privilegies, se bo

poleg uporabnika test kreiral še baza test z omogočenimi vsemi pravicami.

Slika 5.16: php My Admin – dodajanje novega uporabnika

SQL sintaksa za zgoraj napisano pa izgleda takole :

CREATE USER 'test'@'localhost' IDENTIFIED BY '***';

GRANT USAGE ON * . * TO 'test'@'localhost' IDENTIFIED BY '***' WITH

MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0

MAX_UPDATES_PER_HOUR 0 MAX_USER_ CONNECTIONS 0;

Lahko pa kreiramo samo bazo podatkov z imenom test, izberemo pravilno razvrščanje

znakov utf8_slovenian_ci za slovenske znake. Kot kaže spodnja slika.

Page 39: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 29

Slika 5.17: php My Admin – dodajanje novega uporabnika

Za kreiranje baze pa SQL sintaksa:

CREATE DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE

utf8_slovenian_ci;

Določimo še, za katero podatkovno bazo je uporabnik ter kakšne pravice ima na bazi.

SQL sintaksa:

GRANT ALL PRIVILEGES ON `test` . * TO 'test'@'localhost' WITH GRANT OPTION ;

Slika 5.18: php My Admin – pravice uporabnika test

Spodaj lahko sedaj vidimo razliko med uporabnikom test na naši novo kreirani bazi in

uporabnikom root.

Page 40: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 30

Slika 5.19: php My Admin – pravice uporabnika root

Razvidno je, da je nov uporabnik test, ki smo ga ustvarili za dostop do baze test kar precej

omejen v primerjavi z uporabnikom root, ki ima vse privilegije. In tako je tudi prav, na ta

način že nekako zavarujemo našo podatkovno bazo.

5.5 XAMPP

Namestitev je praviloma zelo enostavna. Prav tako uporaba. Sam sem za potrebe testiranja

uporabil XAMPP, ki sem ga dobil na strani:

http://www.apachefriends.org/download.php?xampp-win32-1.7.1-installer.exe V paketu

XAMPP ima Apache že nameščen modul SSL in v datoteki ports.conf omogočeno, da se

promet “posluša” na portu 443, ki je privzeti port za https, kjer https pomeni Hypertext

Transfer Protocol s podporo SSL/TLS protokola, ki omogoča enkripcijo.

XAMPP, vsebuje:

Apache HTTPD 2.2.11 + Openssl 0.9.8i MySQL 5.1.33 PHP 5.2.9 phpMyAdmin 3.1.3.1 XAMPP CLI Bundle 1.3 FileZilla FTP Server 0.9.31 Mercury Mail Transport System 4.62

Spodaj pa je še slika t. i. kontrolne plošče, preko katere vklopimo in izklopimo željeni servis.

Page 41: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 31

Slika 5.20: Nadzorna plošča XAMPP vmesnika

Page 42: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 32

6 PHP BB 3 NAMESTITEV

S strani http://www.ohloh.net/p/phpbb/download?filename=phpBB-3.0.5.zip prenesemo

file phpBB-3.0.5.zip. Vsebino odpakiramo v root direktorij v poljubno mapo, v našem

primeru phpBB3 mapo. Odpremo brskalnik in odtipkamo http://localhost/phpBB3. Prikaže

se spodnja slika. Vpišemo ime podatkovne baze test, uporabnika in geslo. Ime gostitelja,

hostname je v našem primeru localhost, saj nameščam lokalno in ne na strežnik.

Slika 6.1: PhpBB namestitev

Nadaljujemo in vnesemo še administratorski dostop in e-pošto, kot kaže spodnja slika.

Page 43: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 33

Slika 6.2: PhpBB namestitev – vnos podatkov

Preko vmesnika smo sedaj zapisali podatke v datoteko config.php. Vsebino datoteke pa

lahko spreminjamo tudi ročno in po spremembi prenesemo na strežnik v mapo phpbb3;

vsebina konfiguracijske datoteke izgleda takole.

<?php

// phpBB 3.0.x konfiguracijska datoteka

$dbms = 'mysql'; //tip podatkovne baze

$dbhost = 'database host/domain'; //v našem primeru localhost, drugače pa domena

$dbport = 'database port if not default'; //privzeti port za MYSQL

$dbname = 'database name'; //ime podatkovne baze

$dbuser = 'database user name'; // uporabnik na bazi

$dbpasswd = 'database password'; // geslo podatkovne baze

$table_prefix = 'database table prefix'; // predpona tabele

$acm_type = 'file';

$load_extensions = '';

@define('PHPBB_INSTALLED', true);

//@define('DEBUG', true);

//@define('DEBUG_EXTRA', true);

?>

Preden nadaljujemo je potrebno preimenovati ali pobrisati mapo install, drugače je

omogočen pogled le v administracijo. Sistem nas tudi opozori, da je potrebno spremeniti

Page 44: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 34

CHMOD dovoljenje na datoteki config.php s 640 vsaj na 644. Z CHMOD-om lahko na

strežniku nastavljamo, kakšne operacije se lahko vršijo nad datotekami, kdo jih lahko bere,

vidi, piše vanje ipd.

Sedaj, ko smo pobrisali inštalacijsko datoteko, pa se lahko prijavimo v administracijo in

začnemo s konfiguracijo foruma po naših željah.

Slika 6.3: PhpBB namestitev – Administratorska nadzorna plošča

Page 45: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 35

7 KONFIGURACIJA

Na naši testni postaji imamo sedaj nameščeno vse potrebno, pred nami je korak

konfiguracije phpBB foruma.

7.1 LOKALIZACIJA

Po uspešni namestitvi sledi konfiguracija. Najprej se osredotočimo na lokalizacijo. Z

uradne spletne strani phpBB povlečemo paket za slovenski jezik in ga odzipamo v

C:\WEB\APACHE\htdocs\phpBB3\language language mapo (datoteka si), nato pogledamo

v administracijo: zavihek sistem, language packs in pojavi se slovenski jezik, kliknemo

install in namestimo slovenski jezik. V administraciji potem nastavimo še, ali je slovenski

jezik privzet ali pa si ga uporabniki izberejo v profilu. To naredimo tako, da kliknemo na

General, board settings in pod default language izberemo slovenščino. S tem omogočimo

slovenski jezik.

7.2 SPLOŠNO

Nadaljujemo s Konfiguracija foruma, kjer kliknemo na Nastavitve foruma in odpre se

meni, kjer lahko nastavimo osnovne parametre foruma, ime, opis, časovni pas, jezik in

druge možnosti. Pomaknemo se na povezavo Značilnosti foruma, kjer imamo v našem

primeru omogočeno: naročanje na teme, naročanje na forume, dovoli podpise in omogoči

zaznamke.

Naj omenim še Nastavitve registracije uporabnikov, kjer lahko definiramo polja, ki naj se

prikažejo ob registraciji in v profilu, ter nastavitve profila. Z možnostjo Aktivacija računa

določimo, na kakšen način novoregistrirani uporabniki pridobijo dostop do foruma. V

našem primeru je to Administrator, ki mora nato račun potrditi. Potrebno je tudi prilagoditi

pogoje uporabe.

Page 46: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 36

POGOJI UPORABE

Spletni forum ARSKTRP in MKGP - Registracija

Spletni forum MKGP registracija

Registrirate se lahko le za del foruma: MKGP - Ministrstvo za kmetijstvo, gozdarstvo in prehrano.

Forum ARSKTRP - Agencija Republike Slovenije za kmetijske trge in razvoj podeželja je delno odprtega tipa in je namenjen kmetijskim svetovalcem in drugim morebitnim zunanjim sodelavcem agencije. Svetovalec potrebuje za prijavo uporabniško ime ter geslo, ki mu ju dodeli agencija na podlagi uradnih evidenc. V kolikor svetovalec nima gesla in uporabniškega imena, zaprosi zanj preko svojega zavoda, tako da predstojnik zavoda pošlje zahtevo po elektronski pošti na naslov: [email protected]. Dodeljeno uporabniško ime in geslo svetovalec prejme na svoj elektronski naslov.

Odgovori na forumu so pravno nezavezujoči.

Čeprav se trudijo administratorji in moderatorji tega foruma odstraniti ali popraviti neprimerna besedila takoj, ko je to mogoče, ni mogoče preverjati vsakega sporočila. Zato vas obveščamo, da vsa sporočila, objavljena na tem forumu, izražajo mnenja in poglede avtorja sporočila in ne mnenja in pogleda upraviteljev, moderatorjev ali administratorja (razen za njihova lastna sporočila) in zato za objavljena sporočila drugih niso odgovorni. Zavezujete se, da ne boste objavljali sporočil z zlonamerno, žaljivo, nespodobno, vulgarno, obrekljivo, sovražno, grozečo, obsceno ali katerokoli vsebino, ki lahko prizadene druge uporabnike, člane tega foruma. Upravitelj strani si pridržuje pravico, da vam kadarkoli, trajno ali začasno, delno ali popolnoma prepreči dostop do forumov (lahko obvesti tudi vašega ponudnika interneta). Zaradi tega so IP številke vseh objavljenih sporočil shranjene, da se uredijo sporni primeri. Strinjate se, da ima administrator, upravitelj ali moderator tega foruma pravico odstraniti, popraviti, premakniti ali zapreti katerokoli temo, ko se mu zdi to potrebno. Kot uporabnik se strinjate, da se vsi podatki, ki ste jih vpisali,shranijo v bazo podatkov. Podatki ne bodo posredovani tretji strani brez vaše privolitve upravitelju strani. Upravitelj, administratorji in moderatorji ne prevzemajo odgovornosti za morebitni poskus vdora v bazo, ki bi ogrozil te podatke. Sistem na tem forumu uporablja piškotke (cookies), ki shranijo podatke na vaš osebni računalnik. Ti piškotki ne vsebujejo nobene informacije, ki ste jo vnesli zgoraj; služijo samo za to, da olajšajo spremljanje foruma v vaše zadovoljstvo. Vaš elektronski naslov bo uporabljen le za potrditev podrobnosti in gesla pri vaši registraciji (ter za pošiljanje novega gesla v primeru, da pozabite obstoječe geslo).

7.3 UREJANJE PREDLOGE

V našem primeru velikega posega v predlogo ni bilo, grafično smo posodobili tri slike, in

sicer logo in ozadje.

phpBB3/styles/prosilver/imageset/site_logo.gif

Slika 7.1: Sprememba grafičnih elementov – logotip

phpBB3/styles/prosilver/theme/images/bg_header.gif

Page 47: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 37

Slika 7.2: Sprememba grafičnih elementov – glave

phpBB3/styles/prosilver/theme/images/bg_list.gif

Slika 7.3: Sprememba grafičnih elementov – seznam

7.4 RAZŠIRITVE – MODULI

S spletne strani http://www.phpbb.com/mods/ prenesemo željeni modul, v našem primeru

je to modul za dodajanje novega uporabnika. Preneseno datoteko acp_add_user_mod.zip,

odzipamo in odpremo datoteko install.xml v brskalniku. Odpre se nam stran z

informacijami o modulu: avtor, verzija, opis ter tudi postopek namestitve in omogočitve

modula.

Slika 7.4: Podrobnosti razširitvenega modula – acp_add_usr

Page 48: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 38

Za namestitev najprej skopiramo datoteke na pravo mesto, in sicer:

Kopiraj: root/adm/style/acp_add_user.html

V: adm/style/acp_add_user.html

Kopiraj: root/includes/acp/info/acp_add_user.php

V: includes/acp/info/acp_add_user.php

Kopiraj: root/includes/acp/acp_add_user.php

V: includes/acp/acp_add_user.php

Kopiraj: root/language/en/mods/info_acp_add_user_mod.php

V: language/en/mods/info_acp_add_user_mod.php

in še v: language/si/mods/info_acp_add_user_mod.php

Nato je modul samo še potrebno omogočiti, in sicer na Sistem, Upravljanje modulov

ACP, Uporabniki in skupine, Uporabniki, kjer poleg Add user kliknemo na omogoči, s

čimer omogočimo modul na lokaciji ACP, Uporabniki in skupine, Uporabniki, kot kaže

slika.

Slika 7.5: Modul Add user

V primeru, ko uporabljamo slovenski jezik kot privzeti, je potrebno jezikovno datoteko

language/si/mods/info_acp_add_user_mod.php prevesti.

Page 49: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 39

7.5 VSEBINSKA STRUKTURA FORUMA

Forum smo razdelili na tri dele: prvi del je povezava na arhiv oz. starejši forum, potem je

razdeljen še na dva dela: prvi je namenjen ARSKTRP, drugi pa MKGP. Znotraj zadnjih je

še več forumov s podforumi. Dejansko smo v administraciji pod zavihek forumi, rubrika

urejaj forume, vpisali ime kategorije in kliknemo na ustvari nov forum. Tako postopek

ponovimo tudi za vse podforume, kot so navedeni spodaj. Paziti moramo, da vsak

podforum dodelimo v pravo kategorijo. Dodamo še prvo kategorijo, ki je povezava na star

forum. Nastavitve za vsak podforum in kategorijo pa bomo nastavili kasneje.

Forum ARSKTRP – Agencija Republike Slovenije za kmetijske trge in razvoj podeželja

SPLOŠNA VPRAŠANJA (koordinator ARSKTRP) IAKS (koordinator ARSKTRP) RKG (koordinator ARSKTRP) RKG – MKGP (povezava na forum) NEPOSREDNA PLAČILA: (koordinator ARSKTRP) PROGRAM RAZVOJA PODEŽELJA (PRP 2007-2013) - 2. OS - IZBOLJŠANJE

OKOLJA IN PODEŽELJA (OMD, KOP), PRP 2004-2006 (SKOP) IN SLEDENJE (koordinator ARSKTRP)

PROGRAM RAZVOJA PODEŽELJA (PRP 2007-2013) – 1. OS – KONKURENČNOST KMETIJSTVA IN GOZDARSTVA (koordinator ARSKTRP)

PROGRAM RAZVOJA PODEŽELJA (PRP 2007-2013) – 3. OS – KAKOVOST ŽIVLJENJA IN DIVERZIFIKACIJA (koordinator ARSKTRP)

PRESTRUKTURIRANJE PRIDELOVALCEV SLADKORNE PESE (koordinator ARSKTRP)

MLEČNE KVOTE (koordinator ARSKTRP)

Page 50: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 40

Slika 7.6: Vsebinska struktura

Forum MKGP – Ministrstvo za kmetijstvo, gozdarstvo in prehrano

PROGRAM RAZVOJA PODEŽELJA (PRP 2007-2013) – 4. OS – LEADER: (koordinator MKGP)

PRESTRUKTURIRANJE PRIDELOVALCEV SLADKORNE PESE (koordinator MKGP)

MREŽA ZA PODEŽELJE: (koordinator MKGP) FADN: (koordinator MKGP) NARAVNE NESREČE (koordinator MKGP) GOZDARSTVO (koordinator MKGP) RIBIŠTVO (koordinator MKGP) TRŽNO CENOVNI UKREPI (koordinator MKGP) VARNA HRANA (koordinator MKGP) KMETIJSKA ZEMLJIŠČA (koordinator MKGP)

Page 51: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 41

Slika 7.7: Vsebinska struktura

7.6 SKUPINE UPORABNIKOV ZNOTRAJ ARSKTRP IN MKGP

Znotraj foruma je nekaj različnih skupin, vsaka skupina ima svoje pravice, odvisno od

zahtev naročnika oz. potreb. Skupina glavnih administratorjev (administrator ARSKTRP)

ima vse pravice za urejanje celotnega foruma, kreiranje uporabnikov, forumov itd.

Nad to skupino je le še super administrator, ki ima vpogled tudi v sistemski del in

konfiguracijo. Potem je skupina administrator MKGP. Člani te skupine imajo pravice do

administracije MKGP forumov, uporabniških pravic in nastavitev foruma.

Page 52: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 42

Imamo še dve skupini: koordinator ARSKTRP in koordinator MKGP; koordinatorji so

moderatorji na določenih foromih, eni na MKGP in drugi na ARSKTRP. Obveščeni so o

novih temah in imajo edini pravico odgovarjati na vprašanja.

GLAVNI ADMINISTRATOR (administrator ARSKTRP); (vse pravice za urejanje

celotnega foruma, nastavitve foruma, postavljanje strukture, določanje pravic drugim

uporabnikom, prestavljanje in brisanje vsebin itd.)

ADMINISTRATOR NA MKGP (administrator MKGP); (administracija, nastavitve

foruma, uporabniške pravice – za forume MKGP)

KOORDINATOR ZA POSAMEZNO SKUPINO FORUMOV NA ARSKTRP

(koordinator ARSKTRP); (direktno prejema vprašanja s foruma na svoj e-mail – vstavi v

aplikacijo priprave in potrjevanja odgovorov, ga po potrebi ustrezno premesti (med vsemi

forumi), zbriše, objavi odgovor na forumu, vodi evidence, …)

KOORDINATOR ZA POSAMEZNO SKUPINO FORUMOV NA MKGP (koordinator

MKGP); (direktno prejema vprašanja s foruma na svoj e-mail – vstavi v aplikacijo

priprave in potrjevanja odgovorov, ga po potrebi ustrezno premesti (med vsemi forumi),

objavi odgovor na forumu, vodi evidence, …)

Za ustvarjanje skupin kliknemo na ustvarjanje skupin, rubrika urejanje skupin, ter vpišemo

ime nove skupine in kliknemo pošlji. Tako vpišemo vse štiri skupine, nastavitve za

posamezno skupino pa bomo nastavili kasneje.

Slika 7.8: Urejanje skupin

Page 53: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 43

7.7 TIPI FORUMOV GLEDE NA ZUNANJE UPORABNIKE

Ko imamo skonfigurirano vse potrebno, se osredotočimo na različne tipe forumov. Imeli

bomo tri tipe forumov; A tip foruma naj bo delno odprti forum, ki je viden vsem.

Registrirajo se lahko posebni uporabniki v dogovoru z ARSKTRP, ti uporabniki lahko

potem postavljajo vprašanja oz. teme. Registrirani uporabniki lahko tako postanejo samo

zaposleni znotraj agencije, preko administratorjev ARSKTRP potem dobijo dostop, le-ti pa

jih ročno dodajo preko modula dodaj uporabnika. Odgovore na tem tipu foruma pa lahko

dajejo samo uporabniki, ki so v skupini koordinatorjev ARSKTRP.

A. DELNO ODPRTI FORUMI:

· Vidno vsem

· Registrirajo se lahko samo posebne skupine uporabnikov v dogovoru z nami

· Vprašanja lahko postavljajo samo registrirani uporabniki, zaposleni na ARSKTRP

· Objava odgovorov samo ARSKTRP (koordinator ARSKTRP)

B tip foruma je odprt forum, ki je viden vsem in kjer se lahko registrirajo vsi. Odgovore pa

lahko oddajajo samo člani skupine koordinatorji MKGP.

B. ODPRTI FORUM:

· Vidno vsem

· Registrirajo se lahko vsi

· Vprašanja lahko postavljajo vsi reg. uporabniki

· Objava odg. samo MKGP (koordinator MKGP)

In pa še C tip foruma, ki je zaprt forum, registrirajo pa se lahko posebne skupine

uporabnikov v dogovoru z ARSKTRP. Vse vsebine so vidne prijavljenim uporabnikom,

odgovarjajo pa lahko samo člani skupine koordinator ARSKTRP.

Page 54: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 44

C. ZAPRTI FORUM:

· Registrirajo se lahko samo posebne skupine uporabnikov v dogovoru z nami

· Vse vsebine so vidne samo prijavljenim reg. uporabnikom

· Vprašanja lahko postavljajo vsi reg. uporabniki

· Objava odg. samo ARSKTRP (koordinator ARSKTRP)

7.8 KONFIGURACIJA NASTAVITEV

Sedaj imamo: strukturo foruma s kategorijami, forumi in podforumi, imamo štiri skupine

po dva administratorja in koordinatorja za vsako kategorijo in poznamo različne tipe

forumov, torej vse potrebno za konfiguracijo.

7.8.1 Dovoljenja

V administraciji kliknemo na dovoljenja, dovoljenja forumov in v spodnjem polju pod

izberi forum izberemo želeno kategorijo, torej ARSKTRP. S tem izberemo tudi vse

podforume. Odpre se novo okno, kjer najprej v polju uporabniške skupine pobrišemo vse

skupine, osvežimo in dodamo skupine: Administratorji, Administrator ARSKTRP,

Koordinator ARSKTRP in Registrirani uporabniki, kot je na sliki spodaj.

Slika 7.9: Dovoljenja forumov

Page 55: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 45

Vsaki uporabniški skupini, ki jih dodajamo vsako posebej, nato dodelimo različne vloge.

Kliknemo na želeno skupino in uredi dovoljenja, nato pa izberemo vlogo, za

administratorji in administrator ARSKTRP izberemo vlogo polni dostop. Za skupino

Registrirani uporabniki pa kliknemo na napredne nastavitve in damo ne pri zavihku

prispevek pod lahko odgovarja na teme.

Slika 7.10: ANP - Nastavitev dovoljenj

Dodamo še vlogo omejen dostop za koordinator ARSKTRP skupino. Ostale nastavitve

forumov, ki vplivajo na cel forum pa nastavimo pod splošno, značilnosti foruma, v našem

primeru kot kaže slika.

Slika 7.11: ANP – Značilnosti foruma

Page 56: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 46

Postopek ponovimo še za drugo kategorijo, torej MKGP. Postopek je enak, le da izberemo

skupine; Administrator MKGP, Koordinator MKGP in Registrirani uporabnik. Vloge

nastavimo enako kot v prvem primeru.

7.8.2 Varnost

Pod rubriko nastavitve varnosti imamo nekaj možnosti, ki jih lahko nastavimo, tako smo

omejili tudi dolžino uporabniškega imena na minimalno štiri znake ter geslo na šest

znakov.

Kontrola poplave (Flood Control) je funkcija, ki onemogoča poplavo prispevkov oz. tem, v

primeru spam napada (automatic spamming). Funkcija onemogoča večkratno odpiranje

novih tem v določenem časovnem oknu.

Nastavili smo omejitve pri napačnih vnosih prijavnega gesla ali uporabniškega imena, in

sicer na tri poskuse. Po treh neuspelih poskusih mora uporabnik opraviti vizualno

preverjanje CAPTCHA test, ki ugotovi, ali je določen uporabnik človek ali program.

Temelji na načelu poziv-odgovor. To pomeni, da uporabniku prikaže sliko, na kateri je

zaporedje znakov, in ga pozove, naj znake s slike vpiše v ustrezno pozivno okno. Sistem

oceni, ali ga je uporabnik pravilno rešil, ne more pa ga rešiti sam. In prav to omogoča, da

lahko na podlagi testa CAPTCHA razločimo med človeškimi in nečloveškimi uporabniki.

Slika 7.12 : Sistem CAPTCHA

Page 57: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 47

Omogočene imamo piškotke (angl. cookies), ki so znani način za identifikacijo in sledenje

uporabnikom na spletnih straneh. Omogočajo izboljšavo uporabniške izkušnje. Vsaka stran

lahko, če imate brskalnik tako nastavljen, na vašem računalniku ustvari majhno datoteko,

imenovano piškotek, s katerim vas vsakokrat prepozna, dokler ga ne izbrišete ali pa poteče.

Page 58: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 48

8 PREIZKUS NASTAVITEV, POSODABLJANJE IN

VZDRŽEVANJE

8.1 PREIZKUS NASTAVITEV

Najprej smo vsebino prenesli na enega izmed službenih strežnikov – Viljamovka 3, kjer

smo kreirali novo bazo podatkov in uporabnika za bazo ter spremenili vsa gesla. V bazo

smo vnesli izvoz testne baze in spremenili konfiguracijsko datoteko. Naj omenim še, da se

strežnik nahaja v omrežju HKOM. HKOM je zasebno omrežje, ki je zasnovano za prenos

podatkov med posameznimi zaključenimi celotami (CURS, DURS) in med posameznimi

končnimi uporabniki in centralnim sistemom aplikativnih in podatkovnih strežnikov in

storitev (elektronska pošta, internet, klicni dostopi).

Nato smo preizkusili delovanje foruma, začelo se je dodajanje novih forumov, da smo

dobili sedanjo strukturo, dodelili smo nove administratorje, ki so dodajali nove uporabnike.

Nato smo jih dodelili v vse skupine in preizkusili dovoljenja, ki smo jih dodelili posamični

skupini. Preizkusili smo tudi nastavitve uporabnikov, kot so naročanje na teme in

zaznamovanje posamičnih tem.

Page 59: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 49

Slika 8.1: Shema strežnikov: Viljamovka 3

8.2 VARNOSTNE KOPIJE

Da se zavarujemo pred trajno izgubo podatkov, sistem enkrat mesečno izvozimo v obliki

backup datoteke. To naredimo z vgrajeno funkcijo v administraciji foruma preko spletnega

vmesnika. Smiselno je tudi narediti backup sql baze npr. v php my adminu. Sistem nam

shrani izvoženo datoteko v mapo store na strežniku. Smiselno je te datoteke hraniti še kje

na drugi lokaciji, na fizično ločenem diskovju. Tako imamo sistem v primeru izgube

podatkov, okvare diskovja ipd. nameščen nazaj v trenutku.

Page 60: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 50

Slika 8.2: Izvoz varnostne kopije

Prav tako kot lahko preko sistema naredimo varnostno kopijo, jo lahko tudi obnovimo iz

predhodno ustvarjene datoteke, ki se hrani v mapi store.

Slika 8.3: Obnavljanje varnostne kopije

8.3 POSODABLJANJE

Za varnost in pravilno delovanje najbolje poskrbimo z rednim nameščanjem uradnih

popravkov, ki jih dobimo na uradni spletni strani. Na voljo so v treh verzijah: cela verzija,

samo spremenjene datoteke in datoteke s popravki. Posodobitev izvedemo tako, da celo

verzijo prepišemo preko stare, samo config.php pustimo nespremenjen. Ko se datoteke

prepišejo, vpišemo v brskalnik naslov http://domena/install/database_update.php, kjer se

nato izvede še posodobitev podatkovne baze.

Page 61: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 51

Slika 8.4: Posodabljanje podatkovne baze

Pozorni moramo biti na pravice, ki jih ima uporabnik na bazi. Vidimo, da so pravice precej

bolj omejene, kot pa smo jih imeli v testnem okolju.

Slika 8.5: Pravice uporabnika na bazi

Po namestitvi še pobrišemo oz. spremenimo install mapo in zadeva deluje. Če pravice na

bazi niso pravilno nastavljene, nas sistem opozori in izpiše pravilno SQL sintakso, ki jo

lahko kasneje ročno vnesemo.

Page 62: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 52

9 SKLEP

Z našo primerjavo smo izbrali sistem, ki je ponujal največjo množico rešitev, integracija z

podatkovnimi bazami, katgorijami in sistemom dovoljenj. Lahko bi izbrali tudi kakšen

drug sistem, vendar je prisotnost phpBB sistema veliko bolj razširjena, prav zato ima

boljšo podporo in več razširitvenih možnosti. Zaenkrat smo z rešitvijo zadovoljni. Forum

smo po prvem testiranju smo začeli uporabljati; najprej samo interno, kasneje po preteku

mesečnega testiranja pa smo ga preusmerili na domeno http://forum2.arsktrp.gov.si/.

Dodali smo povezavo na strani Agencije ARSKTRP http://www.arsktrp.gov.si/ in na strani

Ministrstva MRSKGP http://www.mkgp.gov.si/ . Tako je forum postal javno dostopen za

vse, seveda pa ga lahko zunanji uporabniki samo berejo in tako pridejo do ključnih

informacij. Forum se vsakodnevno posodablja s strani kmetijskih svetovalcev in trenutna

statistika foruma je: skupaj 1821 sporočil, napisanih 915 tem in registriranih skupaj 605

uporabnikov.

Page 63: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 53

10 VIRI, LITERATURA

[1] Ken Coar, Rich Bowen, Apache Cookbook, 2.izd., O`Reilly Media, Inc., 2007.

[2] F. D. Rolland, SQL: Step-by-Step, 1.izd., International Thomson Computer Press,

1996.

[3] Matjaž Štrancar, Simon Klemen, PHP in MySQL, 2.dop. izd., Založba Pasadena d.o.o.,

2005.

[4] http://www.apache.org/

[5] http://en.wikipedia.org/wiki/Apache_(HTTP_server)/

[6] http://www.mysql.com/

[7] http://sl.wikipedia.org/wiki/MySQL/

[8] http://www.phpmyadmin.net/

[9] http://www.phpbb.com/

[10]http://wiki.phpbb.com/dashboard.action/

[11]http://sl.wikipedia.org/wiki/Php

[12]http://www.forum-software.org/

[13]http://www.google.com/trends/

[14]http://en.wikipedia.org/wiki/Cookies_(Internet)

[15]http://www.gov.si/cvi/slo/stk/projekti/HKOM_opis.htm

Page 64: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 54

11 PRILOGE

11.1 Seznam slik

Slika 3.1: Google trends - Primerjava iskanih izrazov .......................................................... 9

Slika 5.1: Namestitev Apache serverja – Vnos podatkov ................................................... 14

Slika 5.2: Namestitev Apache serverja – Vnos poti ............................................................ 15

Slika 5.3: Namestitev php – php.ini .................................................................................... 16

Slika 5.4: Konfiguracija php – Vtičnik http.conf ................................................................ 17

Slika 5.5: Konfiguracija php – Vtičnik http.conf ................................................................ 18

Slika 5.6: Konfiguracija php – Kreiranje phpinfo.php ........................................................ 19

Slika 5.7: Php verzija in informacije ................................................................................... 20

Slika 5.8: Namestitev MySQL serverja – Vnos poti ........................................................... 21

Slika 5.9: MySQL server konfiguracija............................................................................... 22

Slika 5.10: MySQL server konfiguracija............................................................................. 23

Slika 5.11: Konfiguracija php.ini – omogočanje mysql ...................................................... 24

Slika 5.12: Konfiguracija php.ini ........................................................................................ 24

Slika 5.13: Sistemske spremenljivke – Pot do php.............................................................. 25

Slika 5.14: Phpinfo.php - Mysql informacije ...................................................................... 26

Slika 5.15: Konfiguracija Apache – config.inc.php ............................................................ 27

Slika 5.16: php My Admin – dodajanje novega uporabnika ............................................... 28

Slika 5.17: php My Admin – dodajanje novega uporabnika ............................................... 29

Slika 5.18: php My Admin – pravice uporabnika test......................................................... 29

Page 65: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 55

Slika 5.19: php My Admin – pravice uporabnika root ........................................................ 30

Slika 5.20: Nadzorna plošča XAMPP vmesnika ................................................................. 31

Slika 6.1: PhpBB namestitev............................................................................................... 32

Slika 6.2: PhpBB namestitev – vnos podatkov ................................................................... 33

Slika 6.3: PhpBB namestitev – Administratorska nadzorna plošča .................................... 34

Slika 7.1: Sprememba grafičnih elementov – logotip ......................................................... 36

Slika 7.2: Sprememba grafičnih elementov – glave ........................................................... 37

Slika 7.3: Sprememba grafičnih elementov – seznam......................................................... 37

Slika 7.4: Podrobnosti razširitvenega modula – acp_add_usr............................................. 37

Slika 7.5: Modul Add user................................................................................................... 38

Slika 7.6: Vsebinska struktura ............................................................................................. 40

Slika 7.7: Vsebinska struktura ............................................................................................. 41

Slika 7.8: Urejanje skupin ................................................................................................... 42

Slika 7.9: Dovoljenja forumov ............................................................................................ 44

Slika 7.10: ANP - Nastavitev dovoljenj .............................................................................. 45

Slika 7.11: ANP – Značilnosti foruma ................................................................................ 45

Slika 7.12 : Sistem CAPTCHA ........................................................................................... 46

Slika 8.1: Shema strežnikov: Viljamovka 3 ........................................................................ 49

Slika 8.2: Izvoz varnostne kopije ........................................................................................ 50

Slika 8.3: Obnavljanje varnostne kopije.............................................................................. 50

Slika 8.4: Posodabljanje podatkovne baze .......................................................................... 51

Slika 8.5: Pravice uporabnika na bazi ................................................................................. 51

Page 66: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 56

11.2 Seznam preglednic

Tabela 1: Primerjava med različnimi sistemi – Splošno ....................................................... 4

Tabela 2: Primerjava med različnimi sistemi – Shranjevanje podatkov ............................... 4

Tabela 3: Primerjava med različnimi sistemi – Prispevki ..................................................... 5

Tabela 4: Primerjava med različnimi sistemi – Forumi ........................................................ 5

Tabela 5: Primerjava med različnimi sistemi – Spam zaščita in varnost .............................. 6

Tabela 6: Primerjava med različnimi sistemi – Obveščanje.................................................. 7

Tabela 7: Primerjava med različnimi sistemi – Skupnost ..................................................... 7

Tabela 8: Primerjava med različnimi sistemi – Moderacije .................................................. 7

Tabela 9: Primerjava med različnimi sistemi - Iskanje ......................................................... 8

Tabela 10: Primerjava med različnimi sistemi - Kostumizacija............................................ 8

Tabela 11: Primerjava med različnimi sistemi – Posebne možnosti ..................................... 8

Tabela 12: Primerjava med različnimi sistemi – Upravljanje s podatki................................ 9

Page 67: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 57

11.3 Naslov študenta

Matic Šmarčan

Šmartno v Rožni dolini 40

3201 Šmartno v Rožni dolini

Tel.študenta: (031) 445 - 945

e-mail študenta: [email protected]

11.4 Kratek življenjepis

Rojen: 16.2.1982 v Celju

Šolanje:

Osnovna šola: Osnovna šola Vojnik

Srednja šola: Šolski center Celje, Poklicna in tehniška elektro in kemijska šola Celje

Program: Elektrotehnika

Smer: Elektronika

Page 68: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 58

Vsebina priložene zgoščenke

Diplomaska naloga v PDF obliki

Page 69: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 59

Page 70: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 60

Page 71: Navodila za izdelavo diplomske naloge · domače strani . HTML (Hypertext Markup Language) - Jezik za označevanje hiperteksta . XML ... RSS (Reali Simple Sindicate) - Protokol za

Zasnova spletnega foruma z orodjem php BB Stran 61