Dokumendi ajalugu: Versioon Kuupäev Tegevus Autor 1.0 12.04.2008 Dokumendi loomine Maris Aavik 1.1 13.04.2008 Täiendamine Maris Aavik 1.2 13.04.2008 Täiendamine Andres Kalle 1.3 12.05.2008 Täiendused Kerli Kuusk Sisukord Välised komponendid... 2 Veebiserver... 2 PHP... 2 MySQL andmebaas... 2 PEAR raamistik... 2 PHPUnit... 2 Phing... 2 SVN... 2 Süsteemi ettevalmistus... 3 Build skript... 3 Failiõigused... 3 Andmebaasi ettevalmistus... 3 Veebiserveri konfiguratsioon... 3 Süsteemi konfiguratsioon... 4 Testimine... 4 Süsteemi kasutamine... 5 1
Välised komponendid Süsteemi paigaldamiseks, testimiseks ja jooksutamiseks on vajalikud järgnevad komponendid: Veebiserver Vaja läheb veebiserverit, millel on olemas PHP tugi. Süsteemi on arenduse käigus testitud ainult Apache serveritel. Rohkem infot: http://httpd.apache.org/ PHP Soovitatavalt versioon 5.2.5 või uuem. Vajalik on aktiveerida SOAP ja CURL extensionid. php.ini "max_execution_time" väärtus tuleks seada ~100 sekundi peale, kuna sotsiaalse võrgustiku tuvastamine võib mõnikord kauem aega võtta. Rohkem infot: http://www.php.net/manual/en/install.php MySQL andmebaas Soovitatavalt versioon 5.0 või uuem. Rohkem infot: http://www.mysql.com/ PEAR raamistik Kui PHP installatsiooniga ei olnud kaasas ka PEAR raamistikku, tuleb ka see installeerida. Rohkem infot: http://pear.php.net/manual/en/installation.php PHPUnit Unit testide jooksutamiseks on vajalik PEAR-i pakett PHPUnit. Töötava PEAR raamistiku puhul piisab hetkel (aprill 2008) installeerimiseks käskudest pear channel-discover pear.phpunit.de pear install phpunit/phpunit Rohkem infot: http://www.phpunit.de/ Phing Build scriptide jooksutamiseks on vajalik ka PEAR-i pakett Phing: pear channel-discover pear.phing.info pear install phing/phing Rohkem infot: http://phing.info/trac/wiki/users/download SVN Build script-i abil viimase stabiilse versiooni alla tõmbamiseks (release target) on vaja installeerida ka SVN klient (nii, et töötaks käsurealt käsk svn, seega TortoiseSVN ei sobi). Rohkem infot: http://subversion.tigris.org/project_packages.html 2
Lisaks tuleb installeerida ka PEAR-i pakett VersionControl_SVN: pear install VersionControl_SVN või kui see ei tööta, siis: pear install VersionControl_SVN-0.3.1 Süsteemi ettevalmistus Eeldus: Süsteemi failid asuvad juba arvutis, kuhu seda paigaldatakse (failid on laetud alla SVNist, lahti pakitud snapshot arhiivist või saadud muul viisil). Build skript Asudes projekti juurkaustas (mille sisuks on alamkaustad doc ja src ning fail build.xml), käivitada käsurealt käsk: phing release See loob sinna uue alamkausta nimega release ja tõmbab SVN-i abil sinna süsteemst stabiilse versiooni. Soovi korral võite tekkinud kausta tõsta mõnda sobivamasse kohta (kuid soovitatav oleks vältida asukohti, mille aadress sisaldab tühikuid või muid segavaid sümboleid). Failiõigused Süsteemile tuleb anda järgnevad kirjutamisõigused (Unix-is chmod o+w failinimi, Windows-is veenduda, et neist ükski pole read-only atribuudiga): Kausta release/smarty/template_cache/plugin Kausta release/smarty/template_cache/portal ning kui soovite kasutada arenduskeskkonda, siis ka: Kausta src/smarty/template_cache/plugin Kausta src/smarty/template_cache/portal Faili src/test/results.xml (ainult unit test-ide jooksutamiseks piisab ka ainult src/test/results.xml õiguste muutmisest) Andmebaasi ettevalmistus MySQL andmebaasis tuleb luua uus andmebaas ning peab leiduma kasutaja, kellel on õigused antud andmebaasis kirjete lugemiseks, lisamiseks, muutmiseks ning eemaldamiseks. Turvalisuse kaalutlustel võiks luua uue kasutaja, kellel ei ole ligipääsu teistesse samas serveris asuvatesse andmebaasidesse. Seejärel tuleb loodud andmebaasis jooksutada failis release/databasestructure.sql asuv skript. Veebiserveri konfiguratsioon Veebiserveri poolt tuleb avalikult ligipääsetavaks teha järgmised kaustad: release/pluginroot/htdocs/ - Domeeni usaldusväärsuse vaade release/portalroot/htdocs/ - Veebilehtede hinnangute ja kommentaaride portaal Apache serveri puhul tuleb kummagi kausta jaoks tekitada oma Alias. 3
Rohkem infot: http://httpd.apache.org/docs/1.3/mod/mod_alias.html#alias NB! pluginroot ja portalroot ei tohi asuda erinevatel alamdomeenidel, kuna nad kasutavad ühiseid cookie-sid. Süsteemi konfiguratsioon Lõpuks tuleb konfigureerida ka süsteem ise. Selleks tuleb muuta failis release/config.php asuvaid väärtusi järgnevalt: SRC_ROOT release kaust, kus asub config.php fail ise. Asukoht peab olema antud absoluutse teena. Windowsi operatsioonisüsteemi puhul tulevad tagurpidi kaldkriipsud kirjutada topelt (nt: C:\\release\\ ). NB! Kõige lõpus peab kindlasti olema kaldkriips. Näiteks C:\\release või Unix-tüüpi süsteemis /var/www/release oleks vigased väärtused. PLUGIN_WEBROOT ja PORTAL_WEBROOT Avalikud internetiaadress, mida teenindab teie veebiserver, ning mis on eelpool mainitult seotud vastavate htdocs kaustadega (näiteks http://www.example.com/portal/). NB! Aadressite alguses peab kindlasti olema protokolliosa (http://) ning aadressite lõpus peab kindlasti olema kaldkriips. MYSQL_HOST MySQL serveri aadress MYSQL_DATABASE Andmebaas, mille lõite eelnevalt MYSQL_USER ja MYSQL_PASSWORD MySQL serveri kasutaja, kellel on eelnevalt mainitud õigused antud andmebaasis. MARKETPLACE_LICENSE SOA Traderi Marketplace API license code. Ühtegi hit-i sellelt ei kasutata, kuid litsentsi olemasolu on vajalik. Testimine Kui soovite jooksutada arenduskeskkonnas unit test-e, tuleb sarnaselt konfigureerida ka fail src/config.php ning lisaks väärtustada seal: UNITTEST_USER süsteemis loodud kasutaja ID, kellel on kehtivad WHOIS ja Äriregistri litsentsid. Kasutaja ID võib leida andmebaasist või Opera tööriistariba jaoks nupu genereerimisel kuvatava lehe HTML lähtekoodist (Javascriptis avatava akna URL-is userid parameeter). Ning seejärel käivitada käsk phing test 4
Süsteemi kasutamine Kui kõik eelnev on tehtud, proovige veebibrauseriga järgnevaid lehti: [PLUGIN_WEBROOT]index.php Nupp Opera tööriistariba jaoks [PLUGIN_WEBROOT]domain.php Domeeni usaldusväärsuse vaade (testrežiimis) [PORTAL_WEBROOT]index.php Veebilehtede edetabel 5