You are on page 1of 74

Airtime

for Broadcaatera
The open radio aoftware for acheduIing
and remote atation management

1k8L 0f C0h1h1!
Ih1k00uC1I0h
1 Wbat ls Alrtlme 2
2 Plgbts ano royaltles 4
u!Ih6 kIk1IH
3 Gettlng starteo 6
4 Managlng users 10
5 Now playlng 12
6 Aoo meola 14
7 Playllst bulloer 17
8 Calenoar 23
9 Help 31
k0khC0 C0hfI6ukk1I0h
10 Preparlng tbe server 33
11 Automateo lnstallatlon 37
12 Manual lnstallatlon 43
13 Upgraolng 49
14 Settlng tbe server tlme 50
15 Uslng tbe lmport scrlpt 52
16 8acklng up tbe server 55
17 Lportlng tbe scbeoule 56
18 |ntegratlon wltb Ml 59
kFFh0IX
19 Lpert lnstall 62
20 Tlme zones 63
21 About tbls manual 65
Ih1k00uC1I0h
1. W||l |\ |||l|H|'
2. ||C|l\ || ||||l||\
1
I. Whk1 I! kIk1IH!
Upooteo for A|rt|me 1.8.2
Alrtlme ls tbe open broaocast sottware tor scbeoullng ano remote statlon management. Web browser access to tbe statlon's meola
arcblve, multl-tlle uploao ano automatlc metaoata verltlcatlon teatures are coupleo wltb a collaboratlve on-llne scbeoullng calenoar ano
playllst management. Tbe scbeoullng calenoar ls manageo tbrougb an easy-to-use lntertace ano trlggers playout wltb sub-secono
preclslon.
Alrtlme bas been lntenoeo to provloe a solutlon tor a wloe range ot broaocast projects, trom communlty to publlc ano commerclal
statlons. Tbe scalablllty ot Alrtlme allows lmplementatlon ln a number ot scenarlos, ranglng trom an unmanneo broaocast unlt
accesseo remotely tbrougb tbe |nternet, to a local network ot macblnes accesslng a central Alrtlme storage system. Alrtlme supports
tbe playout ot tlles ln botb tbe commonly useo MP3 tormat ano tbe open, royalty-tree equlvalent Ogg vorbls.
Alrtlme manages tbe Llqulosoap stream generator, wblcb ls at tbe beart ot tbe system. Llqulosoap generates streams trom tlles ln tbe
Alrtlme meola arcblve, wblcb ls lnoeeo ln a PostgreSQL oatabase. Llve sbows are automatlcally recoroeo wltb Lcasouno, uslng tbe
sounocaro llne lnput. Loltors ano statlon controllers can use Alrtlme to bullo playllsts ano manage tlles (uploao, aoo metaoata, manage
aovertlsements) lnsloe tbe statlon or vla tbe |nternet, uslng a stanoaro web browser sucb as Mozllla Flreto or |nternet Lplorer.
Tbe scbeouler ln Alrtlme bas a calenoar vlew, organlzeo by montbs, weeks ano oays. Here tbe program eoltors can scbeoule playllsts
ano sbows tor tbelr broaocast statlon. |n some scenarlos, tbe transmltter ls sltuateo outsloe tbe reacb ot tbe broaocaster ano all
program management bas to be malntalneo tbrougb tbe web lntertace. Posslble reasons tor tbls scenarlo mlgbt be ot a pragmatlc
nature (runnlng many statlons trom one central ottlce oue to llmlteo buman resources) or an emergency (runnlng a transmltter ln a
crlsls area wltbout puttlng statt at rlsk).
kIk1IH W0kkfL0W
Tbls typlcal worktlow ls lntenoeo to clarlty tbe oltterence between tbe varlous components tbat make up a complete Alrtlme system.
1. Tbere are meola tlles on a server, wblcb lncluoe metaoata ln tbelr tags (tltle, creator, genre ano so on).
2. Tbere ls a PostgreSQL oatabase wblcb contalns tbe locatlon ot tbose meola tlles ano tbelr metaoata. Tbls means you can searcb tor
ano select a set ot meola tlles accorolng to tbe specltlc metaoata tbat you requlre.
3. Tbere ls a Llqulosoap stream generator on tbe server wblcb can take lnolvloual meola tlles ano assemble tbem lnto a contlnuous
stream. Tbls stream can be sent to a sounocaro (e.g. tor a broaocast mler, on tbe way to an FM or DA8 transmltter) or to a
streamlng server tor |P network olstrlbutlon, sucb as LAN, local WlFl or tbe |nternet. You can stream to a sounocaro ano to |P
networks wltb tbe same server, lt you wlsb.
4. |cecast ls tbe oetault streamlng server, but ln tbeory you coulo stream trom Llqulosoap to any onllne servlce. |t a sultable sottware
lntertace ls not avallable tor your streamlng servlce ot cbolce, you can seno auolo trom Llqulosoap to a separate encoolng or streamlng
macblne vla a sounocaro.
5. Alrtlme manages all ot tbese components, ano provloes an easy to use web lntertace to tbe system. |t enables your statlon statt to:
a) uploao meola tlles to tbe storage server
b) automatlcally lmport tbe tlle metaoata lnto tbe PostgreSQL oatabase
c) eolt tbe metaoata tor tbe tlles, lt requlreo
2
o) create ano eolt playllsts ot meola tlles (playllsts are also saveo ln tbe oatabase)
e) scbeoule sbows (wblcb can contaln playllsts, or be llve) tor specltlc oates ano tlmes on a calenoar
t) recoro llve sbows trom tbe sounocaro lnput wltb Lcasouno, uploao tbem to tbe storage server ano lmport tbem lnto tbe oatabase
automatlcally
g) manage presenter access to tbe scbeoule calenoar
b) see wbat ls about to be playeo by Llqulosoap ln tbe 'Now Playlng' vlew
XkHFL !!1H
Comblnlng Alrtlme, tbe Llqulosoap stream generator, tbe PostgreSQL oatabase ano tlle storage, you can supply a broaocast statlon
wltb all tbe tunctlonallty neeoeo tor automatlon.
|n tbe olagram below, tbe meola tlles are storeo on a separate macblne wblcb also lncluoes a PostgreSQL oatabase, accesslble tbrougb
tbe local network. Llqulosoap outputs streams to botb tbe transmltter ano a streamlng meola server. Tbe macblne runnlng Alrtlme ls
beblno a tlrewall because lt ls connecteo botb to tbe local network, ano to tbe |nternet tor remote access. Tbls enables Alrtlme to
otter passworo-protecteo access to tbe meola oatabase ano scbeoullng trom botb lnsloe ano outsloe tbe stuolo bullolng.
3
. kI6h1! kh0 k0kL1I!
|t you're new to broaocastlng, or bave not streameo your statlon onllne betore, reaolng tbe tollowlng brlet eplanatlon ot
compensatlon rules tor muslclans may save you a great oeal ot trouble later.
|noepenoent muslc raolo on tbe |nternet ls not wbat lt mlgbt bave been, oue to royalty oemanos trom SounoLcbange ln tbe USA,
ano slmllar organlsatlons ln otber terrltorles. Tbese organlsatlons are usually membersblp socletles or government-sanctloneo natlonal
autborltles wblcb are lntenoeo to collect money trom broaocasters to compensate muslclans tor tbe use ot tbelr work. Tbe royalty
collectlon socletles requlre payment betore you can stream just about any muslc releaseo on a commerclal CD to tbe general publlc -
wbetber you make any money out ot streamlng, or not. |t's not so mucb tbe percentage ot revenue oemanoeo, but tbat tbere ls
usually an annual mlnlmum tee to pay, wblcb burts small statlons olsproportlonately.
For eample, ln tbe UK, tbe MCPS-PPS Llmlteo Onllne Muslc Llcence covers non-commerclal muslc streamlng by groups ano
lnolvlouals, as long as tbelr gross revenue ls less tben 12,500 per year. Tbe cost ls on a sllolng scale, up to 1,120 plus 20 ta per
year tor oellverlng up to 450,000 lnolvloual streams or servlng 25,000 tlles, atter tbat, you bave to apply tor a tull MCPS-PPS Onllne
Muslc Llcence. Tbat ooesn't souno too bao at tlrst, but 25,000 tlles per year works out at less tban tour oownloaos per bour tor a
rouno-tbe-clock webslte. Tbls llcence only covers publlsblng rlgbts, not recorolng rlgbts, so you bave to negotlate an aooltlonal llcence
trom Pbonograpblc Pertormance Llmlteo to actually play recoros or CDs.
Typlcally, you bave to provloe tull statlstlcal oetalls to tbe royalty soclety ot all muslc streameo or oownloaoeo trom your slte. Lven lt
your raolo statlon ls mostly speecb, tbere are many llmltatlons ln tbe small prlnt ot tbese muslc llcences. For lnstance, you can't use
muslc tor promotlonal purposes, ano you can't stream a wbole opera, wltbout negotlatlng separate llcences. Welroly, you are not
alloweo to play a plece ot muslc ln a 'oerogatory contet' to tbe wrlter or pertormers, no orummer jokes alloweo, tben.
However, tbe blggest plttall ls tbat tbese MCPS-PPS llcences only cover llsteners ln tbe UK. So lt your |nternet statlon plckeo up a
slgnltlcant number ot llsteners ln otber countrles, you woulo bave to pay tor slmllar muslc llcences ln tbose countrles as well. |t's no
wonoer tbat many not-tor-protlt raolo statlons bave olsappeareo trom tbe vlrtual alrwaves over tbe last tew years, slnce not bavlng
tbe rlgbt llcences coulo leave tbe operator llable to legal actlon. |t you want to go oown tbe palo llcence route, ano you can attoro lt,
cbeck out tbe bttp://www.prstormuslc.com ano bttp://www.ppluk.com websltes tor UK llcence oetalls. |n tbe USA, tbe
bttp://www.sounoecbange.com webslte currently quotes a $500 mlnlmum annual tee tor non-commerclal webcasters, plus a usage
tee above a certaln number ot llstener bours, tor tbe rlgbt to stream muslc trom lts member recoro labels.
Free content streamlng otters tbe cbance tbat D|Y |nternet raolo coulo rlse agaln. Slnce royalty collectlon socletles llke MCPS-PPS ano
SounoLcbange can only represent tbe lnterests ot tbelr own members, lt tollows tbat lt you are not a member, you can stream your
own selt-proouceo content wltbout paylng tor tbelr llcences. |t you state somewbere on your webslte tbat tbe stream ls ot your own
copyrlgbteo materlal, ano ls maoe avallable to tbe publlc unoer a specltlc llcence, tben no-one sboulo mlsunoerstano your lntentlons.
You mlgbt be able to persuaoe otber people to allow you to stream tbelr content too, as long as tbey oo not bave a contllctlng legal
obllgatlon, sucb as bavlng prevlously jolneo one ot tbe many royalty collectlon socletles arouno tbe worlo. You can ask tor permlsslon
to stream wben webslte vlsltors uploao tbelr own muslc tlles to you vla a HTML torm, mucb as tbe llkes ot MySpace oo. Or you can
collect tlles llcenseo unoer an approprlate Creatlve Commons (bttp://www.creatlvecommons.org) or otber tree content llcence.
Lpllclt permlsslon to stream on your partlcular server ls always golng to be tbe loeal, so tblnk about your own terms ano conoltlons
betore you accept tlles trom tblro partles tor streamlng. How, tor eample, woulo you know lt someone uploaoeo a tlle to your onllne
raolo statlon tbat unknown to you, bao been rlppeo trom a commerclally releaseo CD Tbat's tbe klno ot tblng tbat coulo get you ln
trouble wltb tbe llcenslng autborltles ano copyrlgbt boloers.
4
u!Ih6 kIk1IH
3. C|ll|C \l||l||
4. H||C|C |\||\
5. W |||||C
6. ||| H||||
7. ||||||\l |||||||
8. t||||||
9. ||||
5
J. 611Ih6 !1kk10
|t tbe Alrtlme server bas a web browser lnstalleo, you can access tbe aomlnlstratlon lntertace by openlng tbe aooress:
hp://1oca1hos/1ogin
|t you bave set up Alrtlme so tbat lt can be accesseo trom otber computers, you woulo use a oomaln name lnsteao. For eample:
hp://airime.examp1e.com/1ogin
You can log ln tor tbe tlrst tlme wltb tbe username oom|n ano passworo oom|n.

Atter you bave loggeo ln, you sboulo see tbe Master PaneI, wblcb ls present at tbe top ot every page ot tbe Alrtlme lntertace. On
tbe lett bano sloe, tbe Master Panel olsplays tbe oetalls ot tbe Previous tlle playeo out, tbe current tlle playlng (wltb an orange
progress bar ano tlme elapseo/tlme remalnlng), ano tbe oetalls ot tbe Next tlle oue to play. |t also olsplays tbe name ano scbeouleo
tlme ot tbe current sbow, wltb a blue progress bar.
8eneatb tbls sloe ot tbe Master Panel ls tbe maln navlgatlon menu, wltb sub-menus labelleo Now PIaying, Add Audio, PIayIist
BuiIder, CaIendar, Configure ano HeIp. We'll be looklng at tbe contents ot tbese menus ln tbe tollowlng cbapters ot tbls book.
On tbe rlgbt bano sloe, tbe Master Panel teatures an On Air lnolcator, wblcb turns trom gray to reo wbenever a tlle ls belng playeo
out. Tbere ls also a clock lnolcatlng tbe 5tation tine ano tlme zone. Over on tbe tar sloe, an About llnk opens a pop-up wlnoow
wltb some lntormatlon about Alrtlme. Tbe name ot tbe user currently loggeo ln ls olsplayeo, ano below tbls tbere ls tbe llnk to
Logout.
6

FkfkhC!
On tbe Configure menu, cllck Preferences to set your 5tation Nane ano tbe DefauIt Fade tlme tbat you woulo llke to set tor
automateo crosstaoes. Tbe 5trean LabeI optlon allows you to set tbe metaoata tbat wlll be sent wltb olrect |cecast streams, Art|st
ano 7|t|e, Show, Art|st ano 7|t|e, or Stot|on nome ano Show nome.
You can also enable llve, reao-only access to tbe Alrtlme scbeoule calenoar tor your statlon's publlc webslte wltb tbe AIIow Renote
Websites to Access 5cheduIe lnfo! optlon, lt you wlsb. (Tbere ls more about tbls teature ln tbe Advanced Configuration
sectlon ot tbls book). Tben cllck tbe 5ubnit button.
|t your statlon bas a SounoClouo account (on bttp://sounoclouo.com), you may want to uploao llve sbow recorolngs to tbls servlce
automatlcally. Cllck tbe small black trlangle net to 5oundCIoud 5ettings to sbow tbls optlon. Apart trom cbecklng tbe UpIoad
Recorded 5hows To 5oundCIoud bo, you wlll neeo to enter your SounoClouo logln emall aooress ano passworo, ano tbe
metaoata tbat SounoClouo wlll use to categorlze your sbow recorolngs. You can also set a oetault genre, track type ano copyrlgbt
llcense bere, lncluolng one ot tbe Creatlve Commons llcenses (see bttp://creatlvecommons.org/).
7
Please note tbat llke most onllne olstrlbutlon servlces, SounoClouo terms ot servlce requlre you to bave copyrlgbt ln, or permlsslon
tor |nternet olstrlbutlon trom tbe copyrlgbt boloer ot, any meola tbat you uploao.
ChCkIh6 1h !1kkH
|t you bave enableo tbe streamlng optlon wben you lnstalleo Alrtlme, you can cbeck tbat tbe |cecast server ls runnlng by openlng port
8000 ot tbe server ln your web browser. For eample, on tbe server ltselt, you can use:
hp://1oca1hos:8000/
You sboulo see tbe |cecast status page, wltb oetalls ot tbe connectlon tbat Alrtlme bas maoe to |cecast. |t you bave only just lnstalleo
Alrtlme, tbere won't be any meola playlng out yet.
8
9
1. Hkhk6Ih6 u!k!
You sboulo set a new aomlnlstrator passworo lmmeolately, uslng tbe Manage Users entry on tbe Configure menu.

On tbe lett bano sloe ot tbe Manage Users page, cllck on oom|n ln tbe user llst. Tbe oetalls tor tbls user wlll appear ln tbe bo on tbe
rlgbt bano sloe. At tbe moment, tbe oom|n user only bas a Usernane ano a Password.

Lnter a secure passworo (as long ano as varleo as ls practlcal) lnto tbe Password tlelo. Keeplng tbls passworo secure ls essentlal tor
tbe smootb runnlng ot your statlon, because lt enables access to all scbeoullng ano management teatures. You can also enter otber
oetalls tor your user account on tbls page, lncluolng your tull name ano contact oetalls. Tben cllck tbe 5ubnit button.

10
To aoo turtber user accounts to tbe system, one tor eacb ot your statlon statt tbat neeo access to Alrtlme, cllck tbe New user
button. Lnter a username, passworo ano contact oetalls, ano tben select tbe user RoIe trom tbe orop oown menu, wblcb can be
oom|n, host, or guest. Tbe oltterence between tbese roles ls:
An oom|n (statlon manager) bas reao ano wrlte access to all tbe teatures ot Alrtlme. Tbls role sboulo be reserveo tor trusteo
statt members only. |t you glve tbe oom|n role to too many people, tbere coulo be arguments over scbeoullng!
A host (presenter, or D[) only bas wrlte access to teatures relateo to tbe specltlc sbows asslgneo to tbem by an oom|n. Tbe host
can reao oata tor otber sbows, but not wrlte to tbem. Tbls reao access to otber sbows belps bosts plan tbelr own sbows, tor
lnstance avololng tbe scenarlo wbere two D[s play tbe same muslc by colncloence.
A guest can log ln to reao tbe tortbcomlng scbeoule or playllsts, but bas no wrlte permlsslon tor any teature. Cuest users cannot
see tbe Add Media, PIayIist BuiIder or Configure menus wben tbey log ln. Tbe group ot guests mlgbt lncluoe tbe statlon
accountant, or tbe sbow asslstants.
New users tbat you aoo wlll be sbown ln tbe llst on tbe lett-bano sloe ot tbe Manage Users page. |t you bave a large number ot
users on tbe system, you can use tbe searcb tool above tbe llst (wblcb bas a magnltylng glass lcon) to loentlty specltlc user accounts.
Cllck on tbe llst beaolngs to sort tbe searcb results by Usernome, l|rstnome, Lostnome or o|e.
To eolt a user account, cllck on tbat user's row ln tbe llst, cbange tbe user's oetalls ln tbe bo on tbe rlgbt bano sloe, ano tben cllck
tbe 5ubnit button. To remove a user account, cllck tbe small x lcon to tbe rlgbt sloe ot lts row ln tbe llst.
11
'. h0W FLkIh6
Tbls page provloes two vlews ot tbe tlles your statlon ls playlng, wblcb can be swltcbeo uslng tbe Day View ano Now View buttons
ln tbe top rlgbt corner ot tbe aomlnlstratlon lntertace. |t you've only just lnstalleo Alrtlme, tbere won't be any tlles sbown ln eltber
vlew yet.
Tbe oetault ls Now View, ln wblcb tlles tbat bave alreaoy been playeo are removeo trom tbe top ot tbe llst automatlcally. Sbow tltles
bave a blue backgrouno, wblle lnolvloual tlles bave a gray backgrouno. Tbe row tor tbe currently playlng tlle ls sbown wltb an orange
backgrouno. Any unoerbookeo sbows (sbows wltb lnsuttlclent content to tlll tbe tlme alloweo) are olsplayeo wltb a row lnolcatlng tbe
lengtb ot tbe gap ln seconos. Tbe Gap untiI show end rows bave a reo backgrouno.
On tbe rlgbt bano sloe ot tbe Now View, tbe PIayIist ano 5how tbat eacb tlle ls a part ot ls olsplayeo. (Creatlng playllsts ano sbows ls
covereo ln later cbapters ot tbls book). |t a sbow ls overbookeo (tbe total playout lengtb ls longer tban tbe tlme alloweo tor tbe
sbow), a reo ano wblte warnlng lcon ls sbown ln tbe 5tatus column. Tbe warnlng lcon lnolcates tbat tbe tlle ln tbls row wlll be taoeo
out wben tbe sbow enos.
A llve sbow tbat ls set tor recorolng ls sbown wltb a oark gray bar, slnce lt ooes not contaln any playllsts.
12
Tbe Day View ls slmllar to tbe Now View, ecept tbat tlles wblcb bave alreaoy playeo out are sbown at tbe top ot tbe wlnoow. You
can select wblcb oay ot tbe scbeoule you wlsb to vlew by cllcklng on tbe oate bo, just to tbe lett ot tbe Day View button, ano
selectlng a oay trom tbe pop-up calenoar.
13
t. k00 H0Ik
|t you oo not bave access to tbe o|rt|me-|mport scrlpt on tbe server, you can aoo tlles to tbe Alrtlme oatabase uslng tbe Add nedia
page ot tbe aomlnlstratlon lntertace. Tbls page lncluoes an uploao queue tor tlles wblcb supports orag ano orop trom your computer's
tlle manager, lt you are uslng tbe recommenoeo l|refox 3. web browser.
Tbe Add Media page ls not vlslble to Cuest users.
|t your web browser ooes not support orag ano orop, you can use tbe Add fiIes button, wblcb bas a wblte plus slgn ln a green clrcle
lcon, to open a tlle selectlon wlnoow on your computer.
14
Atter you bave aooeo all tbe tlles tbat you requlre to tbe uploao queue, cllck tbe 5tart UpIoad button, wblcb bas a green arrow
lcon.
Tbe row ot tbe tlle currently belng uploaoeo ls blgbllgbteo ln pale green. At tbe bottom ot tbe uploao queue, a progress bar ano
percentage lnolcates bow mucb ot tbe uploao bas taken place so tar.

Once lt bas been uploaoeo successtully, eacb tlle row olsplays a wblte cbeck mark ln a green clrcle lcon.
15

Your tlles are now lmporteo lnto tbe Alrtlme oatabase, reaoy to be lncluoeo ln your broaocast playllst.
16
I. FLkLI!1 8uIL0k
Tbls page ot tbe Alrtlme lntertace enables you to searcb tbe meola arcblve, sort ano olsplay tbe searcb results by tbe crlterla tbat you
cboose, ano orag ano orop searcb results lnto an open playllst. You can also re-arrange tbe currently open playllst by oragglng ano
oropplng.
Tbe PIayIist BuiIder page ls not vlslble to Cuest users.
1h !kkCh 1k8
On tbe rlgbt bano sloe ot tbe Playllst 8ulloer page, tbe 5earch tab llsts botb tbe meola ano tbe playllsts ln tbe Alrtlme arcblve, wltb
ten entrles sbown per page by oetault. Cllck on tbe 5how entries orop-oown menu ln tbe top rlgbt corner to select tbe olsplay ot
10, 25, 50 or 100 entrles per page, accorolng to your preterence.
Cllck tbe column beaolngs TitIe, Creator, AIbun, Track, Length or Type to sort tbe entrles. |n tbe Type column, auolo tlles are
representeo by a louospeaker lcon, wblle playllsts are representeo wltb a oocument lcon. At tbe bottom ot tbe wlnoow, cllck tbe
First, Previous, Next, Last or page number buttons to browse tbe meola arcblve.

Type a searcb term lnto tbe bo ln tbe upper lett corner, wltb tbe magnltylng glass lcon. Llke an |nternet searcb englne, tbe tlltereo
entrles sbown are retlneo as you type - tbere ls no neeo to press tbe Lnter key.
17
Cllcklng on a tlle row ln tbe 5earch tab opens a pop-up menu wblcb enables you to Edit Metadata tor tbat tlle, DownIoad lt to
your local computer or moblle oevlce tor auoltlon or eoltlng, or DeIete lt trom tbe Alrtlme storage server. Tbe DeIete optlon
sboulo be useo wltb cautlon, because tbls actlon cannot be unoone.
Ckk1Ih6 k hW FLkLI!1
Once you bave touno tbe meola tbat you requlre uslng tbe 5earch tab, you can create a new playllst on tbe lett bano sloe ot tbe
PIayIist BuiIder page. Cllck tbe New button to begln.
Lnter a TitIe ano Description tor tbe playllst, tben cllck tbe 5ubnit button. Settlng gooo quallty metaoata bere wlll belp you tlno
tbe playllst uslng tbe 5earch tab later, so you sboulo be as oescrlptlve as posslble.
18
Net, orag ano orop tlles trom tbe Searcb tab lnto tbe new playllst.
Atter oragglng tlles lnto tbe new playllst, tbe total playllst tlme ls olsplayeo ln tbe top rlgbt corner. Duratlons tor lnolvloual tlles are
sbown ln eacb row ot tbe playllst. To auoltlon a tlle ln tbe playllst, cllck tbe wblte trlangle pIay/pause button on tbe lett sloe ot eacb
row. Cllck tbe small wblte x lcon on tbe rlgbt bano sloe ot eacb row to remove a tlle trom tbe playllst. You can also orag ano orop tlles
to re-oroer tbem.

Cllck on tbe pencll lcon to tbe rlgbt ot tbe name ot tbe playllst to eolt lt, or cllck on View/edit description to open a bo tor
enterlng playllst metaoata.
19
Cllck tbe playllst Crossfade button (two borlzontal wblte arrows crosslng ln a gray rectangle), to tbe rlgbt ot tbe New ano DeIete
buttons, to open a belge bar ln wblcb you can set tbe Fade in ano Fade out tlmes tor tbls playllst.
Cllck any one ot tbe smaller Crossfade buttons between tlle rows to open a belge bar wblcb enables you to set taoe ln ano taoe out
tlmes between two aojacent tlles ln tbe playllst. Tbe crosstaoe buttons tor aojacent tlles cbange to an orange backgrouno wben you
cllck tbem.
20
Lacb tlle ln tbe playllst also bas a button wltb two square brackets, wblcb enables you to set cue ln ano cue out tlmes tor tbat
partlcular tlle. Llke tbe crosstaoe button, lt cbanges to an orange backgrouno wben you cllck lt. Tbe lengtb ot tbe tlle ln tbe playllst ls
upoateo automatlcally, but tbe OriginaI Length ot tbe tlle ls also olsplayeo tor your reterence.
Wben your playllst ls complete, cllck tbe Done Editing button. |t you want to eolt tbe playllst contents or tbe playllst metaoata later,
you can tlno lt by TitIe, Creator or Type uslng tbe 5earch tab. Cllck on tbe playllst ln tbe searcb results llst, ano select Edit trom
tbe pop-up contet menu. A playllst tbat ls alreaoy open tor eoltlng wlll sbow tbe optlon CIose bere lnsteao. You can also DeIete a
playllst trom tbls contet menu.
21
22
?. CkLh0kk
Tbe Calenoar page ot tbe Alrtlme aomlnlstratlon lntertace bas tbree vlews: Day, Week ano Month, wblcb can be swltcbeo uslng tbe
gray buttons ln tbe top rlgbt corner. 8y oetault, tbe Month vlew ls sbown, wltb tooay's oate blgbllgbteo by a pale green backgrouno.
|n tbe top lett corner ot tbe page, you can go back or torwaro tbrougb tbe CaIendar by cllcklng on tbe small wblte trlangle buttons.
Cllck tbe Today button to jump to tooay's oate ln tbe current vlew. |n tbe Day or Week vlews, tbere ls also a orop-oown menu
wblcb allows you to set tbe resolutlon olsplayeo tor tbe calenoar, ranglng trom one mlnute per row to slty mlnutes per row.
k00Ih6 k !h0W
To aoo a new sbow to tbe Calenoar, cllck tbe + 5how button ln tbe top lett corner ot tbe page, or cllck on any empty row ln tbe
Calenoar ltselt. Lltber ot tbese actlons opens tbe Add this show bo, wblcb bas tlve sectlons, arrangeo vertlcally: What, When,
Record & Rebroadcast, Who , ano 5tyIe. Cllck tbe small black trlangle to tbe lett ot tbe sectlon name lt you wlsb to mlnlmlze or
malmlze lt.
|n tbe What bo, enter tbe name ano oescrlptlon tor tbe sbow tbat you are creatlng.
23
Net, ln tbe When sectlon, tbe oate tbat you cllckeo on ln tbe CaIendar sboulo alreaoy be entereo ln tbe Date 5tart tlelo. To set
anotber oate tor tbe sbow, cllck on tbe Date 5tart tlelo ano tben select tbe alternatlve oate tbat you requlre tor tbe sbow trom tbe
small pop-up calenoar. Tben set tbe 5tart tine ano Duration tor tbe sbow ln tbe same way, wltb tbe pop-up Hour ano Minute
bo. Tbe mlnute values ln tbe pop-up tlme boes are rounoeo to tbe nearest tlve mlnutes, but you can aojust tbe tlmes manually by
cllcklng lnto tbe tlelos ano typlng.
To scbeoule a regular sbow, cbeck tbe Repeats! bo ano select eltber WeekIy, Bi-weekIy or MonthIy trom tbe Repeat Type
orop-oown menu tbat wlll appear. Tben cbeck tbe boes tor tbe oays ot tbe week tbat you want to scbeoule tbe regular sbow on.
Set tbe Date End tor tbe regular sbow to tlnlsb, or cbeck tbe No End bo to scbeoule tbe sbow lnoetlnltely.
|n tbe Record & Rebroadcast sectlon, tbe Record! bo enables automatlc recorolng ot tbe sounocaro llne lnput, lt your Alrtlme
server bas one, at tbe tlme ot tbe sbow. Sbows set tor llve recorolng cannot also contaln playllsts. Tbe oetault auolo tormat tor llve
recorolngs ls MP3, ano tbe recorolng tlles are saveo ln tbe storage olrectory tbat was set wben Alrtlme was lnstalleo.
|t you wlsb tbe recorolng to be playeo out at a later tlme, cbeck tbe Rebroadcast! bo, ano tben select up to ten oate ano tlme slots
ln tbe Choose Days bo.
24
Sbows set tor recorolng bave a small reo oot lcon ln tbe calenoar, wblle rebroaocast sbows bave a wblte loop lcon.
|n tbe Who sectlon, type tbe tlrst tew letters ot tbe name ot tbe sbow presenter to select a name trom tbe oatabase, or cbeck one ot
tbe boes ln tbe vertlcal scrolllng llst below.
Flnally, select a Background CoIour ano Text CoIour trom tbe 5tyIe sectlon, so tbat tbe new sbow can be easlly loentltleo ln tbe
CaIendar.
25

Cllck tbe Add this show button at tbe top or bottom ot tbe bo. Tbe new sbow wlll now be olsplayeo ln tbe CaIendar, wltb a
regular slot lt you bave cbosen to scbeoule one.

0I1Ih6 k !h0W
Sbow contlguratlon ano metaoata can be cbangeo at any tlme untll broaocast ot tbat sbow commences. Cllck on tbe sbow ln tbe
Calenoar, ano select Edit 5how trom tbe pop-up contet menu. Tbls opens tbe Update 5how bo, wblcb ls eactly tbe same as
tbe Add this 5how bo. Cllck tbe Update 5how button at tbe top or bottom ot tbe bo wben you are oone.
Alternatlvely, lnolvloual sbows can be cllckeo on ano oraggeo to new oays ano tlmes ln tbe calenoar. However, Alrtlme wlll not allow
you to orag a tuture sbow lnto tbe past, or orag a sbow onto a oay wbere tbls woulo cause sbow tlmes to overlap.
|n tbe Day ano Week vlews, sbow lengtb can be aojusteo by cllcklng on tbe lower eoge ot tbe sbow bo, ano oragglng tbe eoge ot
tbe bo upwaros or oownwaros. Tbe new sbow lengtb ls calculateo automatlcally. Alrtlme wlll not allow you to orag a sbow eno tlme
beyono tbe start ot tbe net sbow.
k00Ih6 C0h1h1 10 k !h0W
To aoo content to a sbow, cllck on lt ln tbe Calenoar, ano select Add/Renove Content trom tbe pop-up contet menu.
26
Tbls actlon opens tbe 5cheduIe PIayIist pop-up wlnoow. [ust llke wben uslng tbe PIayIist BuiIder to tlno tlles, you can searcb tor
playllsts ano orag tbem lnto tbe ltens ln This 5how bo.

Tbe orange progress bar unoerneatb tbe ltens in this 5how bo upoates automatlcally to sbow bow mucb tlme remalns trom tbe
allocateo sbow ouratlon. |t you aoo too mucb meola relatlve to tbe lengtb ot tlme allocateo to tbe sbow, Alrtlme wlll olsplay a warnlng,
ano playout wlll be cut wben tbe sbow enos. Cllck tbe small wblte trlangle on tbe lett ot eacb row to see oetalls ot tbe playllst, or cllck
tbe wblte x lcon on tbe rlgbt sloe to remove lt trom tbe sbow.
27

Wben your sbow bas all tbe requlreo content, cllck tbe OK button ln tbe bottom rlgbt corner to close tbe wlnoow. 8ack ln tbe
CaIendar, cllck on tbe sbow ano select 5how content trom tbe pop-up contet menu to vlew a llst ot content now lncluoeo ln tbe
sbow.

Cllck on any row ln tbe 5how Contents wlnoow to oownloao tbe lnolvloual tlle tor auoltlon, or turtber eoltlng. Once you're oone,
cllck tbe OK button ln tbe bottom rlgbt corner, or tbe wblte x lcon ln tbe top rlgbt corner, to close tbe wlnoow.
28
kH0Ih6 C0h1h1 fk0H k !h0W
To remove an lnolvloual playllst trom a sbow, cllck on tbe sbow ln tbe CaIendar, ano select Add/Renove Content trom tbe pop-
up menu. |n tbe 5cheduIe PIayIist wlnoow wblcb opens, use tbe wblte x lcon to remove tbe playllst trom tbe sbow content. To
remove all playllsts trom a sbow, cllck on tbe sbow ln tbe CaIendar, ano select Renove AII Content trom tbe pop-up menu.

0L1Ih6 k f0k1hC0HIh6 !h0W
To oelete one lnstance ot a tortbcomlng sbow, cllck on tbe sbow ln tbe CaIendar, ano select DeIete This lnstance trom tbe pop-
up menu. |t you wlsb to oelete all tuture lnstances ot tbls partlcular sbow, select DeIete This lnstance and AII FoIIowing trom tbe
pop-up menu.
You cannot oelete or remove content trom sbows tbat bave alreaoy playeo out. Tbese sbows bave only one optlon on tbe pop-up
menu, wblcb ls 5how Content.
29
CkhCLIh6 FLk0u1 kh0 kC0k0Ih6
|t you wlsb to cancel tbe recorolng ot a llve sbow ano oelete tbe recoroeo tlle trom tbe storage server, cllck on tbe sbow ln tbe
CaIendar ano select CanceI Current 5how trom tbe pop-up menu. |n tbe same way, lt ls also posslble to lmmeolately cancel
playout ot a playllst baseo or pre-recoroeo sbow wblle lt ls runnlng.
Alrtlme wlll ask you lt you are sure about tbls actlon, as lt cannot be unoone.
30
. hLF
Tbe Help menu ln Alrtlme otters a 'qulck start' guloe tor new users.
You can vlslt tbe Alrtlme onllne support torum, ano slgn up tor tbe malllng llst, at bttp://torum.sourcetabrlc.org/lnoe.pbp/t/14/
Tbls torum ls mlrroreo by tbe malllng llst, so posts on tbe torum appear on tbe malllng llst ano vlce versa. You can tberetore also post
a message tbere by emalllng alrtlme-supportllsts.sourcetabrlc.org
To subscrlbe to torum upoates vla mall, please reglster or logln to tbe torum by cllcklng tbe approprlate llnk. Tben cllck tbe
'Subscrlbe' button at tbe top ot eacb torum page.
8u6 kF0k1Ih6
Alrtlme neeos your lnput to lmprove. |t you tblnk you've touno a bug, please vlslt bttp://oev.sourcetabrlc.org/ ano slgn ln, uslng tbe
same logln ano passworo tbat you reglstereo tor tbe Alrtlme torum. Create a bug report by selectlng Create lssue, tben Airtine,
ano tben Bug. Tbat way, tbe Alrtlme team can keep track ot your problem ano notlty you wben lt bas been tleo. You can also
suggest lmprovements ano new teatures tor Alrtlme on tbat slte.
C0h1kC1
Flnally, wben all otber avenues bave been ebausteo, emall us olrectly at contactsourcetabrlc.org ano we'll try to belp!
01hk hLF
Tbe UNLSCO wlkl Commun|t, oo|o - A user's gu|oe to the techno|og,: bttp://cr-userguloe.web4all.ln/ teatures a very comprebenslve
guloe to settlng up a communlty raolo statlon. Tbls guloe ls almeo at people tblnklng about settlng up a raolo statlon ln |nola, but
lncluoes lots ot practlcal aovlce tbat woulo be usetul ln any country.
31
k0khC0 C0hfI6ukk1I0h
10. |||||||C l|| \||||
11. ||lH|l|| |\l||||l|
12. H|||| |\l||||l|
13. ||C||||C
14. \|ll|C l|| \|||| l|H|
15. |\|C l|| |H||l \t|||l
16. ||t||C || l|| \||||
17. |/||l|C l|| \t||||||
18. |l|C||l| W|l| H|///
32
I1. FkFkkIh6 1h !kk
Tbe tollowlng lnstructlons assume tbat you bave root access (suoo on Ubuntu) to a GNU/Llnu server, ano are tamlllar wltb baslc
commano llne tasks. Lperlenceo system aomlnlstrators may preter to sklp to tbe Lxpert |nsto|| cbapter ln tbe appenol ot tbls book.
Tbe recommenoeo Alrtlme server plattorm ls Ubuntu 10.04 'Luclo Lyn' LTS. Deblan 6.0 'squeeze' ls also a gooo optlon. Tbe server
sboulo bave at least a 1GHz processor ano 512M8 ot PAM. Tbe Alrtlme lnstallatlon ooes not use mucb olsk space, but you sboulo
allow plenty ot storage capaclty tor tbe meola arcblve. A bot-swap PA|D array ls recommenoeo tor tbe meola arcblve, ln case ot olsk
tallure. You sboulo also consloer a UPS or otber battery powereo system to otter some protectlon agalnst sbort-term power tallures.
Tbe Alrtlme web aomlnlstratlon lntertace ls lntenoeo to work wltb any browser, on any oesktop or moblle plattorm. Tbe
recommenoeo web browser ls Mozllla Flreto 3.6.
!0uh0Ckk0!
|t you lnteno tbat your Alrtlme server wlll bave a olrect auolo output to a broaocast transmltter or a separate stream encooer, your
server macblne must bave a sounocaro supporteo by an ALSA orlver. Almost all stanoaro sounocaros bave ALSA orlvers bullt lnto
tbe Llnu kernel, wblcb oo not neeo to be lnstalleo separately. |t ln ooubt about orlver support tor your sounocaro, cbeck tbe ALSA
sounocaro matrl at: bttp://www.alsa-project.org/maln/lnoe.pbp/Matrl:Maln
|t your Alrtlme macblne wlll only be useo to stream to an |cecast streamlng meola server, you oo not requlre a sounocaro to be
lnstalleo on tbe server sloe. Tbls optlon ls sultable tor Alrtlme lnstallatlons at your |SP's oatacenter, remote trom any transmltter.
!1 uF kF0!I10kI! f0k u8uh1u
Wben lnstalllng on an Ubuntu server, a tew ot tbe packages tbat Alrtlme relles on are ln tbe Ubuntu un|verse or mu|t|verse
reposltorles. |t eltber ot tbese reposltorles ls olsableo, you can enable tbem ln tbe /etc/opt/sources.||st tlle, by openlng tbe nono eoltor ln
your server's console wltb tbe commano:
$ sudo nano /ec/ap/sources.1is
For an Ubuntu Luclo server, tlno tbe llnes wblcb begln oe5 ano eno wltb |uc|o un|verse or |uc|o-upootes un|verse, aoolng mu|t|verse to tbe
eno ot tbese llnes, lt lt ls not tbere alreaoy. Tbe mu|t|verse reposltory ls requlreo tor tbe ||5mp3|ome0 llbrary, wblcb ls an MP3 encooer.
Tbe eact reposltory mlrror UPLs ln your sources.||st tlle wlll oltter trom tbe above screensbot, oepenolng on your locatlon.
Tbe Sourcetabrlc reposltory contalns packages tor Alrtlme, ano any otber packages wblcb Alrtlme requlres. To aoo tbe Sourcetabrlc
reposltory to an Ubuntu Luclo server, scroll to tbe eno ot tbe sources.||st tlle ano aoo tbe tollowlng llne:
deb hp://ap.sourcefabric.org/ 1ucid main
For Ubuntu Maverlck, substltute mover|ck ln place ot |uc|o ln tbe llne above.
33
Press Ctrl+O (tbe Ctrl key ano tbe letter O togetber) to save tbe tlle, tben Ctrl+X to elt tbe nano eoltor.
!1 uF kF0!I10kI! f0k 08Ikh
On Deblan, you wlll neeo to lnstall ano contlgure tbe sudo package, lt lt ls not lnstalleo alreaoy. On a Deblan squeeze server, atter you
bave lnstalleo ano contlgureo suoo, you can eolt tbe /etc/opt/sources.||st tlle wltb tbe commano:
$ sudo nano /ec/ap/sources.1is
You can obtaln tbe ||5mp3|ome0 llbrary package by aoolng tbe tollowlng reposltory to tbe eno ot tbe tlle:
deb hp://www.debian-mu1imedia.org squeeze main non-free
To aoo tbe Sourcetabrlc reposltory to a Deblan squeeze server, aoo tbe tollowlng llne to tbe eno ot tbe tlle:
deb hp://ap.sourcefabric.org/ squeeze main
Press Ctrl+O (tbe Ctrl key ano tbe letter O togetber) to save tbe tlle, tben Ctrl+X to elt tbe nono eoltor.
Ih!1kLL 1h !0ukCfk8kIC !I6hIh6 k
Peloao tbe system's package llst wltb:
$ sudo ap-ge updae
You wlll see an error message about a mlsslng publlc key.
To tl tbls system error, you neeo to lnstall tbe sourcefo5r|c-ke,r|ng package, wblcb contalns tbe package slgnlng key. Tbls encryptlon
key ls a securlty measure wblcb belps ensure tbat tbe Alrtlme packages you wlll be oownloaolng ln tuture bave not been tampereo
wltb by a tblro party. You can lnstall tbe key wltb tbe commano:
$ sudo ap-ge insa11 sourcefabric-'eyring
Wben prompteo, press tbe , key on your keyboaro to lnstall tbe sourcefo5r|c-ke,r|ng package wltbout verltlcatlon. |t you wlsb to verlty
tbe autbentlclty ot tbe package slgnlng key, please contact Sourcetabrlc tor asslstance.
34
Upoate your computer's sottware sources agaln, to contlrm tbat you are now uslng a trusteo sottware reposltory:
$ sudo ap-ge updae
You sboulo no longer see tbe error message about tbe mlsslng publlc key.
Ih!1kLLIh6 1h 0k1k8k! Hkhk6Hh1 !!1H
Alrtlme uses a PostgreSQL oatabase to keep track ot meola assets ano assoclateo metaoata ln lts storage server. Depenolng on tbe
scale ot your Alrtlme lnstallatlon ano tbe baroware avallable, you may wlsb to lnstall PostgreSQL on a separate server. |t you only bave
one server, you can lnstall tbe postgresq| package on tbe same macblne as Alrtlme wltb tbe commano:
$ sudo ap-ge insa11 posgresq1
Ih!1kLLIh6 k !1kkHIh6 !kk
Optlonally, you may wlsb to stream olrectly trom Alrtlme to an |cecast meola olstrlbutlon server, wltbout requlrlng a sounocaro or
mler ln tbe broaocast cbaln. Tbls optlon ls partlcularly sultable tor tully automateo statlons, ln wblcb all sbows are playeo out uslng
Alrtlme. You can lnstall tbe |cecost2 package on your server wltb tbe commano:
$ sudo ap-ge insa11 icecas2
|n some scenarlos, you may wlsb to stream trom Alrtlme to a remote |cecast server, tor eample wben |cecast ls lnstalleo on a server
ln a oatacenter wltb greater banowlotb avallable tban an Alrtlme server locateo at your broaocast stuolo bas. Tbls separatlon may
become necessary lt your stream becomes popular, because eacb aooltlonal llstener wblcb connects to tbe |cecast stream uses
aooltlonal banowlotb. |n tbls case, you oo not neeo to lnstall tbe |cecost2 package on tbe Alrtlme server.
kH0 FuL!ku0I0
Tbe PulseAuolo souno server ls not compatlble wltb Alrtlme, but ls lnstalleo by oetault on Ubuntu. To remove PulseAuolo trom an
Ubuntu macblne, type tbe tollowlng commano:
$ sudo ap-ge purge pu1seaudio
Pemovlng tbe pu|seouo|o package on a oesktop Ubuntu macblne may torce tbe removal ot tbe u5untu-oesktop metapackage. However,
tbls metapackage ls only lnstalleo on tbe system tor managlng upgraoes, removlng lt ooes not remove tbe GNOML oesktop.
Atter removlng PulseAuolo, lt your Alrtlme macblne bas a oesktop ano a sounocaro, you can lnstall a mler applet wblcb can control
tbe ALSA sounocaro orlver olrectly, sucb as gnome-o|som|xer:
$ sudo ap-ge insa11 gnome-a1samixer
On a server wltb a sounocaro but wltbout a oesktop, you can control souno lnput ano output levels uslng tbe commano llne program
o|som|xer:
35
Tbls program sboulo alreaoy be lnstalleo on an Ubuntu or Deblan macblne wltb a sounocaro. |t not, you can lnstall lt wltb tbe
commano:
$ sudo ap-ge insa11 a1sa-ui1s
Now your server sboulo be reaoy tor Alrtlme to be lnstalleo.
36
II. ku10Hk10 Ih!1kLLk1I0h
Tbls lnstallatlon metboo ls lntenoeo tor computers runnlng Ubuntu or Deblan GNU/Llnu, ano ls tbe recommenoeo metboo tor new
Alrtlme users.
Atter settlng up tbe Sourcetabrlc package reposltory ano lnstalllng PostgreSQL, as oescrlbeo ln tbe prevlous cbapter, you can lnstall
tbe Alrtlme package wltb:
$ sudo m'dir -p /mp/pear/cache
$ sudo ap-ge insa11 airime
Tbls commano wlll lnstall all ot tbe Alrtlme components, plus any otber packages tbat Alrtlme requlres ln oroer to run.
Once all tbe packages bave been oownloaoeo ano lnstalleo, you wlll be askeo a tew questlons about tbe contlguratlon ot tbe Alrtlme
system. You can accept tbe oetault settlngs by presslng tbe Enter key, or use tbe Tab key to cbange your selectlon.
Flrstly, you wlll askeo lt you wlsb to create an Apacbe vlrtual bost web server contlguratlon automatlcally.
|t so, you wlll neeo to enter tbe oomaln name tbat your statlon statt wlll use to access Alrtlme. For a test server tbat wlll only be
accesseo olrectly trom tbe same macblne, you can use tbe settlng ot 'localbost' bere.
37
Net, set tbe contact emall aooress ot tbe server aomlnlstrator, wblcb ls gooo practlce ln case ot any server problems. For a test
server, uslng an aooress at tbe localbost ls acceptable.
Deblan ano Ubuntu servers are set up wltb a oetault Apacbe contlguratlon, wblcb mlgbt block statlon statt trom accesslng Alrtlme. |t
you wlsb, tbls oetault contlguratlon can be removeo automatlcally tor you.
You may also be warneo about upgraolng tbe ro55|tmq-server package. |t you oo not bave an elstlng lnstallatlon ot PabbltMQ, lt ls sate
to press tbe Enter key to contlnue.
38
Tbe Alrtlme lnstaller wlll tben run a scrlpt to cbeck tbat your server envlronment ls set up correctly.
C0hfI6uk FhF
Lolt tbe php.|n| tlle to cbange PHP settlngs tor tbe server to tbose tbat Alrtlme requlres.
$ sudo nano /ec/php5/apache2/php.ini
39

Tbls ls a long tlle, so use tbe searcb tool (press Ctrl+W) to tlno tbe partlcular llnes tbat you're looklng tor. Tbe recommenoeo lnltlal
settlngs tor Alrtlme are:
memory_1imi = 256M
magic_quoes_gpc = Off
fi1e_up1oads = On
up1oad_mp_dir = /mp
phar.readon1y = Off
|t any ot tbe above llnes are commenteo out wltb a seml-colon at tbe beglnnlng, you wlll neeo to remove tbat seml-colon tor tbe
settlng to work.
You wlll also neeo to set tbe tlme zone tbat Alrtlme wlll olsplay to matcb local tlme at your statlon. Flno tbe llne ln tbe php.|n| tlle
wblcb beglns oote.t|mezone, remove tbe seml-colon comment lt present, ano aoo tbe requlreo tlme zone to tbe eno ot tbe llne. For
eample:
dae.imezone = "America/Torono"
Tbe tlme zone value sboulo be ln quotes, as above. You can tlno tbe correct value tor your statlon's tlme zone ln tbe appenol ot tbls
book.
Press Ctrl+O to save tbe php.|n| tlle, tben Ctrl+X to elt tbe nono eoltor.
40
!Cuk kh0 hk8L ICCk!1
|t you bave lnstalleo tbe |cecast streamlng meola server, betore runnlng lt tor tbe tlrst tlme you sboulo eolt tbe tlle
/etc/|cecost2/|cecost.xm| to cbange tbe oetault <source-possworo>, <re|o,-possworo> ano <oom|n-possworo> values trom 'hockme' to
sometblng more secure.
$ sudo nano /ec/icecas2/icecas.xm1
Tben set up tbe |cecast server to start automatlcally:
$ sudo nano /ec/defau1/icecas2
by settlng tbe value ot LNA8LL to true on tbe last llne ot tbe /etc/oefou|t/|cecost2 tlle:
ENABLE=rue
Save ano close tbe tlle wltb Ctrl+O ano Ctrl+X, tben start |cecast:
$ sudo service icecas2 sar
Tbe server sboulo respono:
Saring icecas2: Saring icecas2
eaching from he conso1e
icecas2.
C0hfI6uk LIquI0!0kF
8etore runnlng Alrtlme, you neeo to eolt tbe Llqulosoap contlguratlon tlle to tell tbe system wbat klno ot output you requlre: to tbe
sounocaro, olrect Ogg vorbls streamlng, olrect MP3 streamlng, or all tbree. Open tbe Llqulosoap contlguratlon tlle wltb:
$ sudo nano /ec/airime/1iquidsoap.cfg
For sounocaro output, cbange tbe value ot outputsounooev|ce to true. You can also set tbe values ot output|cecostvor5|s,
output|cecostmp3 to true or fo|se, ano several otber contlguratlon optlons ln tbls tlle.
|n tbe streom sett|ngs sectlon, contlgure |cecosthost ano |cecostposs tor your |cecast server, lt you are uslng tbe olrect streamlng
optlon. Tbe |P aooress 127.0.0.1 ls tbe stanoaro aooress ot |oco|host, wblcb you woulo use lt Alrtlme ano |cecast were lnstalleo on tbe
same macblne. Tbe port number 8000 ls tbe oetault server port tor |cecast.
For a proouctlon server, you wlll probably want to cbange tbe we5streom mountpo|nt nomes ano we5streom metoooto sett|ngs to sult
your statlon.
41
C0hfI6uk kIk1IH
Optlonally, you may wlsb to eolt tbe tlle /etc/o|rt|me/o|rt|me.conf to set tbe olrectory wbere Alrtlme meola tlles are storeo. For
eample, you may wlsb to store meola on a PA|D array wblcb ls not part ot tbe server's root tllesystem.
$ sudo nano /ec/airime/airime.conf
Flno tbe llne wblcb beglns 5osef||eso|r ano cbange tbe olrectory patb to tbe one tbat you requlre, tor eample:
base_fi1es_dir = /mn/raid10/media
You can also set tbe PostgreSQL oatabase bost, ano tbe username ano passworo to connect to tbe oatabase wltb ln tbls tlle. Save ano
close tbe tlle wltb Ctrl+O ano Ctrl+X.
Flnally, reboot tbe server so tbat tbe sottware can be lnltlallzeo correctly. Atter tbat, you sboulo be able to log ln to tbe Alrtlme
aomlnlstratlon lntertace, as sbown ln tbe Getting started cbapter.
42
I. HkhukL Ih!1kLLk1I0h
You oo not normally neeo to lnstall Alrtlme manually, unless you are testlng a oevelopment verslon ot tbe sottware. 8ullolng Alrtlme
trom source ls not recommenoeo unless you bave eperlence ot worklng wltb Glt reposltorles ano compllers.
To lnstall trom tbe Alrtlme release tarball, tlrst lnstall tbe llst ot oepenoencles. For eample, on Ubuntu 10.04 (Luclo Lyn) LTS you
coulo enter tbe commano:
$ sudo ap-ge insa11 apache2 cur1 daemonoo1s daemonoo1s-run ecasound \
gzip 1ibao-ocam1 1ibapache2-mod-php5 1ibcamomi1e-ocam1-dev 1ibesd0 \
1ibmad-ocam1 1ibmp31ame0 1ibmp31ame-dev 1ibporaudio2 1ibsamp1erae0 \
1ibsoundouch-ocam1 1ibag1ib-ocam1 1ibvorbis-ocam1-dev mpg123 mu1iai1 \
odbc-posgresq1 oggvideooo1s openss1 php-pear php5-cur1 php5-gd \
php5-pgsq1 poc-sreamer pwgen pyhon pyhon-configob_ pyhon-muagen \
pyhon-pip pyhon-seupoo1s rabbimq-server ar unzip
|nstall tbe Pytbon mooules tbat Alrtlme requlres:
$ sudo pip insa11 'ombu
$ sudo pip insa11 poser
Tbe tlnal oepenoency to lnstall ls ph|ng (note tbat you must use tbe verslon number sbown):
$ sudo m'dir -p /mp/pear/cache
$ sudo pear channe1-discover pear.phing.info
$ sudo pear insa11 phing/phing-2.4.2
00WhL0k0 kIk1IH
A llnk to oownloao tbe latest tarball verslon ot Alrtlme ls avallable at:
bttp://www.sourcetabrlc.org/en/prooucts/alrtlmeoownloao/
For eample, to oownloao verslon 1.8.2 trom SourceForge ln tbe server console you coulo enter tbe commano:
$ wge hp://down1oads.sourceforge.ne/pro_ec/airime/1.8.2/airime-1.8.2.ar.gz
Unzlp tbe tlle you bave just oownloaoeo to tbe lnstallatlon olrectory /vor/||5/o|rt|me/ wltb tbe tollowlng commano:
$ sudo ar -xvzf airime-1.8.2.ar.gz -C /var/1ib/
Cbange tbe ownersblp ot tbe lnstallatlon olrectory to tbe root user so tbat lt ls more secure:
$ sudo chown -R roo.roo /var/1ib/airime-1.8.2/
Tben enter tbe tollowlng commanos to create tbe Alrtlme oatabases, tables, ano olrectorles:
$ cd /var/1ib/airime-1.8.2/insa11/
$ sudo php airime-insa11.php
Tbe lnstallatlon scrlpt wlll lnolcate wblcb tlles are belng lnstalleo on your system, ano tbe olrectorles tbey are belng unpackeo lnto.
Flnally, lt wlll run a scrlpt to cbeck tbat your server envlronment ls set up correctly.
43

C0hfI6uk kFkCh
Cbeck tbat tbe Apacbe web server mooules tbat Alrtlme requlres are enableo:
$ sudo a2enmod php5 rewrie
Tbe server sboulo respono:
Modu1e php5 a1ready enab1ed
Modu1e rewrie a1ready enab1ed
Net, create tbe Alrtlme vlrtual bost contlguratlon tlle tor Apacbe:
$ sudo nano /ec/apache2/sies-avai1ab1e/airime
ano enter tbe lntormatlon below, substltutlng your system aomlnlstrator's emall aooress tor oom|nexomp|e.com. Make sure you set
tbe uocumentoot ano u|rector, patbs correctly. Tbls sboulo matcb tbe pu5||c olrectory tbat tbe lnstaller unpackeo tbe web lntertace
lnto, wblcb by oetault ls tbe /vor/www/o|rt|me/pu5||c/ olrectory.
<Virua1Hos *:80>
ServerAdmin admin@examp1e.com
ocumenRoo /var/www/airime/pub1ic
SeEnv ARRLICATION_ENV "deve1opmen"
<irecory /var/www/airime/pub1ic>
irecoryIndex index.php
A11owOverride a11
Order a11ow,deny
A11ow from a11
</irecory>
</Virua1Hos>
Press Ctrl+O to save tbe tlle, tben Ctrl+X to elt tbe nono eoltor. Tben enter tbe commano:
$ sudo a2ensie airime
Tbe server sboulo respono:
Enab1ing sie airime.
Run '/ec/ini.d/apache2 re1oad' o acivae new configuraion!
As suggesteo by tbe output ot tbe commano above, reloao tbe web server contlguratlon.
$ sudo /ec/ini.d/apache2 re1oad
Tbe server sboulo respono:
* Re1oading web server config apache2
C0hfI6uk FhF
Lolt tbe php.|n| tlle to cbange PHP settlngs tor tbe server to tbose tbat Alrtlme requlres.
$ sudo nano /ec/php5/apache2/php.ini
44

Tbls ls a long tlle, so use tbe searcb tool (press Ctrl+W) to tlno tbe partlcular llnes tbat you're looklng tor. Tbe recommenoeo lnltlal
settlngs tor Alrtlme are:
memory_1imi = 256M
magic_quoes_gpc = Off
fi1e_up1oads = On
up1oad_mp_dir = /mp
phar.readon1y = Off
|t any ot tbe above llnes are commenteo out wltb a seml-colon at tbe beglnnlng, you wlll neeo to remove tbat seml-colon tor tbe
settlng to work.
You wlll also neeo to set tbe tlme zone tbat Alrtlme wlll olsplay to matcb local tlme at your statlon. Flno tbe llne ln tbe php.|n| tlle
wblcb beglns oote.t|mezone, remove tbe seml-colon comment lt present, ano aoo tbe requlreo tlme zone to tbe eno ot tbe llne. For
eample:
dae.imezone = "America/Torono"
Tbe tlme zone value sboulo be ln quotes, as above. You can tlno tbe correct value tor your server's tlme zone ln tbe appenol ot tbls
manual.
Press Ctrl+O to save tbe php.|n| tlle, tben Ctrl+X to elt tbe nono eoltor.
!Cuk kh0 hk8L ICCk!1
|t you bave lnstalleo tbe |cecast streamlng meola server, betore runnlng lt tor tbe tlrst tlme you sboulo eolt tbe tlle
/etc/|cecost2/|cecost.xm| to cbange tbe oetault <source-possworo>, <re|o,-possworo> ano <oom|n-possworo> values trom 'hockme' to
sometblng more secure.
$ sudo nano /ec/icecas2/icecas.xm1
45
Tben set up tbe |cecast server to start automatlcally:
$ sudo nano /ec/defau1/icecas2
by settlng tbe value ot LNA8LL to true on tbe last llne ot tbe /etc/oefou|t/|cecost2 tlle:
ENABLE=rue
Save ano close tbe tlle wltb Ctrl+O ano Ctrl+X, tben start |cecast:
$ sudo service icecas2 sar
Tbe server sboulo respono:
Saring icecas2: Saring icecas2
eaching from he conso1e
icecas2.
C0hfI6uk LIquI0!0kF
You can open tbe ||qu|osoop.cfg tlle tor eoltlng wltb tbe commano:
$ sudo nano /ec/airime/1iquidsoap.cfg
To set up Alrtlme tor olrect streamlng, set tbe value ot |cecostposs to tbe <source-possworo> value tbat you set ln tbe |cecast
contlguratlon tlle. |t you are streamlng to a separate |cecast server, set tbe value ot |cecosthost to tbe oomaln name or |P aooress ot
tbe otber macblne. Tbe value ot |cecostport can be lett as tbe oetault ot 8000, unless you bave been provloeo wltb a oltterent port
number by tbe system aomlnlstrator ot tbe |cecast server.
46
You can also contlgure tbe values ot mountpo|ntmp3, mountpo|ntvor5|s, |cecostur|, |cecostoescr|pt|on, ano |cecostgenre to sult your
statlon. Tbe optlon output|cecostvor5|smetoooto oetaults to fo|se because some meola player cllents are known to olsconnect trom
tbe stream wben Ogg vorbls metaoata cbanges to sbow new track lntormatlon.
|t you requlre olrect output to an ALSA sounocaro oevlce on tbe Alrtlme server, ln aooltlon to tbe |cecast stream, cbange tbe value
ot outputsounooev|ce trom tbe oetault ot fo|se to true:
oupu_sound_device = rue
|t you oo not requlre an |cecast stream ln eltber Ogg vorbls or MP3 tormat, you can set tbe values ot output|cecostvor5|s or
output|cecostmp3, respectlvely, to fo|se. Tben save ano close tbe tlle wltb Ctrl+O ano Ctrl+X.
C0hfI6uk kIk1IH
Optlonally, you may wlsb to eolt tbe tlle /etc/o|rt|me/o|rt|me.conf to set tbe olrectory wbere Alrtlme meola tlles are storeo. For
eample, you may wlsb to store meola on a PA|D array wblcb ls not part ot tbe server's root tllesystem.
$ sudo nano /ec/airime/airime.conf
Flno tbe llne wblcb beglns 5osef||eso|r ano cbange tbe olrectory patb to tbe one tbat you requlre, tor eample:
base_fi1es_dir = /mn/raid10/media
You can also set tbe PostgreSQL oatabase bost, ano tbe username ano passworo to connect to tbe oatabase wltb ln tbls tlle. Save ano
close tbe tlle wltb Ctrl+O ano Ctrl+X.
47

Flnally, reboot your server so tbat ooemontoo|s can lnltlallze correctly. Atter tbat, you sboulo be able to log ln to tbe Alrtlme
aomlnlstratlon lntertace, as sbown ln tbe Getting started cbapter.
48
IJ. uF6kk0Ih6
8etore upgraolng a proouctlon Alrtlme server, you sboulo back up botb tbe PostgreSQL oatabase ano tbe storage server useo by
Alrtlme. Tbls ls especlally lmportant lt you bave not alreaoy set up a regular back up routlne. Tbe etra back up ls a satety measure ln
case ot accloental oata loss ourlng tbe upgraoe, tor eample oue to tbe wrong commano belng entereo wben movlng tlles. See tbe
cbapter 8ock|ng up the server ln tbls book tor oetalls ot bow to pertorm tbese back ups.
|t you bave oeployeo Alrtlme uslng tbe Automoteo |nsto||ot|on metboo, you can upgraoe ln tbe same way. A new Alrtlme package
avallable ln tbe Sourcetabrlc reposltory can be lnstalleo wltb:
$ sudo ap-ge updae
$ sudo ap-ge upgrade
|t you bave useo tbe Monuo| |nsto||ot|on metboo, you sboulo repeat tbe lnstallatlon steps ot oownloaolng ano unpacklng tbe tarball to
an lnstallatlon olrectory, cbanglng to tbat olrectory, ano runnlng tbe airtine-instaII.php scrlpt. Tbe lnstallatlon scrlpt wlll oetect an
elstlng Alrtlme oeployment ano back up any contlguratlon tlles tbat lt tlnos.
Atter tbe upgraoe bas completeo, you may neeo to clear your web browser's cacbe betore logglng lnto tbe new verslon ot tbe
Alrtlme aomlnlstratlon lntertace.
49
I1. !11Ih6 1h !kk 1IH
Accurate tlme keeplng on your server ls vltal tor optlmal Alrtlme pertormance. You can contlrm tbat tbe oate ano tlme ot your server
are set correctly wltb tbe oote commano:
$ dae
Tbe server sboulo respono wltb tbe oate, tlme, tlme zone ano year ln a tormat slmllar to tbe tollowlng eample:
Mon Mar 7 14:59:17 GMT 2011
Tbe tlme zone reporteo sboulo matcb tbe contlnent ano clty tbat you set ln tbe php.|n| tlle ourlng Alrtlme lnstallatlon, sucb as CM7 ln
tbe eample above matcblng Lurope/Lonoon. |t not, see tbe sectlon Adjusting the server tine zone below.
Altbougb lt ls posslble to set tbe oate ano tlme ot tbe server manually, tbls ls not recommenoeo because tbe server clock can orltt
over tlme, compromlslng tbe accuracy ot your broaocast scbeoule. |t your Alrtlme server ls permanently connecteo to tbe |nternet,
you can syncbronlze your server to a tlme server wltb tbe ntp program. |t ntp ls not yet lnstalleo, you can enter tbe tollowlng
commano on Deblan or Ubuntu:
$ sudo ap-ge insa11 np
Optlonally, open tbe ntp contlguratlon tlle ln tbe nono eoltor to aoo turtber tlme server names:
$ sudo nano /ec/np.conf
On Ubuntu GNU/Llnu, tbe oetault tlme server ls ntp.u5untu.com, but tbere are many otber tlme servers avallable on tbe publlc
|nternet, lncluolng tbe group ot servers llsteo at bttp://www.pool.ntp.org/ tor eacb country. Uslng a varlety ot NTP servers locateo
closely to your Alrtlme server wlll proouce tbe most accurate results. For eample, tor a server ln tbe Unlteo Klngoom you coulo use
tbe tollowlng llst:
# You do need o a1' o an NTR server or wo (or hree).
server np.ubunu.com
server 0.u'.poo1.np.org
server 1.u'.poo1.np.org
server 2.u'.poo1.np.org
server 3.u'.poo1.np.org
Lnter tbe server names you requlre, press Ctrl+O to wrlte out tbe /etc/ntp.conf tlle, tben Ctrl+X to elt nono. Pestart tbe ntp servlce
wltb:
$ sudo service np resar
Tbe server sboulo respono:
* Sopping NTR server npd [ OK |
* Saring NTR server npd [ OK |
Tben use tbe ntpq -p commano to contlrm tbat ntp ls worklng. Tbls commano sboulo proouce output slmllar to tbe tollowlng
screensbot:
k0ju!1Ih6 1h !kk 1IH I0h
|t your server ls set to a oltterent tlme zone tban tbe one tbat you set ourlng Alrtlme lnstallatlon, your broaocast scbeoule may be
playeo out at lncorrect tlmes. Tbe oatacenter wblcb bosts your Alrtlme server coulo be locateo anywbere ln tbe worlo. Some servers
are set to Coorolnateo Unlversal Tlme or UTC (slmllar to Greenwlcb Mean Tlme or GMT), regaroless ot tbelr locatlon. |t tbls ls not
approprlate tor your statlon, on a Deblan or Ubuntu server you can recontlgure tbe tzooto (tlme zone oata) package wltb tbe
commano:
$ sudo dp'g-reconfigure zdaa
Tbls commano opens a menu ln wblcb you can select tbe contlnent tbat you requlre, by presslng tbe Lnter key.
50

Tbe net step ls to select your nearest clty, agaln by presslng tbe Lnter key. Tbe approprlate tlme zone ls selecteo accorolng to tbe
lntormatlon tbat you bave entereo.

Tbe console output trom tbe opkg-reconf|gure tzooto commano wlll contlrm tbe new settlng.
Curren defau1 ime zone: 'Europe/London'
Loca1 ime is now: Mon Mar 7 15:04:58 GMT 2011.
Universa1 Time is now: Mon Mar 7 15:04:58 UTC 2011.
51
I'. u!Ih6 1h IHF0k1 !CkIF1
|t you bave a large number ot tlles ln your meola llbrary, lmportlng tbese tlles one at a tlme lnto a broaocast automatlon system woulo
be tlme-consumlng ano teolous. Tbat's wby Alrtlme lncluoes a scrlpt tbat can lmport an entlre olrectory ot tlles ln one go.
H1k0k1k qukLI1
Tbe o|rt|me-|mport scrlpt automatlcally lmports any metaoata tbat ls ln tbe tlles' |D3 tags. |t tbese tags are lncorrect or are mlsslng
lntormatlon, you wlll bave to eltber eolt tbe metaoata betore lmportlng tbem, or sutter tbe consequences. For eample, lt tbe tags
bave creator or genre metaoata mlsslng, lt wlll be lmposslble to searcb tor, playllst or scbeoule tbe meola accorolng to tbese crlterla.
Tbe program Audio Tag TooI can be usetul tor batcb settlng ano eoltlng |D3 tags betore lmportlng tlles lnto your Alrtlme server. On
an Ubuntu oesktop macblne, you can lnstall Auolo Tag Tool wltb tbe commano:
$ sudo ap-ge insa11 agoo1
Atter lnstallatlon, you can run tbe program wltb tbe commano:
$ agoo1
Tbe 7og Mu|t|p|e l||es teature ot tbe Auolo Tag Tool program ls a partlcularly usetul tlme saver lt you bave a large arcblve ot untaggeo
tlles. Sometlmes tbere ls usetul track or tltle lntormatlon ln tbe tlle name, wblcb can be converteo lnto an |D3 tag automatlcally.
C0FIh6 k!u! LIhkIh6
You must speclty one ot two optlons tor uslng tbe lmport scrlpt: Lltber to copy tlles lnto Alrtlme's storage server, or to Iink to tlles
elsewbere. Lacb optlon bas aovantages ano olsaovantages, so you wlll bave to tblnk about bow tbe tlles wlll be useo ln your statlon
long-term.
For tlles tbat are cop|eo, you may run lnto problems wltb baro olsk space lt you oo not remove tlles trom tbe storage server
perloolcally.
For tlles tbat are ||nkeo, you must make sure tbat tbe tlles are actually golng to be tbere at playout tlme, otberwlse tbey wlll be
sklppeo. For tbls reason, lt ls not recommenoeo to use tbe llnk optlon tor easlly-removable storage (llke MP3 players or US8
memory stlcks). Tbere's a strong llkellbooo tbat tbe storage mlgbt be unpluggeo ano taken away betore playout tlme. |t ls also
lmportant to make sure tbat any eternal baro olsk wltb llnkeo tlles ls powereo on, ano stays on.
Tbe lmport scrlpt works trom tbe commano llne, so you must tlrst log lnto a console on tbe Alrtlme server. You neeo to speclty tbe
tull tlle system patb to tbe meola tlles tbat you wlsb to lmport. Copylng ls specltleo by lncluolng tbe -c swltcb ln tbe commano:
$ sudo airime-impor -c /<pah>/<o>/<your>/<fi1es>
52
Llnklng ls specltleo by uslng tbe -l swltcb lnsteao:
$ sudo airime-impor -1 /<pah>/<o>/<your>/<fi1es>
|t tbe lmport ls successtul, tbe scrlpt wlll report tbe names ot tbe tlles lmporteo.
|t you oo not bave wrlte access to tbe tllesystem, or tbe tlles are oupllcates ot tlles tbat bave alreaoy been lmporteo, tbe scrlpt wlll
warn you wltb an error message.
ku10Hk10 kH01 IHF0k1 0k !f1F
Tbe o|rt|me-|mport scrlpt can be comblneo wltb tbe stanoaro Sl7P (secure FTP) program ano cron oaemon on a GNU/Llnu server to
enable automateo tlle lmport trom multlple remote oesktop computers.
Traoltlonal FTP servers use plaln tet passworos (wltbout encryptlon) ano are tberetore not recommenoeo tor uploao accounts on
Alrtlme servers accesslble trom tbe publlc |nternet. SFTP ls a cross-plattorm protocol wblcb works wltb many oesktop programs
lncluolng gFTP tor GNU/Llnu (bttp://www.gttp.org/), wblcb can be lnstalleo on Deblan or Ubuntu oesktop computers wltb tbe
commano:
$ sudo ap-ge insa11 gfp
Otber popular SFTP cllents lncluoe FiIeZiIIa tor Wlnoows (bttp://tllezllla-project.org/) ano Cyberduck tor Mac ano Wlnoows
(bttp://cyberouck.cb/).
To enable SFTP uploaos, tlrst lnvoke tbe adduser commano to create tbe up|ooos account on tbe server. For securlty reasons tbls
user account ls restrlcteo to uslng SFTP only, lt cannot be useo tor eecutlng general commanos ln a logln sbell.
$ sudo adduser --home /srv/airime/up1oads --she11 /usr/1ib/sfp-server up1oads
Tbe server wlll tben lnvlte you to type ln tbe passworo tor tbe new up|ooos user, ano agaln tor contlrmatlon. Tbe securlty ot your
Alrtlme server oepenos on tbe strengtb ot tbe passworo tbat you set, so be sure to use a long ano comple passworo wltb upper
case, lower case ano numerlcal cbaracters. |t ls not necessary to set a tull name or otber oetalls tor tbls account.
Adding user up1oads' ...
Adding new group up1oads' (1003) ...
Adding new user up1oads' (1002) wih group up1oads' ...
Creaing home direcory /srv/airime/up1oads' ...
Copying fi1es from /ec/s'e1' ...
Ener new UNIX password:
Reype new UNIX password:
passwd: password updaed successfu11y
Changing he user informaion for up1oads
Ener he new va1ue, or press ENTER for he defau1
Eu11 Name [|:
Room Number [|:
Wor' Rhone [|:
Home Rhone [|:
Oher [|:
Is he informaion correc? [Y/n| Y
Net, create a olrectory to contaln tbe lncomlng tlles:
$ sudo m'dir /srv/airime/up1oads/incoming/
53
Tben create a scrlpt to run once per bour:
$ sudo nano /ec/cron.hour1y/airime-up1oad
Tbe scrlpt sboulo lmport tbe newly uploaoeo tlles trom tbe lncomlng olrectory specltleo, uslng tbe -c (copy) optlon, ano tben remove
tbe orlglnal uploaoeo tlles. Tbls step, ratber tban slmply uslng tbe -| optlon to llnk tbe uploaoeo tlles, ensures tbat tbe up|ooos SFTP
account ooes not bave olrect wrlte access to tbe Alrtlme storage patb. Tbat woulo be a securlty rlsk lt tbe passworo was
compromlseo.
#!/bin/sh
# Run he impor scrip on fresh up1oads
airime-impor -c /srv/airime/up1oads/incoming/
# C1ean he incoming direcory o save dis' space
rm -r /srv/airime/up1oads/incoming/*.mp3
rm -r /srv/airime/up1oads/incoming/*.ogg
Flnally, tbe scrlpt sboulo be maoe eecutable so tbat tbe cron oaemon can run lt.
$ sudo chmod +x /ec/cron.hour1y/airime-up1oad
8y oetault, Deblan ano Ubuntu GNU/Llnu run cron.hour|, tasks at 17 mlnutes past eacb bour. Tbls value can be aojusteo ln tbe tlle
/etc/cronto5 on tbe server, lt requlreo.
Pemote users sboulo connect to tbe Alrtlme server uslng tbelr cllent sottware ot cbolce, maklng sure tbat tbey speclty an SFTP
ratber tban FTP connectlon. Tbe remote olrectory tor tbe cllents to use woulo be /srv/o|rt|me/up|ooos/|ncom|ng/ as contlgureo above.
54
It. 8kCkIh6 uF 1h !kk
Tbe tollowlng sbell commanos can be useo tor oatabase backup ano restore on a runnlng PostgreSL server ln an Alrtlme system.
You can oump tbe entlre oatabase to a zlppeo tlle wltb tbe comblnatlon ot tbe pg_dunpaII commano ano gzip. Tbe pg_dunpaII
commano ls eecuteo as tbe user postgres, by uslng tbe sudo commano ano tbe -u swltcb. |t ls separateo trom tbe gzip commano
wltb tbe plpe symbol.
$ sudo -u posgres pg_dumpa11 | gzip -c > airime-bac'up.gz
Tbls commano can be automateo to run on a regular basls uslng tbe stanoaro cron tool on your server.
Wben restorlng a proouctlon oatabase on a cleanly lnstalleo Alrtlme system, lt may be necessary to orop tbe empty oatabase tbat was
createo ourlng tbe new lnstallatlon, by uslng tbe dropdb commano. Agaln, tbls commano ls eecuteo wltb sudo as tbe user postgres:
$ sudo -u posgres dropdb airime
Tbls dropdb commano above ls necessary to avolo 'alreaoy elsts' errors on table creatlon wben overwrltlng an empty Alrtlme
oatabase ln tbe net step. Tbese errors mlgbt prevent some oata trom belng restoreo, sucb as user account oata.
To restore, tlrst unzlp tbe backup tlle wltb gunzip, tben use tbe psqI commano as tbe postgres user:
$ gunzip airime-bac'up.gz
$ sudo -u posgres psq1 -f airime-bac'up posgres
You sboulo now be able to log ln to tbe Alrtlme web lntertace ln tbe usual way.
For satety reasons, your regular oatabase backups sboulo be kept ln a olrectory wblcb ls backeo up by your storage backup tool ot
cbolce, tor eample, tbe /srv/o|rt|me/ooto5ose5ockups olrectory. Tbls sboulo ensure tbat a storage restore can be maoe along wltb a
matcblng ano complete verslon ot tbe Alrtlme oatabase trom tbe oay tbat tbe storage backup was maoe.
!10kk6 8kCkuF
8acklng up tbe Alrtlme oatabase wltb pg_dunpaII wlll not back up tbe Alrtlme meola storage server, wblcb ls llkely to neeo a great
oeal more backup space. Creatlng a compresseo tlle trom bunoreos ot glgabytes ot storage server contents ls llkely to take a very long
tlme, ano may bave llttle benetlt tor tbe amount ot CPU power useo, lt tbe meola tlles are alreaoy storeo ln a blgbly compresseo
tormat. |t ls also lmpractlcal to copy very large backup tlles across tbe network on a oally basls.
|nsteao, lt ls preterable to use an lncremental backup tecbnlque to syncbronlse tbe proouctlon Alrtlme server storage wltb a backup
server eacb oay or nlgbt. |t tbe backup server also contalns an Alrtlme lnstallatlon, lt sboulo be posslble to swltcb playout to tbls
secono macblne relatlvely qulckly, ln case ot a baroware tallure or otber emergency on tbe proouctlon server.
A stanoaro lncremental backup tool on GNU/Llnu servers ls rs,nc (bttp://rsync.samba.org/) wblcb can be lnstalleo uslng tbe package
manager ot your GNU/Llnu olstrlbutlon. However, lncremental backup alone cannot belp ln tbe scenarlo wbere a tlle wblcb later
proves to be lmportant bas been oeleteo by an aomlnlstrator. For backups tbat can be rolleo back to restore trom an earller oate tban
tbe current backup, tbe tool ro|ff-5ockup (bttp://www.nongnu.org/roltt-backup/) can be oeployeo.
55
II. XF0k1Ih6 1h !Ch0uL
Alrtlme bas a teature wblcb enables your statlon's weekly scbeoule ano current sbow lntormatlon to be olsplayeo on remote
websltes. Tbls teature ls lncluoeo ln Alrtlme because you woulo not usually lnvlte tbe general publlc to access your Alrtlme server
olrectly. |t you bao very large numbers ot people requestlng oata trom tbe Alrtlme server at once, tbe burst ot network trattlc mlgbt
overloao tbe server, potentlally olsruptlng your broaocasts. |t carrleo out mallclously, tbls network overloao ls known as a oen|o| of
serv|ce ottock.
|nsteao, your publlc-taclng web server can retrleve tbe scbeoule lntormatlon trom Alrtlme. Tbls lntormatlon can tben be olsplayeo on
your broaocast statlon or attlllate websltes by a content management system, sucb as Sourcetabrlc's Newscoop
(bttp://newscoop.sourcetabrlc.org/).
Tbere are two klnos ot lntormatlon tbat can be retrleveo remotely trom Alrtlme, tbe metaoata tor tbe current 'llve' sbow plus tbe
tollowlng sbow, or tbe scbeoule tor tbe current week. Tbls metaoata lncluoes sbow names, tlmes, oescrlptlons ano lnolvloual sbow
UPLs on your publlc webslte. Tbat way, tbe auolence tor your statlon can cllck tbrougb trom tbe scbeoule lntormatlon to tlno out
more about a partlcular sbow, or oownloao a prevlous sbow recorolng tbat you bave maoe avallable.
|t your Alrtlme server was accesslble at http://roo|o.exomp|e.com tbe llve sbow lntormatlon coulo be retrleveo by your web server
uslng tbls UPL:
hp://radio.examp1e.com/api/1ive-info/?ca11bac'
Tbe comma-separateo tet metaoata returneo to your web server mlgbt be sometblng llke tbls:
({
"env":"deve1opmen",
"schedu1erTime":"2011-05-09 15:01:18",
"currenShow":[{"sar_imesamp":"2011-05-09 16:00:00",
"end_imesamp":"2011-05-09 17:00:00",
"name":"Eun' Show",
"id":"8",
"insance_id":"8",
"record":"0",
"ur1":"hp:\/\/fun'.examp1e.com\/"}|,
"nexShow":[{"id":"9","sars":"2011-05-09 17:00:00",
"ends":"2011-05-09 18:00:00",
"show_id":"9",
"record":"0",
"rebroadcas":"0",
"insance_id":nu11,
"fi1e_id":nu11,
"soundc1oud_id":nu11,
"ime_fi11ed":nu11,
"name":"ance show",
"ur1":"hp:\/\/dance.examp1e.com",
"genre":"ance",
"descripion":"Techno, echno, echno, echno!",
"co1or":"000000",
"bac'ground_co1or":"ffea00",
"sar_imesamp":"2011-05-09 17:00:00",
"end_imesamp":"2011-05-09 18:00:00"}|,
"imezone":"BST",
"imezoneOffse":"3600"
})
Tbe lntormatlon tor tbe current week's scbeoule coulo be retrleveo uslng tbe UPL:
hp://radio.examp1e.com/api/wee'-info/?ca11bac'
|n tbls case, tbe metaoata returneo woulo be ln a oltterent tormat trom tbe above eample, sometblng llke tbe tollowlng. To keep tbe
eample sbort, tbls partlcular scbeoule eport only contalns tour sbows on a Monoay. A tull weekly scbeoule eport woulo contaln a
great oeal more tet.
({
"sunday":[|,
"monday":[
{"show_sars":"2011-05-09 14:25:00",
"show_ends":"2011-05-09 14:35:00",
"show_name":"E1vis Show",
"ur1":"hp:\/\/e1vis.examp1e.com\/"},
{"show_sars":"2011-05-09 14:50:00",
"show_ends":"2011-05-09 14:55:00",
"show_name":News",
"ur1":"hp:\/\/news.examp1e.com\/"},
{"show_sars":"2011-05-09 16:00:00",
"show_ends":"2011-05-09 17:00:00",
"show_name":"Eun' Show",
"ur1":"hp:\/\/fun'.examp1e.com\/"},
{"show_sars":"2011-05-09 17:00:00",
"show_ends":"2011-05-09 18:00:00",
"show_name":"ance show",
"ur1":"hp:\/\/dance.examp1e.com"}
|,
56
"uesday":[|,
"wednesday":[|,
"hursday":[|,
"friday":[|,
"saurday":[|
})
hW!C00F Ih16kk1I0h
Your system aomlnlstrator can lntegrate Alrtlme wltb a Newscoop slte, wltb tbe tollowlng steps:
1. Create a cron job tor a basb scrlpt tbat polls tbe Alrtlme server every mlnute, ano wrltes tbe metaoata returneo lnto a palr ot
temporary tlles:
#!/bin/sh
cur1 -s "hp://radio.examp1e.com/api/1ive-info/?ca11bac'=***" > /mp/1ive-info
cur1 -s "hp://radio.examp1e.com/api/wee'-info/?ca11bac'=***" > /mp/wee'-info
2. |n tbe Newscoop slte's root toloer, create tbe toloers op|/||ve-|nfo/ ano op|/week-|nfo/
3. Create an lnoe.pbp tlle ln tbe op|/||ve-|nfo/ toloer, contalnlng tbe tollowlng cooe:
<?php
$fi1ename = '/mp/1ive-info', // define here he pah and name of up1oaded 1ive-info fi1e
header('Conen-Type: ex/_avascrip'),
header("Expires: Thu, 01 Jan 1970 00:00:00 GMT"),
header("Cache-Conro1: no-sore, no-cache, mus-reva1idae"),
$ca11bac' = empy($_GET['ca11bac''|) ? nu11 : $_GET['ca11bac''|,
$conen = fi1e_ge_conens($fi1ename),
$conen = sr_rep1ace('***', $ca11bac', $conen),
echo $conen,
?>
4. Create an lnoe.pbp tlle ln tbe op|/week-|nfo/ toloer, contalnlng tbe tollowlng cooe:
<?php
$fi1ename = '/mp/wee'-info', // define here he pah and name of up1oaded wee'-info fi1e
header('Conen-Type: ex/_avascrip'),
header("Expires: Thu, 01 Jan 1970 00:00:00 GMT"),
header("Cache-Conro1: no-sore, no-cache, mus-reva1idae"),
$ca11bac' = empy($_GET['ca11bac''|) ? nu11 : $_GET['ca11bac''|,
$conen = fi1e_ge_conens($fi1ename),
$conen = sr_rep1ace('***', $ca11bac', $conen),
echo $conen,
?>
hW!C00F WI061!
Tbls ls tbe cooe tor a small wloget tbat olsplays lntormatlon about tbe current sbow (sbow tlme elapseo, ano sbow tlme remalnlng), as
well as some lntormatlon about tbe net sbow (start tlme ano eno tlme).
<scrip>
$(documen).ready(funcion() {
$("#headerLiveHo1der").airimeLiveInfo({
sourceomain: "hp://newscoop.examp1e.com/",
ex: {onAirToday:"On air oday"},
updaeReriod: 20 //seconds
}),
}),
</scrip>
On a Newscoop slte, tbls wloget can be styleo wltb CSS to look llke tbe tollowlng screensbot:

Tbe net wloget ls meolum slzeo, ano olsplays tbe upcomlng sbow scbeoule tor tbat oay.
<scrip>
$(documen).ready(funcion() {
$("#onAirToday").airimeShowSchedu1e({
sourceomain: "hp://newscoop.examp1e.com/",
ex: {onAirNow:"On Air Now", off1ine:"Off1ine", curren:"Curren", nex:"Nex"},
updaeReriod: 5 //seconds
}),
}),
</scrip>
Tbe wloget cooe above can be styleo to look llke tbls screensbot:
57
Flnally, tbe tollowlng cooe creates a large, bl-llngual wloget tbat enables slte vlsltors to browse tbrougb tbe sbow scbeoule tor tbat
week:
<scrip>
$(documen).ready(funcion() {
$("#schedu1eTabs").airimeWee'Schedu1e({
sourceomain:"hp://newscoop.examp1e.com/",
dowTex:{monday:"Lundi", uesday:"Mardi", wednesday:"Mercredi", hursday:"Jeudi", friday:"Vendredi", sau
rday:"Samedi", sunday:"imanche"},
miscTex:{ime:"Temps", programName:"Nom du Rrogramme", deai1s:"eai1s", readMore:"Lire La Suie"},
updaeReriod: 600 //seconds
}),
}),
</scrip>
|n Newscoop, uslng tbe cooe above, tbe tlrst sl bours ot tbe scbeoule eacb oay can be styleo to look llke tbls:

Tbe value ot sourceDonain ln tbe cooe eamples above sboulo matcb tbe UPL tbat you wlsb to serve scbeoule lntormatlon to tbe
publlc trom. |t you bave useo tbe Newscoop |ntegrot|on metboo oetalleo above, tbls woulo be tbe UPL ot your Newscoop server,
wblcb ls provlolng a cacbe ot tbe scbeoule lntormatlon retrleveo trom tbe Alrtlme server.
58
I?. Ih16kk1I0h WI1h HIXXX
Ml ls a cross-plattorm Open Source appllcatlon tor D[s, avallable trom bttp://www.ml.org/
|nstalleo on a oesktop or laptop computer, Ml complements your Alrtlme server to provloe a complete system tor botb llve ano
scbeouleo broaocastlng. Altbougb Ml bas many teatures oeslgneo tor oance muslc D[s tbat requlre beat matcblng ano pltcb
lnoepenoent tlme stretcblng, tbe program can be useo tor any klno ot manually trlggereo broaocast playout, lncluolng llve speecb
sbows sucb as news or current attalrs.
Ml supports a wloe varlety ot popular baroware control surtaces, wblcb can be connecteo to your computer uslng a US8 cable. A
control surtace mlgbt replace or augment an analogue mler ln your stuolo, oepenolng on your llve mllng ano playout requlrements.
|t you make tbe Alrtlme server's storage olrectory /srv/o|rt|me/stor/ accesslble to a oesktop macblne as a reao-only locatlon, Ml wlll
accept tbat locatlon as lts oetault muslc llbrary wben startlng up tor tbe tlrst tlme. (Tbls locatlon can also be contlgureo atter
lnstallatlon by cllcklng Optlons, tben Preterences, tben Llbrary ln tbe maln Ml menu).

You may neeo to aojust tlle ano olrectory permlsslons so tbat tbe storage olrectory bas reao access trom tbe oesktop user account.
Lnabllng wrlte access olrectly to tbe storage server ls not recommenoeo, as tbls woulo allow oesktop users to oelete tlles wblcb mlgbt
be neeoeo tor playout later.
|t tbe tllesystem patb bas been contlgureo correctly, tbe metaoata tor tbe tlles ln tbe Alrtlme storage server wlll be olsplayeo ln tbe
maln wlnoow ot tbe Ml lntertace. |nolvloual tlles trom tbe Alrtlme storage server can tben be aooeo to eltber ot Ml's llve
players wltb a rlgbt-cllck on tbe tllename, or by uslng tbe approprlate baroware buttons on a control surtace. Tberetore lt ls posslble
to manage tbe statlon's storage arcblve remotely ano collaboratlvely tbrougb Alrtlme, wblle uslng Ml as tbe llve playout cllent ln
multlple, remote stuolos.

Tbe Alrtlme storage arcblve can be eporteo llke any otber tlle server sbare. Tbe metboo tbat you lmplement woulo oepeno on tbe
operatlng system ot your oesktop cllent macblnes, ano wbetber tbey were on tbe same local network as tbe Alrtlme server, or
remote. For pertormance ano reounoancy reasons lt ls aovlsable to cacbe tlles requlreo tor a partlcular sbow on tbe cllent macblne
wbere Ml ls lnstalleo. For eample, tor a GNU/Llnu cllent macblne, a nlgbtly rs,nc oownloao ot new meola ln tbe arcblve woulo
guaro agalnst network problems at playout tlme potentlally olsruptlng a broaocast at a remote stuolo.
59
Ml users can also recoro a sbow, encooe lt, ano tben uploao lt tbrougb tbe Alrtlme web lntertace on a local or remote server tor
collaboratlve or user-generateo broaocasts.
60
kFFh0IX
19. |/|||l |\l|||
20. l|H| l|\
21. |||l l||\ H||||
61
I. XFk1 Ih!1kLL
Tbese qulck lnstall steps are sultable tor eperlenceo GNU/Llnu system aomlnlstrators. For a more oetalleo eplanatlon, please reao
tbe cbapter Automoteo |nsto||ot|on ln tbls book.
1. Lolt tbe reposltorles tlle tor your server:
$ sudo nano /ec/ap/sources.1is
For Ubuntu Luclo servers, use tbe Sourcetabrlc reposltory:
deb hp://ap.sourcefabric.org/ 1ucid main
ano enable tbe multlverse reposltory lt you neeo MP3 encoolng support:
deb hp://archive.ubunu.com/ubunu/ 1ucid mu1iverse
For Deblan Squeeze servers, use tbe Sourcetabrlc reposltory:
deb hp://ap.sourcefabric.org/ squeeze main
ano enable tbe Deblan Multlmeola reposltory lt you neeo MP3 encoolng support:
deb hp://www.debian-mu1imedia.org squeeze main non-free
2. |nstall tbe Sourcetabrlc package slgnlng key:
$ sudo ap-ge updae
$ sudo ap-ge insa11 sourcefabric-'eyring
3. |nstall tbe oatabase management system:
$ sudo ap-ge insa11 posgresq1
4. |nstall tbe streamlng meola server (optlonal):
$ sudo ap-ge insa11 icecas2
5. Pemove PulseAuolo:
$ sudo ap-ge purge pu1seaudio
6. |nstall Alrtlme:
$ sudo ap-ge insa11 airime
Peter to tbe Automoteo |nsto||ot|on cbapter tor contlguratlon optlons. Flnally, reboot tbe server.
62
1. 1IH I0h!
Use tbe approprlate tlme zone value trom tbe llst below ln tbe php.|n| tlle on your Alrtlme server.
kfkICk
Atrlca/Ablojan, Atrlca/Accra, Atrlca/AoolsAbaba, Atrlca/Alglers, Atrlca/Asmara, Atrlca/Asmera, Atrlca/8amako, Atrlca/8angul,
Atrlca/8anjul, Atrlca/8lssau, Atrlca/8lantyre, Atrlca/8razzavllle, Atrlca/8ujumbura, Atrlca/Calro, Atrlca/Casablanca, Atrlca/Ceuta,
Atrlca/Conakry, Atrlca/Dakar, Atrlca/DaresSalaam, Atrlca/Djlboutl, Atrlca/Douala, Atrlca/LlAalun, Atrlca/Freetown, Atrlca/Gaborone,
Atrlca/Harare, Atrlca/[obannesburg, Atrlca/Kampala, Atrlca/Kbartoum, Atrlca/Klgall, Atrlca/Klnsbasa, Atrlca/Lagos, Atrlca/Llbrevllle,
Atrlca/Lome, Atrlca/Luanoa, Atrlca/Lubumbasbl, Atrlca/Lusaka, Atrlca/Malabo, Atrlca/Maputo, Atrlca/Maseru, Atrlca/Mbabane,
Atrlca/Mogaolsbu, Atrlca/Monrovla, Atrlca/Nalrobl, Atrlca/Nojamena, Atrlca/Nlamey, Atrlca/Nouakcbott, Atrlca/Ouagaoougou,
Atrlca/Porto-Novo, Atrlca/SaoTome, Atrlca/Tlmbuktu, Atrlca/Trlpoll, Atrlca/Tunls, Atrlca/Wlnoboek
kHkICk
Amerlca/Aoak, Amerlca/Ancborage, Amerlca/Angullla, Amerlca/Antlgua, Amerlca/Aragualna, Amerlca/Argentlna/8uenosAlres,
Amerlca/Argentlna/Catamarca, Amerlca/Argentlna/ComooPlvaoavla, Amerlca/Argentlna/Corooba, Amerlca/Argentlna/[ujuy,
Amerlca/Argentlna/LaPloja, Amerlca/Argentlna/Menooza, Amerlca/Argentlna/PloGallegos, Amerlca/Argentlna/Salta,
Amerlca/Argentlna/San[uan, Amerlca/Argentlna/SanLuls, Amerlca/Argentlna/Tucuman, Amerlca/Argentlna/Usbuala, Amerlca/Aruba,
Amerlca/Asunclon, Amerlca/Atlkokan, Amerlca/Atka, Amerlca/8abla, Amerlca/8abla8anoeras, Amerlca/8arbaoos, Amerlca/8elem,
Amerlca/8ellze, Amerlca/8lanc-Sablon, Amerlca/8oavlsta, Amerlca/8ogota, Amerlca/8olse, Amerlca/8uenosAlres,
Amerlca/Cambrloge8ay, Amerlca/CampoGranoe, Amerlca/Cancun, Amerlca/Caracas, Amerlca/Catamarca, Amerlca/Cayenne,
Amerlca/Cayman, Amerlca/Cblcago, Amerlca/Cblbuabua, Amerlca/CoralHarbour, Amerlca/Corooba, Amerlca/CostaPlca,
Amerlca/Culaba, Amerlca/Curacao, Amerlca/Danmarksbavn, Amerlca/Dawson, Amerlca/DawsonCreek, Amerlca/Denver,
Amerlca/Detrolt, Amerlca/Domlnlca, Amerlca/Lomonton, Amerlca/Llrunepe, Amerlca/LlSalvaoor, Amerlca/Lnsenaoa,
Amerlca/FortWayne, Amerlca/Fortaleza, Amerlca/Glace8ay, Amerlca/Gootbab, Amerlca/Goose8ay, Amerlca/GranoTurk,
Amerlca/Grenaoa, Amerlca/Guaoeloupe, Amerlca/Guatemala, Amerlca/Guayaqull, Amerlca/Guyana, Amerlca/Hallta, Amerlca/Havana,
Amerlca/Hermoslllo, Amerlca/|nolana/|nolanapolls, Amerlca/|nolana/Kno, Amerlca/|nolana/Marengo, Amerlca/|nolana/Petersburg,
Amerlca/|nolana/TellClty, Amerlca/|nolana/vevay, Amerlca/|nolana/vlncennes, Amerlca/|nolana/Wlnamac, Amerlca/|nolanapolls,
Amerlca/|nuvlk, Amerlca/|qalult, Amerlca/[amalca, Amerlca/[ujuy, Amerlca/[uneau, Amerlca/Kentucky/Loulsvllle,
Amerlca/Kentucky/Montlcello, Amerlca/Kno|N, Amerlca/LaPaz, Amerlca/Llma, Amerlca/LosAngeles, Amerlca/Loulsvllle,
Amerlca/Macelo, Amerlca/Managua, Amerlca/Manaus, Amerlca/Marlgot, Amerlca/Martlnlque, Amerlca/Matamoros, Amerlca/Mazatlan,
Amerlca/Menooza, Amerlca/Menomlnee, Amerlca/Merloa, Amerlca/MelcoClty, Amerlca/Mlquelon, Amerlca/Moncton,
Amerlca/Monterrey, Amerlca/Montevloeo, Amerlca/Montreal, Amerlca/Montserrat, Amerlca/Nassau, Amerlca/NewYork,
Amerlca/Nlplgon, Amerlca/Nome, Amerlca/Noronba, Amerlca/NortbDakota/8eulab, Amerlca/NortbDakota/Center,
Amerlca/NortbDakota/NewSalem, Amerlca/Ojlnaga, Amerlca/Panama, Amerlca/Pangnlrtung, Amerlca/Paramarlbo, Amerlca/Pboenl,
Amerlca/Port-au-Prlnce, Amerlca/PortotSpaln, Amerlca/PortoAcre, Amerlca/Portovelbo, Amerlca/PuertoPlco,
Amerlca/PalnyPlver, Amerlca/Pankln|nlet, Amerlca/Peclte, Amerlca/Peglna, Amerlca/Pesolute, Amerlca/Plo8ranco,
Amerlca/Posarlo, Amerlca/Santa|sabel, Amerlca/Santarem, Amerlca/Santlago, Amerlca/SantoDomlngo, Amerlca/SaoPaulo,
Amerlca/Scoresbysuno, Amerlca/Sblprock, Amerlca/St8artbelemy, Amerlca/St[obns, Amerlca/StKltts, Amerlca/StLucla,
Amerlca/StTbomas, Amerlca/Stvlncent, Amerlca/SwlttCurrent, Amerlca/Teguclgalpa, Amerlca/Tbule, Amerlca/Tbunoer8ay,
Amerlca/Tljuana, Amerlca/Toronto, Amerlca/Tortola, Amerlca/vancouver, Amerlca/vlrgln, Amerlca/Wblteborse, Amerlca/Wlnnlpeg,
Amerlca/Yakutat, Amerlca/Yellowknlte
kh1kkC1ICk
Antarctlca/Casey, Antarctlca/Davls, Antarctlca/DumontDUrvllle, Antarctlca/Macquarle, Antarctlca/Mawson, Antarctlca/McMuroo,
Antarctlca/Palmer, Antarctlca/Potbera, Antarctlca/SoutbPole, Antarctlca/Syowa, Antarctlca/vostok
kkC1IC
Arctlc/Longyearbyen
k!Ik
Asla/Aoen, Asla/Almaty, Asla/Amman, Asla/Anaoyr, Asla/Aqtau, Asla/Aqtobe, Asla/Asbgabat, Asla/Asbkbabao, Asla/8agboao,
Asla/8abraln, Asla/8aku, Asla/8angkok, Asla/8elrut, Asla/8lsbkek, Asla/8runel, Asla/Calcutta, Asla/Cbolbalsan, Asla/Cbongqlng,
Asla/Cbungklng, Asla/Colombo, Asla/Dacca, Asla/Damascus, Asla/Dbaka, Asla/Dlll, Asla/Dubal, Asla/Dusbanbe, Asla/Gaza, Asla/Harbln,
Asla/HoCblMlnb, Asla/HongKong, Asla/Hovo, Asla/|rkutsk, Asla/|stanbul, Asla/[akarta, Asla/[ayapura, Asla/[erusalem, Asla/Kabul,
Asla/Kamcbatka, Asla/Karacbl, Asla/Kasbgar, Asla/Katbmanou, Asla/Katmanou, Asla/Kolkata, Asla/Krasnoyarsk, Asla/KualaLumpur,
Asla/Kucblng, Asla/Kuwalt, Asla/Macao, Asla/Macau, Asla/Magaoan, Asla/Makassar, Asla/Manlla, Asla/Muscat, Asla/Nlcosla,
Asla/Novokuznetsk, Asla/Novoslblrsk, Asla/Omsk, Asla/Oral, Asla/PbnomPenb, Asla/Pontlanak, Asla/Pyongyang, Asla/Qatar,
Asla/Qyzyloroa, Asla/Pangoon, Asla/Plyaob, Asla/Salgon, Asla/Sakballn, Asla/Samarkano, Asla/Seoul, Asla/Sbangbal, Asla/Slngapore,
Asla/Talpel, Asla/Tasbkent, Asla/Tblllsl, Asla/Tebran, Asla/TelAvlv, Asla/Tblmbu, Asla/Tblmpbu, Asla/Tokyo, Asla/UjungPanoang,
Asla/Ulaanbaatar, Asla/Ulan8ator, Asla/Urumql, Asla/vlentlane, Asla/vlaolvostok, Asla/Yakutsk, Asla/Yekaterlnburg, Asla/Yerevan
63
k1Lkh1IC 0Ckh
Atlantlc/Azores, Atlantlc/8ermuoa, Atlantlc/Canary, Atlantlc/Capeveroe, Atlantlc/Faeroe, Atlantlc/Faroe, Atlantlc/[anMayen,
Atlantlc/Maoelra, Atlantlc/Peykjavlk, Atlantlc/SoutbGeorgla, Atlantlc/StHelena, Atlantlc/Stanley
ku!1kkLIk
Australla/ACT, Australla/Aoelaloe, Australla/8rlsbane, Australla/8rokenHlll, Australla/Canberra, Australla/Currle, Australla/Darwln,
Australla/Lucla, Australla/Hobart, Australla/LH|, Australla/Llnoeman, Australla/LoroHowe, Australla/Melbourne, Australla/Nortb,
Australla/NSW, Australla/Pertb, Australla/Queenslano, Australla/Soutb, Australla/Syoney, Australla/Tasmanla, Australla/vlctorla,
Australla/West, Australla/Yancowlnna
uk0F
Lurope/Amsteroam, Lurope/Anoorra, Lurope/Atbens, Lurope/8eltast, Lurope/8elgraoe, Lurope/8erlln, Lurope/8ratlslava,
Lurope/8russels, Lurope/8ucbarest, Lurope/8uoapest, Lurope/Cblslnau, Lurope/Copenbagen, Lurope/Dublln, Lurope/Glbraltar,
Lurope/Guernsey, Lurope/Helslnkl, Lurope/|sleotMan, Lurope/|stanbul, Lurope/[ersey, Lurope/Kallnlngrao, Lurope/Klev,
Lurope/Llsbon, Lurope/Ljubljana, Lurope/Lonoon, Lurope/Luembourg, Lurope/Maorlo, Lurope/Malta, Lurope/Marlebamn,
Lurope/Mlnsk, Lurope/Monaco, Lurope/Moscow, Lurope/Nlcosla, Lurope/Oslo, Lurope/Parls, Lurope/Poogorlca, Lurope/Prague,
Lurope/Plga, Lurope/Pome, Lurope/Samara, Lurope/SanMarlno, Lurope/Sarajevo, Lurope/Slmteropol, Lurope/Skopje, Lurope/Sotla,
Lurope/Stockbolm, Lurope/Talllnn, Lurope/Tlrane, Lurope/Tlraspol, Lurope/Uzbgoroo, Lurope/vaouz, Lurope/vatlcan,
Lurope/vlenna, Lurope/vllnlus, Lurope/volgograo, Lurope/Warsaw, Lurope/Zagreb, Lurope/Zaporozbye, Lurope/Zurlcb
Ih0Ikh 0Ckh
|nolan/Antananarlvo, |nolan/Cbagos, |nolan/Cbrlstmas, |nolan/Cocos, |nolan/Comoro, |nolan/Kerguelen, |nolan/Mabe, |nolan/Malolves,
|nolan/Maurltlus, |nolan/Mayotte, |nolan/Peunlon
FkCIfIC 0Ckh
Pacltlc/Apla, Pacltlc/Aucklano, Pacltlc/Cbatbam, Pacltlc/Cbuuk, Pacltlc/Laster, Pacltlc/Ltate, Pacltlc/Lnoerbury, Pacltlc/Fakaoto, Pacltlc/Fljl,
Pacltlc/Funatutl, Pacltlc/Galapagos, Pacltlc/Gambler, Pacltlc/Guaoalcanal, Pacltlc/Guam, Pacltlc/Honolulu, Pacltlc/[obnston,
Pacltlc/Klrltlmatl, Pacltlc/Kosrae, Pacltlc/Kwajaleln, Pacltlc/Majuro, Pacltlc/Marquesas, Pacltlc/Mloway, Pacltlc/Nauru, Pacltlc/Nlue,
Pacltlc/Nortolk, Pacltlc/Noumea, Pacltlc/PagoPago, Pacltlc/Palau, Pacltlc/Pltcalrn, Pacltlc/Pobnpel, Pacltlc/Ponape, Pacltlc/PortMoresby,
Pacltlc/Parotonga, Pacltlc/Salpan, Pacltlc/Samoa, Pacltlc/Tabltl, Pacltlc/Tarawa, Pacltlc/Tongatapu, Pacltlc/Truk, Pacltlc/Wake,
Pacltlc/Wallls, Pacltlc/Yap
64
I. k80u1 1hI! HkhukL
Copyright {C} 2011 5ourcefabric o.p.s
Tbls manual was wrltten tor Sourcetabrlc by Danlel [ames, uslng tbe tools at FLOSS Manuals. Please aoo your comments ano
contrlbutlons at: bttp://en.tlossmanuals.net/alrtlme/
Tbls oocumentatlon ls tree oocumentatlon, you can reolstrlbute lt ano/or moolty lt unoer tbe terms ot tbe GNU General Publlc
Llcense as publlsbeo by tbe Free Sottware Founoatlon, verslon 3.
Tbls oocumentatlon ls olstrlbuteo ln tbe bope tbat lt wlll be usetul, but W|THOUT ANY WAPPANTY, wltbout even tbe lmplleo
warranty ot MLPCHANTA8|L|TY or F|TNLSS FOP A PAPT|CULAP PUPPOSL. See tbe GNU General Publlc Llcense tor more
oetalls.
You sboulo bave recelveo a copy ot tbe GNU General Publlc Llcense along wltb tbls oocumentatlon, lt not, wrlte to tbe Free Sottware
Founoatlon, |nc., 51 Franklln Street, Flttb Floor, 8oston, MA 02110-1301, USA.
65
6hu 6hkkL Fu8LIC LICh!
verslon 3, 29 [une 2007
Copyrlgbt 2007 Free Sottware Founoatlon, |nc. <bttp://tst.org/>
Lveryone ls permltteo to copy ano olstrlbute verbatlm coples ot tbls llcense oocument, but cbanglng lt ls not alloweo.
Freamb|e
Tbe GNU General Publlc Llcense ls a tree, copylett llcense tor sottware ano otber klnos ot works.
Tbe llcenses tor most sottware ano otber practlcal works are oeslgneo to take away your treeoom to sbare ano cbange tbe works. 8y
contrast, tbe GNU General Publlc Llcense ls lntenoeo to guarantee your treeoom to sbare ano cbange all verslons ot a program--to
make sure lt remalns tree sottware tor all lts users. We, tbe Free Sottware Founoatlon, use tbe GNU General Publlc Llcense tor most
ot our sottware, lt applles also to any otber work releaseo tbls way by lts autbors. You can apply lt to your programs, too.
Wben we speak ot tree sottware, we are reterrlng to treeoom, not prlce. Our General Publlc Llcenses are oeslgneo to make sure tbat
you bave tbe treeoom to olstrlbute coples ot tree sottware (ano cbarge tor tbem lt you wlsb), tbat you recelve source cooe or can get
lt lt you want lt, tbat you can cbange tbe sottware or use pleces ot lt ln new tree programs, ano tbat you know you can oo tbese
tblngs.
To protect your rlgbts, we neeo to prevent otbers trom oenylng you tbese rlgbts or asklng you to surrenoer tbe rlgbts. Tberetore,
you bave certaln responslbllltles lt you olstrlbute coples ot tbe sottware, or lt you moolty lt: responslbllltles to respect tbe treeoom ot
otbers.
For eample, lt you olstrlbute coples ot sucb a program, wbetber gratls or tor a tee, you must pass on to tbe reclplents tbe same
treeooms tbat you recelveo. You must make sure tbat tbey, too, recelve or can get tbe source cooe. Ano you must sbow tbem tbese
terms so tbey know tbelr rlgbts.
Developers tbat use tbe GNU GPL protect your rlgbts wltb two steps: (1) assert copyrlgbt on tbe sottware, ano (2) otter you tbls
Llcense glvlng you legal permlsslon to copy, olstrlbute ano/or moolty lt.
For tbe oevelopers' ano autbors' protectlon, tbe GPL clearly eplalns tbat tbere ls no warranty tor tbls tree sottware. For botb users'
ano autbors' sake, tbe GPL requlres tbat mooltleo verslons be markeo as cbangeo, so tbat tbelr problems wlll not be attrlbuteo
erroneously to autbors ot prevlous verslons.
Some oevlces are oeslgneo to oeny users access to lnstall or run mooltleo verslons ot tbe sottware lnsloe tbem, altbougb tbe
manutacturer can oo so. Tbls ls tunoamentally lncompatlble wltb tbe alm ot protectlng users' treeoom to cbange tbe sottware. Tbe
systematlc pattern ot sucb abuse occurs ln tbe area ot prooucts tor lnolvlouals to use, wblcb ls preclsely wbere lt ls most
unacceptable. Tberetore, we bave oeslgneo tbls verslon ot tbe GPL to problblt tbe practlce tor tbose prooucts. |t sucb problems arlse
substantlally ln otber oomalns, we stano reaoy to eteno tbls provlslon to tbose oomalns ln tuture verslons ot tbe GPL, as neeoeo to
protect tbe treeoom ot users.
Flnally, every program ls tbreateneo constantly by sottware patents. States sboulo not allow patents to restrlct oevelopment ano use
ot sottware on general-purpose computers, but ln tbose tbat oo, we wlsb to avolo tbe speclal oanger tbat patents applleo to a tree
program coulo make lt ettectlvely proprletary. To prevent tbls, tbe GPL assures tbat patents cannot be useo to renoer tbe program
non-tree.
Tbe preclse terms ano conoltlons tor copylng, olstrlbutlon ano mooltlcatlon tollow.
1kH! kh0 C0h0I1I0h!
0. Det l nl tl ons. 0. Det l nl tl ons.
Tbls Llcense reters to verslon 3 ot tbe GNU General Publlc Llcense.
Copyrlgbt also means copyrlgbt-llke laws tbat apply to otber klnos ot works, sucb as semlconouctor masks.
Tbe Program reters to any copyrlgbtable work llcenseo unoer tbls Llcense. Lacb llcensee ls aooresseo as you. Llcensees ano
reclplents may be lnolvlouals or organlzatlons.
To moolty a work means to copy trom or aoapt all or part ot tbe work ln a tasblon requlrlng copyrlgbt permlsslon, otber tban tbe
maklng ot an eact copy. Tbe resultlng work ls calleo a mooltleo verslon ot tbe earller work or a work baseo on tbe earller work.
A covereo work means eltber tbe unmooltleo Program or a work baseo on tbe Program.
To propagate a work means to oo anytblng wltb lt tbat, wltbout permlsslon, woulo make you olrectly or seconoarlly llable tor
lntrlngement unoer appllcable copyrlgbt law, ecept eecutlng lt on a computer or mooltylng a prlvate copy. Propagatlon lncluoes
copylng, olstrlbutlon (wltb or wltbout mooltlcatlon), maklng avallable to tbe publlc, ano ln some countrles otber actlvltles as well.
To convey a work means any klno ot propagatlon tbat enables otber partles to make or recelve coples. Mere lnteractlon wltb a user
tbrougb a computer network, wltb no transter ot a copy, ls not conveylng.
66
An lnteractlve user lntertace olsplays Approprlate Legal Notlces to tbe etent tbat lt lncluoes a convenlent ano promlnently vlslble
teature tbat (1) olsplays an approprlate copyrlgbt notlce, ano (2) tells tbe user tbat tbere ls no warranty tor tbe work (ecept to tbe
etent tbat warrantles are provloeo), tbat llcensees may convey tbe work unoer tbls Llcense, ano bow to vlew a copy ot tbls Llcense.
|t tbe lntertace presents a llst ot user commanos or optlons, sucb as a menu, a promlnent ltem ln tbe llst meets tbls crlterlon.
1. Source Cooe. 1. Source Cooe.
Tbe source cooe tor a work means tbe preterreo torm ot tbe work tor maklng mooltlcatlons to lt. Object cooe means any non-
source torm ot a work.
A Stanoaro |ntertace means an lntertace tbat eltber ls an ottlclal stanoaro oetlneo by a recognlzeo stanoaros booy, or, ln tbe case ot
lntertaces specltleo tor a partlcular programmlng language, one tbat ls wloely useo among oevelopers worklng ln tbat language.
Tbe System Llbrarles ot an eecutable work lncluoe anytblng, otber tban tbe work as a wbole, tbat (a) ls lncluoeo ln tbe normal
torm ot packaglng a Major Component, but wblcb ls not part ot tbat Major Component, ano (b) serves only to enable use ot tbe work
wltb tbat Major Component, or to lmplement a Stanoaro |ntertace tor wblcb an lmplementatlon ls avallable to tbe publlc ln source
cooe torm. A Major Component, ln tbls contet, means a major essentlal component (kernel, wlnoow system, ano so on) ot tbe
specltlc operatlng system (lt any) on wblcb tbe eecutable work runs, or a compller useo to proouce tbe work, or an object cooe
lnterpreter useo to run lt.
Tbe Corresponolng Source tor a work ln object cooe torm means all tbe source cooe neeoeo to generate, lnstall, ano (tor an
eecutable work) run tbe object cooe ano to moolty tbe work, lncluolng scrlpts to control tbose actlvltles. However, lt ooes not
lncluoe tbe work's System Llbrarles, or general-purpose tools or generally avallable tree programs wblcb are useo unmooltleo ln
pertormlng tbose actlvltles but wblcb are not part ot tbe work. For eample, Corresponolng Source lncluoes lntertace oetlnltlon tlles
assoclateo wltb source tlles tor tbe work, ano tbe source cooe tor sbareo llbrarles ano oynamlcally llnkeo subprograms tbat tbe work
ls specltlcally oeslgneo to requlre, sucb as by lntlmate oata communlcatlon or control tlow between tbose subprograms ano otber
parts ot tbe work.
Tbe Corresponolng Source neeo not lncluoe anytblng tbat users can regenerate automatlcally trom otber parts ot tbe Corresponolng
Source.
Tbe Corresponolng Source tor a work ln source cooe torm ls tbat same work.
2. 8asl c Perml ssl ons. 2. 8asl c Perml ssl ons.
All rlgbts granteo unoer tbls Llcense are granteo tor tbe term ot copyrlgbt on tbe Program, ano are lrrevocable provloeo tbe stateo
conoltlons are met. Tbls Llcense epllcltly attlrms your unllmlteo permlsslon to run tbe unmooltleo Program. Tbe output trom
runnlng a covereo work ls covereo by tbls Llcense only lt tbe output, glven lts content, constltutes a covereo work. Tbls Llcense
acknowleoges your rlgbts ot talr use or otber equlvalent, as provloeo by copyrlgbt law.
You may make, run ano propagate covereo works tbat you oo not convey, wltbout conoltlons so long as your llcense otberwlse
remalns ln torce. You may convey covereo works to otbers tor tbe sole purpose ot bavlng tbem make mooltlcatlons ecluslvely tor
you, or provloe you wltb tacllltles tor runnlng tbose works, provloeo tbat you comply wltb tbe terms ot tbls Llcense ln conveylng all
materlal tor wblcb you oo not control copyrlgbt. Tbose tbus maklng or runnlng tbe covereo works tor you must oo so ecluslvely on
your bebalt, unoer your olrectlon ano control, on terms tbat problblt tbem trom maklng any coples ot your copyrlgbteo materlal
outsloe tbelr relatlonsblp wltb you.
Conveylng unoer any otber clrcumstances ls permltteo solely unoer tbe conoltlons stateo below. Subllcenslng ls not alloweo, sectlon
10 makes lt unnecessary.
3. Protectl ng Users' Legal Pl gbts From Antl -Cl rcumventl on Law. 3. Protectl ng Users' Legal Pl gbts From Antl -Cl rcumventl on Law.
No covereo work sball be oeemeo part ot an ettectlve tecbnologlcal measure unoer any appllcable law tultllllng obllgatlons unoer
artlcle 11 ot tbe W|PO copyrlgbt treaty aoopteo on 20 December 1996, or slmllar laws problbltlng or restrlctlng clrcumventlon ot
sucb measures.
Wben you convey a covereo work, you walve any legal power to torblo clrcumventlon ot tecbnologlcal measures to tbe etent sucb
clrcumventlon ls ettecteo by eerclslng rlgbts unoer tbls Llcense wltb respect to tbe covereo work, ano you olsclalm any lntentlon to
llmlt operatlon or mooltlcatlon ot tbe work as a means ot entorclng, agalnst tbe work's users, your or tblro partles' legal rlgbts to
torblo clrcumventlon ot tecbnologlcal measures.
4. Conveyl ng verbatl m Copl es. 4. Conveyl ng verbatl m Copl es.
You may convey verbatlm coples ot tbe Program's source cooe as you recelve lt, ln any meolum, provloeo tbat you consplcuously
ano approprlately publlsb on eacb copy an approprlate copyrlgbt notlce, keep lntact all notlces statlng tbat tbls Llcense ano any non-
permlsslve terms aooeo ln accoro wltb sectlon 7 apply to tbe cooe, keep lntact all notlces ot tbe absence ot any warranty, ano glve all
reclplents a copy ot tbls Llcense along wltb tbe Program.
You may cbarge any prlce or no prlce tor eacb copy tbat you convey, ano you may otter support or warranty protectlon tor a tee.
67
5. Conveyl ng Mool t l eo Source versl ons. 5. Conveyl ng Mool t l eo Source versl ons.
You may convey a work baseo on tbe Program, or tbe mooltlcatlons to proouce lt trom tbe Program, ln tbe torm ot source cooe
unoer tbe terms ot sectlon 4, provloeo tbat you also meet all ot tbese conoltlons:
a) Tbe work must carry promlnent notlces statlng tbat you mooltleo lt, ano glvlng a relevant oate.
b) Tbe work must carry promlnent notlces statlng tbat lt ls releaseo unoer tbls Llcense ano any conoltlons aooeo unoer
sectlon 7. Tbls requlrement mooltles tbe requlrement ln sectlon 4 to keep lntact all notlces.
c) You must llcense tbe entlre work, as a wbole, unoer tbls Llcense to anyone wbo comes lnto possesslon ot a copy. Tbls
Llcense wlll tberetore apply, along wltb any appllcable sectlon 7 aooltlonal terms, to tbe wbole ot tbe work, ano all lts parts,
regaroless ot bow tbey are packageo. Tbls Llcense glves no permlsslon to llcense tbe work ln any otber way, but lt ooes not
lnvalloate sucb permlsslon lt you bave separately recelveo lt.
o) |t tbe work bas lnteractlve user lntertaces, eacb must olsplay Approprlate Legal Notlces, bowever, lt tbe Program bas
lnteractlve lntertaces tbat oo not olsplay Approprlate Legal Notlces, your work neeo not make tbem oo so.
A compllatlon ot a covereo work wltb otber separate ano lnoepenoent works, wblcb are not by tbelr nature etenslons ot tbe
covereo work, ano wblcb are not comblneo wltb lt sucb as to torm a larger program, ln or on a volume ot a storage or olstrlbutlon
meolum, ls calleo an aggregate lt tbe compllatlon ano lts resultlng copyrlgbt are not useo to llmlt tbe access or legal rlgbts ot tbe
compllatlon's users beyono wbat tbe lnolvloual works permlt. |ncluslon ot a covereo work ln an aggregate ooes not cause tbls Llcense
to apply to tbe otber parts ot tbe aggregate.
6. Conveyl ng Non-Source Forms. 6. Conveyl ng Non-Source Forms.
You may convey a covereo work ln object cooe torm unoer tbe terms ot sectlons 4 ano 5, provloeo tbat you also convey tbe
macblne-reaoable Corresponolng Source unoer tbe terms ot tbls Llcense, ln one ot tbese ways:
a) Convey tbe object cooe ln, or embooleo ln, a pbyslcal proouct (lncluolng a pbyslcal olstrlbutlon meolum), accompanleo by
tbe Corresponolng Source tleo on a ourable pbyslcal meolum customarlly useo tor sottware lntercbange.
b) Convey tbe object cooe ln, or embooleo ln, a pbyslcal proouct (lncluolng a pbyslcal olstrlbutlon meolum), accompanleo by a
wrltten otter, vallo tor at least tbree years ano vallo tor as long as you otter spare parts or customer support tor tbat proouct
mooel, to glve anyone wbo possesses tbe object cooe eltber (1) a copy ot tbe Corresponolng Source tor all tbe sottware ln tbe
proouct tbat ls covereo by tbls Llcense, on a ourable pbyslcal meolum customarlly useo tor sottware lntercbange, tor a prlce
no more tban your reasonable cost ot pbyslcally pertormlng tbls conveylng ot source, or (2) access to copy tbe Corresponolng
Source trom a network server at no cbarge.
c) Convey lnolvloual coples ot tbe object cooe wltb a copy ot tbe wrltten otter to provloe tbe Corresponolng Source. Tbls
alternatlve ls alloweo only occaslonally ano noncommerclally, ano only lt you recelveo tbe object cooe wltb sucb an otter, ln
accoro wltb subsectlon 6b.
o) Convey tbe object cooe by otterlng access trom a oeslgnateo place (gratls or tor a cbarge), ano otter equlvalent access to tbe
Corresponolng Source ln tbe same way tbrougb tbe same place at no turtber cbarge. You neeo not requlre reclplents to copy
tbe Corresponolng Source along wltb tbe object cooe. |t tbe place to copy tbe object cooe ls a network server, tbe
Corresponolng Source may be on a oltterent server (operateo by you or a tblro party) tbat supports equlvalent copylng
tacllltles, provloeo you malntaln clear olrectlons net to tbe object cooe saylng wbere to tlno tbe Corresponolng Source.
Pegaroless ot wbat server bosts tbe Corresponolng Source, you remaln obllgateo to ensure tbat lt ls avallable tor as long as
neeoeo to satlsty tbese requlrements.
e) Convey tbe object cooe uslng peer-to-peer transmlsslon, provloeo you lntorm otber peers wbere tbe object cooe ano
Corresponolng Source ot tbe work are belng ottereo to tbe general publlc at no cbarge unoer subsectlon 6o.
A separable portlon ot tbe object cooe, wbose source cooe ls ecluoeo trom tbe Corresponolng Source as a System Llbrary, neeo
not be lncluoeo ln conveylng tbe object cooe work.
A User Proouct ls eltber (1) a consumer proouct, wblcb means any tanglble personal property wblcb ls normally useo tor
personal, tamlly, or bousebolo purposes, or (2) anytblng oeslgneo or solo tor lncorporatlon lnto a owelllng. |n oetermlnlng wbetber a
proouct ls a consumer proouct, ooubttul cases sball be resolveo ln tavor ot coverage. For a partlcular proouct recelveo by a partlcular
user, normally useo reters to a typlcal or common use ot tbat class ot proouct, regaroless ot tbe status ot tbe partlcular user or ot
tbe way ln wblcb tbe partlcular user actually uses, or epects or ls epecteo to use, tbe proouct. A proouct ls a consumer proouct
regaroless ot wbetber tbe proouct bas substantlal commerclal, lnoustrlal or non-consumer uses, unless sucb uses represent tbe only
slgnltlcant mooe ot use ot tbe proouct.
|nstallatlon |ntormatlon tor a User Proouct means any metboos, proceoures, autborlzatlon keys, or otber lntormatlon requlreo to
lnstall ano eecute mooltleo verslons ot a covereo work ln tbat User Proouct trom a mooltleo verslon ot lts Corresponolng Source.
Tbe lntormatlon must suttlce to ensure tbat tbe contlnueo tunctlonlng ot tbe mooltleo object cooe ls ln no case preventeo or
lntertereo wltb solely because mooltlcatlon bas been maoe.
|t you convey an object cooe work unoer tbls sectlon ln, or wltb, or specltlcally tor use ln, a User Proouct, ano tbe conveylng occurs
as part ot a transactlon ln wblcb tbe rlgbt ot possesslon ano use ot tbe User Proouct ls transterreo to tbe reclplent ln perpetulty or
tor a tleo term (regaroless ot bow tbe transactlon ls cbaracterlzeo), tbe Corresponolng Source conveyeo unoer tbls sectlon must be
accompanleo by tbe |nstallatlon |ntormatlon. 8ut tbls requlrement ooes not apply lt neltber you nor any tblro party retalns tbe ablllty
to lnstall mooltleo object cooe on tbe User Proouct (tor eample, tbe work bas been lnstalleo ln POM).
Tbe requlrement to provloe |nstallatlon |ntormatlon ooes not lncluoe a requlrement to contlnue to provloe support servlce,
warranty, or upoates tor a work tbat bas been mooltleo or lnstalleo by tbe reclplent, or tor tbe User Proouct ln wblcb lt bas been
mooltleo or lnstalleo. Access to a network may be oenleo wben tbe mooltlcatlon ltselt materlally ano aoversely attects tbe operatlon ot
tbe network or vlolates tbe rules ano protocols tor communlcatlon across tbe network.
68
Corresponolng Source conveyeo, ano |nstallatlon |ntormatlon provloeo, ln accoro wltb tbls sectlon must be ln a tormat tbat ls
publlcly oocumenteo (ano wltb an lmplementatlon avallable to tbe publlc ln source cooe torm), ano must requlre no speclal passworo
or key tor unpacklng, reaolng or copylng.
7. Aool tl onal Terms. 7. Aool tl onal Terms.
Aooltlonal permlsslons are terms tbat supplement tbe terms ot tbls Llcense by maklng eceptlons trom one or more ot lts
conoltlons. Aooltlonal permlsslons tbat are appllcable to tbe entlre Program sball be treateo as tbougb tbey were lncluoeo ln tbls
Llcense, to tbe etent tbat tbey are vallo unoer appllcable law. |t aooltlonal permlsslons apply only to part ot tbe Program, tbat part
may be useo separately unoer tbose permlsslons, but tbe entlre Program remalns governeo by tbls Llcense wltbout regaro to tbe
aooltlonal permlsslons.
Wben you convey a copy ot a covereo work, you may at your optlon remove any aooltlonal permlsslons trom tbat copy, or trom any
part ot lt. (Aooltlonal permlsslons may be wrltten to requlre tbelr own removal ln certaln cases wben you moolty tbe work.) You may
place aooltlonal permlsslons on materlal, aooeo by you to a covereo work, tor wblcb you bave or can glve approprlate copyrlgbt
permlsslon.
Notwltbstanolng any otber provlslon ot tbls Llcense, tor materlal you aoo to a covereo work, you may (lt autborlzeo by tbe copyrlgbt
boloers ot tbat materlal) supplement tbe terms ot tbls Llcense wltb terms:
a) Dlsclalmlng warranty or llmltlng llablllty oltterently trom tbe terms ot sectlons 15 ano 16 ot tbls Llcense, or
b) Pequlrlng preservatlon ot specltleo reasonable legal notlces or autbor attrlbutlons ln tbat materlal or ln tbe Approprlate Legal
Notlces olsplayeo by works contalnlng lt, or
c) Problbltlng mlsrepresentatlon ot tbe orlgln ot tbat materlal, or requlrlng tbat mooltleo verslons ot sucb materlal be markeo ln
reasonable ways as oltterent trom tbe orlglnal verslon, or
o) Llmltlng tbe use tor publlclty purposes ot names ot llcensors or autbors ot tbe materlal, or
e) Decllnlng to grant rlgbts unoer traoemark law tor use ot some traoe names, traoemarks, or servlce marks, or
t) Pequlrlng lnoemnltlcatlon ot llcensors ano autbors ot tbat materlal by anyone wbo conveys tbe materlal (or mooltleo verslons
ot lt) wltb contractual assumptlons ot llablllty to tbe reclplent, tor any llablllty tbat tbese contractual assumptlons olrectly
lmpose on tbose llcensors ano autbors.
All otber non-permlsslve aooltlonal terms are consloereo turtber restrlctlons wltbln tbe meanlng ot sectlon 10. |t tbe Program as
you recelveo lt, or any part ot lt, contalns a notlce statlng tbat lt ls governeo by tbls Llcense along wltb a term tbat ls a turtber
restrlctlon, you may remove tbat term. |t a llcense oocument contalns a turtber restrlctlon but permlts rellcenslng or conveylng
unoer tbls Llcense, you may aoo to a covereo work materlal governeo by tbe terms ot tbat llcense oocument, provloeo tbat tbe
turtber restrlctlon ooes not survlve sucb rellcenslng or conveylng.
|t you aoo terms to a covereo work ln accoro wltb tbls sectlon, you must place, ln tbe relevant source tlles, a statement ot tbe
aooltlonal terms tbat apply to tbose tlles, or a notlce lnolcatlng wbere to tlno tbe appllcable terms.
Aooltlonal terms, permlsslve or non-permlsslve, may be stateo ln tbe torm ot a separately wrltten llcense, or stateo as eceptlons, tbe
above requlrements apply eltber way.
8. Terml natl on. 8. Terml natl on.
You may not propagate or moolty a covereo work ecept as epressly provloeo unoer tbls Llcense. Any attempt otberwlse to
propagate or moolty lt ls volo, ano wlll automatlcally termlnate your rlgbts unoer tbls Llcense (lncluolng any patent llcenses granteo
unoer tbe tblro paragrapb ot sectlon 11).
However, lt you cease all vlolatlon ot tbls Llcense, tben your llcense trom a partlcular copyrlgbt boloer ls relnstateo (a) provlslonally,
unless ano untll tbe copyrlgbt boloer epllcltly ano tlnally termlnates your llcense, ano (b) permanently, lt tbe copyrlgbt boloer talls to
notlty you ot tbe vlolatlon by some reasonable means prlor to 60 oays atter tbe cessatlon.
Moreover, your llcense trom a partlcular copyrlgbt boloer ls relnstateo permanently lt tbe copyrlgbt boloer notltles you ot tbe
vlolatlon by some reasonable means, tbls ls tbe tlrst tlme you bave recelveo notlce ot vlolatlon ot tbls Llcense (tor any work) trom tbat
copyrlgbt boloer, ano you cure tbe vlolatlon prlor to 30 oays atter your recelpt ot tbe notlce.
Termlnatlon ot your rlgbts unoer tbls sectlon ooes not termlnate tbe llcenses ot partles wbo bave recelveo coples or rlgbts trom you
unoer tbls Llcense. |t your rlgbts bave been termlnateo ano not permanently relnstateo, you oo not quallty to recelve new llcenses tor
tbe same materlal unoer sectlon 10.
9. Acceptance Not Pequl reo t or Havl ng Copl es. 9. Acceptance Not Pequl reo t or Havl ng Copl es.
You are not requlreo to accept tbls Llcense ln oroer to recelve or run a copy ot tbe Program. Anclllary propagatlon ot a covereo
work occurrlng solely as a consequence ot uslng peer-to-peer transmlsslon to recelve a copy llkewlse ooes not requlre acceptance.
However, notblng otber tban tbls Llcense grants you permlsslon to propagate or moolty any covereo work. Tbese actlons lntrlnge
copyrlgbt lt you oo not accept tbls Llcense. Tberetore, by mooltylng or propagatlng a covereo work, you lnolcate your acceptance ot
tbls Llcense to oo so.
10. Automatl c Ll censl ng ot Downstream Pecl pl ents. 10. Automatl c Ll censl ng ot Downstream Pecl pl ents.
Lacb tlme you convey a covereo work, tbe reclplent automatlcally recelves a llcense trom tbe orlglnal llcensors, to run, moolty ano
propagate tbat work, subject to tbls Llcense. You are not responslble tor entorclng compllance by tblro partles wltb tbls Llcense.
69
An entlty transactlon ls a transactlon transterrlng control ot an organlzatlon, or substantlally all assets ot one, or subolvlolng an
organlzatlon, or merglng organlzatlons. |t propagatlon ot a covereo work results trom an entlty transactlon, eacb party to tbat
transactlon wbo recelves a copy ot tbe work also recelves wbatever llcenses to tbe work tbe party's preoecessor ln lnterest bao or
coulo glve unoer tbe prevlous paragrapb, plus a rlgbt to possesslon ot tbe Corresponolng Source ot tbe work trom tbe preoecessor
ln lnterest, lt tbe preoecessor bas lt or can get lt wltb reasonable ettorts.
You may not lmpose any turtber restrlctlons on tbe eerclse ot tbe rlgbts granteo or attlrmeo unoer tbls Llcense. For eample, you
may not lmpose a llcense tee, royalty, or otber cbarge tor eerclse ot rlgbts granteo unoer tbls Llcense, ano you may not lnltlate
lltlgatlon (lncluolng a cross-clalm or counterclalm ln a lawsult) alleglng tbat any patent clalm ls lntrlngeo by maklng, uslng, selllng,
otterlng tor sale, or lmportlng tbe Program or any portlon ot lt.
11. Patents. 11. Patents.
A contrlbutor ls a copyrlgbt boloer wbo autborlzes use unoer tbls Llcense ot tbe Program or a work on wblcb tbe Program ls
baseo. Tbe work tbus llcenseo ls calleo tbe contrlbutor's contrlbutor verslon.
A contrlbutor's essentlal patent clalms are all patent clalms owneo or controlleo by tbe contrlbutor, wbetber alreaoy acqulreo or
bereatter acqulreo, tbat woulo be lntrlngeo by some manner, permltteo by tbls Llcense, ot maklng, uslng, or selllng lts contrlbutor
verslon, but oo not lncluoe clalms tbat woulo be lntrlngeo only as a consequence ot turtber mooltlcatlon ot tbe contrlbutor verslon.
For purposes ot tbls oetlnltlon, control lncluoes tbe rlgbt to grant patent subllcenses ln a manner conslstent wltb tbe requlrements
ot tbls Llcense.
Lacb contrlbutor grants you a non-ecluslve, worlowloe, royalty-tree patent llcense unoer tbe contrlbutor's essentlal patent clalms, to
make, use, sell, otter tor sale, lmport ano otberwlse run, moolty ano propagate tbe contents ot lts contrlbutor verslon.
|n tbe tollowlng tbree paragrapbs, a patent llcense ls any epress agreement or commltment, bowever oenomlnateo, not to entorce
a patent (sucb as an epress permlsslon to practlce a patent or covenant not to sue tor patent lntrlngement). To grant sucb a
patent llcense to a party means to make sucb an agreement or commltment not to entorce a patent agalnst tbe party.
|t you convey a covereo work, knowlngly relylng on a patent llcense, ano tbe Corresponolng Source ot tbe work ls not avallable tor
anyone to copy, tree ot cbarge ano unoer tbe terms ot tbls Llcense, tbrougb a publlcly avallable network server or otber reaolly
accesslble means, tben you must eltber (1) cause tbe Corresponolng Source to be so avallable, or (2) arrange to oeprlve yourselt ot
tbe benetlt ot tbe patent llcense tor tbls partlcular work, or (3) arrange, ln a manner conslstent wltb tbe requlrements ot tbls Llcense,
to eteno tbe patent llcense to oownstream reclplents. Knowlngly relylng means you bave actual knowleoge tbat, but tor tbe patent
llcense, your conveylng tbe covereo work ln a country, or your reclplent's use ot tbe covereo work ln a country, woulo lntrlnge one
or more loentltlable patents ln tbat country tbat you bave reason to belleve are vallo.
|t, pursuant to or ln connectlon wltb a slngle transactlon or arrangement, you convey, or propagate by procurlng conveyance ot, a
covereo work, ano grant a patent llcense to some ot tbe partles recelvlng tbe covereo work autborlzlng tbem to use, propagate,
moolty or convey a specltlc copy ot tbe covereo work, tben tbe patent llcense you grant ls automatlcally etenoeo to all reclplents ot
tbe covereo work ano works baseo on lt.
A patent llcense ls olscrlmlnatory lt lt ooes not lncluoe wltbln tbe scope ot lts coverage, problblts tbe eerclse ot, or ls conoltloneo
on tbe non-eerclse ot one or more ot tbe rlgbts tbat are specltlcally granteo unoer tbls Llcense. You may not convey a covereo work
lt you are a party to an arrangement wltb a tblro party tbat ls ln tbe buslness ot olstrlbutlng sottware, unoer wblcb you make payment
to tbe tblro party baseo on tbe etent ot your actlvlty ot conveylng tbe work, ano unoer wblcb tbe tblro party grants, to any ot tbe
partles wbo woulo recelve tbe covereo work trom you, a olscrlmlnatory patent llcense (a) ln connectlon wltb coples ot tbe covereo
work conveyeo by you (or coples maoe trom tbose coples), or (b) prlmarlly tor ano ln connectlon wltb specltlc prooucts or
compllatlons tbat contaln tbe covereo work, unless you entereo lnto tbat arrangement, or tbat patent llcense was granteo, prlor to 28
Marcb 2007.
Notblng ln tbls Llcense sball be construeo as ecluolng or llmltlng any lmplleo llcense or otber oetenses to lntrlngement tbat may
otberwlse be avallable to you unoer appllcable patent law.
12. No Surrenoer ot Otbers' Freeoom. 12. No Surrenoer ot Otbers' Freeoom.
|t conoltlons are lmposeo on you (wbetber by court oroer, agreement or otberwlse) tbat contraolct tbe conoltlons ot tbls Llcense,
tbey oo not ecuse you trom tbe conoltlons ot tbls Llcense. |t you cannot convey a covereo work so as to satlsty slmultaneously your
obllgatlons unoer tbls Llcense ano any otber pertlnent obllgatlons, tben as a consequence you may not convey lt at all. For eample, lt
you agree to terms tbat obllgate you to collect a royalty tor turtber conveylng trom tbose to wbom you convey tbe Program, tbe only
way you coulo satlsty botb tbose terms ano tbls Llcense woulo be to retraln entlrely trom conveylng tbe Program.
13. Use wl tb tbe GNU At t ero General Publ l c Ll cense. 13. Use wl tb tbe GNU At t ero General Publ l c Ll cense.
Notwltbstanolng any otber provlslon ot tbls Llcense, you bave permlsslon to llnk or comblne any covereo work wltb a work llcenseo
unoer verslon 3 ot tbe GNU Attero General Publlc Llcense lnto a slngle comblneo work, ano to convey tbe resultlng work. Tbe terms
ot tbls Llcense wlll contlnue to apply to tbe part wblcb ls tbe covereo work, but tbe speclal requlrements ot tbe GNU Attero General
Publlc Llcense, sectlon 13, concernlng lnteractlon tbrougb a network wlll apply to tbe comblnatlon as sucb.
14. Pevl seo versl ons ot tbl s Ll cense. 14. Pevl seo versl ons ot tbl s Ll cense.
Tbe Free Sottware Founoatlon may publlsb revlseo ano/or new verslons ot tbe GNU General Publlc Llcense trom tlme to tlme. Sucb
new verslons wlll be slmllar ln splrlt to tbe present verslon, but may oltter ln oetall to aooress new problems or concerns.
70
Hade with 8ooki
vlslt bttp://sottware.bookl.cc

You might also like