SlideShare a Scribd company logo
1 of 89
Download to read offline
erik
SOFTWARE ETA
HARDWARE LIBREA
Tolosaldea TLHI
1
Software eta Hardware librea
Aurkibidea
1. SOFTWARE LIBREA................................................................................................................................ 3
SARRERA........................................................................................................................................................ 3
2. 1- POSTA ZERBITZARIA ......................................................................................................................... 4
1.1- POSTA LOKALA ....................................................................................................................................... 6
1.1.0- ZERBITZARIA.................................................................................................................................... 6
1.1.1- DNS................................................................................................................................................ 12
1.1.2- MTA ............................................................................................................................................... 16
1.1.3- KORREOA IRAKURTZEKO PROTOKOLOAK...................................................................................... 20
1.1.4- ERABILTZAILEAK SORTU ................................................................................................................ 21
1.1.5- TELNET BIDEZ PROBATU................................................................................................................ 22
1.1.6- POSTA BEZEROA............................................................................................................................ 30
1.1.7- POSTA BEZERO PROPIOA............................................................................................................... 34
1.2- POSTA INTERNETEN.............................................................................................................................. 42
1.2.1- NO-IP ............................................................................................................................................. 42
1.2.2- PORTUEN BERBIDERAKETA ........................................................................................................... 47
1.2.3- POSTFIX REKONFIGURATU ............................................................................................................ 49
1.2.4- SQUIRRELMAIL REKONFIGURATU ................................................................................................. 50
1.2.5- POSTA PROBATU ........................................................................................................................... 50
3. 2- ZENBAKIEN JOKOA.......................................................................................................................... 51
2.1- AZALPENA............................................................................................................................................. 51
2.2- PROGRAMAREN KODEA ....................................................................................................................... 51
2.3- PROGRAMA KONPILATU....................................................................................................................... 54
2.4- PROGRAMA EXEKUTATU...................................................................................................................... 54
2.5- SOFTWARE LIBRE BIHURTU.................................................................................................................. 54
2.5.1- KONTUA SORTU............................................................................................................................. 55
2.5.2- PROGRAMA PUBLIKATU................................................................................................................ 55
4. HARDWARE LIBREA ............................................................................................................................ 58
SARRERA...................................................................................................................................................... 58
3.1- RASPBERRY PI....................................................................................................................................... 58
3.1.1- EZAUGARRIAK................................................................................................................................ 59
3.1.2- FUNTZIONAMENDUA .................................................................................................................... 60
3.1.3- MARTXAN JARRI ............................................................................................................................ 60
Tolosaldea TLHI
2
Software eta Hardware librea
3.1.5- PROIEKTUAK.................................................................................................................................. 65
3.2- ARDUINO.............................................................................................................................................. 72
3.2.1- EZAUGARRIAK................................................................................................................................ 73
3.2.2- FUNTZIONAMENDUA .................................................................................................................... 73
3.2.3- INSTALATU..................................................................................................................................... 74
3.2.4- KONFIGURATU............................................................................................................................... 75
3.2.5- PROIEKTUAK.................................................................................................................................. 76
3.3- RASPBERRY PI + ARDUINO.................................................................................................................... 80
3.3.0- ELKARKETA .................................................................................................................................... 80
3.3.1- SEGURTASUN SISTEMA ................................................................................................................. 82
5. ONDORIOAK ....................................................................................................................................... 88
6. BIBLIOGRAFIA..................................................................................................................................... 88
Tolosaldea TLHI
3
Software eta Hardware librea
SOFTWARE LIBREA
SARRERA
Software librea, kode askeko softwarea da, hau da; askatasunez erabili, kopiatu, aldatu,
birbanatu eta saldu daitekeen softwarea da.
Askotan, software librea dohainikako softwarearekin identifikatzen da, baina hori ez da horrela.
Normalean, software librea dohainik izaten da, baina ez beti. Beraz, software bat librea izateak ez
du esan nahi dohainik dela, bere iturri kodea askea dela baizik, eta hau ordaintzekoa edo dohainik
izan daiteke. Horregatik, software librea eta dohainikako softwarea bereizi egin behar dira.
Software librea aspalditik da ezaguna, eta horrelako software asko dago munduan, geroz eta indar
gehiago hartzen ari dena.
Kode askeko sistema eragileen artean, GNU/Linux sistema eragilea dugu adibiderik ezagunena,
baina askoz gehiago daude. Sistema eragile hau da sistema eragile askeen artean gehien erabiltzen
dena, horregatik da ezagunena, eta Windows eta Mac OS bezalako ordaintzeko sistema
eragileetara gehien gerturatzen dena.
Gaur egungo smartphonetan gehien erabiltzen den sistema eragilea Android da, eta hau ere
software librea da, GNU/Linux sistema eragilean oinarrituta dagoelako, hain zuzen ere, Linux
nukleoa erabiltzen du.
Beraz, oso garrantzitsua da software librea gaur egun, eta honi esker, aurrerakuntza handiak egin
daitezke, edozeinek hobetu dezakeelako beste baten egindakoa, eta hori oso aberasgarria da.
Gainera, enpresa askotan software askea erabiltzeari ekin diote, ordaintzeko programen lizentziak
oso garestiak direlako, eta dohainik den software libreari esker, diru asko aurreztu dezakete.
Nire proiektuaren atal honetan, software librearen adibide bezala, kode askeko posta zerbitzari bat
egingo dut, kode askeko posta bezeroa erabiltzen duena.
Tolosaldea TLHI
4
Software eta Hardware librea
Beraz, Linux makina batean posta zerbitzari bat instalatu eta konfiguratuko dut. Hau, eskuz egingo
dut, behar den elementu bakoitza banan-banan instalatuz.
Posta zerbitzarian asko sakonduko dut, hau da, ez dut bakarrik posta zerbitzari bat jarriko eta listo,
honen aukera ezberdinak aztertuko ditut, eta baita segurtasunaren aldetik ere.
Hasieran, sare lokalean egingo dut, DNS zerbitzari lokalarekin, baina gero, interneten atzigarri
jarriko dut, eta horretarako dauden aukera ezberdinak aztertu.
Posta bezeroan ere sakondu egingo dut. Lehenengo, posta bezero sinple bat instalatuko dut
bezeroek korreoa bidali eta irakurri ahal izateko, eta gero, nire posta bezero propio bat ere
programatuko dut, PHP lengoaian. Horretarako, XHTML lengoaiaren bidez web orria diseinatuko
dut, eta CSS bidez itxura emango diot.
Beste alde batetik, posta bidali eta irakurtzeko erabiltzen diren protokoloak ere aztertuko ditut, eta
nire posta zuzenean protokolo hauek erabiliz ere probatuko dut, posta zerbitzuak maila baxuan
nola funtzionatzen duen ikusteko.
Atal hauek landuko ditut:
 Posta zerbitzari lokala
 DNS lokala
 Posta zerbitzaria interneten
 Posta bezeroa
 Posta bezero propioa
 Erabiltzaileak
Posta zerbitzariaren izena Soidal izango da, beraz, domeinu lokala “soidal.net” izango da, eta
interneteko domeinua, “soidal.no-ip.org”.
1- POSTA ZERBITZARIA
Posta zerbitzari bat, sareko aplikazio bat da, internet edo intraneteko makina zerbitzari
batean kokatua dagoena.
Posta zerbitzariaren bidez, erabiltzaile ezberdinen artean mezuak bidali daitezke.
Posta zerbitzu batean, partaide ezberdinak daude:
 MTA → Mail Transfer Agent (Korreoa Transferitzeko Agentea) → Korreoa bidaltzeko
 Mailbox zerbitzaria (mezu kutxa) → Korreoa gordetzeko
Tolosaldea TLHI
5
Software eta Hardware librea
 LDAP zerbitzaria → Erabiltzaileentzako
 Posta bezeroa → Korreoa irakurri eta bidaltzeko
Posta zerbitzua posible izan ahal izateko, protokolo hauek erabiltzen dira:
 SMTP → Korreoa bidaltzeko → 25 portua
 IMAP → Korreoa irakurtzeko → 143 portua
 POP3 → Korreoa irakurtzeko → 110 portua
 SSL → Protokolo segurua
 TLS → Protokolo segurua. SSL-ren ondorengoa.
Berez, nahikoa dira SMTP eta IMAP edo POP3 protokoloak, hauen bidez, korreoa bidali eta
irakurtzea posible delako, baina, hauek ez direnez guztiz seguruak (ez delako zifraketarik egiten),
konexioak seguruagoak izateko, SSL edo TLS protokoloak gehitzen zaie, beraz, biak batera
erabiltzen dira, adibidez:
SMTP + SSL → 465 portua
IMAP + SSL → 993 portua
POP3 + SSL → 995 portua
Posta zerbitzarian, SMTP protokoloaren bidez korreoa bidaltzen da, igorletik hartzailera.
Korreo hau, MTA-ren bidez garraiatzen da helbidera, eta hartzailearen Mailbox-en gordetzen da.
Hau, zifratu gabe bidaltzen da, testu hutsean, beraz, 3.pertsona batek datu paketea lortzen badu,
informazioa erraz irakurri ahal izango du, baina SMTP protokoloari SSL edo TLS protokolo segurua
gehituz gero, konexioa zifratu egiten da.
Hartzaileak korreo hau irakurtzeko, IMAP edo POP3 protokoloen bidez bere Mailbox-era
konektatzen da, eta mezua deskargatzen edo zuzenean irakurtzen du.
Tolosaldea TLHI
6
Software eta Hardware librea
IMAP bidez irakurtzen badu, zerbitzarian dagoen mezua online irakurtzen du, baina POP3 bidez
irakurriz gero, mezua zerbitzaritik deskargatzen da bezerora, eta zerbitzarian ezabatu egiten da.
Hau ere, zifratu gabe egiten da, beraz, ez da oso segurua, baina SSL edo TLS protokoloak gehituz
gero, konexioa zifratzen da.
MTA ezberdinak daude: Postfix, Sendmail, Courier, Zimbra...
Posta bezeroak ere: Squirrelmail...
IMAP eta POP3 protokoloak erabiltzeko zerbitzuak ere: Dovecot (dovecot-imapd, dovecot-pop3d),
Courier (courier-imap, courier-pop3)...
Beraz, IMAP eta POP3 protokoloak erabiltzeko, protokolo hauentzako
zerbitzuak instalatu behar dira.
Nire posta zerbitzarian, hauek erabiliko ditut:
 MTA: Postfix
 Posta bezeroa: Squirrelmail eta Soidal Mail (Nirea)
 IMAP: courier-imap
 POP3: courier-pop3
Honetaz gain, posta zerbitzari batek MX motako erregistro bat erabiltzen du. Hau, DNS zerbitzari
batean erregistratzen da, eta honek, posta zerbitzariaren IP helbidera apuntatzen du, hau da, posta
zerbitzaria non dagoen esaten du.
1.1- POSTA LOKALA
Lehenengo, posta zerbitzari lokala jarriko dut, hau da, posta zerbitzua sare lokal batean
jarriko dut. Beraz, sare lokaleko erabiltzaileek bakarrik erabili ahal izango dute posta zerbitzaria.
1.1.0- ZERBITZARIA
Lehenengo eta behin, posta zerbitzari bezala erabiliko dudan ordenagailua aukeratu dut.
Horretarako, nire etxeko ordenagailu bat hartu dut, eta bertan Ubuntu sistema eragilea instalatuko
dut.
Ubuntu sistema eragilea aukeratu dut, GNU/Linux-en kasuan ez delako beharrezkoa Ubuntu
zerbitzari bereziak erabiltzea, adibidez Ubuntu Server, hasieran UNIX sistema zerbitzarientzako
perntsatuta zegoelako, beraz, Ubuntu Server bezalako sistema eragilea erabili ordez, Ubuntu
normal bat erabili dezaket, eta hau zerbitzari bezala prestatu beharko dut.
Tolosaldea TLHI
7
Software eta Hardware librea
Beraz, nire etxeko ordenagailua hartu dut, karakteristika hauek dituena:
Plaka: Asrock ALiveNF7G
CPU: AMD Phenom II x4 940
RAM: 2 x 2 GB DDR2
Txartel grafikoa: Sapphire AMD Radeon HD 6850 1GB DDR5
Disko gogorra: 1 x Seagate 500 GB
Elikadura iturria: 500 W
Beraz, ordenagailu honetan Ubuntu sistema eragilea instalatzeko, lehenengo disko gogorra
formateatu eta partizioak egiteari ekin diot.
1.1.0.1- PARTIZIOAK EGIN
Disko gogorrak 500 GB dituenez, hau partizionatu egingo dut, hau da, atal logikoetan
banatuko dut. Horrela, Ubuntu sistema eragilea datuetatik banatu ahal izango dut, beraz,
aurrerago sistema izorratzen bada, ez ditut datuak galduko, eta banatuta daudenez, sistemak
erroreak izateko aukera gutxiago izango ditu.
Ubuntu sistema eragilearentzako 60 GB utziko dut, programa ezberdinak instalatuko ditudalako,
eta sistemak nahikoa edukiera izatea nahi dudalako.
Gainera, Ubuntu distribuzioa GNU/Linux sistema eragilea denez, Swapping-a egingo dut.
Swapping-a, disko gogorraren zati bat RAM memoria bezala erabiltzea da, hau da, memoria logikoa
da. Honi esker, RAM memoria gutxi duten ordenagailuetan, gehiago izatea lortu dezakegu, eta
RAM memoria gainezka dagoenean, Swap-erako memoria erabiliko da. Horretarako, partizio bat
Swap moduan egingo dut. Honen tamaina, RAM memoriaren araberakoa da.
Askoren ustez, Swap-erako utzi behar dugun tamaina, RAM memoriaren bikoitza da, baina hau,
UNIX sistemetan izaten zen, RAM memoria oso txikia zen kasuetan, baina GNU/Linux sistemetan ez
da horrela, beraz, erregela hau jarraituko dugu:
 1 GB RAM baino gutxiagoko sistemetan: RAM-aren edukiera bera (adb; 512 MB RAM, 512
MB Swap)
 1 GB eta 4 GB RAM arteko sistemetan: RAM edukieraren erdia (adb; 2 GB RAM, 1 GB Swap)
 4 GB RAM baino gehiagoko sistemetan: 2 GB RAM.
Beraz, nire ordenagailuak 4 GB-eko RAM memoria duenez, Swap partizioari 2 GB utziko diot,
horrekin nahikoa izango delako.
Horrela, sobratzen den guztia datuentzako utziko dut, hau da, 438 GB (500 GB – 60 GB – 2 GB).
Tolosaldea TLHI
8
Software eta Hardware librea
Hau jakinda, partizioak egiten hasi nahiz. Horretarako, Hiren's Boot 10.10 erreminta erabili dut.
Hau, abioko sistema berezi bat da, sistema administratzeko eta kontrolatzeko programa ezberdinak
dituena. Hau CD batean edo abio USB batean grabatu dezakegu.
Nire kasuan, CD batean grabatu dut. Horretarako, Nero Express programa erabili dut. Honekin,
Hiren's Boot 10.10 abio sistemaren ISO motako irudia grabatu dut CD-an, abio CD batean bihurtuz.
Gero, abio CD hau ordenagailuan sartu dut, eta berrabiarazi egin dut. Hau pizten ari zela, F10 tekla
sakatu dut hainbat aldiz, eta abioko menuan CD-Rom-etik arrankatzeko aukeratu dut. Beraz,
ordenagailua Hiren's Boot-ekin arrankatu dut.
Disko gogorrean partizioak egiteko, Acronis Disk Director Suite programa erabili dut. Hau, Hiren's
Boot-en disko gogorra kudeatzeko tresnen atalean dago.
Behin programan sartuta, zeuden partizioak ezabatu ditut, eta disko gogorreko espazio librea
aukeratuz, partizio berriak egin ditut:
 Ubuntu: ext3, 60 GB, primarioa
 Datuak: NTFS, 438 GB, logikoa
 Swap: Linux Swap, 2 GB, primarioa
“Apply” sakatu eta aldaketak aplikatu dira. Bukatzeko, programatik atera naiz.
1.1.0.2- UBUNTU INSTALATU
Disko gogorra partizionatu ondoren, Ubuntu sistema eragilea instalatu dut. Horretarako,
Ubuntu 12.04 sistema eragilearen ISO irudia grabatu dut CD batean, Nero Express programarekin.
Gero, Hiren's Boot-ekin egin dudan moduan, ordenagailua CD honetatik arrankatu dut, eta horrela,
Ubuntu sistema eragilearen instalatzailean sartu naiz.
Bertan, “Instalar Ubuntu” aukeratu dut, eta instalazioa konfiguratu dut. Ubuntu 60 GB-eko
partizioan instalatzeko aukeratu dut. Nire erabiltzailea eta pasahitza aukeratu ditut:
Erabiltzailea: erik
Pasahitza: ******
Ordenagailuaren izena ere adierazi dut: erik-pc
Erlojua konfiguratu ondoren, instalatzen hasi da.
Minutu batzuen ondoren, Ubuntu instalatu da, eta CD-a atera ondoren, ordenagailua berrabiarazi
dut.
Tolosaldea TLHI
9
Software eta Hardware librea
1.1.0.3- UBUNTU KONFIGURATU
Behin Ubuntu instalatuta, hau konfiguratzeari ekin diot, nire erabiltzailearekin sesioa hasiz.
1.1.0.3.1- Sistema eguneratu
Lehenengo, Ubuntu sistema eragilea eguneratu dut. Horretarako, Ubuntu-ren
errepositorioak eguneratu ditut, eta gero eguneraketa hauek instalatu ditut. Errepositorio hauek,
“apt-get” pakete kudeatzaileak aplikazio eta programak instalatzeko erabiltzen duen pakete
zerrenda da.
Beraz, terminalean edo kontsolan sartu naiz, “Control+Alt+T” teklak sakatuz. Gero, super
erabiltzaile bezala logeatu naiz, agindu honekin:
sudo -s
Ondoren, super erabiltzailearen pasahitza sartu dut.
Errepositorioak eguneratzeko agindu hau erabili dut:
apt-get update
Gero, eguneraketa hauek instalatzeko:
apt-get upgrade
Horrela, errepositorioak eguneratu eta eguneraketak instalatu dira.
1.1.0.3.2- Sarea konfiguratu
Sistema eguneratu ondoren, sarea konfiguratu dut. Hau, estatikoki konfiguratu dut, eta ez
DHCP bidez, zerbitzaria izango delako, eta bere sareko konfigurazioa estatikoa izatea komeni
delako, hau da, aldatzen ez dena.
Sarea konfiguratzeko, “interfaces” fitxategia editatu dut, “nano” editorearen bidez:
nano /etc/network/interfaces
Bertan, informazio hau jarri dut:
auto eth0
iface eth0 inet static
address 192.168.1.30
Tolosaldea TLHI
10
Software eta Hardware librea
netmask 255.255.255.0
gateway 192.168.1.1
Fitxategia gordetzeko “Control+o” sakatu dut, eta ixteko “Control+x”.
Aldaketa hauek aplikatzeko, sarea berrabiarazi dut:
/etc/init.d/networking restart
Horrela, sarea konfiguratu da, “eth0” interfazea erabiliz. Honi, “192.168.1.30” IP helbidea eman
diot, eta “/24”-eko maskara jarri diot. Ate-bide bezala routerraren helbidea jarri dut, “192.168.1.1”.
DNS helbidea konfiguratzeko, “resolv.conf” fitxategia editatu dut:
nano /etc/resolv.conf
Bertan, Google-eko DNS helbidea adierazi dut:
nameserver 8.8.8.8
Honekin, sarea konfiguratuta gelditu da.
1.1.0.4- WEB APLIKAZIO ZERBITZARIA
Proiektu honen helburua posta zerbitzari bat egitea da, baina honen barruan posta
bezeroak erabiliko ditut, eta hauek web aplikazioak dira. Beraz, zerbitzari honek web aplikazioak
ere zerbitzatuko ditu, eta horretarako, posta zerbitzaria izateaz gain, web aplikazio zerbitzaria ere
izan behar da.
Web zerbitzari bat, web aplikazioak zerbitzatzen dituen zerbitzaria da. Honek, hiru elementu ditu:
 Web zerbitzaria: Apache, Internet Information Services...
 Zerbitzariaren aldeko lengoaia ulertuko duen modulua: PHP, Perl, Python...
 Datu baseak kudeatzeko sistema (DBKS): MySQL, PostgreSQL...
Nire kasuan, web zerbitzari bezala Apache erabiliko dut, zerbitzariaren aldeko lengoaia PHP, eta
DBKS bezala MySQL. Hiru elementu hauek instalatzeko, XAMPP (Windows) eta LAMPP (Linux)
bezalako paketeak daude, baina ez ditut instalatuko, hauen instalazioa ez delako oso sendoa,
horren ordez, elementu bakoitza banan-banan instalatuko dut.
1.1.0.3.1- Apache
Lehenengo, Apache web zerbitzaria instalatuko dut. Horretarako, agindu hau erabili dut:
Tolosaldea TLHI
11
Software eta Hardware librea
apt-get install apache2
Horrela, Apache2 web zerbitzaria instalatu da, eta honek funtzionatzen duela probatzeko, Apache-
ren horri nagusian sartu naiz, web nabigatzailean nire zerbitzariaren helbidea jarriz:
http://192.168.1.30/
Horrela, Apache-ren Index orri nagusian sartu da, beraz, hau ondo dago.
1.1.0.3.2- PHP
Apache instalatu ondoren, PHP lengoaia ulertuko duen modulua instalatu dut, eta honekin
batera, Apache-rekin lotzeko paketeak:
apt-get install php5 libapache2-mod-php5
Horrela, PHP5 eta behar diren liburutegiak instalatu dira.
Ondoren, Apache berrabiarazi dut:
/etc/init.d/apache2 restart
Horrela, aldaketak aplikatu dira.
1.1.0.3.3- MySQL
Azkenik, MySQL datu baseak kudeatzeko sistema instalatu dut, eta Apache eta PHP-rekin
lotzeko paketeak ere:
apt-get install mysql-server libapache2-mod-auth-mysql php5-mysql
Honekin, MySQL DBKS-a instalatu da, eta Apache eta PHP-rekin lotu da.
Azkenik, Apache web zerbitzaria berrabiarazi dut:
/etc/init.d/apache2 restart
Honekin, web aplikazio zerbitzaria erabiltzeko prest dago, baina oraingoz ez dut erabiliko, beraz,
momentuz horrela utziko dut, geroago erabiltzeko.
Horrela, zerbitzaria prest dago posta zerbitzariarekin hasteko.
Tolosaldea TLHI
12
Software eta Hardware librea
1.1.1- DNS
Posta zerbitzari batek, domeinuak erabiltzen ditu mezuen trukaketa egiteko. Hau da, posta
helbide bakoitza, domeinu baten barruan dago.
Adibidez, Hotmail konpainiako posta helbide bat badugu, “adibidea@hotmail.com”, “@”
karakterea arte dagoena izena izango da, erabiltzailearena, eta ondorengoa, domeinua izango da,
kasu honetan, “hotmail.com” domeinua. Beraz, “adibidea” erabiltzailea “hotmail.com”
domeinuaren erabiltzailea izango da, eta ezin dira bi izen berdin egon domeinu berean.
Beraz, posta zerbitzari batek domeinu baten beharra du, eta hori posible izateko, DNS zerbitzaria
behar da aurretik.
DNS zerbitzari batek, IP helbide eta izenen arteko trukaketa egiten du, errazagoa delako domeinu
izenak erabiltzea IP helbideak baino.
Kasu honetan, DNS zerbitzariaren bidez, gure postarako domeinua erregistratuko dugu, beraz, nire
posta zerbitzariak “Soidal” izena duenez, “soidal.net” domeinua sortuko dut.
DNS zerbitzari hau, sare lokalean edo interneten egon daiteke. DNS-a sare lokalean badago, posta
zerbitzariko helbideak bakarrik sare lokal horretan izango dira ezagunak, baina interneten ez,
beraz, Hotmail edo Gmail bezalako posta zerbitzari batetik ezingo ditugu mezuak bidali gurera, eta
beraiek ere ez dituzte gureak onartuko. DNS-a interneten badago berriz, posta zerbitzaria
interneten erabili ahal izango dugu.
Kasu honetan, lehenengo DNS lokala jarriko dut nire zerbitzarian.
Erabiliko dudan DNS zerbitzaria “bind9” izango da, Linux sistema eragilerako.
1.1.1.1- DNS INSTALATU
Bind9 DNS-a instalatzeko, terminalean agindu hau exekutatu dut:
apt-get install bind9
Horrela, ”apt-get” pakete kudeatzailearen bidez bind9 DNS-a instalatu da zerbitzarian.
1.1.1.2- DNS KONFIGURATU
DNS-a instalatu ondoren, konfiguratu egin dut. Bertan, “soidal.net” domeinua sortu dut.
Domeinu honetan, host-ak (ekipoak) eta MX erregistro bat erregistratu ditut.
Bi hauek, nire zerbitzariko IP helbidea izango dute, bertan egongo direlako.
DNS-ko konfigurazio fitxategiak /etc/bind direktorioan daude, beraz, bertako fitxategiak editatu
Tolosaldea TLHI
13
Software eta Hardware librea
ditut.
1.1.1.2.1- Domeinua sortu
Domeinua sortzeko, “named.conf.local” fitxategia editatu dut, “nano” editorearen bidez,
agindu honekin:
nano /etc/named.conf.local
Bertan, domeinua sortzeko, zona berri bat sortu dut, “soidal.net” izenekoa. Horretarako, hau idatzi
dut fitxategian:
Fitxategia gorde dut “Control+o” sakatuz, eta bertatik ateratzeko “Control+x” erabili dut.
Horrela, “soidal.net” zona sortu dut, eta honen konfigurazio fitxategia /etc/bind/db.soidal dela
esan diot, gero sortuko dudana.
Gainera, zona honek master bezala funtzionatzen du, hau da, zona nagusia da.
1.1.1.2.2- Domeinua konfiguratu
Zona berria sortu ondoren, aipatu dudan “db.soidal” DNS konfigurazio fitxategia sortu dut.
Horretarako, “db.local” fitxategia erabili dut, beraz, fitxategi hau direktorio berean kopiatu dut,
baina “db.soidal” izenarekin.
Fitxategia kopiatzeko, “cp” agindua erabili dut:
cp /etc/bind/db.local /etc/bind/db.soidal
Domeinua konfiguratzeko, “db.soidal” fitxategia editatu dut:
nano /etc/bind/db.soidal
Bertan, “soidal.net” domeinua konfiguratu dut, informazio hau gehituz:
Tolosaldea TLHI
14
Software eta Hardware librea
Bertan, “soidal.net” domeinua sortu dut. Domeinu nagusia dela adierazteko, “SOA” jarri dut.
Gainera, domeinuaren ondoren, “.” karakterea jartzen da.
Honen barruan, domeinuari buruzko informazioa konfiguratu dut. Domeinuaren serie zenbakia
“1000” jarri dut, eta hau ezin da berdina izan bi domeinuetan. Gainerako parametroak
defektuzkoak utzi ditut.
NS (Name Server) erregistro bat ere erregistratu dut, “ns.soidal.net”. Honek, DNS adierazten du.
Gainera, “ns” host-a 192.168.1.30 IP helbidean dagoela esan diot, hau da, nire makinan. Host hau
erregistratzeko, “A” erabili dut, honek, host-a dela adierazten du.
MX erregistro bezala “mail.soidal.net” erregistratu dut, eta “mail” host-a ere 192.168.1.30 IP-an
dagoela esan diot. MX erregistro honen lehentasun maila 10 dela ere adierazi dut. Hau erabiltzen
da, MX motako erregistro bat baino gehiago daudenean, adibidez posta zerbitzari bat baino
gehiago badaude, mailarik txikiena duen MX erregistroa erabiltzeko. Beraz, maila txikieneko MX
erregistroak apuntatzen duen posta zerbitzaria erabiliko da defektuz, eta honek ez badu
funtzionatzen, hurrengo MX erregistroak apuntatzen duen posta zerbitzaria erabiliko da.
Azkenik, “www” host-a ere zerbitzariaren IP-an dagoela esan diot, web zerbitzariarena.
1.1.1.2.3- Berbideratzaileak
Nire DNS-an domeinu guztiak ez direnez erregistratuta egongo, berbideratzaile bat gehitu
diot.
Horretarako, “named.conf.options” fitxategia editatu dut:
nano /etc/bind/named.conf.options
Bertan, Google-ren DNS-a gehitu diot, “options” atalean informazio hau jarriz:
Tolosaldea TLHI
15
Software eta Hardware librea
options {
forwarders
{
8.8.8.8;
};
};
Horrela, bezero batek nire DNS-ra jotzen duenean, lehenengo bertan begiratuko da domeinua
ezagutzen duen, eta ez badu ezagutzen, 8.8.8.8 DNS-ra berbideratuko da.
1.1.1.3- DNS BERRABIARAZI
DNS-a instalatu eta konfiguratu ondoren, DNS zerbitzua berrabiarazi dut, aldaketak
aplikatzeko:
/etc/init.t/bind9 restart
Horrela, nire DNS zerbitzua berrabiarazi eta domeinua martxan jarri da.
1.1.1.4- ZERBITZARIAN BERE DNS-a JARRI
DNS-a martxan dugula, gure zerbitzariak hau erabiltzeko, zerbitzariaren sareko
konfigurazioan adieraziko diogu.
Lehenengo, zerbitzariaren DNS-a aldatu dut, bere propioa erabiltzeko, eta ez beste bat.
Horretarako, “resolv.conf” fitxategia editatu dut:
nano /etc/resolv.conf
Bertan, zerbitzariaren IP-a eta domeinua jarri ditut:
nameserver 192.168.1.30
search soidal.net
Tolosaldea TLHI
16
Software eta Hardware librea
Horrela, posta zerbitzariak kanpoko DNS bat erabili ordez, bere DNS propioa erabiliko du.
1.1.1.5- BEZEROETAN ZERBITZARIAREN DNS-a JARRI
Ordenagailu bezeroetan ere, DNS-a aldatu dut, zerbitzariarena jarriz.
Ubuntu bezeroetan, zerbitzariaren berdina egin dut, “resolv.conf” fitxategia editatuz, eta
informazio bera jarriz.
Baina Windows bezeroetan, kontrol paneletik aldatu dut:
Inicio --> Panel de control --> Redes --> Conexión Ipv4 --> Propiedades --> Propiedades
Ipv4
Bertan, zerbitzariaren DNS-a jarri dut:
DNS: 192.168.1.30
Horrela, bezeroetan DNS-a konfiguratuta dago, kanpoko bat erabili ordez, zerbitzariarena
erabiltzeko.
Honekin, DNS-a konfiguratuta eta martxan dago, eta domeinua ere badugu, beraz, DNS-aren atala
bukatuta dago.
1.1.2- MTA
DNS-a sare lokalean instalatu ondoren, MTA (Mail Transfer Agent) edo Korreoa Garraiatzeko
Agentea instalatu dut.
MTA-ak SMTP protokoloaren bidez posta zerbitzari batetik beste posta zerbitzari batera edo berera
korreoa bidaltzen du, hau da, mezua igorletik hartzailera garraiatzen da.
MTA ezberdinak daude: Postfix, Sendmail, Courier...
Nire posta zerbitzarirako, Postfix erabiliko dut.
Tolosaldea TLHI
17
Software eta Hardware librea
1.1.2.1- POSTFIX INSTALATU
Postfix MTA instalatzeko, agindu hau exekutatu dut terminalean:
apt-get install postfix
Horrela, Postfix MTA instalatu eta konfiguratzeko eskatu dit.
1.1.2.2- POSTFIX KONFIGURATU
Postfix instalatzean, konfiguratu egin behar da, gure domeinuaren korreoa tratatzeko.
Beraz, Postfix-en atal ezberdinak konfiguratu ditut:
Korreo konfigurazioa: Interneteko gunea
Korreo sistemaren izena: soidal.net
Administrari eta postmasterrarentzako korreo ontzia: root
Korreoa baimentzeko beste helbideak:
Tolosaldea TLHI
18
Software eta Hardware librea
soidal.net, Ubuntu, localhost.localdomain, localhost
Korreo ilaran eguneraketa sinkronoak indartu? Ez
Sare lokalak:
127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
Procmail erabili entrega lokalerako? Bai
Postontziaren tamaina limitea: 0
Tolosaldea TLHI
19
Software eta Hardware librea
Helbide lokalen hedadura karakterea: +
Erabiltzeko interneteko protokoloak: ipv4
Horrela, Postfix konfiguratu dut nire domeinuari dagokionez. Konfigurazioan ez dut
“mail.soidal.net” MX erregistroa adierazi, “soidal.net” domeinua baizik, baina honek, automatikoki
detektatuko ditu domeinuaren MX erregistroak.
Postfix berriro konfiguratu nahi bada, agindu hau erabili daiteke:
dpkg-reconfigure postfix
Beraz, domeinuan edo DNS-an aldaketaren bat egiten badugu, Postfix berriro konfiguratu ahal
izango dugu.
Tolosaldea TLHI
20
Software eta Hardware librea
1.1.3- KORREOA IRAKURTZEKO PROTOKOLOAK
Erabiltzaileek zerbitzarian dagoen korreoa irakurri ahal izateko, zerbitzaritik mezuak
irakurtzeko edo deskargatzeko protokoloak behar dira. Horretarako, protokolo hauek erabiltzen
dituzten zerbitzuak instalatu ditut.
Lehen esan bezala, korreoa irakurtzeko bi protokolo erabiltzen dira: IMAP eta POP3.
IMAP protokoloak korreoa zerbitzaritik irakurtzen du online, baina
POP3 protokoloak, korreoa deskargatzen du bere makinara, eta zerbitzaritik ezabatzeko aukera du.
Bi hauetatik zein erabiliko den, bezeroak erabilitako korreo bezero aplikazioaren araberakoa da;
Outlook, Gmail, Zimbra Client...
IMAP eta POP3 protokoloentzako erreminta ezberdinak daude: Dovecot
(dovecot-imapd, dovecot-pop3d), Courier (courier-imap, courier-pop3)...
Nik, Dovecot erabiliko dut, beraz, IMAP protokoloarentzako “dovecot-imap” paketea eta POP3
protokoloarentzako “dovecot-pop3” paketeak instalatuko ditut.
1.1.3.1- DOVECOT INSTALATU
Dovecot-en bi pakete hauek instalatzeko, agindu hau exekutatu dut terminalean:
apt-get install dovecot-imapd dovecot-pop3d
Horrela, “dovecot-imapd” eta “dovecot-pop3d” paketeak aldi berean instalatu ditut zerbitzarian.
1.1.3.2- DOVECOT KONFIGURATU
Dovecot instalatu ondoren, konfiguratu egin dut. Horretarako, “dovecot.conf” fitxategia
editatu dut:
nano /etc/dovecot/dovecot.conf
Bertan, bi lerro hauek gehitu ditut:
protocols= pop3 pop3s imap imaps
mail_location= mbox:~/mail:INBOX=/var/mail/%U
Horrela, IMAP eta POP3 protokoloak gaitu ditut, eta erabiltzailearen korreoa /var/mail direktorioan
gordetzeko esan diot, erabiltzailearen izena duen karpetan, “%U” parametroak uneko
erabiltzailea adierazten duelako.
Tolosaldea TLHI
21
Software eta Hardware librea
1.1.3.3- DOVECOT BERRABIARAZI
Dovecot instalatu eta konfiguratu ondoren, Dovecot zerbitzua berrabiarazi dut, aldaketak
aplikatzeko:
/etc/init.d/dovecot restart
Horrela, Dovecot zerbitzua martxan jarri da, eta IMAP eta POP3 protokoloak erabiltzeko aukera
dago nire posta zerbitzarian.
1.1.4- ERABILTZAILEAK SORTU
Posta zerbitzua erabiltzeko, erabiltzaileak sortuta egon behar dira. Erabiltzaile hauek,
zuzenean zerbitzarian lokalki sortu ditzakegu, edo bestela, LDAP zerbitzari bat erabili dezakegu
bertan erabiltzaileak sortzeko. LDAP zerbitzari hau, posta zerbitzari berean edo beste zerbitzari
batean egon daiteke.
Baina praktika honetarako, erabiltzaileak posta zerbitzari lokalean sortuko ditut, LDAP datu-baserik
erabili gabe, ez delako beharrezkoa kasu honetan.
Beraz, bi erabiltzaile sortu ditut posta zerbitzarian, “adduser” aginduarekin. Lehenengo, “user1”
erabiltzailea sortu dut:
adduser user1
Horrela, “user1” erabiltzailearen pasahitza eta izen osoa eskatu dizkit:
Introduzca la nueva contraseña de UNIX: user1
Nombre completo: user1
Ondoren, “user2” erabiltzailea sortu dut:
adduser user2
Kasu honetan, horrela konfiguratu dut:
Introduzca la nueva contraseña de UNIX: user2
Nombre completo: user2
Honekin, “user1” eta “user2” erabiltzaileak sortu dira posta zerbitzarian, eta hauek posta zerbitzua
erabili ahal izango dute.
Tolosaldea TLHI
22
Software eta Hardware librea
1.1.5- TELNET BIDEZ PROBATU
DNS-a instalatuta eta konfiguraturik, MTA instalatuta eta konfiguraturik, korreoa irakurtzeko
protokoloak erabiltzen dituzten zerbitzuak instalaturik eta zerbitzarian erabiltzaileak sorturik
egonda, posta zerbitzua funtzionatzeko prest dago.
Posta zerbitzariak ondo funtzionatzen duela probatzeko, posta bezero bat instalatu aurretik, Telnet
zerbitzuaren bidez probatu dut.
1.1.5.1- KORREOA BIDALI
Lehen esan bezala, korreoa bidaltzeko SMTP protokoloa erabiltzen da. Hau, Telnet
zerbitzuaren 25.portua da.
Telnet zerbitzua, sareko programa bat da, erabilera asko dituena. Portu ezberdinak erabiliz,
erabilera ezberdinak ematen dizkiogu.
Telnet programa, defektuz instalatua dago Windows eta Linux makinetan. Hala ere, bi Telnet
programa daude, bezeroa eta zerbitzaria. Nik, Telnet bezeroaren bidez probatuko dut posta
zerbitzua.
Hala ere, Telnet bidez korreo bat bidaltzean, normalean, posta zerbitzari gehienek mezu hau “nahi
ez ditugunen erretiluan” gordetzen dituzte, jatorria ezin delako ziurtatu.
SMTP protokoloak 25.portua erabiltzen duenez, Telnet programa 25.portuan erabiliko dut.
Beraz, Telnet programaren bidez posta zerbitzura konektatu naiz, eta bertatik, “user1”
erabiltzailearekin “user2” erabiltzaileari korreo bat bidali diot; SMTP protokoloko sintaxia erabiliz.
SMTP protokoloa erabiltzeko sintaxia edo aginduak hauek dira:
HELO --> Zerbitzariari zure domeinua zein den esateko.
Adb: HELO domeinua.net
MAIL FROM: --> Jatorria.Nondik bidaltzen den korreoa. Hau ez da ziurtatzen, beraz, SMTP
protokolo hutsarekin segurtasun falta dago, korreo anonimoak bidali daitezkeelako, hau da,
identitate bat ordeztu dezakegu.
Adb: MAIL FROM: host@domeinua.net
RCPT TO: --> Helbidea. Korreoa norentzako den.
Adb: RCPT TO: host@domeinua.net
Tolosaldea TLHI
23
Software eta Hardware librea
DATA --> Korreoaren gorputza hasteko. Edukia.
Subject: --> Korreoaren gaia.
. --> Korreoaren gorputza bukatzeko. Honekin, behin “Enter” tekla sakatuta, korreoa
bidaltzen.
Esan beharra dago, agindu hauetariko bakoitza exekutatzeko, “Enter” tekla sakatu behar dela.
Beraz, lehenengo terminalean sartu naiz, eta Telnet bidez konektatu naiz “mail.soidal.net”
helbidera 25 portuan. Horretarako, agindu hau erabili dut:
telnet mail.soidal.net 25
Horrela, posta zerbitzarira konektatu naiz. Ikusten den bezala, “mail.soidal.net” helbidea erabili
dut, hau delako posta zerbitzuaren MX erregistroa, hau da, posta zerbitzariaren helbidea da;
192.168.1.30. Gainera, honen ondoren 25 portua jarri dut, aginduaren sintaxiak horrela eskatzen
duelako, portua bukaeran jartzea. Defektuz, 23.portua erabiltzen da, beraz, ezer jarriko ez banu,
23.portua erabiltzen arituko nintzen, eta ez dut hori nahi.
Behin posta zerbitzarian konektatuta, SMTP protokoloaren aginduen bidez “user1”
erabiltzailearekin korreoa bidali diot “user2” erabiltzaileari:
HELO soidal.net
MAIL FROM: user1@soidal.net
RCPT TO: user2@soidal.net
DATA
Subject: Telnet bidez proba
Kaixo user2, hau posta Telnet bidez probatzeko da.
.
Tolosaldea TLHI
24
Software eta Hardware librea
Horrela, lehenengo, posta zerbitzariarekin identifikatu naiz, nire domeinua “soidal.net” dela
adieraziz.
Gero, korreoa “user1@soidal.net” erabiltzaileak bidaltzen duela esan diot. Beraz, hori izango da
helbideak ikusiko duena, baina lehen esan bezala, hau ez da zehatza, SMTP protokoloak ez duelako
probatzen, beraz, edozein jarrita ere, ez du esan nahi egia denik. Hau da, jatorri bezala
“obama@whitehouse.com” jarri dezakegu, eta helbideak hori jasoko zuen. Esan beharra dago,
identitatea ordeztea legez kontrakoa dela, honekin, SMTP protokolo hutsaren segurtasun falta
adierazi nahi dut.
Ondoren, mezua “user2@soidal.net” erabiltzailearentzako dela esan diot.
Gero, korreoaren gorputza idatzi dut, gaia era edukia idatziz.
Azkenik, korreoaren gorputza amaitu dela adierazi dut “.” karakterearen bidez.
Horrela, korreo hori bidali da, eta Telnet zerbitzuaren konexioa ixteko, “quit” agindua erabili dut:
quit
Honekin, korreo hau posta zerbitzarian gorde da, /var/mail/ direktorioko helbidearen fitxategian;
“user2”
Beraz, korreoa ondo gorde dela ikusteko, fitxategi hori ikusi dut:
nano /var/mail/user2
Tolosaldea TLHI
25
Software eta Hardware librea
Bertan, korreoa gordeta geratu dela ikusi dut, beraz, korreoa ondo bidali da.
1.1.5.2- KORREOA IRAKURRI
Posta zerbitzaritik korreoa irakurtzeko, IMAP edo POP3 protokoloak erabiltzen dira.
Beraz, protokolo hauen bidez, lehen bidalitako korreoa irakurri dut.
1.1.5.2.1- IMAP
Lehenengo, IMAP protokoloaren bidez irakurri dut korreoa. IMAP protokoloak, zerbitzarian
dagoen korreoa online irakurtzen du, hau
da, deskargatu gabe.
IMAP protokoloak, 143.portua erabiltzen du, beraz, kasu honetan ere, Telnet bidez posta
zerbitzarira konektatu naiz, baina oraingoan, 143.portua erabiliz, eta IMAP protokoloaren aginduen
bidez irakurri dut korreoa.
IMAP protokoloaren sintaxia hau da:
. LOGIN --> Erabiltzailea logeatzeko.
Adb: . LOGIN erabiltzailea pasahitza
. LIST --> Karpeta edo direktorioak listatzeko.
Adb: . LIST “” “*”
. STATUS --> Korreo kopurua ikusteko.
Adb: . STATUS INBOX (messages) --> Mezu kopuru totala ikusteko.
. STATUS INBOX (unseen) --> Irakurri gabeko mezu kopurua ikusteko.
Tolosaldea TLHI
26
Software eta Hardware librea
. SELECT --> Karpeta aukeratzeko.
Adb: . SELECT INBOX
. FETCH --> Korreoekin lan egiteko. Aukera ezberdinak daude:
. FETCH lehenengoa:azkena FLAGS --> Korreoen zerrenda era
Flag-ak ikusteko.
Adb: . FETCH 1:3 FLAGS
. FETCH korreo_zenb (body[header.fields (subject)]) -->
Korreo konkretu baten gaia ikusteko.
Adb: . FETCH 3 (body[header.fields (subject)])
. FETCH korreo_zenb rfc822.text --> Korreoaren edukia ikusteko.
Adb: . FETCH 3 rfc822.text
. LOGOUT --> Sesioa ixteko.
Ikusten den bezala, IMAP protokoloaren aginduak ez dira SMTP protokoloaren aginduak bezala,
sintaxia ezberdina da. Gainera, agindu bakoitzaren aurretik “.” karakterea eta hutsune bat jarri
behar da. Kasu honetan, erabiltzailearekin logeatu beharko gara, eta pasahitza behar dugu, beraz,
beste baten kontuan sartzea ez da hain erraza.
Beraz, lehenengo Telnet bidez konektatu naiz posta zerbitzarira, 143.portua erabiliz:
telnet mail.soidal.net 143
Ikusten denez, agindua aurrekoa bezalakoa da, aldatzen den gauza bakarra portua da, baina hau
oso garrantzitsua da, honek adierazten duelako zein protokolo erabiltzen dugun.
Horrela, posta zerbitzarian konektatu naiz IMAP protokoloaren bidez, eta korreoa irakurtzeko,
IMAP protokoloaren sintaxia erabili beharko dut.
Beraz, lehen bidalitako korreoa irakurtzeko, “user2” erabiltzailearekin logeatu naiz, eta 12.korreoa
irakurri dut:
. LOGIN user2 user2
. LIST “” “*”
. STATUS INBOX (messages) --> 12
. STATUS INBOX (unseen) --> 1
Tolosaldea TLHI
27
Software eta Hardware librea
. SELECT INBOX
. FETCH 12 (body [header.fields (subject)])
. FETCH 12 rfc822.text
. LOGOUT
Horrela, “user1” erabiltzaileak bidalitako korreoa irakurri dut posta zerbitzarian.
Lehenengo, “user2” erabiltzailearekin logeatu naiz bere pasahitza erabiliz. Horrela, ondo sartu da.
Tolosaldea TLHI
28
Software eta Hardware librea
Gero, karpetak listatu ditut, eta ondoren, “INBOX” karpetako (mezuen erretilua) irakurri gabeko
mezuen kopurua listatu dut, eta guztira 12 mezu daudela erantzun dit. Gainera, irakurri gabeko
mezuen kopurua ere ikusi dut, eta mezu bat dago irakurri gabe.
Ondoren, INBOX karpeta aukeratu dut, hau da, mezuen kutxatila.
Beraz, “user1” erabiltzailearen korreoa 12.a denez, 12.korreoaren gaia irakurri dut, eta mezua ere
irakurri dut.
Azkenik, “user2” erabiltzailearen saioa itxi dut, eta Telnet konexioa itxi.
Honekin, posta zerbitzariak ondo funtzionatzen duela frogatu dut, korreoa ondo bidali eta irakurri
daitekeelako.
1.1.5.2.2- POP3
POP3 protokoloak, IMAP-ek ez bezala, posta zerbitzaritik deskargatzen du korreoa, eta gero,
mezu hau zerbitzaritik ezabatzeko aukera dago.
POP3 protokoloak, 110.portua erabiltzen du, eta honen sintaxiak, IMAP protokoloaren antzeko
egitura du, baina aginduak ezberdinak dira.
POP3 protokoloaren sintaxia hau da:
USER --> Erabiltzailea.
Adb: USER erabiltzailea
PASS --> Erabiltzailearen pasahitza.
Adb: PASS pasahitza
STAT --> Korreo kopurua ikusteko.
LIST --> Korreoak listatzeko; kopurua + tamaina.
RETR --> Korreo konkretu irakurtzeko.
Adb: RETR korreo_zenb
DELE --> Korreo konkretu bat ezabatzeko. Mezua markatzen du, eta sesioa ixtean ezabatzen
da.
Adb: DELE korreo_zenb
QUIT --> Erabiltzailearen sesioa ixteko.
Tolosaldea TLHI
29
Software eta Hardware librea
Beraz, Telnet zerbitzuaren bidez posta zerbitzarira konektatu naiz
110.portua erabiliz:
telnet mail.soidal.net 110
Horrela, posta zerbitzarira konektatu naiz, eta “user1” erabiltzaileak “user2” erabiltzaileari
bidalitako korreoa irakurri dut, agindu hauek erabiliz:
USER user2
PASS user2
LIST
RETR 11
DELE 11
QUIT
Honekin, lehenengo “user2” erabiltzailearekin logeatu naiz, bere pasahitza sartuz.
Gero, korreo kopurua listatu dut, eta 11 daudela erantzun dit.
Ondoren, 11.mezua irakurri dut, eta “user1” erabiltzaileak bidalitakoa da.
Tolosaldea TLHI
30
Software eta Hardware librea
Bukatzeko, 11.mezua posta zerbitzaritik ezabatu dut, eta “user2” erabiltzailearen sesioa itxi dut.
Honekin, posta zerbitzariak ondo funtzionatzen duela ziurtatu dut, eta korreoa irakurtzeko bi
protokoloek ondo funtzionatzen dutela.
1.1.6- POSTA BEZEROA
Posta zerbitzariak ondo funtzionatzen duela probatu dut, SMTP, IMAP eta POP3 protokoloak
Telnet bidez erabiliz korreoak bidali eta irakurri ahal izan ditudalako.
Hau, posta zerbitzaria probatzeko egin dut, baina gero, erabiltzaileek posta bezero bat erabiliko
dute korreoa bidali eta irakurtzeko, Telnet bidez egitea oso astuna delako erabiltzaileentzako.
Posta bezeroak web aplikazioak edo aplikazio lokalak izan daitezke. Web aplikazioak ez dira
instalatu behar, eta web nabigatzaile bidez atzitzen dira. Hauek, bakarrik zerbitzarian instalatzen
dira.
Aplikazio lokalak berriz, ordenagailu bezero bakoitzean instalatu behar dira.
Nik, web aplikazioa erabiliko dut, sinpleagoa eta erosoagoa delako posta bezeroa nire posta
zerbitzarian bakarrik instalatzea, bezero bakoitzean instalatu behar izatea baino.
Posta bezero ezberdinak daude; Squirrelmail, Zimbra Client, Mozilla Thunderbird...
Nire kasuan, Squirrelmail posta bezeroa erabiliko dut. Squirrelmail PHP lengoaian programatutako
kode askeko webmail aplikazio bat da. Honek funtzionatu ahal izateko, PHP soportea duen posta
zerbitzaria behar da, eta gainera, SMTP eta IMAP zerbitzariak behar ditu. Nire posta zerbitzariak
ezaugarri hauek betetzen dituenez, erabiltzeko aukera dut.
1.1.6.1- SQUIRRELMAIL INSTALATU
Squirrelmail posta bezeroa instalatzeko, agindu hau erabili dut:
apt-get install squirrelmail
Horrela, Squirrelmail posta bezeroa instalatu da nire posta zerbitzarian, baina erabiltzen hasi
Tolosaldea TLHI
31
Software eta Hardware librea
aurretik, konfiguratu egingo dut.
1.1.6.2- SQUIRRELMAIL KONFIGURATU
Squirrelmail posta bezeroak nire posta zerbitzaria erabili ahal izateko, konfiguratu egin
behar da.
Honek, bi era ditu konfiguratzeko; alde batetik, /etc/squirrelmail/ direktorioko “config.php”
fitxategia editatu dezakegu eskuz, edo bestela, “squirrelmail configure” script-a erabiliz. Script hau,
Squirrelmail instalatzean sortzen da, eta Squirrelmail konfiguratzeko testu bidezko asistente erraz
bat erakutsiko digu.
Nik, Squirrelmail “config.php” fitxategia editatuz konfiguratu dut, beraz, agindu hau erabili dut:
nano /etc/squirrelmail/config.php
Bertan, lerro batzuk editatu ditut, nire domeinua jartzeko, eta posta zerbitzariaren ezaugarri
orokorrak jartzeko.
$org_name=”Soidal”; #Elkarte izena
$org_title=”Soidal Posta”; #Titulua
$provider_uri='http://www.soidal.net'; #Hornitzailearen helbidea
$provider_name='Soidal'; #Hornitzailearen izena
$squirrelmail_default_language=”es_ES”; #Hizkuntza; Erdara
$domain='soidal.net'; #Domeinua
$trash_folder='INBOX.Zakarrontzia'; #Zakarrontzia karpeta
$sent_folder='INBOX.Bidaliak'; #Bidalitakoen karpeta
$draft_folder='INBOX.Borradoreak'; #Zirriborroen karpeta
Aldaketak egindakoan, fitxategia gorde dut “Control+o” tekla sakatuz, eta fitxategia itxi dut
“Control+x”-rekin.
Aldaketa hauek aplikatzeko, Apache web zerbitzaria berrabiarazi dut:
/etc/init.d/apache2 restart
Horrela, Apache berrabiarazi eta Squirrelmail konfiguratuta geratu da.
Tolosaldea TLHI
32
Software eta Hardware librea
Hala ere, hizkuntza ez da aldatu ingeleratik erdarara.
1.1.6.3- SQUIRRELMAIL PROBATU
Squirrelmail posta bezeroa probatzeko, web nabigatzaile bidez sartu naiz web aplikazioan,
posta zerbitzariaren helbidea jarriz:
http://mail.soidal.net/mail
Ikusten den bezala, DNS-ko MX erregistroa erabili dut, zerbitzariaren IP helbidearen ordez, eta
“mail” gehitu dut bukaeran, Squirrelmail posta bezeroan sartzeko.
Horrela, Squirrelmail posta bezeroaren logeatzeko orria agertu zait.
1.1.6.3.1- Korreoa bidali
Lehenengo, “user1” erabiltzailearekin “user2” erabiltzaileari mezu bat bidaliko diot, beraz,
“user1” erabiltzailearekin hasi dut saioa:
Name: user1
Password: user1
“Login” sakatu eta logeatu egin naiz.
Bertan, “user2@soidal.net” erabiltzaileari korreoa bidaltzeko, “Compose” sakatu dut, eta korreoa
idatzi dut:
To: user2@soidal.net
Subject: Kaixo user2!
Kaixo, hau proba bat da.
Tolosaldea TLHI
33
Software eta Hardware librea
“Send” sakatu eta mezua bidali da.
Azkenik, “user1” erabiltzailearen saioa ixteko, “Sign out” sakatu dut.
1.1.6.3.2- Korreoa irakurri
Orain bidalitako korreoa irakurtzeko, “user2” erabiltzailearekin logeatu naiz Squirrelmail
posta bezeroan:
Name: user2
Password: user2
Horrela, “user2” erabiltzailearen kontuan sartzean, “user1@soidal.net” erabiltzailearen korreoa
ikusi dut, eta honen gainean klik eginez, irakurri egin ahal izan dut.
Tolosaldea TLHI
34
Software eta Hardware librea
Beraz, Squirrelmail posta bezeroak ondo funtzionatzen du, mezuak ondo bidaltzen eta irakurtzen
dituelako.
1.1.7- POSTA BEZERO PROPIOA
Orain arte posta bezero bezala, Squirrelmail web aplikazioa erabili dut, baina hau, ez dut nik
egin, beste norbaitek programatu du, eta software askea denez, nik ere erabili dezaket.
Baina orain, nik egingo dut nire posta bezero propioa. Hau ere, web aplikazio bat izango da, eta
hiru programazio lengoai erabiliz eginda egongo da:
• HTML: Posta bezeroaren web orrirako.
• CSS: Web orriari itxura emateko.
• PHP: Bezeroarekin elkar eragina izateko. Honekin, posta mezuak irakurri eta bidali ahal
izango dira, posta zerbitzariarekin komunikatuz.
Posta bezeroaren interfazea sinplea izango da, bi atal egongo dira; batean erabiltzaileak mezua
bidaltzeko aukera izango du, bere korreo helbidea, hartzailearena, mezuaren gaia eta mezuaren
gorputza adieraziz, eta beste atalean, erabiltzaileak korreoa irakurtzeko aukera izango du, bere
korreoa, pasahitza eta korreo zenbakia adieraziz.
1.1.7.1- HTML
HTML lengoaiaren bidez, web orriaren interfazea diseinatu dut, bi atalak banatuz. HMTL
orri nagusiak, “index.php” izena du, eta hau /etc/var/www/posta direktorioaren barruan sortu dut.
Beraz, bi formulario sortu ditut, bat korreoa bidaltzeko eta bestea korreoa irakurtzeko. Formulario
hauetako bakoitza, PHP orri batekin lotuta dago; “korreoa_bidali.php” eta “korreoa_ikusi.php”.
Beraz, posta zerbitzuaren erabiltzaileak formulario hauetako bakoitzean datuak sartzean, “Bidali”
sakatu ondoren datu hauek PHP orrietara bidaliko dira, eta bertan tratatuko dira, posta zerbitzarira
bidaliz.
Tolosaldea TLHI
35
Software eta Hardware librea
“index.html” orriaren kodea hau da:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> Soidal posta </title>
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8" />
<link rel="stylesheet" type="text/css" href="estiloa.css" />
</head>
<body>
<table class="taula"> <!-- 2 zutabeko taula; korreoa irakurtzea eta korreoa bidaltzea
banatzeko -->
<tr> <!-- Lehenengo lerroa -->
<td id="td_logoa">
<a href="index.html"> <img src="irudiak/posta.gif" id="logoa" alt="Logoa" /> </a>
</td>
<td id="td_titulua">
<font id="titulua"> Soidal Posta </font> <!-- Izenburua -->
</td>
</tr>
</table>
<table class="taula">
<tr> <!-- Bigarren lerroa -->
Tolosaldea TLHI
36
Software eta Hardware librea
<td> <!-- Korreoa irakurtzeko zutabea -->
<form action="korreoa_ikusi.php" method="post">
<p> Sartu erabiltzailea eta pasahitza korreoa ikusteko </p>
<p>
Erabiltzailea
<input type="text" name="erabiltzailea" /> <br />
Pasahitza
<input type="password" name="pasahitza" /> <br />
Korreo zenbakia
<input type="number" name="korreoa" />
</p>
<input type="submit" value="Ikusi" />
</form>
</td>
<td> <!-- Korreoa bidaltzeko zutabea -->
<form action="korreoa_bidali.php" method="post">
<p> Mezua bidali </p>
<p>
Norena
<input type="text" name="norena" /> <br />
Norentzako
<input type="text" name="norentzako" /> <br />
Gaia
Tolosaldea TLHI
37
Software eta Hardware librea
<input type="text" name="gaia" /> <br />
Mezua
<input type="text" name="mezua" />
</p>
<input type="submit" value="Bidali" />
</form>
</td>
</tr>
</table>
</body>
</html>
Ikusten den bezala, bi taula daude, bat izenburu eta logoarentzako eta bestea korreorako.
Korreoaren taulan, bi zutabe daude. Ezkerreko zutabean korreoa irakurtzeko formularioa dago, eta
erabiltzaile baten korreoa irakurri ahal izango dugu. Eskuinekoan berriz, korreoa bidaltzeko
formularioa dago, beste erabiltzaile bati mezu bat bidaltzeko.
1.1.7.2- CSS
CSS lengoaiaren bidez, HTML orriari itxura eman diot; kolorea, letra mota, tamaina...
Sortu dudan CSS orria “estiloa.css” da, eta HTML orrian adierazi dut honen helbidea.
Horrela, HTML orrian edukia eta itxura banatu ditut, eta aurrerago, itxura aldatu nahi badut,
nahikoa izango da CSS orria aldatzearekin.
“estiloa.css” orriaren kodea hau da:
body {background-color:lightblue;
color:blue;
font-size:18px;
font-family:Courier;
font-weight:bold;
Tolosaldea TLHI
38
Software eta Hardware librea
text-align:center;}
#logoa {height:140px;
width:140px;}
#titulua {color:red;
font-size:80px;
font-weight:bold;
font-style:italic;}
.taula {border:0px;
width:1250px;}
#td_logoa {width:180px;}
#td_titulua {width:1070;}
Kode honen bidez, HTML orriari itsura ematen diogu, adibidez, fondo urdina, letra tamaina… Taula
eta zutabeei ere itsura ematen die.
1.1.7.1- PHP
Esan dudan bezala, bi PHP orri sortu ditut, bat korreoa bidaltzeko “korreoa_bidali.php” eta
bestea korreoa irakurtzeko korreoa_irakurri.php”.
Horrela, erabiltzaileak korreoa bidaltzeko ataleko formularioan datuak sartzen baditu, informazio
hau “korreoa_bidali.php” orriak tratatuko du, eta korreoa irakurtzeko formularioan sartuz gero,
“korreoa_irakurri.php” orriak tratatuko du.
Beraz, PHP lengoaiaren bidez erabiltzaileak sartutako datuak jaso eta posta zerbitzarira bidali ditut.
PHP lengoaiak baditu funtzio berezi batzuk korreoa bidali eta jasotzeko, baina nik, Telnet
zerbitzuaren bidez egin dut, sistemako aginduen bidez. Hau da, lehen, Telnet bidez korreoa
irakurtzen eta bidaltzen ikasi dut, baina interfaze grafikorik gabe, eta hori erabiltzailearentzako ez
da erosoa, baina orain, hau interfaze grafikora pasatuko dut. Horrela, erabiltzaileak bidalitako
informazioa jaso eta sistemarekin komunikatuko naiz, Telnet zerbitzuarekin, horrela, informazio
hau Telnet zerbitzuaren
bidez posta zerbitzariarekin komunikatzeko erabiliko dut.
Beraz, korreoa bidaltzeko SMTP protokoloa erabiliko dut, eta korreoa irakurtzeko POP3 protokoloa.
Horrek esan nahi du, erabiltzailearen korreoa bidaltzeko, Telnet zerbitzua 143.portuan erabiliko
dudala, eta korreoa irakurtzeko 110.portua.
“korreoa_bidali.php” orriaren kodea hau da:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Tolosaldea TLHI
39
Software eta Hardware librea
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> Korreoa bidali </title>
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8" />
<link rel="stylesheet" type="text/css" href="estiloa.css" />
</head>
<body>
<?php
//Sartutako datuak irakurri
$norena=$_POST['norena'];
$norentzako=$_POST['norentzako'];
$gaia=$_POST['gaia'];
$mezua=$_POST['mezua'];
//Korreoa bidali
$fp=fsockopen("soidal.no-ip.org", 25, $errno, $errstr, 30);
if($fp){
echo 'Konektatua!<br>';
$helo="HELO soidal.no-ip.orgrn";
$from="MAIL FROM: ".$norena."rn";
$rcpt="RCPT TO: ".$norentzako."rn";
$data="DATArn";
$subject="SUBJECT: ".$gaia."rn";
$mezua=$mezua."rn";
$puntua=".rn";
$quit="QUITrn";
$he=fwrite($fp, $helo, strlen($helo));
$fr=fwrite($fp, $from, strlen($from));
$rc=fwrite($fp, $rcpt, strlen($rcpt));
Tolosaldea TLHI
40
Software eta Hardware librea
$da=fwrite($fp, $data, strlen($data));
$su=fwrite($fp, $subject, strlen($subject));
$me=fwrite($fp, $mezua, strlen($mezua));
$pu=fwrite($fp, $puntua, strlen($puntua));
$qu=fwrite($fp, $quit, strlen($quit));
echo $norena." zure mezua ondo bidali zaio ".$norentzako." -ri!";
echo '<p> <a href="index.html"> Soidal-era bueltatu </a> <p>';
}
else{
echo 'Konexioak huts egin du!<br>';
}
fclose($fp);
?>
</body>
</html>
Ikusten den bezala, PHP barruan, kontsolako aginduak erabiltzen dira, eta honen bidez, posta
zerbitzariarekin konexioa ireki dut, SMTP protokoloan, 25.portuan, eta Telnet aginduak bidaliz,
korreoa bidaltzen da.
“korreoa_ikusi.php” orriaren kodea hau da:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> Korreoa ikusi </title>
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8" />
<link rel="stylesheet" type="text/css" href="estiloa.css" />
</head>
Tolosaldea TLHI
41
Software eta Hardware librea
<body>
<?php
//Sartutako datuak irakurri
$erabiltzailea=$_POST['erabiltzailea'];
$pasahitza=$_POST['pasahitza'];
$korreoa=$_POST['korreoa'];
$fp=fsockopen("soidal.no-ip.org", 110, $errno, $errstr, 30);
if($fp){
echo 'Konektatua!<br>';
$username="USER ".$erabiltzailea."rn";
$password="PASS ".$pasahitza."rn";
$us=fwrite($fp, $username, strlen($username));
$ur=fgets($fp);
//echo 'Erabiltzailea bidali da: '.$ur.'<br>';
$ps=fwrite($fp, $password, strlen($password));
$pr=fgets($fp);
//echo 'Pasahitza bidali da: '.$pr.'<br>';
$res=fgets($fp);
$parts=explode(" ", $res);
//echo $parts[4].' mezu zerbitzarian<br><br>';
$cmd="LISTrn";
$get=fwrite($fp, $cmd, strlen($cmd));
$msg=fread($fp, 8192);
//echo '<pre>'.$msg.'</pre>';
$cmd="RETR ".$korreoa."rn"; //Erabiltzaileak sartutako korreo zenbakia irakurtzen da
$get=fwrite($fp, $cmd, strlen($cmd));
$msg=fread($fp, 8192);
echo '<pre>'.$msg.'</pre>';
echo '<p> <a href="index.html"> Soidal-era bueltatu </font> </a> <p>';
}
else{
echo 'Konexioak huts egin du!<br>';
}
fclose($fp);
Tolosaldea TLHI
42
Software eta Hardware librea
?>
</body>
</html>
Kasu honetan ere, kontsolako aginduen bidez posta zerbitzarirako konexioa ireki dut, baina kasu
honetan, POP3 protokoloaren bidez, 110.portutik. Gero, POP3 protokoloaren sintaxia erabiliz,
Telnet-eko aginduekin erabiltzailearen mezuak irakurri daitezke.
1.2- POSTA INTERNETEN
Orain arteko posta zerbitzariak bakarrik nire sare lokalean funtzionatzen du. Baina
hemendik aurrera, posta zerbitzaria interneten atzigarri egotea nahi dut.
Horretarako, bi era daude; eskuz konfiguratzea (NAT+IP finkoa+Domeinua) edo domeinu dinamiko
bat erabiltzea (No-IP, DynDNS, erositakoa...).
Eskuz eginez gero, NAT erregela batzuk definitu behar dira routerrean, nire IP publikoa posta
zerbitzariaren IP pribatura bideratzeko. Gainera, bideraketa ezberdinak egin behar dira, posta
zerbitzariak erabiltzen dituen zerbitzu guztientzako.
Gero, IP publiko hau aldatu egiten denez, No-IP bezalako zerbitzua erabili behar da, nire IP publikoa
aldatzen denean, hau eguneratzeko.
Azkenik, domeinu publiko bat behar da, IP publikora apuntatzeko, hau da, DNS lokalean
definitutako domeinu lokalak ez du balio, lehen esan dugun bezala, domeinu lokala ez delako
atzigarria interneten, ez delako ezaguna nire sare lokaletik kanpo. Beraz, domeinu hau interneten
atzigarri dagoen DNS zerbitzari batean erregistratuta egon beharko da. Bertan, posta zerbitzarira
apuntatzen duen MX erregistroa ere definituko dut.
Domeinua interneteko web gune batean erostean, bideraketa guztiak ere egiten dira, baina berak
egiten du automatikoki.
Nire kasuan, No-IP zerbitzua erabiliko dut nire domeinua erregistratzeko.
1.2.1- NO-IP
Normalean, gure etxeko IP publikoa (gure interneteko zerbitzariak emandakoa; Telefonica,
Tolosaldea TLHI
43
Software eta Hardware librea
Ono...) dinamikoa izaten da, hau da, denborarekin aldatu egiten da.
Baina zerbitzari bateko IP publikoa, estatikoa izatea komeni da, bestela, IP hau domeinuarekin
lotzean, IP-a aldatzean, domeinuak ez du funtzionatuko.
IP publikoa estatikoa izateko, ordaindu egin behar da, baina horren ordez, DNS dinamiko bat
erabiliko dut. Horretarako, esan dudan bezala, No-IP zerbitzua aukeratu dut.
No-IP zerbitzua, DNS dinamikoa eskaintzen duen dohaineko zerbitzua da.
Honen bidez, nire IP publikoa erregistratuko dut bertako domeinuaren barruan (no-ip.org), hau da,
“no-ip.org” domeinuaren azpi-domeinu bat izango da, eta aurrerago, IP-a aldatzen bada, honek
automatikoki eguneratuko du, beraz, ez dut eskuz egin behar aldi bakoitzean.
Horrela, No-IP-rekin, bi gauza lortuko ditut; domeinu izen bat eta DNS dinamikoa.
Lehenengo, No-IP zerbitzuan domeinua sortuko dut, kontu bat sortuz, eta gero Ubuntu
zerbitzarian, No-IP zerbitzuaren bezeroa instalatuko dut.
1.2.1.1- NO-IP KONTUA SORTU
Lehenengo, No-IP-ko kontu bat sortu dut. Horretarako, No-IP-ren web orrian sartu naiz:
http://www.no-ip.org
Bertan, kontua sortzeko:
Sign Up --> Create Your No-IP Account
Horrela, nire kontua konfiguratu dut:
Username: erikdiez
Email: erikantton@hotmail.com
Password: ******
Bertan, “Hostname” atalean, “Create my hostname later” aukeratu dut, horrela, nire host izena
gero sortuko dut.
Honekin, nire kontu berria sortu dut No-IP zerbitzuan.
Tolosaldea TLHI
44
Software eta Hardware librea
1.2.1.2- Host-a sortu
Lehenengo, nire host nagusi bat sortu dut. Horretarako, host-en atalean sartu naiz:
Hosts/Redirects --> Hostname Information
Bertan, sortuko dudan host berriaren informazioa sartu dut:
Host izena: soidal.no-ip.org
Host mota: DNS Host (A)
IP Helbidea: 79.155.20.48
“Add host” sakatu eta host-a erregistratu da.
1.2.1.3- MX erregistroa sortu
Aurretik aipatu bezala, MX erregistro bat posta zerbitzaria apuntatzen duen erregistro bat
da. Lehen, nire DNS lokalean sortu dut, baina orain, No-IP zerbitzuan sortuko dut, nire host-arekin
batera.
MX erregistroa sortzeko:
Hosts/Redirects --> Mail Options
Bertan, MX erregistroa eta honen lehentasuna konfiguratu dut:
MX Erregistroa: mail.soidal
MX Lehentasuna: 5
Tolosaldea TLHI
45
Software eta Hardware librea
“Add host” sakatu eta MX erregistroa gehitu da. Honek, 5-eko lehentasuna du, baina kasu honetan,
MX erregistro bakarra dagoenez, ez du inporta. Baina aurrerago beste posta zerbitzari batentzako
MX erregistro bat erregistratuko banu, 10-eko lehentasuna jarriko nion, horrela, lehenengo 5-eko
lehentasuneko posta zerbitzaria erabiliko da, baina honek arazoren bat izanez gero, 10-eko
lehentasuneko MX erregistroak apuntatzen duen posta zerbitzaria erabiliko da.
Horrela, No-IP zerbitzuan kontu bat sortu dut, eta bertan nire host-a erregistratu dut, eta host
honek nire IP publikora apuntatzen duenez, web nabigatzailean “soidal.no-ip.org” helbidea jarrita,
nire makinan sartuko da, nire IP publikoa jarri behar izan gabe.
Beraz, web nabigatzaile bidez nire web zerbitzariko web orria ikusteko, web nabigatzailean helbide
hau jarri beharko da:
http://soidal.no-ip.org
Eta posta zerbitzarian sartzeko:
http://soidal.no-ip.org/mail
Hala ere, nire IP publikoa aldatzen bada, host honek ez du funtzionatuko, beraz, hau automatikoki
eguneratzeko, No-IP DUC programa erabiliko dut.
Tolosaldea TLHI
46
Software eta Hardware librea
1.2.1.4- NO-IP DUC
No-IP DUC (Dynamic DNS Update Client) programa, DNS dinamikoa eguneratzeko programa
bezeroa da.
Hau, nire posta zerbitzariaren ordenagailuan instalatuko dut, eta horrela, nire IP publikoa aldatzen
bada, nire host-aren IP helbidea eguneratuko da.
1.2.1.4.1- Deskargatu eta instalatu
No-IP DUC programa nire Ubuntu zerbitzarian instalatuko dut, beraz, Linux-erako bertsioa
deskargatu dut terminaletik, agindu hauek erabiliz:
cd /usr/local/src/
wget http://www.noip.com/client/linux/noip-duc-linux.tar.gz
tar xf noip-duc-linux.tar.gz
cd noip-2.1.9-1/
make install
Horrela, No-IP DUC programaren paketea deskargatu dut eta ondoren paketea erauzi dut. Azkenik,
instalatu egin dut.
1.2.1.4.2- Konfiguratu
No-IP DUC programa instalatzearekin batera, nire No-IP-ko kontu eta host-arekin
konfiguratu dut, zuzenean atera zaidanarekin:
Please enter the login/email string for noip.com: erikantton@hotmail.com
Please enter the password for user 'erikantton@hotmail.com': ******
Please enter an update interval: [30] 30
Do you wish to run something at successful update? [N] (Y/N) N
Horrela, No-IP DUC programa instalatu dut, eta “soidal.no-ip.org” host-arekin lotu da
automatikoki, host hori bakarrik dagoelako lotuta nire kontura, eta host hau 30-eko interbalo batez
eguneratuko da.
Gainera, “no-ip2.conf” konfigurazio fitxategia sortu da:
/usr/local/etc/no-ip2.conf
Tolosaldea TLHI
47
Software eta Hardware librea
Horrez gain, No-IP DUC bezeroa aurrerago konfiguratu nahi bada, agindu hau exekutatu daiteke
terminalean:
/usr/local/bin/noip2 -C
1.2.1.4.3- Exekutatu
No-IP DUC programa exekutatzeko, agindu hau exekutatu dut terminalean:
/usr/local/bin/noip2
Horrela, No-IP DUC programa martxan jarri da atzeko plano batean, eta “soidal.no-ip.org” host-
aren IP-a eguneratzen arituko da hemendik aurrera.
1.2.2- PORTUEN BERBIDERAKETA
“soidal.no-ip.org” host-ak, nire routerraren IP publikora apuntatzen du, hau da, ez du nire
ordenagailuaren IP pribatura apuntatzen, beraz, posta zerbitzaria oraindik ez dago atzigarri
internetetik.
Nire routerrean NAT sistema erabiltzen dut, sare lokaleko ordenagailu guztiek IP publiko bera
erabili ahal izateko, beraz, NAT erregela batzuen bidez egingo dut.
NAT erregelak, NAT sisteman portuen berbideraketa egiteko erabiltzen diren erregelak dira, IP
helbide eta portu bat beste IP
helbide eta portu batera bideratzeko. Kasu honetan, nire IP publikotik IP pribatura egingo ditut
bideraketak.
Beraz, lau zerbitzuentzako portuak berbideratu ditut:
Web (80), SMTP (25), IMAP (143), POP3 (110)
80.portua, Squirrelmail posta bezeroan sartzeko behar dut, web zerbitzarian dagoen web
aplikazioa delako. 25.portua korreoa bidaltzeko behar dut, eta 143 eta 110 portuak korreoa
irakurtzeko.
Hau egiteko, routerraren administrazio panelean sartu naiz; web nabigatzailean ate-bidearen
helbidea jarriz, eta 8000.portua erabiliz:
http://192.168.1.1:8000
Bertan, logeatu egin naiz:
User: 1234
Tolosaldea TLHI
48
Software eta Hardware librea
Password: ********
Administrazio panelean egonda, portuen berbideraketaren atalean sartu naiz:
Advanced --> Port Forwarding
Bertan, lau zerbitzuen portuak bideratu ditut nire zerbitzariaren IP helbide pribatura; 192.168.1.30.
Horretarako, “Add” sakatu eta bideraketa erregela berria egin dut:
WAN Konexioak: PVC:8/36
Zerbitzua: Web Server (HTTP)
IP Helbidea (Host izena): 192.168.1.30
Gero, sarrera eta irteerako portuak eta protokoloa aukeratu ditut:
Kanpoko Hasierako Portua: 80
Kanpoko Bukaerako Portua: 80
Protokoloa: TCP
Barruko Hasierako Portua: 80
Barruko Bukaerako Portua: 80
Ikusten den bezala, sarrerako portua 80.a da, Apache Web zerbitzariak erabiltzen duena, beraz,
erabiltzaileek 80.portua erabiliko dute Squirrelmail posta bezeroan sartzeko, hau da, ez dute
portua adierazi behar, hau defektuzkoa delako. Portu honen irteera, 80.a da, hau da, portu bera.
Irteerako portua, kasu honetan 80.a izan behar da, Apache Web zerbitzariak erabiltzen duelako,
ezin dut nahi dudana jarri (ez badut Apache-tik aldatzen), baina sarrerako portua, nahi dudana
erabili dezaket, eta ezberdina jarriz gero, nire zerbitzariak benetaz erabiltzen duen portua
Tolosaldea TLHI
49
Software eta Hardware librea
ezkutatzea lortuko nuke, baina kasu honetan, ez dut hori egingo, bestela, erabiltzaileek portua
adierazi beharko zuten
nire web orrira sartzeko.
“Apply” sakatu eta 80.portuaren (Web zerbitzaria) erregela berria gehitu da.
Ondoren, berdina egin dut beste portuekin. Beraz, horrela geratu da:
Horrela, posta zerbitzariak erabiltzen dituen zerbitzu guztien portuak berbideratu ditut nire IP
publikotik zerbitzariaren IP pribatura.
Honekin, nire posta zerbitzari martxan dago, eta internetetik atzigarri dago, beraz, edozein
saretatik erabili daiteke.
Baina posta zerbitzurako erabiltzen DNS-a, zerbitzariaren DNS lokalekoa da, non “soidal.net”
domeinua dagoen.
Beraz, posta zerbitzari honek bakarrik domeinu horretarako funtzionatuko du, hau da, ezingo da
korreoa bidali beste posta zerbitzari batzuetara (Hotmail, Gmail...), ezta beste posta zerbitzarietatik
korreoa jaso, hauek ez dutelako “soidal.net” domeinua ezagutzen, ezta “mail.soidal.net” MX
erregistroa ere.
Beraz, hau konpontzeko, Postfix posta zerbitzaria eta Squirrelmail bezeroa berriro konfiguratu
beharko ditut, No-IP zerbitzuan sortutako host eta MX erregistroarekin.
1.2.3- POSTFIX REKONFIGURATU
Postfix posta zerbitzaria berriro konfiguratzeko, agindu hau exekutatu dut terminalean:
dpkg-reconfigure postfix
Bertan, Postfix aurreko aldian bezala konfiguratu dut, baina domeinua eta MX erregistroa aldatuz,
eta No-IP zerbitzuan sortutakoak erabiliz; “soidal.no-ip.org”:
Nombre del sistema de correo: soidal.no-ip.org
Otros destinos para los cuales aceptar correo:
Tolosaldea TLHI
50
Software eta Hardware librea
soidal.no-ip.org, Ubuntu, localhost.localdomain, localhost, hotmail.com, gmail.com
Horrela, Postfix errekonfiguratu dut, nire No-IP-ko host berria erabiliz.
1.2.4- SQUIRRELMAIL REKONFIGURATU
Squirrelmail posta bezeroa ere berriro konfiguratu dut No-IP-ko host berriaren arabera,
agindu honekin:
nano /etc/squirrelmail/config.php
Bertan, aldaketa hauek egin ditut:
$provider_uri='http://soidal.no-ip.org/';
$domain='soidal.no-ip.org';
Hau egin ondoren, Apache web zerbitzaria berrabiarazi dut:
/etc/init.d/apache2 restart
Horrela, Apache web zerbitzaria berrabiarazi eta Squirrelmail bezeroa eguneratu da, “soidal.no-
ip.org” host-era egokituz.
1.2.5- POSTA PROBATU
Postfix eta Squirrelmail errekonfiguratu ondoren, posta zerbitzariak funtzionatzen duela
probatu dut.
Horretarako, posta zerbitzuan sartu naiz, Squirrelmail bezeroan, baina kasu honetan, No-IP
zerbitzuko host-aren helbidea erabiliz:
http://soidal.no-ip.org/mail
Bertan, “user1” erabiltzailearekin logeatu naiz, eta “user2@soidal.no-ip.org” erabiltzaileari korreo
bat bidali diot.
Gero, “user2” erabiltzailearekin hasi dut saioa, eta mezua ondo jaso du, beraz, posta zerbitzuak
funtzionatzen du.
Tolosaldea TLHI
51
Software eta Hardware librea
Azkenik, hau bera internet bidez ere probatu dut, nire sare lokaletik kanpo atzituz, eta beste mezu
bat bidaliz, eta oraingoan ere ondo funtzionatu du, beraz, posta zerbitzariak eta bezeroak ondo
funtzionatzen dute, bai sare lokalean eta baita interneten ere.
Honekin, posta zerbitzariaren atala bukatu dut.
2- ZENBAKIEN JOKOA
Software librearekin jarraitzeko, oraingo honetan kode askeko zenbakien joko bat
programatuko dut erdi mailako C lengoaian.
Hau, Ubuntu sistema eragilea duen ordenagailu batean egingo dut. Testu huts batean idatziko dut,
eta Ubuntu sistema eragileak duen “gcc” (GNU Compiler Collection) konpilagailua erabiliz
konpilatuko dut.
C lengoiaia, erdi mailako programazio lengoiai da, baina maila altuko beste programazio lengoaien
estruktura antzekoak erabiltzen ditu, eta aldi berean, maila baxuko ezaugarri asko ditu.
C lengoaian sortutako programek, “.c” luzapena izango dute, eta hauek konpilatzean, luzapena
galduko dute.
2.1- AZALPENA
Joko honen helburua, 0-100 arteko zenbaki bat asmatzea izango da. Zenbaki hau, ausaz
sortuko du programak, eta aldi bakoitzean desberdina izango da, sistemaren orduaren araberakoa
izango delako.
Zenbaki hau asmatzeko, erabiltzaileak 6 saiakera izango ditu, eta hasieran eta saiakera bakoitzaren
ondoren, erabiltzaileari zenbat saiakera geratzen zaizkion esango dio programak. Gainera, saiakera
bakoitzaren ondoren, programak bilatzen ari garen zenbakia sartutakoa baino txikiagoa edo
handiagoa den esango dio.
Erabiltzaileak zenbakia asmatuz gero, zoriondu egingo zaio, baina bestela, 6 saiakerak agortu
baditu, galdu egin duela esango dio, eta zenbakia zein zen erakutsiko zaio.
2.2- PROGRAMAREN KODEA
Programa idazteko, lehenengo “zenbakia.c” fitxategia sortu dut:
nano /home/erik/C/zenbakia.c
Tolosaldea TLHI
52
Software eta Hardware librea
Bertan, kode hau idatzi dut:
#include <stdio.h> //stdio.h liburutegia inportatu, irakurri eta idazteko
#include <stdlib.h> //stdlib.h liburutegia inportatu, ausazko zenbakientzako
#include <time.h> //time.h liburutegia inportatu, denbora erabiltzeko
void main()
{
int x,zenb,saiakerak; //Zenbaki osoen aldagaiak definitu
saiakerak=6;
srand(time(NULL)); //rand() funtziorako erroa definitu denboraren arabera, aldakorra
izateko
x=rand()%101; //Ausazko zenbakia sortu, 0-100 artean
printf("Sartu zenbaki bat 0-100 artean. 6 saiakera dituzun"); //Instrukzioak pantailan
inprimatu
scanf("%i",&zenb); //Zenbaki oso bat irakurri eta zenb aldagaian gorde
while (zenb!=x && saiakerak>0) //Ez badu zenbakia asmatu eta saiakerak dituen
bitartean
{
if (zenb<x) //Sartutako zenbakia txikiagoa bada
{
printf("X zenbakia HANDIAGOA da. Saiakerak=%i n",saiakerak-1); //Bilatzeko
zenbakia handiagoa dela esan eta saiakerak adierazi
}
else if (zenb>x) //Sartutako zenbakia handiagoa bada
{
printf("X zenbakia TXIKIAGOA da. Saiakerak=%i n",saiakerak-1); //Bilatzeko zenbakia
txikiagoa dela esan eta saiakerak adierazi
}
saiakerak--; //Saiakeren aldagaia eguneratu
if (saiakerak!=0) //Saiakerak ez baditu agortu
{
scanf("%i",&zenb); //Zenbaki berri bat irakurri
}
}
if (saiakerak==0) //Saiakerak agortu baditu
Tolosaldea TLHI
53
Software eta Hardware librea
{
printf("Galdu egin duzu! Zenbakia %i zen. n",x); //Galdu egin duela adierazi
}
else //Zenbakia asmatu badu
{
printf("Asmatu duzu! Zenbakia %i da. n",x); //Irabazi egin duela adierazi
}
}
Beraz, lehenengo, “#include” sententziarekin programak erabiliko dituen liburutegiak inportatuko
ditugu. Kasu honetan, hiru liburutegi erabiliko ditugu, eta ikusten den bezala, liburutegien luzapena
“.h” da.
“stdio.h” liburutegia, sarrera estandarretik (teklatua) irakurri eta irteera estandarrean (pantaila)
idatzi ahal izateko erabiliko dugu.
“stdlib.h” liburutegia, ausazko zenbakiak sortzeko erabiliko dugu, hau da, “rand()” funtzioa erabili
ahal izateko.
“time.h” liburutegia denborarekin lan egiteko erabiliko dugu, kasu honetan, “time()” funtzioa
erabiltzeko.
“main()” metodo nagusia da, eta honen barruan doa kode nagusi guztia.
Lehenengo, “x” (bilatzeko zenbakia), ”zenb” (sartutako zenbakia) eta “saiakerak” (saiakerak
zenbatzeko) aldagaiak definitzen dira.
Hasieran, saiakeren balioa 6 izango da, 6 saiakera dituelako.
Gero, ausazko zenbakia sortzeko, “rand()” funtzioa erabiltzen dugu, eta 101 zenbakiarekin modulua
eragiketa egitean, 0-tik 100-ra arteko zenbakiak hartuko ditugu. Hala ere, honen aurretik, “rand()”
funtzioaren erroa definitzen dugu “srand()” funtzioaren bidez. Honen balioa, sistemaren orduaren
araberakoa izango da, “time()” funtzioa erabili dugulako. Horrela, programa bakoitzean sortutako
ausazko zenbakia ezberdina izango da, erro desberdina duelako, bestela, beti zenbaki bera sortuko
zuen.
Ondoren, erabiltzaileari zenbakia sartzeko eskatzen zaio, eta gero, zenbaki oso hau “zenb”
aldagaian gordetzen da.
Horrela, zenbaki hau ez bada bilatzen ari garena eta saiakerak 0 baino gehiago diren bitartean,
sartutako zenbakia bilatzen ari garena baino handiagoa bada, hau adieraziko zaio, eta txikiagoa
bada ere, adierazi egingo zaio. Gainera, zenbat saiakera geratzen zaizkion ere adieraziko zaio.
Honen ondoren, saiakeren kontagailua eguneratu egingo da, saiakera bat gutxiago izanik, eta
saiakerak 0 baino gehiago badira, zenbaki berri bat irakurriko da.
Azkenik, erabiltzaileak zenbakia asmatu duen edo ez jakiteko, “if” sententzia bat erabiltzen da. “if”
sententzia honetara ailegatu bada, bi arrazoirengatik izan daiteke; zenbakia asmatu duelako, edo
saiakerak agortu dituelako. Beraz, saiakeren kontagailua 0 bada, zenbakia ez duela asmatu dakigu,
Tolosaldea TLHI
54
Software eta Hardware librea
eta beraz, galdu egin duela adieraziko zaio, eta zenbakia zein zen ere esango zaio.
Baina saiakerak 0 baino gehiago badira, zernbakia asmatu duela esan nahi du, beraz, asmatu egin
duela esango zaio, eta zenbakia zein den ere.
2.3- PROGRAMA KONPILATU
“zenbakia.c” fitxategia sortu ondoren, gorde egin dut, eta hau konpilatzeko, GNU/Linux
sistema eragileek ekartzen duten “gcc” konpilagailua erabili dut.
Programa konpilatzeko, agindu hau exekutatu dut terminalean:
gcc zenbakia.c –o zenbakia
Horrela, “zenbakia.c” fitxategia hartu, eta “-o” parametroaren bidez “zenbakia” fitxategia irteerako
fitxategi bezala sortu dut.
2.4- PROGRAMA EXEKUTATU
Jokoa exekutatzeko, lehenengo jokoaren direktorioan sartu naiz:
cd /home/erik/C
Gero, programa exekutatzeko, agindu hau erabili dut, horrela exekutatzen direlako C programa
guztiak:
./zenbakia
Horrela, jokoa exekutatu da terminalean. Bertan, partida bakoitzaren ondoren, programa ixten da,
eta berriro jolasteko, berriro exekutatuko dugu programa.
Ikusten den bezala, programa exekutatzeko agindua Arduino IDE exekutatzeko berdina da, hau ere
C lengoaian programatuta dagoelako.
2.5- SOFTWARE LIBRE BIHURTU
Orain arte egin dudan joko hau, ez da software librea, ez dudalako interneten publikoatu,
baina nire intentzioa hau software askea izatea da.
Programa bat kode askekoa izateko, honen kodea nonbaiten publikatuta egon behar da, edozeinek
kode hau erabili, aldatu eta hobetu ahal izateko.
Beraz, programa hau interneten publikatuko dut, edozeinek erabili ahal izateko.
Tolosaldea TLHI
55
Software eta Hardware librea
Hau, “Sourceforge” web gunean publikatuko dut. Web gune honek, kode askeko software asko
dauka, eta bertatik programa hauek deskargatzeko aukera dugu. Baina horrez gain, softwarea
igotzeko aukera ere badugu, eta hori da egingo dudana.
2.5.1- KONTUA SORTU
Lehenengo, “Sourceforge” web gunean erabiltzaile berria sortu dut. Horretarako, web orri honetan
sartu naiz:
https://sourceforge.net/user/registration
Bertan, informazio honekin sortu dut kontua:
Horrela, nire erabiltzailea sortu dut.
2.5.2- PROGRAMA PUBLIKATU
Programa publikatzeko, web orri honetan sartu naiz:
http://sourceforge.net/
Bertan, publikazio atalean sartu naiz:
Publish  Publish Your Existing Project
Gero, proiektuaren izen eta helbidea aukeratu ditut:
Tolosaldea TLHI
56
Software eta Hardware librea
“Create” sakatu eta proiektua sortu da.
Proiektuaren informazioa sartu eta proiektua gorde da.
Gero, nire proiektu berri honen orrian sartu naiz:
https://sourceforge.net/projects/zenbakiaasmatu/
Bertan, “Files” atalean sartu naiz eta “Add File” sakatu dut. “Examinar” sakatu eta “zenbakia.c”
fitxategia aukeratu dut.
Gero, “Upload” sakatu eta fitxategia igo da. Azkenik, “Done” sakatu dut.
Horrela, nire jokoa Sourceforge web gunean igota geratu da:
Programa hau deskargatu ahal izateko, web orri honetan sartuko gara:
https://sourceforge.net/projects/zenbakiaasmatu/files/
Bertan, “zenbakia.c” fitxategiaren gainean sakatu eta fitxategia deskargatuko da:
Tolosaldea TLHI
57
Software eta Hardware librea
Orain bai dela programa hau software librea, eta edozeinek erabiltzeko aukera izango du.
Tolosaldea TLHI
58
Software eta Hardware librea
HARDWARE LIBREA
SARRERA
Proiektuaren atal honetan, hardware librea landuko dut, azkenaldian indar handia hartu
duena. Aspalditik software librea ezaguna zen, baina orain, hardware librea ere indarra hartzen
hasi da.
Hardware librea, zehazpen eta eskema diagrama askeko hardwarea da, hau da, nola eginda dagoen
jakitea posible da, eta hau eraldatzea ere. Beraz, software librea bezala da, baina softwarea izan
ordez, hardwarea, horregatik deitzen zaio hardware librea. Baina kasu honetan,
Software librearekin gertatzen den bezala, hardware askea izateak ez du esan nahi kodea dohainik
dela, hau da, ez da nahastu behar hardware librea eta dohaineko hardwarea, kasu batzuetan
ordaindu egin behar da.
Normalean, hardware eta software librea batera doaz, beraz, hardware librea, eskema askeko
hardwareari aplikatutako software librea dela esaten da.
Beraz, software librearen bidez hardware dispositiboak programatu eta maneiatu ditzakegu.
Hardware libreari dagokionez, proiektu asko daude honen inguruan; bideo-kontsolak, robotak,
plaka kontrolagailuak...
Proiektu honetan Raspberry Pi ordenagailua eta Arduino Uno plaka kontrolagailua landuko ditut.
Hauek, hardware libreko dispositiboak dira, beraien eskema eta egitura askea delako.
Alde batetik, banan-banan landuko ditut, beraien aplikazioak landuz, eta gero, bi hauen
elkarketaren bidez proiektu ezberdinak egingo ditut.
3.1- RASPBERRY PI
Raspberry Pi tamaina txikiko plakako eta kostu baxuko ordenagailu bat da, Erresuma Batuan
Raspberry Pi Fundazioa-k garatuta, eskoletan konputazioen zientzia bultzatzeko intentzioarekin.
Hala ere, denborarekin Raspberry Pi ordenagailua oso ezaguna bihurtu da, eta helburu horretaz
Tolosaldea TLHI
59
Software eta Hardware librea
gain, beste hainbat helburuentzako erabilia izan da, berarekin egindako proiektuak koste baxua
suposatzen dutelako.
Gainera, ordenagailu hau hain txikia izateak, proiektu ezberdinetarako erabili ahal izatea
suposatzen du; telebista adimendunak egiteko, globo aerostatikoak, robotak, kafe makina
adimendunak, NAS zerbitzariak...
Proiektu honetarako erabili dudan Raspberry Pi-a, B modeloa da, 512 MB-eko RAM memoria
duena.
Beraz, Raspberry Pi makinarekin proiektu ezberdinak egingo ditut, baina lehenengo, hau martxan
jarri behar da.
3.1.1- EZAUGARRIAK
Raspberry Pi ordenagailuaren ezaugarriak ondorengoak dira:
Socket: Broadcom BCM2835
CPU: ARM 1176JZF-S 700 MHz
GPU: Broadcom VideoCoreIV 1080p30
RAM: 512 MB
USB portuak: 2
Bideo sarrerak: MIPI CSI (Kamera modulorako)
Bideo irteerak: RCA, HDMI, DSI
Tolosaldea TLHI
60
Software eta Hardware librea
Audio irteerak: 3,5 mm-ko konektorea, HDMI
Sarea: 10/100 Ethernet RJ-45
Kontsumoa: 700 mA, 3,5 W
Elikadura iturria: 5 V (Micro-USB edo GPIO)
Ikusten den bezala, bere ezaugarriak ez dira oso indartsuak, plaka euslea oso txikia delako, baina
ezaugarri batzuk oso onak dira, adibidez, definizio altuko bideoa erreproduzitzeko gai dela.
Gainera, oso kontsumo baxua du, beraz, zerbitzari bezala erabiltzeko oso ondo dago.
3.1.2- FUNTZIONAMENDUA
Raspberry Pi-k ordenagailu normal batek bezala funtzionatzen du, elikadura iturritik energia
jaso ondoren piztu egiten da, eta disko gogorretik arrankatzen du, bertan dagoen sistema eragilea
kargatuz. Kasu honetan, disko gogorra SD memoria bat izango da.
Raspberry-k bi bideo konektore dituenez, bi pantaila motara konektatu dezakegu, HDMI pantaila
batera edo VDI? Pantailara. Errazena HDMI bidez konektatzea da, honek, bideo eta audioa ematen
dizkigulako, eta horrela ez dugu audioko irteera erabili behar.
Hala ere, edozein ordenagailu bezala, pantailarik gabe erabili dezakegu, urrutiko kontrolaren bidez,
beste ordenagailu batetik kontrolatuz.
3.1.3- MARTXAN JARRI
Raspberry Pi makina martxan jarri ahal izateko, hiru elementu gehiago behar ditugu; SD
memoria bat, sistema eragilea eta elikadura iturri bat, adibidez telefono mugikor baten
kargadorea.
Beraz, Raspberry Pi-a martxan jartzeko, lehenengo SD memoriaren barruan sistema eragile bat
sartu beharko dugu, eta gero SD memoria hau Raspberry Pi-n sartuko dugu. Azkenik, kargadorea
konektatuko dugu, eta hau automatikoki piztuko da. Ondo piztu bada, lehenengo Raspberry-ko led
gorri bat piztuko da, eta behin sistema eragilea kargatzean, beste led guztiak piztuko dira. Baina
gaizki arrankatu badu, led gorria bakarrik piztuko da.
3.1.3.1- ELIKADURA ITURRIA
Elikadura iturri bezala, normalean gaur egungo smartphone baten kargadorea erabiltzen da,
Mini-USB irteera duena, baina orokorrean Mini-USB irteera duen edozein dispositiboren
kargadorea erabili daiteke, adibidez MP3 erreproduktore batena.
Tolosaldea TLHI
61
Software eta Hardware librea
Kargadoreak gutxienez 5W eta 700mA eman behar ditu, baina 1000 mA baino gehiagokoa izatea
komeni da, makina ondo elikatzeko. Gutxiagokoa bada, arazoak egon daitezke.
Nire kasuan, nire Xiaomi MI2S smartphone-aren kargadorea erabili ditut, 5 V eta 1200 mA ematen
dituena.
3.1.3.2- SD MEMORIA
SD memoriez gain, MicroSD memoriak ere erabili daitezke, baina MicroSD-SD adaptagailu
bat beharko dugu. Hala ere, bi hauen kasuan, memoria Raspberry Pi makinarekin bateragarria izan
behar da, SD memoria guztiak ezin ditugulako erabili.
Bateragarriak izatea, beraien ezaugarrien menpe daude; fabrikatzailea, mota, tamaina, modeloa,
klasea...
Gure SD memoria bateragarria den jakiteko, web orri hau erabili dezakegu:
http://elinux.org/RPi_SD_cards
Bertan, Raspberry Pi-rekin bateragarriak diren SD memorien zerrenda dago, denborarekin
eguneratzen joaten dena, beraz, bertan begiratu dezakegu gure SD memoria bateragarria den ala
ez. Hala ere, ez daude SD memoria guztiak, beraz, gurea ez bada agertzen, probatu egin beharko
dugu, eta gainera, gero SD memoria hau zerrenda honetan gehitzeko aukera dugu.
SD memoria ez bada bateragarria, Raspberry Pi-k ez du arrankatuko, led gorri bat piztuko da
bakarrik, beraz, beste SD memoria bat beharko dugu.
Nire kasuan 8 GB-eko Sony Micro SD HC memoria erabili dut, eta hau Micro SD-SD adaptagailu
batekin erabili dut.
3.1.3.3- SISTEMA ERAGILEA
Raspberry-a martxan jartzeko hurrengo pausoa, SD memorian sistema eragile bat sartzea
da. Kasu honetan, Raspberry Pi-n ezin dugu edozein sistema eragile erabili, adibidez Ubuntu bat.
Beraz, Raspberry Pi makinarako egindako sistema eragile bat erabili beharko dugu. Hauetako
gehienak beste GNU/Linux sistema eragiletan oinarrituta daude, adibidez Raspbian (Debian),
Pidora (Fedora)...
Gainera, sistema eragile hauen irudiak ez dira “.iso” motakoak, “.img” motakoak baizik.
Sistema eragile hauek, internetetik deskargatu ditzakegu, software librea direlako, adibidez,
Raspberry Pi-ren web gune ofizialetik:
http://www.raspberrypi.org/downloads/
Tolosaldea TLHI
62
Software eta Hardware librea
Bertan, sistema eragile ezberdinak daude, eta gure beharren arabera hautatu beharko dugu:
Raspbian: Debian-en oinarritutako distribuzioa.
Pidora: Fedora-n oinarritutako distribuzioa.
OpenElec: XBMC media zentroa.
RaspBMC: XBMC media zentroa.
Risc OS: Linux ez den bestelako distribuzioa.
Arch Linux: Linux distribuzio arina.
Hala ere, beste web gune batzuetan ere sistema eragile gehiago daude, adibidez Retropie. Hau,
Raspbian-en oinarritutako distribuzioa da, bideo kontsola ezberdinen emuladoreak dituena.
Sistema eragile hauetako bat deskargatu ondoren, paketea erauzi eta “.img” artxiboa izango dugu.
Beraz, hurrengo pausoa sistema eragilea SD memorian instalatzea izango da.
3.1.3.3.1- Windows
Windows sistema eragilea erabiltzen ari bagara, lehenengo, SD memoria ordenagailuaren
SD slot-ean sartuko dugu, eta ez badu SD slot-ik, SD-USB adaptadore bat erabili dezakegu.
Gero, SD memoria FAT32 fitxategi sisteman formateatu behar izango dugu, horretarako,
dispositiboa aukeratuko dugu saguaren eskuineko botoia sakatuz, eta “Formatear” aukeratuko
dugu.
SD memoria formateatu ondoren, Win32DiskImager programaren bidez sistema eragilearen irudia
SD memorian grabatuko dugu. Programa hau, web orri honetatik deskargatu dezakegu:
http://sourceforge.net/projects/win32diskimager/
Behin paketea deskargatzean, erauzi egingo dugu, eta programa administrari moduan exekutatu.
Bertan, sistema eragilearen irudia aukeratu beharko dugu, eta SD memoriaren dispositibo letra.
Azkenik, “Write” sakatu eta irudia kopiatu arte itxarongo dugu.
Behin irudia grabatzean, programa itxi eta SD memoria aterako dugu.
3.1.3.3.2- Linux
Linux sistema eragilearen kasuan, ezin dugu Win32DiskImager programa erabili, beraz,
beste era batera egin beharko dugu. Horren ordez, bi aukera ditugu, ImageWriter ingurune
grafikodun programaren bidez grabatzea edo “dd” aginduaren bidez egitea.
Tolosaldea TLHI
63
Software eta Hardware librea
Bi kasuetan, lehenengo SD memoriaren dispositibo izena zein den jakin behar dugu, horretarako,
muntatutako dispositiboak listatuko ditugu agindu honen bidez:
df -h
Bertan, gure SD memoria /dev/sdc1 bezalako izen batekin agertuko da.
Gero, SD memoria formateatu egin beharko dugu. Horretarako, terminalean agindu hau erabili
dezakegu:
mkdosfs -I -F32 /dev/sdX
Hurrengo pausoa, irudia SD memorian grabatzea izango da. Horretarako, ImageWriter programa
erabiltzen badugu, hau Ubuntu-ren software zentrotik deskargatu ahal izango dugu. Programa hau
administrari bezala arrankatuko dugu.
Bertan, sistema eragilearen irudia hautatuko dugu, eta gero SD dispositiboa. “Write to device”
sakatu eta irudia kopiatuko da.
Baina horren ordez “dd” agindua erabiltzen badugu, agindu hau erabiliko dugu:
dd bs=4M if=2014-01-07-wheezy-raspbian.img of=/dev/sdc1
Ikusten den bezala, “if” atalean (sarrera) sistema eragilearen izena jarri dugu, eta “of” atalean
(irteera), SD dispositiboa.
Behin irudia kopiatzean, SD memoria prest izango dugu erabiltzeko.
Beraz, SD memoria Raspberry Pi-n sartuko dugu, eta kargadorea konektatuko dugu. Lehen esan
dugun bezala, ondo egin badugu, Raspberry-ko led guztiak piztuko dira, eta gaizki egin badugu,
bakarrik led gorria.
Beraz, sistema eragilea kargatuko zaigu, eta bertan, sistema konfiguratu ahal izango dugu.
3.1.3.4- URRUTIKO KONTROLA
Raspberry Pi-a kontrolatzeko, gehienetan urrutiko kontrolaren bidez egiten da, eta hori bi
eratara egin dezakegu; interfaze grafikoarekin edo gabe.
Hala ere, hau sistema eragilearen araberakoa da, baina orokorrean guztietan berdin egin daiteke.
3.1.3.4.1- SSH
Raspberry Pi-ra SSH bidez interfaze grafikorik gabe konektatzea erarik errazena da.
Tolosaldea TLHI
64
Software eta Hardware librea
Lehenengo, Raspberry Pi-ko sistema eragilean SSH zerbitzaria instalatu beharko dugu. Horretarako,
agindu hau erabiliko dugu:
apt-get install openssh-server
Horrela, Raspberry Pi-n SSH zerbitzaria izango dugu, eta Linux-eko SSH bezero batetik
konektatzeko, Raspberry-aren IP helbidea erabiliko dugu:
ssh erabiltzailea@IP
Adibidez, Raspbian sistema eragilean:
ssh pi@192.168.1.32
Horrela, erabiltzailearen pasahitza sartu ondoren, Raspberry-a SSH urrutiko kontrolerako protokolo
seguruarekin kontrolatu ahal izango dugu Linux makina batetik. Windows bezeroen kasuan, Putty
programa erabili ahal izango dugu, Raspberry-aren IP-a, erabiltzailea eta pasahitza sartuz.
3.1.3.4.2- Ingurune grafikoa
Raspberry Pi-aren urrutiko kontrola ingurune grafiko bidez egiteko, erreminta eta protokolo
ezberdinak daude; VNC, xrdp...
Nire kasuan, VNC protokoloa erabiliko dut. Horretarako, erreminta ezberdinak daude, baina nik,
Tightvncserver VNC zerbitzaria erabiliko dut.
Horretarako, Tightvncserver instalatu dut Raspberry-n:
apt-get install tightvncserver
Instalatu ondoren, martxan jarri behar da, agindu honekin:
vncserver :1
Horrela, VNC zerbitzaria martxan dago. Beraz, bertara konektatzeko, VNC bezero bat erabiliko
dugu.
Linux-en kasuan, Remmina erreminta erabili dezakegu. Hau, urrutiko kontrolerako Linux sistema
eragileek defektuz ekartzen duten erreminta da, protokolo ezberdinak onartzen dituena.
Kasu honetan, VNC protokoloa erabiltzen dudanez, Remmina ireki eta horrela konfiguratuko dut:
Tolosaldea TLHI
65
Software eta Hardware librea
“Conectar” sakatu eta konexioa irekiko da. Kasu honetan, Raspberry-aren IP helbidea adierazi
dugu, eta VNC protokoloaren defektuzko portua erabili dut; 5901.
3.1.5- PROIEKTUAK
Behin gure Raspberry Pi-a martxan dagoela, proiektu ezberdinak egin ditzakegu. Nire
kasuan, proiektu ezberdinak egitea pentsatu dut, eta hemen azalduko ditut.
3.1.5.1- WEBCAM ZERBITZARIA
Raspberry Pi-rekin egin dudan lehenengo proiektua, webcam zerbitzari bat izan da,
segurtasun kamera bat izango balitz bezala.
Horretarako, Logitech markako web kamera bat erabili dut.
3.1.5.1.1- Raspbian instalatu
Hau egiteko, Raspbian sistema eragilea erabili dut, beraz, Raspbian sistema eragilearen
irudia grabatu dut nire SD memorian. Hau, Linux makina batetik egin dut, beraz, SD memoria
bilatzeko, lehen aipatutako agindu hau erabili dut:
df -h
Tolosaldea TLHI
66
Software eta Hardware librea
Honen bidez, SD memoria /dev/sdc1 dela ikusi dut.
Gero, SD memoria formateatzeko, agindu hau exekutatu dut:
mkdosfs -I -F32 /dev/sdc1
Azkenik, Raspbian sistemaren irudia grabatu dut:
dd bs=4M if=2014-01-07-wheezy-raspbian.img of=/dev/sdc1
Beraz, SD memoria atera eta Raspberry Pi-n sartu dut, eta kargadorea konektatzean sistema
eragileak arrankatu du.
Bertan, logeatzeko Raspbian sistemaren defektuzko erabiltzailea eta pasahitza erabili ditut:
Erabiltzailea: pi
Pasahitza: raspberry
Beraz, Raspbian sistema erabili ahal izan dut, kontsola moduan, baina ingurune grafikoa
kargatzeko, agindu hau erabili dut:
startx
Honekin, Raspberry Pi martxan dago Raspbian sistema eragilearekin.
3.1.5.1.2- Raspbian konfiguratu
Raspbian sistema eragilea instalatu ondoren, hau konfiguratu egingo dut, aldaketa batzuk
eginez.
Raspbian konfiguratzeko, agindu hau exekutatu dut:
raspi-config
Bertan, lehenengo fitxategi sistema handitu dut, lehenengo aukera hautatuz:
1- Expand Filesystem
Horrela, sistemak hobeto funtzionatuko dugu. Hau, 4 GB baino gehiagoko SD memoriekin egingo
dugu.
Gero, erabiltzailearen pasahitza aldatu dut:
2- Change User Password
Bertan, nire pasahitza berria sartu dut
Tolosaldea TLHI
67
Software eta Hardware librea
3.1.5.1.3- Raspbian eguneratu
Raspbian sistema ere eguneratu dut, horretarako, lehenengo errepositorioen zerrenda
eguneratu dut:
apt-get update
Gero, eguneraketa hauek instalatu ditut:
apt-get upgrade
Azkenik, Raspbian-en eguneraketa agindu hau ere exekutatu dut:
rpi-update
Horrela, Raspbian sistema eragilea eguneratuta geratu da.
3.1.5.1.4- Sarea konfiguratu
Raspbian sistema eragilea konfiguratu eta eguneratu ondoren, sarea konfiguratu dut.
Honen kasuan, IP helbide estatiko bat eman diot, zerbitzari moduan funtzionatuko duelako, beraz,
IP helbidea beti berdina izatea komeni da.
Sarea konfiguratzeko, “interfaces” fitxategia editatu dut:
nano /etc/network/interfaces
Bertan, informazio hau idatzi dut:
auto eth0
iface eth0 inet static
address 192.168.1.32
netmask 255.255.255.0
gateway 192.168.1.1
Horrela, “eth0” interfazea konfiguratu dut estatikoki, “192.168.1.36” IP helbidea emanez, eta “/24”
Tolosaldea TLHI
68
Software eta Hardware librea
maskara jarri diot. Gainera, ate-bide bezala routerraren helbidea jarri dut, “192.168.1.1”.
Fitxategia gordetzeko “Control+o” sakatu dut, eta hau ixteko “Control+x”.
Ondoren, sarea berrabiarazi dut:
/etc/init.d/networking restart
Horrela, sarea berrabiarazi da, eta Raspberry Pi-k sareko konfigurazio berria hartu du.
3.1.5.1.5- Web kamera konektatu
Web kamera martxan jartzeko, Raspberry-a berrabiarazi dut, eta hau piztearekin batera
kamera konektatu dut USB portu batera, horrela, Raspberry-ak hasieratik detektatuko du kamera.
Kamera konektatu ondoren, Raspberry-k ondo detektatu duela frogatu dut, horretarako, agindu
hau erabili dut:
lsusb
Agindu honekin, USB dispositibo guztiak listatu ditut:
Ikusten den bezala, web kamera lerro honetan agertzen da:
Bus 001 Device 003: ID 046d:082b Logitech, Inc.
Beraz, web kamera ondo detektatu du sistemak.
Hala ere, web kamera zerbitzariarekin hasi aurretik, kamerak Raspberry Pi-n funtzionatzen duela
frogatu dut. Horretarako, “Luvcview” programa erabili dut. Hau, web kamera erabili ahal izateko
erreminta sinple bat da.
Luvcview terminaletik instalatu dut agindu honekin:
apt-get install luvcview
Programa instalatu ondoren, exekutatu egin dut, terminalean hau idatziz:
Tolosaldea TLHI
69
Software eta Hardware librea
luvcview
Horrela, web kameraren grabazioa ikusi ahal izan dut, beraz, honek ondo funtzionatzen du.
3.1.5.1.6- libv4l-0 liburutegia instalatu
Ondoren, Raspberry Pi-k kamera dispositiboarekin hobeto funtzionatzeko, “libv4l-0”
liburutegia instalatu dut. Hau, ez da guztiz beharrezkoa, baina gomendagarria da, eta web kamera
batzuen kasuan, hau gabe ez du ondo funtzionatuko.
Nire kasuan, gero bideo streaming-a egiteko erabiliko dudan programak web kamerarekin ondo
funtzionatzeko instalatu dut.
“libv4l-0” liburutegia instalatzeko:
apt-get install libv4l-0
Horrela, liburutegia instalatu da.
3.1.5.1.7- Motion instalatu
Motion, Linux sistema eragilerako web kamera erabiltzeko programa da, bideoa
mugimendu detektorea. Honek, bideo streaming-a egitea ahalbidetzen digu, hau da, web kamerak
grabatutakoa sarean ikusgai egon ahal izatea, intranet edo interneten. Gainera, mugimendua
nabaritzen duenean, irudiak eta bideoa gordetzen hasten da, eta hauek ordenagailuan gordetzen
dira.
Hau, kode askeko softwarea da, eta C lengoaian programatuta dago.
Motion programa instalatzeko agindu hau erabili dut:
apt-get install motion
Horrela, programa instalatu da, baina orain konfiguratu egingo dut, nire kameraren arabera.
3.1.5.1.8- Motion konfiguratu
Motion programa konfiguratzeko, “motion.conf” eta “motion” fitxategietan aldaketak egin
ditut.
Lehenengo, “motion.conf” fitxategia editatu dut, Motion programaren konfigurazio fitxategia:
nano /etc/motion/motion.conf
Tolosaldea TLHI
70
Software eta Hardware librea
Bertan, aldaketa hauek egin ditut:
daemon on #demoinioa aktibatu
webcam_port 605 #Webcam streaming-erako portua
webcam_localhost off #Webcam-a bakarrik Raspberry-n ikustea desgaitu; sarean
atzigarri izateko.
control_port 8080 #Webcam-a konfiguratzeko portua
control_localhost off #Webcam-a bakarrik Raspberry-n konfiguratzea desgaitu; sarean
konfiguragarria izateko
Fitxategia gorde eta itxi egin dut.
Ondoren, “motion” fitxategia editatu dut:
nano /etc/default/motion
Bertan, aldaketa hau egin dut:
start_motion_daemon yes #Motion-en demonioa hasieran aktibatzeko
Fitxategi hau ere gorde eta itxi egin dut.
Horrela, Motion konfiguratu dut, eta programa hau Raspberry Pi-a arrankatu ondoren hasiko da
martxan.
Aldaketa hauek aplikatu daitezen. Motion zerbitzua berrabiarazi dut:
service motion restart
Horrela, aldaketak aplikatu dira eta Motion programa erabiltzeko prest dago. Kasu honetan,
Motion zerbitzua berrabiarazi dut, baina hau hasi eta gelditu ere egin daiteke.
Motion zerbitzua hasteko:
service motion start
Motion zerbitzua gelditzeko:
service motion stop
Tolosaldea TLHI
71
Software eta Hardware librea
Hurrengo pausoa, bideo streaming-a martxan jartzea izango da.
3.1.5.1.9- Streaming-a hasi
Motion programa eta web kameraren bidez bideoa sarean ikusgarri egin ahal izateko,
“motion” agindua erabiliko dugu.
Motion zerbitzuak bideoa soilik grabatu nahi badugu, agindu hau erabiliko dugu:
motion
Baina bideoa grabatzeaz gain, irudiak atera eta gordetzea ere nahi badugu, “-n” parametroa
gehituko diogu:
motion -n
Horrela, irudiak ere gordeko dira, baina hau ez da oso gomendagarria, argazki asko gordetzen
direlako, eta gehienetan ez da beharrezkoa. Hala ere, “motion” agindua soilik erabiltzen badugu
ere, argazkiak gordetzen dira mugimendua detektatzean, eta ez denbora guztian, eta hau hobea
da, disko gogorreko leku gutxiago okupatzen dugulako.
3.1.5.1.10- Motion nabigatzailetik konfiguratu
Motion programa “motion.conf” fitxategiaren bidez konfiguratzeaz gain, saretik ere
konfiguratu dezakegu. Horretarako, web nabigatzailean Raspberry-aren IP helbidea eta
konfigurazio portua jarri behar ditugu:
http://192.168.1.36:8080
8080 portua erabili dut, lehen konfigurazio fitxategian jarri dudalako.
Bertan, interfaze grafiko bidez Motion programa konfiguratu eta aldaketak egin ahal izango ditugu.
3.1.5.1.11- Streaming-a ikusi
Motion programak grabatutako bideoa ikusi ahal izateko ere, web nabigatzaile bidez egingo
dugu. Kasu honetan ere, Raspberry-aren IP helbidea erabiliko dugu, baina orain streaming-erako
konfiguratu dugun portua:
http://192.168.1.36:605
Ikusten den bezala, 605 portua erabili dut, lehen konfigurazio fitxategian azaldu dudalako.
Denak ondo funtzionatzen badu, web kameraren grabazioa ikusi ahal izango dugu, eta honen
Software hardware librea - dok
Software hardware librea - dok
Software hardware librea - dok
Software hardware librea - dok
Software hardware librea - dok
Software hardware librea - dok
Software hardware librea - dok
Software hardware librea - dok
Software hardware librea - dok
Software hardware librea - dok
Software hardware librea - dok
Software hardware librea - dok
Software hardware librea - dok
Software hardware librea - dok
Software hardware librea - dok
Software hardware librea - dok
Software hardware librea - dok

More Related Content

Similar to Software hardware librea - dok

Softwarea (larunbetavigurieta)
Softwarea (larunbetavigurieta)Softwarea (larunbetavigurieta)
Softwarea (larunbetavigurieta)larunbetavigurieta
 
Sofwarea Aurkezpena
Sofwarea AurkezpenaSofwarea Aurkezpena
Sofwarea Aurkezpenatxokobe
 
Virtual box eskuliburua dok
Virtual box eskuliburua   dokVirtual box eskuliburua   dok
Virtual box eskuliburua dokTolosaldea TLHI
 
Virtual box eskuliburua dok
Virtual box eskuliburua   dokVirtual box eskuliburua   dok
Virtual box eskuliburua dokTolosaldea TLHI
 
Open Office3.Mini
Open Office3.MiniOpen Office3.Mini
Open Office3.Minialexgabi
 
Open Office 3 euskaraz
Open Office 3 euskarazOpen Office 3 euskaraz
Open Office 3 euskarazalexgabi
 
Software Librea Lau
Software Librea LauSoftware Librea Lau
Software Librea Laugaurkorako
 
Software Librea Lau
Software Librea LauSoftware Librea Lau
Software Librea Laugaurkorako
 
Programaeramangarriak
ProgramaeramangarriakProgramaeramangarriak
ProgramaeramangarriakIma-Bilbo
 
Programaeramangarriak
ProgramaeramangarriakProgramaeramangarriak
ProgramaeramangarriakIma-Bilbo
 
Software Librea Euskaraz
Software Librea EuskarazSoftware Librea Euskaraz
Software Librea EuskarazIbon Aizpurua
 
Software librea ikasberri
Software librea ikasberriSoftware librea ikasberri
Software librea ikasberriaitziberbesga
 
Linux2.1
Linux2.1Linux2.1
Linux2.1xaneto
 
Baskula kudeatzeko web aplikazioa - dok
Baskula kudeatzeko web aplikazioa - dokBaskula kudeatzeko web aplikazioa - dok
Baskula kudeatzeko web aplikazioa - dokTolosaldea TLHI
 
Baskula kudeatzeko web aplikazioa - dok
Baskula kudeatzeko web aplikazioa - dokBaskula kudeatzeko web aplikazioa - dok
Baskula kudeatzeko web aplikazioa - dokTolosaldea TLHI
 
Software librea ikasberri
Software librea ikasberriSoftware librea ikasberri
Software librea ikasberriiratxesarasola
 
Software Libreari buruzko hitzaldia ikasleentzat euskaraz
Software Libreari buruzko hitzaldia ikasleentzat euskarazSoftware Libreari buruzko hitzaldia ikasleentzat euskaraz
Software Libreari buruzko hitzaldia ikasleentzat euskarazaurkezpenak_net
 
Software librea ibarrekolanda
Software librea ibarrekolandaSoftware librea ibarrekolanda
Software librea ibarrekolandabitarlan
 

Similar to Software hardware librea - dok (20)

Softwarea (larunbetavigurieta)
Softwarea (larunbetavigurieta)Softwarea (larunbetavigurieta)
Softwarea (larunbetavigurieta)
 
Sofwarea Aurkezpena
Sofwarea AurkezpenaSofwarea Aurkezpena
Sofwarea Aurkezpena
 
Virtual box eskuliburua dok
Virtual box eskuliburua   dokVirtual box eskuliburua   dok
Virtual box eskuliburua dok
 
Virtual box eskuliburua dok
Virtual box eskuliburua   dokVirtual box eskuliburua   dok
Virtual box eskuliburua dok
 
Open Office3.Mini
Open Office3.MiniOpen Office3.Mini
Open Office3.Mini
 
Open Office 3 euskaraz
Open Office 3 euskarazOpen Office 3 euskaraz
Open Office 3 euskaraz
 
Software Librea Lau
Software Librea LauSoftware Librea Lau
Software Librea Lau
 
Software Librea Lau
Software Librea LauSoftware Librea Lau
Software Librea Lau
 
Programaeramangarriak
ProgramaeramangarriakProgramaeramangarriak
Programaeramangarriak
 
INFOR/ Software libreak
INFOR/ Software libreakINFOR/ Software libreak
INFOR/ Software libreak
 
Programaeramangarriak
ProgramaeramangarriakProgramaeramangarriak
Programaeramangarriak
 
Software Librea Euskaraz
Software Librea EuskarazSoftware Librea Euskaraz
Software Librea Euskaraz
 
Software librea ikasberri
Software librea ikasberriSoftware librea ikasberri
Software librea ikasberri
 
Linux2.1
Linux2.1Linux2.1
Linux2.1
 
Baskula kudeatzeko web aplikazioa - dok
Baskula kudeatzeko web aplikazioa - dokBaskula kudeatzeko web aplikazioa - dok
Baskula kudeatzeko web aplikazioa - dok
 
Baskula kudeatzeko web aplikazioa - dok
Baskula kudeatzeko web aplikazioa - dokBaskula kudeatzeko web aplikazioa - dok
Baskula kudeatzeko web aplikazioa - dok
 
Software librea ikasberri
Software librea ikasberriSoftware librea ikasberri
Software librea ikasberri
 
Software Libreari buruzko hitzaldia ikasleentzat euskaraz
Software Libreari buruzko hitzaldia ikasleentzat euskarazSoftware Libreari buruzko hitzaldia ikasleentzat euskaraz
Software Libreari buruzko hitzaldia ikasleentzat euskaraz
 
Software librea ibarrekolanda
Software librea ibarrekolandaSoftware librea ibarrekolanda
Software librea ibarrekolanda
 
Software librea ibarrekolanda
Software librea ibarrekolandaSoftware librea ibarrekolanda
Software librea ibarrekolanda
 

More from Tolosaldea TLHI

Web gune baten sorkuntza wordpressekin - dok
Web gune baten sorkuntza wordpressekin - dokWeb gune baten sorkuntza wordpressekin - dok
Web gune baten sorkuntza wordpressekin - dokTolosaldea TLHI
 
Web gune baten sorkuntza joomlarekin - dok
Web gune baten sorkuntza joomlarekin - dokWeb gune baten sorkuntza joomlarekin - dok
Web gune baten sorkuntza joomlarekin - dokTolosaldea TLHI
 
Sare sozial korporatiboak yammer - dok
Sare sozial korporatiboak yammer - dokSare sozial korporatiboak yammer - dok
Sare sozial korporatiboak yammer - dokTolosaldea TLHI
 
Linux distribuzio bat sortzen dok
Linux distribuzio bat sortzen   dokLinux distribuzio bat sortzen   dok
Linux distribuzio bat sortzen dokTolosaldea TLHI
 
Inbentarioa kudeatzeko web aplikazioa dok
Inbentarioa kudeatzeko web aplikazioa  dokInbentarioa kudeatzeko web aplikazioa  dok
Inbentarioa kudeatzeko web aplikazioa dokTolosaldea TLHI
 
Prezi eta informatika dok
Prezi eta informatika   dokPrezi eta informatika   dok
Prezi eta informatika dokTolosaldea TLHI
 
Web gune baten sorkuntza wordpressekin - dok
Web gune baten sorkuntza wordpressekin - dokWeb gune baten sorkuntza wordpressekin - dok
Web gune baten sorkuntza wordpressekin - dokTolosaldea TLHI
 
Web gune baten sorkuntza joomlarekin - dok
Web gune baten sorkuntza joomlarekin - dokWeb gune baten sorkuntza joomlarekin - dok
Web gune baten sorkuntza joomlarekin - dokTolosaldea TLHI
 

More from Tolosaldea TLHI (20)

Agenda digitala
Agenda digitalaAgenda digitala
Agenda digitala
 
Web gune baten sorkuntza wordpressekin - dok
Web gune baten sorkuntza wordpressekin - dokWeb gune baten sorkuntza wordpressekin - dok
Web gune baten sorkuntza wordpressekin - dok
 
Web gune baten sorkuntza joomlarekin - dok
Web gune baten sorkuntza joomlarekin - dokWeb gune baten sorkuntza joomlarekin - dok
Web gune baten sorkuntza joomlarekin - dok
 
Undervolting dok
Undervolting   dokUndervolting   dok
Undervolting dok
 
Ubuntu inplantatzen dok
Ubuntu inplantatzen   dokUbuntu inplantatzen   dok
Ubuntu inplantatzen dok
 
Sare sozial korporatiboak yammer - dok
Sare sozial korporatiboak yammer - dokSare sozial korporatiboak yammer - dok
Sare sozial korporatiboak yammer - dok
 
Me zow server 12.04 dok
Me zow server 12.04   dokMe zow server 12.04   dok
Me zow server 12.04 dok
 
Linux distribuzio bat sortzen dok
Linux distribuzio bat sortzen   dokLinux distribuzio bat sortzen   dok
Linux distribuzio bat sortzen dok
 
Inbentarioa kudeatzeko web aplikazioa dok
Inbentarioa kudeatzeko web aplikazioa  dokInbentarioa kudeatzeko web aplikazioa  dok
Inbentarioa kudeatzeko web aplikazioa dok
 
Euskara softwarean dok
Euskara softwarean   dokEuskara softwarean   dok
Euskara softwarean dok
 
Ecommerce dok
Ecommerce   dokEcommerce   dok
Ecommerce dok
 
Arduino wall e - dok
Arduino wall e - dokArduino wall e - dok
Arduino wall e - dok
 
Asterisk dok
Asterisk   dokAsterisk   dok
Asterisk dok
 
Undervolting dok
Undervolting   dokUndervolting   dok
Undervolting dok
 
Prezi eta informatika dok
Prezi eta informatika   dokPrezi eta informatika   dok
Prezi eta informatika dok
 
Ububtu inplantatzen dok
Ububtu inplantatzen   dokUbubtu inplantatzen   dok
Ububtu inplantatzen dok
 
Web gune baten sorkuntza wordpressekin - dok
Web gune baten sorkuntza wordpressekin - dokWeb gune baten sorkuntza wordpressekin - dok
Web gune baten sorkuntza wordpressekin - dok
 
Asterisk dok
Asterisk   dokAsterisk   dok
Asterisk dok
 
Web gune baten sorkuntza joomlarekin - dok
Web gune baten sorkuntza joomlarekin - dokWeb gune baten sorkuntza joomlarekin - dok
Web gune baten sorkuntza joomlarekin - dok
 
Ecommerce dok
Ecommerce   dokEcommerce   dok
Ecommerce dok
 

Software hardware librea - dok

  • 2. Tolosaldea TLHI 1 Software eta Hardware librea Aurkibidea 1. SOFTWARE LIBREA................................................................................................................................ 3 SARRERA........................................................................................................................................................ 3 2. 1- POSTA ZERBITZARIA ......................................................................................................................... 4 1.1- POSTA LOKALA ....................................................................................................................................... 6 1.1.0- ZERBITZARIA.................................................................................................................................... 6 1.1.1- DNS................................................................................................................................................ 12 1.1.2- MTA ............................................................................................................................................... 16 1.1.3- KORREOA IRAKURTZEKO PROTOKOLOAK...................................................................................... 20 1.1.4- ERABILTZAILEAK SORTU ................................................................................................................ 21 1.1.5- TELNET BIDEZ PROBATU................................................................................................................ 22 1.1.6- POSTA BEZEROA............................................................................................................................ 30 1.1.7- POSTA BEZERO PROPIOA............................................................................................................... 34 1.2- POSTA INTERNETEN.............................................................................................................................. 42 1.2.1- NO-IP ............................................................................................................................................. 42 1.2.2- PORTUEN BERBIDERAKETA ........................................................................................................... 47 1.2.3- POSTFIX REKONFIGURATU ............................................................................................................ 49 1.2.4- SQUIRRELMAIL REKONFIGURATU ................................................................................................. 50 1.2.5- POSTA PROBATU ........................................................................................................................... 50 3. 2- ZENBAKIEN JOKOA.......................................................................................................................... 51 2.1- AZALPENA............................................................................................................................................. 51 2.2- PROGRAMAREN KODEA ....................................................................................................................... 51 2.3- PROGRAMA KONPILATU....................................................................................................................... 54 2.4- PROGRAMA EXEKUTATU...................................................................................................................... 54 2.5- SOFTWARE LIBRE BIHURTU.................................................................................................................. 54 2.5.1- KONTUA SORTU............................................................................................................................. 55 2.5.2- PROGRAMA PUBLIKATU................................................................................................................ 55 4. HARDWARE LIBREA ............................................................................................................................ 58 SARRERA...................................................................................................................................................... 58 3.1- RASPBERRY PI....................................................................................................................................... 58 3.1.1- EZAUGARRIAK................................................................................................................................ 59 3.1.2- FUNTZIONAMENDUA .................................................................................................................... 60 3.1.3- MARTXAN JARRI ............................................................................................................................ 60
  • 3. Tolosaldea TLHI 2 Software eta Hardware librea 3.1.5- PROIEKTUAK.................................................................................................................................. 65 3.2- ARDUINO.............................................................................................................................................. 72 3.2.1- EZAUGARRIAK................................................................................................................................ 73 3.2.2- FUNTZIONAMENDUA .................................................................................................................... 73 3.2.3- INSTALATU..................................................................................................................................... 74 3.2.4- KONFIGURATU............................................................................................................................... 75 3.2.5- PROIEKTUAK.................................................................................................................................. 76 3.3- RASPBERRY PI + ARDUINO.................................................................................................................... 80 3.3.0- ELKARKETA .................................................................................................................................... 80 3.3.1- SEGURTASUN SISTEMA ................................................................................................................. 82 5. ONDORIOAK ....................................................................................................................................... 88 6. BIBLIOGRAFIA..................................................................................................................................... 88
  • 4. Tolosaldea TLHI 3 Software eta Hardware librea SOFTWARE LIBREA SARRERA Software librea, kode askeko softwarea da, hau da; askatasunez erabili, kopiatu, aldatu, birbanatu eta saldu daitekeen softwarea da. Askotan, software librea dohainikako softwarearekin identifikatzen da, baina hori ez da horrela. Normalean, software librea dohainik izaten da, baina ez beti. Beraz, software bat librea izateak ez du esan nahi dohainik dela, bere iturri kodea askea dela baizik, eta hau ordaintzekoa edo dohainik izan daiteke. Horregatik, software librea eta dohainikako softwarea bereizi egin behar dira. Software librea aspalditik da ezaguna, eta horrelako software asko dago munduan, geroz eta indar gehiago hartzen ari dena. Kode askeko sistema eragileen artean, GNU/Linux sistema eragilea dugu adibiderik ezagunena, baina askoz gehiago daude. Sistema eragile hau da sistema eragile askeen artean gehien erabiltzen dena, horregatik da ezagunena, eta Windows eta Mac OS bezalako ordaintzeko sistema eragileetara gehien gerturatzen dena. Gaur egungo smartphonetan gehien erabiltzen den sistema eragilea Android da, eta hau ere software librea da, GNU/Linux sistema eragilean oinarrituta dagoelako, hain zuzen ere, Linux nukleoa erabiltzen du. Beraz, oso garrantzitsua da software librea gaur egun, eta honi esker, aurrerakuntza handiak egin daitezke, edozeinek hobetu dezakeelako beste baten egindakoa, eta hori oso aberasgarria da. Gainera, enpresa askotan software askea erabiltzeari ekin diote, ordaintzeko programen lizentziak oso garestiak direlako, eta dohainik den software libreari esker, diru asko aurreztu dezakete. Nire proiektuaren atal honetan, software librearen adibide bezala, kode askeko posta zerbitzari bat egingo dut, kode askeko posta bezeroa erabiltzen duena.
  • 5. Tolosaldea TLHI 4 Software eta Hardware librea Beraz, Linux makina batean posta zerbitzari bat instalatu eta konfiguratuko dut. Hau, eskuz egingo dut, behar den elementu bakoitza banan-banan instalatuz. Posta zerbitzarian asko sakonduko dut, hau da, ez dut bakarrik posta zerbitzari bat jarriko eta listo, honen aukera ezberdinak aztertuko ditut, eta baita segurtasunaren aldetik ere. Hasieran, sare lokalean egingo dut, DNS zerbitzari lokalarekin, baina gero, interneten atzigarri jarriko dut, eta horretarako dauden aukera ezberdinak aztertu. Posta bezeroan ere sakondu egingo dut. Lehenengo, posta bezero sinple bat instalatuko dut bezeroek korreoa bidali eta irakurri ahal izateko, eta gero, nire posta bezero propio bat ere programatuko dut, PHP lengoaian. Horretarako, XHTML lengoaiaren bidez web orria diseinatuko dut, eta CSS bidez itxura emango diot. Beste alde batetik, posta bidali eta irakurtzeko erabiltzen diren protokoloak ere aztertuko ditut, eta nire posta zuzenean protokolo hauek erabiliz ere probatuko dut, posta zerbitzuak maila baxuan nola funtzionatzen duen ikusteko. Atal hauek landuko ditut:  Posta zerbitzari lokala  DNS lokala  Posta zerbitzaria interneten  Posta bezeroa  Posta bezero propioa  Erabiltzaileak Posta zerbitzariaren izena Soidal izango da, beraz, domeinu lokala “soidal.net” izango da, eta interneteko domeinua, “soidal.no-ip.org”. 1- POSTA ZERBITZARIA Posta zerbitzari bat, sareko aplikazio bat da, internet edo intraneteko makina zerbitzari batean kokatua dagoena. Posta zerbitzariaren bidez, erabiltzaile ezberdinen artean mezuak bidali daitezke. Posta zerbitzu batean, partaide ezberdinak daude:  MTA → Mail Transfer Agent (Korreoa Transferitzeko Agentea) → Korreoa bidaltzeko  Mailbox zerbitzaria (mezu kutxa) → Korreoa gordetzeko
  • 6. Tolosaldea TLHI 5 Software eta Hardware librea  LDAP zerbitzaria → Erabiltzaileentzako  Posta bezeroa → Korreoa irakurri eta bidaltzeko Posta zerbitzua posible izan ahal izateko, protokolo hauek erabiltzen dira:  SMTP → Korreoa bidaltzeko → 25 portua  IMAP → Korreoa irakurtzeko → 143 portua  POP3 → Korreoa irakurtzeko → 110 portua  SSL → Protokolo segurua  TLS → Protokolo segurua. SSL-ren ondorengoa. Berez, nahikoa dira SMTP eta IMAP edo POP3 protokoloak, hauen bidez, korreoa bidali eta irakurtzea posible delako, baina, hauek ez direnez guztiz seguruak (ez delako zifraketarik egiten), konexioak seguruagoak izateko, SSL edo TLS protokoloak gehitzen zaie, beraz, biak batera erabiltzen dira, adibidez: SMTP + SSL → 465 portua IMAP + SSL → 993 portua POP3 + SSL → 995 portua Posta zerbitzarian, SMTP protokoloaren bidez korreoa bidaltzen da, igorletik hartzailera. Korreo hau, MTA-ren bidez garraiatzen da helbidera, eta hartzailearen Mailbox-en gordetzen da. Hau, zifratu gabe bidaltzen da, testu hutsean, beraz, 3.pertsona batek datu paketea lortzen badu, informazioa erraz irakurri ahal izango du, baina SMTP protokoloari SSL edo TLS protokolo segurua gehituz gero, konexioa zifratu egiten da. Hartzaileak korreo hau irakurtzeko, IMAP edo POP3 protokoloen bidez bere Mailbox-era konektatzen da, eta mezua deskargatzen edo zuzenean irakurtzen du.
  • 7. Tolosaldea TLHI 6 Software eta Hardware librea IMAP bidez irakurtzen badu, zerbitzarian dagoen mezua online irakurtzen du, baina POP3 bidez irakurriz gero, mezua zerbitzaritik deskargatzen da bezerora, eta zerbitzarian ezabatu egiten da. Hau ere, zifratu gabe egiten da, beraz, ez da oso segurua, baina SSL edo TLS protokoloak gehituz gero, konexioa zifratzen da. MTA ezberdinak daude: Postfix, Sendmail, Courier, Zimbra... Posta bezeroak ere: Squirrelmail... IMAP eta POP3 protokoloak erabiltzeko zerbitzuak ere: Dovecot (dovecot-imapd, dovecot-pop3d), Courier (courier-imap, courier-pop3)... Beraz, IMAP eta POP3 protokoloak erabiltzeko, protokolo hauentzako zerbitzuak instalatu behar dira. Nire posta zerbitzarian, hauek erabiliko ditut:  MTA: Postfix  Posta bezeroa: Squirrelmail eta Soidal Mail (Nirea)  IMAP: courier-imap  POP3: courier-pop3 Honetaz gain, posta zerbitzari batek MX motako erregistro bat erabiltzen du. Hau, DNS zerbitzari batean erregistratzen da, eta honek, posta zerbitzariaren IP helbidera apuntatzen du, hau da, posta zerbitzaria non dagoen esaten du. 1.1- POSTA LOKALA Lehenengo, posta zerbitzari lokala jarriko dut, hau da, posta zerbitzua sare lokal batean jarriko dut. Beraz, sare lokaleko erabiltzaileek bakarrik erabili ahal izango dute posta zerbitzaria. 1.1.0- ZERBITZARIA Lehenengo eta behin, posta zerbitzari bezala erabiliko dudan ordenagailua aukeratu dut. Horretarako, nire etxeko ordenagailu bat hartu dut, eta bertan Ubuntu sistema eragilea instalatuko dut. Ubuntu sistema eragilea aukeratu dut, GNU/Linux-en kasuan ez delako beharrezkoa Ubuntu zerbitzari bereziak erabiltzea, adibidez Ubuntu Server, hasieran UNIX sistema zerbitzarientzako perntsatuta zegoelako, beraz, Ubuntu Server bezalako sistema eragilea erabili ordez, Ubuntu normal bat erabili dezaket, eta hau zerbitzari bezala prestatu beharko dut.
  • 8. Tolosaldea TLHI 7 Software eta Hardware librea Beraz, nire etxeko ordenagailua hartu dut, karakteristika hauek dituena: Plaka: Asrock ALiveNF7G CPU: AMD Phenom II x4 940 RAM: 2 x 2 GB DDR2 Txartel grafikoa: Sapphire AMD Radeon HD 6850 1GB DDR5 Disko gogorra: 1 x Seagate 500 GB Elikadura iturria: 500 W Beraz, ordenagailu honetan Ubuntu sistema eragilea instalatzeko, lehenengo disko gogorra formateatu eta partizioak egiteari ekin diot. 1.1.0.1- PARTIZIOAK EGIN Disko gogorrak 500 GB dituenez, hau partizionatu egingo dut, hau da, atal logikoetan banatuko dut. Horrela, Ubuntu sistema eragilea datuetatik banatu ahal izango dut, beraz, aurrerago sistema izorratzen bada, ez ditut datuak galduko, eta banatuta daudenez, sistemak erroreak izateko aukera gutxiago izango ditu. Ubuntu sistema eragilearentzako 60 GB utziko dut, programa ezberdinak instalatuko ditudalako, eta sistemak nahikoa edukiera izatea nahi dudalako. Gainera, Ubuntu distribuzioa GNU/Linux sistema eragilea denez, Swapping-a egingo dut. Swapping-a, disko gogorraren zati bat RAM memoria bezala erabiltzea da, hau da, memoria logikoa da. Honi esker, RAM memoria gutxi duten ordenagailuetan, gehiago izatea lortu dezakegu, eta RAM memoria gainezka dagoenean, Swap-erako memoria erabiliko da. Horretarako, partizio bat Swap moduan egingo dut. Honen tamaina, RAM memoriaren araberakoa da. Askoren ustez, Swap-erako utzi behar dugun tamaina, RAM memoriaren bikoitza da, baina hau, UNIX sistemetan izaten zen, RAM memoria oso txikia zen kasuetan, baina GNU/Linux sistemetan ez da horrela, beraz, erregela hau jarraituko dugu:  1 GB RAM baino gutxiagoko sistemetan: RAM-aren edukiera bera (adb; 512 MB RAM, 512 MB Swap)  1 GB eta 4 GB RAM arteko sistemetan: RAM edukieraren erdia (adb; 2 GB RAM, 1 GB Swap)  4 GB RAM baino gehiagoko sistemetan: 2 GB RAM. Beraz, nire ordenagailuak 4 GB-eko RAM memoria duenez, Swap partizioari 2 GB utziko diot, horrekin nahikoa izango delako. Horrela, sobratzen den guztia datuentzako utziko dut, hau da, 438 GB (500 GB – 60 GB – 2 GB).
  • 9. Tolosaldea TLHI 8 Software eta Hardware librea Hau jakinda, partizioak egiten hasi nahiz. Horretarako, Hiren's Boot 10.10 erreminta erabili dut. Hau, abioko sistema berezi bat da, sistema administratzeko eta kontrolatzeko programa ezberdinak dituena. Hau CD batean edo abio USB batean grabatu dezakegu. Nire kasuan, CD batean grabatu dut. Horretarako, Nero Express programa erabili dut. Honekin, Hiren's Boot 10.10 abio sistemaren ISO motako irudia grabatu dut CD-an, abio CD batean bihurtuz. Gero, abio CD hau ordenagailuan sartu dut, eta berrabiarazi egin dut. Hau pizten ari zela, F10 tekla sakatu dut hainbat aldiz, eta abioko menuan CD-Rom-etik arrankatzeko aukeratu dut. Beraz, ordenagailua Hiren's Boot-ekin arrankatu dut. Disko gogorrean partizioak egiteko, Acronis Disk Director Suite programa erabili dut. Hau, Hiren's Boot-en disko gogorra kudeatzeko tresnen atalean dago. Behin programan sartuta, zeuden partizioak ezabatu ditut, eta disko gogorreko espazio librea aukeratuz, partizio berriak egin ditut:  Ubuntu: ext3, 60 GB, primarioa  Datuak: NTFS, 438 GB, logikoa  Swap: Linux Swap, 2 GB, primarioa “Apply” sakatu eta aldaketak aplikatu dira. Bukatzeko, programatik atera naiz. 1.1.0.2- UBUNTU INSTALATU Disko gogorra partizionatu ondoren, Ubuntu sistema eragilea instalatu dut. Horretarako, Ubuntu 12.04 sistema eragilearen ISO irudia grabatu dut CD batean, Nero Express programarekin. Gero, Hiren's Boot-ekin egin dudan moduan, ordenagailua CD honetatik arrankatu dut, eta horrela, Ubuntu sistema eragilearen instalatzailean sartu naiz. Bertan, “Instalar Ubuntu” aukeratu dut, eta instalazioa konfiguratu dut. Ubuntu 60 GB-eko partizioan instalatzeko aukeratu dut. Nire erabiltzailea eta pasahitza aukeratu ditut: Erabiltzailea: erik Pasahitza: ****** Ordenagailuaren izena ere adierazi dut: erik-pc Erlojua konfiguratu ondoren, instalatzen hasi da. Minutu batzuen ondoren, Ubuntu instalatu da, eta CD-a atera ondoren, ordenagailua berrabiarazi dut.
  • 10. Tolosaldea TLHI 9 Software eta Hardware librea 1.1.0.3- UBUNTU KONFIGURATU Behin Ubuntu instalatuta, hau konfiguratzeari ekin diot, nire erabiltzailearekin sesioa hasiz. 1.1.0.3.1- Sistema eguneratu Lehenengo, Ubuntu sistema eragilea eguneratu dut. Horretarako, Ubuntu-ren errepositorioak eguneratu ditut, eta gero eguneraketa hauek instalatu ditut. Errepositorio hauek, “apt-get” pakete kudeatzaileak aplikazio eta programak instalatzeko erabiltzen duen pakete zerrenda da. Beraz, terminalean edo kontsolan sartu naiz, “Control+Alt+T” teklak sakatuz. Gero, super erabiltzaile bezala logeatu naiz, agindu honekin: sudo -s Ondoren, super erabiltzailearen pasahitza sartu dut. Errepositorioak eguneratzeko agindu hau erabili dut: apt-get update Gero, eguneraketa hauek instalatzeko: apt-get upgrade Horrela, errepositorioak eguneratu eta eguneraketak instalatu dira. 1.1.0.3.2- Sarea konfiguratu Sistema eguneratu ondoren, sarea konfiguratu dut. Hau, estatikoki konfiguratu dut, eta ez DHCP bidez, zerbitzaria izango delako, eta bere sareko konfigurazioa estatikoa izatea komeni delako, hau da, aldatzen ez dena. Sarea konfiguratzeko, “interfaces” fitxategia editatu dut, “nano” editorearen bidez: nano /etc/network/interfaces Bertan, informazio hau jarri dut: auto eth0 iface eth0 inet static address 192.168.1.30
  • 11. Tolosaldea TLHI 10 Software eta Hardware librea netmask 255.255.255.0 gateway 192.168.1.1 Fitxategia gordetzeko “Control+o” sakatu dut, eta ixteko “Control+x”. Aldaketa hauek aplikatzeko, sarea berrabiarazi dut: /etc/init.d/networking restart Horrela, sarea konfiguratu da, “eth0” interfazea erabiliz. Honi, “192.168.1.30” IP helbidea eman diot, eta “/24”-eko maskara jarri diot. Ate-bide bezala routerraren helbidea jarri dut, “192.168.1.1”. DNS helbidea konfiguratzeko, “resolv.conf” fitxategia editatu dut: nano /etc/resolv.conf Bertan, Google-eko DNS helbidea adierazi dut: nameserver 8.8.8.8 Honekin, sarea konfiguratuta gelditu da. 1.1.0.4- WEB APLIKAZIO ZERBITZARIA Proiektu honen helburua posta zerbitzari bat egitea da, baina honen barruan posta bezeroak erabiliko ditut, eta hauek web aplikazioak dira. Beraz, zerbitzari honek web aplikazioak ere zerbitzatuko ditu, eta horretarako, posta zerbitzaria izateaz gain, web aplikazio zerbitzaria ere izan behar da. Web zerbitzari bat, web aplikazioak zerbitzatzen dituen zerbitzaria da. Honek, hiru elementu ditu:  Web zerbitzaria: Apache, Internet Information Services...  Zerbitzariaren aldeko lengoaia ulertuko duen modulua: PHP, Perl, Python...  Datu baseak kudeatzeko sistema (DBKS): MySQL, PostgreSQL... Nire kasuan, web zerbitzari bezala Apache erabiliko dut, zerbitzariaren aldeko lengoaia PHP, eta DBKS bezala MySQL. Hiru elementu hauek instalatzeko, XAMPP (Windows) eta LAMPP (Linux) bezalako paketeak daude, baina ez ditut instalatuko, hauen instalazioa ez delako oso sendoa, horren ordez, elementu bakoitza banan-banan instalatuko dut. 1.1.0.3.1- Apache Lehenengo, Apache web zerbitzaria instalatuko dut. Horretarako, agindu hau erabili dut:
  • 12. Tolosaldea TLHI 11 Software eta Hardware librea apt-get install apache2 Horrela, Apache2 web zerbitzaria instalatu da, eta honek funtzionatzen duela probatzeko, Apache- ren horri nagusian sartu naiz, web nabigatzailean nire zerbitzariaren helbidea jarriz: http://192.168.1.30/ Horrela, Apache-ren Index orri nagusian sartu da, beraz, hau ondo dago. 1.1.0.3.2- PHP Apache instalatu ondoren, PHP lengoaia ulertuko duen modulua instalatu dut, eta honekin batera, Apache-rekin lotzeko paketeak: apt-get install php5 libapache2-mod-php5 Horrela, PHP5 eta behar diren liburutegiak instalatu dira. Ondoren, Apache berrabiarazi dut: /etc/init.d/apache2 restart Horrela, aldaketak aplikatu dira. 1.1.0.3.3- MySQL Azkenik, MySQL datu baseak kudeatzeko sistema instalatu dut, eta Apache eta PHP-rekin lotzeko paketeak ere: apt-get install mysql-server libapache2-mod-auth-mysql php5-mysql Honekin, MySQL DBKS-a instalatu da, eta Apache eta PHP-rekin lotu da. Azkenik, Apache web zerbitzaria berrabiarazi dut: /etc/init.d/apache2 restart Honekin, web aplikazio zerbitzaria erabiltzeko prest dago, baina oraingoz ez dut erabiliko, beraz, momentuz horrela utziko dut, geroago erabiltzeko. Horrela, zerbitzaria prest dago posta zerbitzariarekin hasteko.
  • 13. Tolosaldea TLHI 12 Software eta Hardware librea 1.1.1- DNS Posta zerbitzari batek, domeinuak erabiltzen ditu mezuen trukaketa egiteko. Hau da, posta helbide bakoitza, domeinu baten barruan dago. Adibidez, Hotmail konpainiako posta helbide bat badugu, “adibidea@hotmail.com”, “@” karakterea arte dagoena izena izango da, erabiltzailearena, eta ondorengoa, domeinua izango da, kasu honetan, “hotmail.com” domeinua. Beraz, “adibidea” erabiltzailea “hotmail.com” domeinuaren erabiltzailea izango da, eta ezin dira bi izen berdin egon domeinu berean. Beraz, posta zerbitzari batek domeinu baten beharra du, eta hori posible izateko, DNS zerbitzaria behar da aurretik. DNS zerbitzari batek, IP helbide eta izenen arteko trukaketa egiten du, errazagoa delako domeinu izenak erabiltzea IP helbideak baino. Kasu honetan, DNS zerbitzariaren bidez, gure postarako domeinua erregistratuko dugu, beraz, nire posta zerbitzariak “Soidal” izena duenez, “soidal.net” domeinua sortuko dut. DNS zerbitzari hau, sare lokalean edo interneten egon daiteke. DNS-a sare lokalean badago, posta zerbitzariko helbideak bakarrik sare lokal horretan izango dira ezagunak, baina interneten ez, beraz, Hotmail edo Gmail bezalako posta zerbitzari batetik ezingo ditugu mezuak bidali gurera, eta beraiek ere ez dituzte gureak onartuko. DNS-a interneten badago berriz, posta zerbitzaria interneten erabili ahal izango dugu. Kasu honetan, lehenengo DNS lokala jarriko dut nire zerbitzarian. Erabiliko dudan DNS zerbitzaria “bind9” izango da, Linux sistema eragilerako. 1.1.1.1- DNS INSTALATU Bind9 DNS-a instalatzeko, terminalean agindu hau exekutatu dut: apt-get install bind9 Horrela, ”apt-get” pakete kudeatzailearen bidez bind9 DNS-a instalatu da zerbitzarian. 1.1.1.2- DNS KONFIGURATU DNS-a instalatu ondoren, konfiguratu egin dut. Bertan, “soidal.net” domeinua sortu dut. Domeinu honetan, host-ak (ekipoak) eta MX erregistro bat erregistratu ditut. Bi hauek, nire zerbitzariko IP helbidea izango dute, bertan egongo direlako. DNS-ko konfigurazio fitxategiak /etc/bind direktorioan daude, beraz, bertako fitxategiak editatu
  • 14. Tolosaldea TLHI 13 Software eta Hardware librea ditut. 1.1.1.2.1- Domeinua sortu Domeinua sortzeko, “named.conf.local” fitxategia editatu dut, “nano” editorearen bidez, agindu honekin: nano /etc/named.conf.local Bertan, domeinua sortzeko, zona berri bat sortu dut, “soidal.net” izenekoa. Horretarako, hau idatzi dut fitxategian: Fitxategia gorde dut “Control+o” sakatuz, eta bertatik ateratzeko “Control+x” erabili dut. Horrela, “soidal.net” zona sortu dut, eta honen konfigurazio fitxategia /etc/bind/db.soidal dela esan diot, gero sortuko dudana. Gainera, zona honek master bezala funtzionatzen du, hau da, zona nagusia da. 1.1.1.2.2- Domeinua konfiguratu Zona berria sortu ondoren, aipatu dudan “db.soidal” DNS konfigurazio fitxategia sortu dut. Horretarako, “db.local” fitxategia erabili dut, beraz, fitxategi hau direktorio berean kopiatu dut, baina “db.soidal” izenarekin. Fitxategia kopiatzeko, “cp” agindua erabili dut: cp /etc/bind/db.local /etc/bind/db.soidal Domeinua konfiguratzeko, “db.soidal” fitxategia editatu dut: nano /etc/bind/db.soidal Bertan, “soidal.net” domeinua konfiguratu dut, informazio hau gehituz:
  • 15. Tolosaldea TLHI 14 Software eta Hardware librea Bertan, “soidal.net” domeinua sortu dut. Domeinu nagusia dela adierazteko, “SOA” jarri dut. Gainera, domeinuaren ondoren, “.” karakterea jartzen da. Honen barruan, domeinuari buruzko informazioa konfiguratu dut. Domeinuaren serie zenbakia “1000” jarri dut, eta hau ezin da berdina izan bi domeinuetan. Gainerako parametroak defektuzkoak utzi ditut. NS (Name Server) erregistro bat ere erregistratu dut, “ns.soidal.net”. Honek, DNS adierazten du. Gainera, “ns” host-a 192.168.1.30 IP helbidean dagoela esan diot, hau da, nire makinan. Host hau erregistratzeko, “A” erabili dut, honek, host-a dela adierazten du. MX erregistro bezala “mail.soidal.net” erregistratu dut, eta “mail” host-a ere 192.168.1.30 IP-an dagoela esan diot. MX erregistro honen lehentasun maila 10 dela ere adierazi dut. Hau erabiltzen da, MX motako erregistro bat baino gehiago daudenean, adibidez posta zerbitzari bat baino gehiago badaude, mailarik txikiena duen MX erregistroa erabiltzeko. Beraz, maila txikieneko MX erregistroak apuntatzen duen posta zerbitzaria erabiliko da defektuz, eta honek ez badu funtzionatzen, hurrengo MX erregistroak apuntatzen duen posta zerbitzaria erabiliko da. Azkenik, “www” host-a ere zerbitzariaren IP-an dagoela esan diot, web zerbitzariarena. 1.1.1.2.3- Berbideratzaileak Nire DNS-an domeinu guztiak ez direnez erregistratuta egongo, berbideratzaile bat gehitu diot. Horretarako, “named.conf.options” fitxategia editatu dut: nano /etc/bind/named.conf.options Bertan, Google-ren DNS-a gehitu diot, “options” atalean informazio hau jarriz:
  • 16. Tolosaldea TLHI 15 Software eta Hardware librea options { forwarders { 8.8.8.8; }; }; Horrela, bezero batek nire DNS-ra jotzen duenean, lehenengo bertan begiratuko da domeinua ezagutzen duen, eta ez badu ezagutzen, 8.8.8.8 DNS-ra berbideratuko da. 1.1.1.3- DNS BERRABIARAZI DNS-a instalatu eta konfiguratu ondoren, DNS zerbitzua berrabiarazi dut, aldaketak aplikatzeko: /etc/init.t/bind9 restart Horrela, nire DNS zerbitzua berrabiarazi eta domeinua martxan jarri da. 1.1.1.4- ZERBITZARIAN BERE DNS-a JARRI DNS-a martxan dugula, gure zerbitzariak hau erabiltzeko, zerbitzariaren sareko konfigurazioan adieraziko diogu. Lehenengo, zerbitzariaren DNS-a aldatu dut, bere propioa erabiltzeko, eta ez beste bat. Horretarako, “resolv.conf” fitxategia editatu dut: nano /etc/resolv.conf Bertan, zerbitzariaren IP-a eta domeinua jarri ditut: nameserver 192.168.1.30 search soidal.net
  • 17. Tolosaldea TLHI 16 Software eta Hardware librea Horrela, posta zerbitzariak kanpoko DNS bat erabili ordez, bere DNS propioa erabiliko du. 1.1.1.5- BEZEROETAN ZERBITZARIAREN DNS-a JARRI Ordenagailu bezeroetan ere, DNS-a aldatu dut, zerbitzariarena jarriz. Ubuntu bezeroetan, zerbitzariaren berdina egin dut, “resolv.conf” fitxategia editatuz, eta informazio bera jarriz. Baina Windows bezeroetan, kontrol paneletik aldatu dut: Inicio --> Panel de control --> Redes --> Conexión Ipv4 --> Propiedades --> Propiedades Ipv4 Bertan, zerbitzariaren DNS-a jarri dut: DNS: 192.168.1.30 Horrela, bezeroetan DNS-a konfiguratuta dago, kanpoko bat erabili ordez, zerbitzariarena erabiltzeko. Honekin, DNS-a konfiguratuta eta martxan dago, eta domeinua ere badugu, beraz, DNS-aren atala bukatuta dago. 1.1.2- MTA DNS-a sare lokalean instalatu ondoren, MTA (Mail Transfer Agent) edo Korreoa Garraiatzeko Agentea instalatu dut. MTA-ak SMTP protokoloaren bidez posta zerbitzari batetik beste posta zerbitzari batera edo berera korreoa bidaltzen du, hau da, mezua igorletik hartzailera garraiatzen da. MTA ezberdinak daude: Postfix, Sendmail, Courier... Nire posta zerbitzarirako, Postfix erabiliko dut.
  • 18. Tolosaldea TLHI 17 Software eta Hardware librea 1.1.2.1- POSTFIX INSTALATU Postfix MTA instalatzeko, agindu hau exekutatu dut terminalean: apt-get install postfix Horrela, Postfix MTA instalatu eta konfiguratzeko eskatu dit. 1.1.2.2- POSTFIX KONFIGURATU Postfix instalatzean, konfiguratu egin behar da, gure domeinuaren korreoa tratatzeko. Beraz, Postfix-en atal ezberdinak konfiguratu ditut: Korreo konfigurazioa: Interneteko gunea Korreo sistemaren izena: soidal.net Administrari eta postmasterrarentzako korreo ontzia: root Korreoa baimentzeko beste helbideak:
  • 19. Tolosaldea TLHI 18 Software eta Hardware librea soidal.net, Ubuntu, localhost.localdomain, localhost Korreo ilaran eguneraketa sinkronoak indartu? Ez Sare lokalak: 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 Procmail erabili entrega lokalerako? Bai Postontziaren tamaina limitea: 0
  • 20. Tolosaldea TLHI 19 Software eta Hardware librea Helbide lokalen hedadura karakterea: + Erabiltzeko interneteko protokoloak: ipv4 Horrela, Postfix konfiguratu dut nire domeinuari dagokionez. Konfigurazioan ez dut “mail.soidal.net” MX erregistroa adierazi, “soidal.net” domeinua baizik, baina honek, automatikoki detektatuko ditu domeinuaren MX erregistroak. Postfix berriro konfiguratu nahi bada, agindu hau erabili daiteke: dpkg-reconfigure postfix Beraz, domeinuan edo DNS-an aldaketaren bat egiten badugu, Postfix berriro konfiguratu ahal izango dugu.
  • 21. Tolosaldea TLHI 20 Software eta Hardware librea 1.1.3- KORREOA IRAKURTZEKO PROTOKOLOAK Erabiltzaileek zerbitzarian dagoen korreoa irakurri ahal izateko, zerbitzaritik mezuak irakurtzeko edo deskargatzeko protokoloak behar dira. Horretarako, protokolo hauek erabiltzen dituzten zerbitzuak instalatu ditut. Lehen esan bezala, korreoa irakurtzeko bi protokolo erabiltzen dira: IMAP eta POP3. IMAP protokoloak korreoa zerbitzaritik irakurtzen du online, baina POP3 protokoloak, korreoa deskargatzen du bere makinara, eta zerbitzaritik ezabatzeko aukera du. Bi hauetatik zein erabiliko den, bezeroak erabilitako korreo bezero aplikazioaren araberakoa da; Outlook, Gmail, Zimbra Client... IMAP eta POP3 protokoloentzako erreminta ezberdinak daude: Dovecot (dovecot-imapd, dovecot-pop3d), Courier (courier-imap, courier-pop3)... Nik, Dovecot erabiliko dut, beraz, IMAP protokoloarentzako “dovecot-imap” paketea eta POP3 protokoloarentzako “dovecot-pop3” paketeak instalatuko ditut. 1.1.3.1- DOVECOT INSTALATU Dovecot-en bi pakete hauek instalatzeko, agindu hau exekutatu dut terminalean: apt-get install dovecot-imapd dovecot-pop3d Horrela, “dovecot-imapd” eta “dovecot-pop3d” paketeak aldi berean instalatu ditut zerbitzarian. 1.1.3.2- DOVECOT KONFIGURATU Dovecot instalatu ondoren, konfiguratu egin dut. Horretarako, “dovecot.conf” fitxategia editatu dut: nano /etc/dovecot/dovecot.conf Bertan, bi lerro hauek gehitu ditut: protocols= pop3 pop3s imap imaps mail_location= mbox:~/mail:INBOX=/var/mail/%U Horrela, IMAP eta POP3 protokoloak gaitu ditut, eta erabiltzailearen korreoa /var/mail direktorioan gordetzeko esan diot, erabiltzailearen izena duen karpetan, “%U” parametroak uneko erabiltzailea adierazten duelako.
  • 22. Tolosaldea TLHI 21 Software eta Hardware librea 1.1.3.3- DOVECOT BERRABIARAZI Dovecot instalatu eta konfiguratu ondoren, Dovecot zerbitzua berrabiarazi dut, aldaketak aplikatzeko: /etc/init.d/dovecot restart Horrela, Dovecot zerbitzua martxan jarri da, eta IMAP eta POP3 protokoloak erabiltzeko aukera dago nire posta zerbitzarian. 1.1.4- ERABILTZAILEAK SORTU Posta zerbitzua erabiltzeko, erabiltzaileak sortuta egon behar dira. Erabiltzaile hauek, zuzenean zerbitzarian lokalki sortu ditzakegu, edo bestela, LDAP zerbitzari bat erabili dezakegu bertan erabiltzaileak sortzeko. LDAP zerbitzari hau, posta zerbitzari berean edo beste zerbitzari batean egon daiteke. Baina praktika honetarako, erabiltzaileak posta zerbitzari lokalean sortuko ditut, LDAP datu-baserik erabili gabe, ez delako beharrezkoa kasu honetan. Beraz, bi erabiltzaile sortu ditut posta zerbitzarian, “adduser” aginduarekin. Lehenengo, “user1” erabiltzailea sortu dut: adduser user1 Horrela, “user1” erabiltzailearen pasahitza eta izen osoa eskatu dizkit: Introduzca la nueva contraseña de UNIX: user1 Nombre completo: user1 Ondoren, “user2” erabiltzailea sortu dut: adduser user2 Kasu honetan, horrela konfiguratu dut: Introduzca la nueva contraseña de UNIX: user2 Nombre completo: user2 Honekin, “user1” eta “user2” erabiltzaileak sortu dira posta zerbitzarian, eta hauek posta zerbitzua erabili ahal izango dute.
  • 23. Tolosaldea TLHI 22 Software eta Hardware librea 1.1.5- TELNET BIDEZ PROBATU DNS-a instalatuta eta konfiguraturik, MTA instalatuta eta konfiguraturik, korreoa irakurtzeko protokoloak erabiltzen dituzten zerbitzuak instalaturik eta zerbitzarian erabiltzaileak sorturik egonda, posta zerbitzua funtzionatzeko prest dago. Posta zerbitzariak ondo funtzionatzen duela probatzeko, posta bezero bat instalatu aurretik, Telnet zerbitzuaren bidez probatu dut. 1.1.5.1- KORREOA BIDALI Lehen esan bezala, korreoa bidaltzeko SMTP protokoloa erabiltzen da. Hau, Telnet zerbitzuaren 25.portua da. Telnet zerbitzua, sareko programa bat da, erabilera asko dituena. Portu ezberdinak erabiliz, erabilera ezberdinak ematen dizkiogu. Telnet programa, defektuz instalatua dago Windows eta Linux makinetan. Hala ere, bi Telnet programa daude, bezeroa eta zerbitzaria. Nik, Telnet bezeroaren bidez probatuko dut posta zerbitzua. Hala ere, Telnet bidez korreo bat bidaltzean, normalean, posta zerbitzari gehienek mezu hau “nahi ez ditugunen erretiluan” gordetzen dituzte, jatorria ezin delako ziurtatu. SMTP protokoloak 25.portua erabiltzen duenez, Telnet programa 25.portuan erabiliko dut. Beraz, Telnet programaren bidez posta zerbitzura konektatu naiz, eta bertatik, “user1” erabiltzailearekin “user2” erabiltzaileari korreo bat bidali diot; SMTP protokoloko sintaxia erabiliz. SMTP protokoloa erabiltzeko sintaxia edo aginduak hauek dira: HELO --> Zerbitzariari zure domeinua zein den esateko. Adb: HELO domeinua.net MAIL FROM: --> Jatorria.Nondik bidaltzen den korreoa. Hau ez da ziurtatzen, beraz, SMTP protokolo hutsarekin segurtasun falta dago, korreo anonimoak bidali daitezkeelako, hau da, identitate bat ordeztu dezakegu. Adb: MAIL FROM: host@domeinua.net RCPT TO: --> Helbidea. Korreoa norentzako den. Adb: RCPT TO: host@domeinua.net
  • 24. Tolosaldea TLHI 23 Software eta Hardware librea DATA --> Korreoaren gorputza hasteko. Edukia. Subject: --> Korreoaren gaia. . --> Korreoaren gorputza bukatzeko. Honekin, behin “Enter” tekla sakatuta, korreoa bidaltzen. Esan beharra dago, agindu hauetariko bakoitza exekutatzeko, “Enter” tekla sakatu behar dela. Beraz, lehenengo terminalean sartu naiz, eta Telnet bidez konektatu naiz “mail.soidal.net” helbidera 25 portuan. Horretarako, agindu hau erabili dut: telnet mail.soidal.net 25 Horrela, posta zerbitzarira konektatu naiz. Ikusten den bezala, “mail.soidal.net” helbidea erabili dut, hau delako posta zerbitzuaren MX erregistroa, hau da, posta zerbitzariaren helbidea da; 192.168.1.30. Gainera, honen ondoren 25 portua jarri dut, aginduaren sintaxiak horrela eskatzen duelako, portua bukaeran jartzea. Defektuz, 23.portua erabiltzen da, beraz, ezer jarriko ez banu, 23.portua erabiltzen arituko nintzen, eta ez dut hori nahi. Behin posta zerbitzarian konektatuta, SMTP protokoloaren aginduen bidez “user1” erabiltzailearekin korreoa bidali diot “user2” erabiltzaileari: HELO soidal.net MAIL FROM: user1@soidal.net RCPT TO: user2@soidal.net DATA Subject: Telnet bidez proba Kaixo user2, hau posta Telnet bidez probatzeko da. .
  • 25. Tolosaldea TLHI 24 Software eta Hardware librea Horrela, lehenengo, posta zerbitzariarekin identifikatu naiz, nire domeinua “soidal.net” dela adieraziz. Gero, korreoa “user1@soidal.net” erabiltzaileak bidaltzen duela esan diot. Beraz, hori izango da helbideak ikusiko duena, baina lehen esan bezala, hau ez da zehatza, SMTP protokoloak ez duelako probatzen, beraz, edozein jarrita ere, ez du esan nahi egia denik. Hau da, jatorri bezala “obama@whitehouse.com” jarri dezakegu, eta helbideak hori jasoko zuen. Esan beharra dago, identitatea ordeztea legez kontrakoa dela, honekin, SMTP protokolo hutsaren segurtasun falta adierazi nahi dut. Ondoren, mezua “user2@soidal.net” erabiltzailearentzako dela esan diot. Gero, korreoaren gorputza idatzi dut, gaia era edukia idatziz. Azkenik, korreoaren gorputza amaitu dela adierazi dut “.” karakterearen bidez. Horrela, korreo hori bidali da, eta Telnet zerbitzuaren konexioa ixteko, “quit” agindua erabili dut: quit Honekin, korreo hau posta zerbitzarian gorde da, /var/mail/ direktorioko helbidearen fitxategian; “user2” Beraz, korreoa ondo gorde dela ikusteko, fitxategi hori ikusi dut: nano /var/mail/user2
  • 26. Tolosaldea TLHI 25 Software eta Hardware librea Bertan, korreoa gordeta geratu dela ikusi dut, beraz, korreoa ondo bidali da. 1.1.5.2- KORREOA IRAKURRI Posta zerbitzaritik korreoa irakurtzeko, IMAP edo POP3 protokoloak erabiltzen dira. Beraz, protokolo hauen bidez, lehen bidalitako korreoa irakurri dut. 1.1.5.2.1- IMAP Lehenengo, IMAP protokoloaren bidez irakurri dut korreoa. IMAP protokoloak, zerbitzarian dagoen korreoa online irakurtzen du, hau da, deskargatu gabe. IMAP protokoloak, 143.portua erabiltzen du, beraz, kasu honetan ere, Telnet bidez posta zerbitzarira konektatu naiz, baina oraingoan, 143.portua erabiliz, eta IMAP protokoloaren aginduen bidez irakurri dut korreoa. IMAP protokoloaren sintaxia hau da: . LOGIN --> Erabiltzailea logeatzeko. Adb: . LOGIN erabiltzailea pasahitza . LIST --> Karpeta edo direktorioak listatzeko. Adb: . LIST “” “*” . STATUS --> Korreo kopurua ikusteko. Adb: . STATUS INBOX (messages) --> Mezu kopuru totala ikusteko. . STATUS INBOX (unseen) --> Irakurri gabeko mezu kopurua ikusteko.
  • 27. Tolosaldea TLHI 26 Software eta Hardware librea . SELECT --> Karpeta aukeratzeko. Adb: . SELECT INBOX . FETCH --> Korreoekin lan egiteko. Aukera ezberdinak daude: . FETCH lehenengoa:azkena FLAGS --> Korreoen zerrenda era Flag-ak ikusteko. Adb: . FETCH 1:3 FLAGS . FETCH korreo_zenb (body[header.fields (subject)]) --> Korreo konkretu baten gaia ikusteko. Adb: . FETCH 3 (body[header.fields (subject)]) . FETCH korreo_zenb rfc822.text --> Korreoaren edukia ikusteko. Adb: . FETCH 3 rfc822.text . LOGOUT --> Sesioa ixteko. Ikusten den bezala, IMAP protokoloaren aginduak ez dira SMTP protokoloaren aginduak bezala, sintaxia ezberdina da. Gainera, agindu bakoitzaren aurretik “.” karakterea eta hutsune bat jarri behar da. Kasu honetan, erabiltzailearekin logeatu beharko gara, eta pasahitza behar dugu, beraz, beste baten kontuan sartzea ez da hain erraza. Beraz, lehenengo Telnet bidez konektatu naiz posta zerbitzarira, 143.portua erabiliz: telnet mail.soidal.net 143 Ikusten denez, agindua aurrekoa bezalakoa da, aldatzen den gauza bakarra portua da, baina hau oso garrantzitsua da, honek adierazten duelako zein protokolo erabiltzen dugun. Horrela, posta zerbitzarian konektatu naiz IMAP protokoloaren bidez, eta korreoa irakurtzeko, IMAP protokoloaren sintaxia erabili beharko dut. Beraz, lehen bidalitako korreoa irakurtzeko, “user2” erabiltzailearekin logeatu naiz, eta 12.korreoa irakurri dut: . LOGIN user2 user2 . LIST “” “*” . STATUS INBOX (messages) --> 12 . STATUS INBOX (unseen) --> 1
  • 28. Tolosaldea TLHI 27 Software eta Hardware librea . SELECT INBOX . FETCH 12 (body [header.fields (subject)]) . FETCH 12 rfc822.text . LOGOUT Horrela, “user1” erabiltzaileak bidalitako korreoa irakurri dut posta zerbitzarian. Lehenengo, “user2” erabiltzailearekin logeatu naiz bere pasahitza erabiliz. Horrela, ondo sartu da.
  • 29. Tolosaldea TLHI 28 Software eta Hardware librea Gero, karpetak listatu ditut, eta ondoren, “INBOX” karpetako (mezuen erretilua) irakurri gabeko mezuen kopurua listatu dut, eta guztira 12 mezu daudela erantzun dit. Gainera, irakurri gabeko mezuen kopurua ere ikusi dut, eta mezu bat dago irakurri gabe. Ondoren, INBOX karpeta aukeratu dut, hau da, mezuen kutxatila. Beraz, “user1” erabiltzailearen korreoa 12.a denez, 12.korreoaren gaia irakurri dut, eta mezua ere irakurri dut. Azkenik, “user2” erabiltzailearen saioa itxi dut, eta Telnet konexioa itxi. Honekin, posta zerbitzariak ondo funtzionatzen duela frogatu dut, korreoa ondo bidali eta irakurri daitekeelako. 1.1.5.2.2- POP3 POP3 protokoloak, IMAP-ek ez bezala, posta zerbitzaritik deskargatzen du korreoa, eta gero, mezu hau zerbitzaritik ezabatzeko aukera dago. POP3 protokoloak, 110.portua erabiltzen du, eta honen sintaxiak, IMAP protokoloaren antzeko egitura du, baina aginduak ezberdinak dira. POP3 protokoloaren sintaxia hau da: USER --> Erabiltzailea. Adb: USER erabiltzailea PASS --> Erabiltzailearen pasahitza. Adb: PASS pasahitza STAT --> Korreo kopurua ikusteko. LIST --> Korreoak listatzeko; kopurua + tamaina. RETR --> Korreo konkretu irakurtzeko. Adb: RETR korreo_zenb DELE --> Korreo konkretu bat ezabatzeko. Mezua markatzen du, eta sesioa ixtean ezabatzen da. Adb: DELE korreo_zenb QUIT --> Erabiltzailearen sesioa ixteko.
  • 30. Tolosaldea TLHI 29 Software eta Hardware librea Beraz, Telnet zerbitzuaren bidez posta zerbitzarira konektatu naiz 110.portua erabiliz: telnet mail.soidal.net 110 Horrela, posta zerbitzarira konektatu naiz, eta “user1” erabiltzaileak “user2” erabiltzaileari bidalitako korreoa irakurri dut, agindu hauek erabiliz: USER user2 PASS user2 LIST RETR 11 DELE 11 QUIT Honekin, lehenengo “user2” erabiltzailearekin logeatu naiz, bere pasahitza sartuz. Gero, korreo kopurua listatu dut, eta 11 daudela erantzun dit. Ondoren, 11.mezua irakurri dut, eta “user1” erabiltzaileak bidalitakoa da.
  • 31. Tolosaldea TLHI 30 Software eta Hardware librea Bukatzeko, 11.mezua posta zerbitzaritik ezabatu dut, eta “user2” erabiltzailearen sesioa itxi dut. Honekin, posta zerbitzariak ondo funtzionatzen duela ziurtatu dut, eta korreoa irakurtzeko bi protokoloek ondo funtzionatzen dutela. 1.1.6- POSTA BEZEROA Posta zerbitzariak ondo funtzionatzen duela probatu dut, SMTP, IMAP eta POP3 protokoloak Telnet bidez erabiliz korreoak bidali eta irakurri ahal izan ditudalako. Hau, posta zerbitzaria probatzeko egin dut, baina gero, erabiltzaileek posta bezero bat erabiliko dute korreoa bidali eta irakurtzeko, Telnet bidez egitea oso astuna delako erabiltzaileentzako. Posta bezeroak web aplikazioak edo aplikazio lokalak izan daitezke. Web aplikazioak ez dira instalatu behar, eta web nabigatzaile bidez atzitzen dira. Hauek, bakarrik zerbitzarian instalatzen dira. Aplikazio lokalak berriz, ordenagailu bezero bakoitzean instalatu behar dira. Nik, web aplikazioa erabiliko dut, sinpleagoa eta erosoagoa delako posta bezeroa nire posta zerbitzarian bakarrik instalatzea, bezero bakoitzean instalatu behar izatea baino. Posta bezero ezberdinak daude; Squirrelmail, Zimbra Client, Mozilla Thunderbird... Nire kasuan, Squirrelmail posta bezeroa erabiliko dut. Squirrelmail PHP lengoaian programatutako kode askeko webmail aplikazio bat da. Honek funtzionatu ahal izateko, PHP soportea duen posta zerbitzaria behar da, eta gainera, SMTP eta IMAP zerbitzariak behar ditu. Nire posta zerbitzariak ezaugarri hauek betetzen dituenez, erabiltzeko aukera dut. 1.1.6.1- SQUIRRELMAIL INSTALATU Squirrelmail posta bezeroa instalatzeko, agindu hau erabili dut: apt-get install squirrelmail Horrela, Squirrelmail posta bezeroa instalatu da nire posta zerbitzarian, baina erabiltzen hasi
  • 32. Tolosaldea TLHI 31 Software eta Hardware librea aurretik, konfiguratu egingo dut. 1.1.6.2- SQUIRRELMAIL KONFIGURATU Squirrelmail posta bezeroak nire posta zerbitzaria erabili ahal izateko, konfiguratu egin behar da. Honek, bi era ditu konfiguratzeko; alde batetik, /etc/squirrelmail/ direktorioko “config.php” fitxategia editatu dezakegu eskuz, edo bestela, “squirrelmail configure” script-a erabiliz. Script hau, Squirrelmail instalatzean sortzen da, eta Squirrelmail konfiguratzeko testu bidezko asistente erraz bat erakutsiko digu. Nik, Squirrelmail “config.php” fitxategia editatuz konfiguratu dut, beraz, agindu hau erabili dut: nano /etc/squirrelmail/config.php Bertan, lerro batzuk editatu ditut, nire domeinua jartzeko, eta posta zerbitzariaren ezaugarri orokorrak jartzeko. $org_name=”Soidal”; #Elkarte izena $org_title=”Soidal Posta”; #Titulua $provider_uri='http://www.soidal.net'; #Hornitzailearen helbidea $provider_name='Soidal'; #Hornitzailearen izena $squirrelmail_default_language=”es_ES”; #Hizkuntza; Erdara $domain='soidal.net'; #Domeinua $trash_folder='INBOX.Zakarrontzia'; #Zakarrontzia karpeta $sent_folder='INBOX.Bidaliak'; #Bidalitakoen karpeta $draft_folder='INBOX.Borradoreak'; #Zirriborroen karpeta Aldaketak egindakoan, fitxategia gorde dut “Control+o” tekla sakatuz, eta fitxategia itxi dut “Control+x”-rekin. Aldaketa hauek aplikatzeko, Apache web zerbitzaria berrabiarazi dut: /etc/init.d/apache2 restart Horrela, Apache berrabiarazi eta Squirrelmail konfiguratuta geratu da.
  • 33. Tolosaldea TLHI 32 Software eta Hardware librea Hala ere, hizkuntza ez da aldatu ingeleratik erdarara. 1.1.6.3- SQUIRRELMAIL PROBATU Squirrelmail posta bezeroa probatzeko, web nabigatzaile bidez sartu naiz web aplikazioan, posta zerbitzariaren helbidea jarriz: http://mail.soidal.net/mail Ikusten den bezala, DNS-ko MX erregistroa erabili dut, zerbitzariaren IP helbidearen ordez, eta “mail” gehitu dut bukaeran, Squirrelmail posta bezeroan sartzeko. Horrela, Squirrelmail posta bezeroaren logeatzeko orria agertu zait. 1.1.6.3.1- Korreoa bidali Lehenengo, “user1” erabiltzailearekin “user2” erabiltzaileari mezu bat bidaliko diot, beraz, “user1” erabiltzailearekin hasi dut saioa: Name: user1 Password: user1 “Login” sakatu eta logeatu egin naiz. Bertan, “user2@soidal.net” erabiltzaileari korreoa bidaltzeko, “Compose” sakatu dut, eta korreoa idatzi dut: To: user2@soidal.net Subject: Kaixo user2! Kaixo, hau proba bat da.
  • 34. Tolosaldea TLHI 33 Software eta Hardware librea “Send” sakatu eta mezua bidali da. Azkenik, “user1” erabiltzailearen saioa ixteko, “Sign out” sakatu dut. 1.1.6.3.2- Korreoa irakurri Orain bidalitako korreoa irakurtzeko, “user2” erabiltzailearekin logeatu naiz Squirrelmail posta bezeroan: Name: user2 Password: user2 Horrela, “user2” erabiltzailearen kontuan sartzean, “user1@soidal.net” erabiltzailearen korreoa ikusi dut, eta honen gainean klik eginez, irakurri egin ahal izan dut.
  • 35. Tolosaldea TLHI 34 Software eta Hardware librea Beraz, Squirrelmail posta bezeroak ondo funtzionatzen du, mezuak ondo bidaltzen eta irakurtzen dituelako. 1.1.7- POSTA BEZERO PROPIOA Orain arte posta bezero bezala, Squirrelmail web aplikazioa erabili dut, baina hau, ez dut nik egin, beste norbaitek programatu du, eta software askea denez, nik ere erabili dezaket. Baina orain, nik egingo dut nire posta bezero propioa. Hau ere, web aplikazio bat izango da, eta hiru programazio lengoai erabiliz eginda egongo da: • HTML: Posta bezeroaren web orrirako. • CSS: Web orriari itxura emateko. • PHP: Bezeroarekin elkar eragina izateko. Honekin, posta mezuak irakurri eta bidali ahal izango dira, posta zerbitzariarekin komunikatuz. Posta bezeroaren interfazea sinplea izango da, bi atal egongo dira; batean erabiltzaileak mezua bidaltzeko aukera izango du, bere korreo helbidea, hartzailearena, mezuaren gaia eta mezuaren gorputza adieraziz, eta beste atalean, erabiltzaileak korreoa irakurtzeko aukera izango du, bere korreoa, pasahitza eta korreo zenbakia adieraziz. 1.1.7.1- HTML HTML lengoaiaren bidez, web orriaren interfazea diseinatu dut, bi atalak banatuz. HMTL orri nagusiak, “index.php” izena du, eta hau /etc/var/www/posta direktorioaren barruan sortu dut. Beraz, bi formulario sortu ditut, bat korreoa bidaltzeko eta bestea korreoa irakurtzeko. Formulario hauetako bakoitza, PHP orri batekin lotuta dago; “korreoa_bidali.php” eta “korreoa_ikusi.php”. Beraz, posta zerbitzuaren erabiltzaileak formulario hauetako bakoitzean datuak sartzean, “Bidali” sakatu ondoren datu hauek PHP orrietara bidaliko dira, eta bertan tratatuko dira, posta zerbitzarira bidaliz.
  • 36. Tolosaldea TLHI 35 Software eta Hardware librea “index.html” orriaren kodea hau da: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title> Soidal posta </title> <meta http-equiv="Content-Type" content="text/html" charset="UTF-8" /> <link rel="stylesheet" type="text/css" href="estiloa.css" /> </head> <body> <table class="taula"> <!-- 2 zutabeko taula; korreoa irakurtzea eta korreoa bidaltzea banatzeko --> <tr> <!-- Lehenengo lerroa --> <td id="td_logoa"> <a href="index.html"> <img src="irudiak/posta.gif" id="logoa" alt="Logoa" /> </a> </td> <td id="td_titulua"> <font id="titulua"> Soidal Posta </font> <!-- Izenburua --> </td> </tr> </table> <table class="taula"> <tr> <!-- Bigarren lerroa -->
  • 37. Tolosaldea TLHI 36 Software eta Hardware librea <td> <!-- Korreoa irakurtzeko zutabea --> <form action="korreoa_ikusi.php" method="post"> <p> Sartu erabiltzailea eta pasahitza korreoa ikusteko </p> <p> Erabiltzailea <input type="text" name="erabiltzailea" /> <br /> Pasahitza <input type="password" name="pasahitza" /> <br /> Korreo zenbakia <input type="number" name="korreoa" /> </p> <input type="submit" value="Ikusi" /> </form> </td> <td> <!-- Korreoa bidaltzeko zutabea --> <form action="korreoa_bidali.php" method="post"> <p> Mezua bidali </p> <p> Norena <input type="text" name="norena" /> <br /> Norentzako <input type="text" name="norentzako" /> <br /> Gaia
  • 38. Tolosaldea TLHI 37 Software eta Hardware librea <input type="text" name="gaia" /> <br /> Mezua <input type="text" name="mezua" /> </p> <input type="submit" value="Bidali" /> </form> </td> </tr> </table> </body> </html> Ikusten den bezala, bi taula daude, bat izenburu eta logoarentzako eta bestea korreorako. Korreoaren taulan, bi zutabe daude. Ezkerreko zutabean korreoa irakurtzeko formularioa dago, eta erabiltzaile baten korreoa irakurri ahal izango dugu. Eskuinekoan berriz, korreoa bidaltzeko formularioa dago, beste erabiltzaile bati mezu bat bidaltzeko. 1.1.7.2- CSS CSS lengoaiaren bidez, HTML orriari itxura eman diot; kolorea, letra mota, tamaina... Sortu dudan CSS orria “estiloa.css” da, eta HTML orrian adierazi dut honen helbidea. Horrela, HTML orrian edukia eta itxura banatu ditut, eta aurrerago, itxura aldatu nahi badut, nahikoa izango da CSS orria aldatzearekin. “estiloa.css” orriaren kodea hau da: body {background-color:lightblue; color:blue; font-size:18px; font-family:Courier; font-weight:bold;
  • 39. Tolosaldea TLHI 38 Software eta Hardware librea text-align:center;} #logoa {height:140px; width:140px;} #titulua {color:red; font-size:80px; font-weight:bold; font-style:italic;} .taula {border:0px; width:1250px;} #td_logoa {width:180px;} #td_titulua {width:1070;} Kode honen bidez, HTML orriari itsura ematen diogu, adibidez, fondo urdina, letra tamaina… Taula eta zutabeei ere itsura ematen die. 1.1.7.1- PHP Esan dudan bezala, bi PHP orri sortu ditut, bat korreoa bidaltzeko “korreoa_bidali.php” eta bestea korreoa irakurtzeko korreoa_irakurri.php”. Horrela, erabiltzaileak korreoa bidaltzeko ataleko formularioan datuak sartzen baditu, informazio hau “korreoa_bidali.php” orriak tratatuko du, eta korreoa irakurtzeko formularioan sartuz gero, “korreoa_irakurri.php” orriak tratatuko du. Beraz, PHP lengoaiaren bidez erabiltzaileak sartutako datuak jaso eta posta zerbitzarira bidali ditut. PHP lengoaiak baditu funtzio berezi batzuk korreoa bidali eta jasotzeko, baina nik, Telnet zerbitzuaren bidez egin dut, sistemako aginduen bidez. Hau da, lehen, Telnet bidez korreoa irakurtzen eta bidaltzen ikasi dut, baina interfaze grafikorik gabe, eta hori erabiltzailearentzako ez da erosoa, baina orain, hau interfaze grafikora pasatuko dut. Horrela, erabiltzaileak bidalitako informazioa jaso eta sistemarekin komunikatuko naiz, Telnet zerbitzuarekin, horrela, informazio hau Telnet zerbitzuaren bidez posta zerbitzariarekin komunikatzeko erabiliko dut. Beraz, korreoa bidaltzeko SMTP protokoloa erabiliko dut, eta korreoa irakurtzeko POP3 protokoloa. Horrek esan nahi du, erabiltzailearen korreoa bidaltzeko, Telnet zerbitzua 143.portuan erabiliko dudala, eta korreoa irakurtzeko 110.portua. “korreoa_bidali.php” orriaren kodea hau da: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  • 40. Tolosaldea TLHI 39 Software eta Hardware librea <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title> Korreoa bidali </title> <meta http-equiv="Content-Type" content="text/html" charset="UTF-8" /> <link rel="stylesheet" type="text/css" href="estiloa.css" /> </head> <body> <?php //Sartutako datuak irakurri $norena=$_POST['norena']; $norentzako=$_POST['norentzako']; $gaia=$_POST['gaia']; $mezua=$_POST['mezua']; //Korreoa bidali $fp=fsockopen("soidal.no-ip.org", 25, $errno, $errstr, 30); if($fp){ echo 'Konektatua!<br>'; $helo="HELO soidal.no-ip.orgrn"; $from="MAIL FROM: ".$norena."rn"; $rcpt="RCPT TO: ".$norentzako."rn"; $data="DATArn"; $subject="SUBJECT: ".$gaia."rn"; $mezua=$mezua."rn"; $puntua=".rn"; $quit="QUITrn"; $he=fwrite($fp, $helo, strlen($helo)); $fr=fwrite($fp, $from, strlen($from)); $rc=fwrite($fp, $rcpt, strlen($rcpt));
  • 41. Tolosaldea TLHI 40 Software eta Hardware librea $da=fwrite($fp, $data, strlen($data)); $su=fwrite($fp, $subject, strlen($subject)); $me=fwrite($fp, $mezua, strlen($mezua)); $pu=fwrite($fp, $puntua, strlen($puntua)); $qu=fwrite($fp, $quit, strlen($quit)); echo $norena." zure mezua ondo bidali zaio ".$norentzako." -ri!"; echo '<p> <a href="index.html"> Soidal-era bueltatu </a> <p>'; } else{ echo 'Konexioak huts egin du!<br>'; } fclose($fp); ?> </body> </html> Ikusten den bezala, PHP barruan, kontsolako aginduak erabiltzen dira, eta honen bidez, posta zerbitzariarekin konexioa ireki dut, SMTP protokoloan, 25.portuan, eta Telnet aginduak bidaliz, korreoa bidaltzen da. “korreoa_ikusi.php” orriaren kodea hau da: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title> Korreoa ikusi </title> <meta http-equiv="Content-Type" content="text/html" charset="UTF-8" /> <link rel="stylesheet" type="text/css" href="estiloa.css" /> </head>
  • 42. Tolosaldea TLHI 41 Software eta Hardware librea <body> <?php //Sartutako datuak irakurri $erabiltzailea=$_POST['erabiltzailea']; $pasahitza=$_POST['pasahitza']; $korreoa=$_POST['korreoa']; $fp=fsockopen("soidal.no-ip.org", 110, $errno, $errstr, 30); if($fp){ echo 'Konektatua!<br>'; $username="USER ".$erabiltzailea."rn"; $password="PASS ".$pasahitza."rn"; $us=fwrite($fp, $username, strlen($username)); $ur=fgets($fp); //echo 'Erabiltzailea bidali da: '.$ur.'<br>'; $ps=fwrite($fp, $password, strlen($password)); $pr=fgets($fp); //echo 'Pasahitza bidali da: '.$pr.'<br>'; $res=fgets($fp); $parts=explode(" ", $res); //echo $parts[4].' mezu zerbitzarian<br><br>'; $cmd="LISTrn"; $get=fwrite($fp, $cmd, strlen($cmd)); $msg=fread($fp, 8192); //echo '<pre>'.$msg.'</pre>'; $cmd="RETR ".$korreoa."rn"; //Erabiltzaileak sartutako korreo zenbakia irakurtzen da $get=fwrite($fp, $cmd, strlen($cmd)); $msg=fread($fp, 8192); echo '<pre>'.$msg.'</pre>'; echo '<p> <a href="index.html"> Soidal-era bueltatu </font> </a> <p>'; } else{ echo 'Konexioak huts egin du!<br>'; } fclose($fp);
  • 43. Tolosaldea TLHI 42 Software eta Hardware librea ?> </body> </html> Kasu honetan ere, kontsolako aginduen bidez posta zerbitzarirako konexioa ireki dut, baina kasu honetan, POP3 protokoloaren bidez, 110.portutik. Gero, POP3 protokoloaren sintaxia erabiliz, Telnet-eko aginduekin erabiltzailearen mezuak irakurri daitezke. 1.2- POSTA INTERNETEN Orain arteko posta zerbitzariak bakarrik nire sare lokalean funtzionatzen du. Baina hemendik aurrera, posta zerbitzaria interneten atzigarri egotea nahi dut. Horretarako, bi era daude; eskuz konfiguratzea (NAT+IP finkoa+Domeinua) edo domeinu dinamiko bat erabiltzea (No-IP, DynDNS, erositakoa...). Eskuz eginez gero, NAT erregela batzuk definitu behar dira routerrean, nire IP publikoa posta zerbitzariaren IP pribatura bideratzeko. Gainera, bideraketa ezberdinak egin behar dira, posta zerbitzariak erabiltzen dituen zerbitzu guztientzako. Gero, IP publiko hau aldatu egiten denez, No-IP bezalako zerbitzua erabili behar da, nire IP publikoa aldatzen denean, hau eguneratzeko. Azkenik, domeinu publiko bat behar da, IP publikora apuntatzeko, hau da, DNS lokalean definitutako domeinu lokalak ez du balio, lehen esan dugun bezala, domeinu lokala ez delako atzigarria interneten, ez delako ezaguna nire sare lokaletik kanpo. Beraz, domeinu hau interneten atzigarri dagoen DNS zerbitzari batean erregistratuta egon beharko da. Bertan, posta zerbitzarira apuntatzen duen MX erregistroa ere definituko dut. Domeinua interneteko web gune batean erostean, bideraketa guztiak ere egiten dira, baina berak egiten du automatikoki. Nire kasuan, No-IP zerbitzua erabiliko dut nire domeinua erregistratzeko. 1.2.1- NO-IP Normalean, gure etxeko IP publikoa (gure interneteko zerbitzariak emandakoa; Telefonica,
  • 44. Tolosaldea TLHI 43 Software eta Hardware librea Ono...) dinamikoa izaten da, hau da, denborarekin aldatu egiten da. Baina zerbitzari bateko IP publikoa, estatikoa izatea komeni da, bestela, IP hau domeinuarekin lotzean, IP-a aldatzean, domeinuak ez du funtzionatuko. IP publikoa estatikoa izateko, ordaindu egin behar da, baina horren ordez, DNS dinamiko bat erabiliko dut. Horretarako, esan dudan bezala, No-IP zerbitzua aukeratu dut. No-IP zerbitzua, DNS dinamikoa eskaintzen duen dohaineko zerbitzua da. Honen bidez, nire IP publikoa erregistratuko dut bertako domeinuaren barruan (no-ip.org), hau da, “no-ip.org” domeinuaren azpi-domeinu bat izango da, eta aurrerago, IP-a aldatzen bada, honek automatikoki eguneratuko du, beraz, ez dut eskuz egin behar aldi bakoitzean. Horrela, No-IP-rekin, bi gauza lortuko ditut; domeinu izen bat eta DNS dinamikoa. Lehenengo, No-IP zerbitzuan domeinua sortuko dut, kontu bat sortuz, eta gero Ubuntu zerbitzarian, No-IP zerbitzuaren bezeroa instalatuko dut. 1.2.1.1- NO-IP KONTUA SORTU Lehenengo, No-IP-ko kontu bat sortu dut. Horretarako, No-IP-ren web orrian sartu naiz: http://www.no-ip.org Bertan, kontua sortzeko: Sign Up --> Create Your No-IP Account Horrela, nire kontua konfiguratu dut: Username: erikdiez Email: erikantton@hotmail.com Password: ****** Bertan, “Hostname” atalean, “Create my hostname later” aukeratu dut, horrela, nire host izena gero sortuko dut. Honekin, nire kontu berria sortu dut No-IP zerbitzuan.
  • 45. Tolosaldea TLHI 44 Software eta Hardware librea 1.2.1.2- Host-a sortu Lehenengo, nire host nagusi bat sortu dut. Horretarako, host-en atalean sartu naiz: Hosts/Redirects --> Hostname Information Bertan, sortuko dudan host berriaren informazioa sartu dut: Host izena: soidal.no-ip.org Host mota: DNS Host (A) IP Helbidea: 79.155.20.48 “Add host” sakatu eta host-a erregistratu da. 1.2.1.3- MX erregistroa sortu Aurretik aipatu bezala, MX erregistro bat posta zerbitzaria apuntatzen duen erregistro bat da. Lehen, nire DNS lokalean sortu dut, baina orain, No-IP zerbitzuan sortuko dut, nire host-arekin batera. MX erregistroa sortzeko: Hosts/Redirects --> Mail Options Bertan, MX erregistroa eta honen lehentasuna konfiguratu dut: MX Erregistroa: mail.soidal MX Lehentasuna: 5
  • 46. Tolosaldea TLHI 45 Software eta Hardware librea “Add host” sakatu eta MX erregistroa gehitu da. Honek, 5-eko lehentasuna du, baina kasu honetan, MX erregistro bakarra dagoenez, ez du inporta. Baina aurrerago beste posta zerbitzari batentzako MX erregistro bat erregistratuko banu, 10-eko lehentasuna jarriko nion, horrela, lehenengo 5-eko lehentasuneko posta zerbitzaria erabiliko da, baina honek arazoren bat izanez gero, 10-eko lehentasuneko MX erregistroak apuntatzen duen posta zerbitzaria erabiliko da. Horrela, No-IP zerbitzuan kontu bat sortu dut, eta bertan nire host-a erregistratu dut, eta host honek nire IP publikora apuntatzen duenez, web nabigatzailean “soidal.no-ip.org” helbidea jarrita, nire makinan sartuko da, nire IP publikoa jarri behar izan gabe. Beraz, web nabigatzaile bidez nire web zerbitzariko web orria ikusteko, web nabigatzailean helbide hau jarri beharko da: http://soidal.no-ip.org Eta posta zerbitzarian sartzeko: http://soidal.no-ip.org/mail Hala ere, nire IP publikoa aldatzen bada, host honek ez du funtzionatuko, beraz, hau automatikoki eguneratzeko, No-IP DUC programa erabiliko dut.
  • 47. Tolosaldea TLHI 46 Software eta Hardware librea 1.2.1.4- NO-IP DUC No-IP DUC (Dynamic DNS Update Client) programa, DNS dinamikoa eguneratzeko programa bezeroa da. Hau, nire posta zerbitzariaren ordenagailuan instalatuko dut, eta horrela, nire IP publikoa aldatzen bada, nire host-aren IP helbidea eguneratuko da. 1.2.1.4.1- Deskargatu eta instalatu No-IP DUC programa nire Ubuntu zerbitzarian instalatuko dut, beraz, Linux-erako bertsioa deskargatu dut terminaletik, agindu hauek erabiliz: cd /usr/local/src/ wget http://www.noip.com/client/linux/noip-duc-linux.tar.gz tar xf noip-duc-linux.tar.gz cd noip-2.1.9-1/ make install Horrela, No-IP DUC programaren paketea deskargatu dut eta ondoren paketea erauzi dut. Azkenik, instalatu egin dut. 1.2.1.4.2- Konfiguratu No-IP DUC programa instalatzearekin batera, nire No-IP-ko kontu eta host-arekin konfiguratu dut, zuzenean atera zaidanarekin: Please enter the login/email string for noip.com: erikantton@hotmail.com Please enter the password for user 'erikantton@hotmail.com': ****** Please enter an update interval: [30] 30 Do you wish to run something at successful update? [N] (Y/N) N Horrela, No-IP DUC programa instalatu dut, eta “soidal.no-ip.org” host-arekin lotu da automatikoki, host hori bakarrik dagoelako lotuta nire kontura, eta host hau 30-eko interbalo batez eguneratuko da. Gainera, “no-ip2.conf” konfigurazio fitxategia sortu da: /usr/local/etc/no-ip2.conf
  • 48. Tolosaldea TLHI 47 Software eta Hardware librea Horrez gain, No-IP DUC bezeroa aurrerago konfiguratu nahi bada, agindu hau exekutatu daiteke terminalean: /usr/local/bin/noip2 -C 1.2.1.4.3- Exekutatu No-IP DUC programa exekutatzeko, agindu hau exekutatu dut terminalean: /usr/local/bin/noip2 Horrela, No-IP DUC programa martxan jarri da atzeko plano batean, eta “soidal.no-ip.org” host- aren IP-a eguneratzen arituko da hemendik aurrera. 1.2.2- PORTUEN BERBIDERAKETA “soidal.no-ip.org” host-ak, nire routerraren IP publikora apuntatzen du, hau da, ez du nire ordenagailuaren IP pribatura apuntatzen, beraz, posta zerbitzaria oraindik ez dago atzigarri internetetik. Nire routerrean NAT sistema erabiltzen dut, sare lokaleko ordenagailu guztiek IP publiko bera erabili ahal izateko, beraz, NAT erregela batzuen bidez egingo dut. NAT erregelak, NAT sisteman portuen berbideraketa egiteko erabiltzen diren erregelak dira, IP helbide eta portu bat beste IP helbide eta portu batera bideratzeko. Kasu honetan, nire IP publikotik IP pribatura egingo ditut bideraketak. Beraz, lau zerbitzuentzako portuak berbideratu ditut: Web (80), SMTP (25), IMAP (143), POP3 (110) 80.portua, Squirrelmail posta bezeroan sartzeko behar dut, web zerbitzarian dagoen web aplikazioa delako. 25.portua korreoa bidaltzeko behar dut, eta 143 eta 110 portuak korreoa irakurtzeko. Hau egiteko, routerraren administrazio panelean sartu naiz; web nabigatzailean ate-bidearen helbidea jarriz, eta 8000.portua erabiliz: http://192.168.1.1:8000 Bertan, logeatu egin naiz: User: 1234
  • 49. Tolosaldea TLHI 48 Software eta Hardware librea Password: ******** Administrazio panelean egonda, portuen berbideraketaren atalean sartu naiz: Advanced --> Port Forwarding Bertan, lau zerbitzuen portuak bideratu ditut nire zerbitzariaren IP helbide pribatura; 192.168.1.30. Horretarako, “Add” sakatu eta bideraketa erregela berria egin dut: WAN Konexioak: PVC:8/36 Zerbitzua: Web Server (HTTP) IP Helbidea (Host izena): 192.168.1.30 Gero, sarrera eta irteerako portuak eta protokoloa aukeratu ditut: Kanpoko Hasierako Portua: 80 Kanpoko Bukaerako Portua: 80 Protokoloa: TCP Barruko Hasierako Portua: 80 Barruko Bukaerako Portua: 80 Ikusten den bezala, sarrerako portua 80.a da, Apache Web zerbitzariak erabiltzen duena, beraz, erabiltzaileek 80.portua erabiliko dute Squirrelmail posta bezeroan sartzeko, hau da, ez dute portua adierazi behar, hau defektuzkoa delako. Portu honen irteera, 80.a da, hau da, portu bera. Irteerako portua, kasu honetan 80.a izan behar da, Apache Web zerbitzariak erabiltzen duelako, ezin dut nahi dudana jarri (ez badut Apache-tik aldatzen), baina sarrerako portua, nahi dudana erabili dezaket, eta ezberdina jarriz gero, nire zerbitzariak benetaz erabiltzen duen portua
  • 50. Tolosaldea TLHI 49 Software eta Hardware librea ezkutatzea lortuko nuke, baina kasu honetan, ez dut hori egingo, bestela, erabiltzaileek portua adierazi beharko zuten nire web orrira sartzeko. “Apply” sakatu eta 80.portuaren (Web zerbitzaria) erregela berria gehitu da. Ondoren, berdina egin dut beste portuekin. Beraz, horrela geratu da: Horrela, posta zerbitzariak erabiltzen dituen zerbitzu guztien portuak berbideratu ditut nire IP publikotik zerbitzariaren IP pribatura. Honekin, nire posta zerbitzari martxan dago, eta internetetik atzigarri dago, beraz, edozein saretatik erabili daiteke. Baina posta zerbitzurako erabiltzen DNS-a, zerbitzariaren DNS lokalekoa da, non “soidal.net” domeinua dagoen. Beraz, posta zerbitzari honek bakarrik domeinu horretarako funtzionatuko du, hau da, ezingo da korreoa bidali beste posta zerbitzari batzuetara (Hotmail, Gmail...), ezta beste posta zerbitzarietatik korreoa jaso, hauek ez dutelako “soidal.net” domeinua ezagutzen, ezta “mail.soidal.net” MX erregistroa ere. Beraz, hau konpontzeko, Postfix posta zerbitzaria eta Squirrelmail bezeroa berriro konfiguratu beharko ditut, No-IP zerbitzuan sortutako host eta MX erregistroarekin. 1.2.3- POSTFIX REKONFIGURATU Postfix posta zerbitzaria berriro konfiguratzeko, agindu hau exekutatu dut terminalean: dpkg-reconfigure postfix Bertan, Postfix aurreko aldian bezala konfiguratu dut, baina domeinua eta MX erregistroa aldatuz, eta No-IP zerbitzuan sortutakoak erabiliz; “soidal.no-ip.org”: Nombre del sistema de correo: soidal.no-ip.org Otros destinos para los cuales aceptar correo:
  • 51. Tolosaldea TLHI 50 Software eta Hardware librea soidal.no-ip.org, Ubuntu, localhost.localdomain, localhost, hotmail.com, gmail.com Horrela, Postfix errekonfiguratu dut, nire No-IP-ko host berria erabiliz. 1.2.4- SQUIRRELMAIL REKONFIGURATU Squirrelmail posta bezeroa ere berriro konfiguratu dut No-IP-ko host berriaren arabera, agindu honekin: nano /etc/squirrelmail/config.php Bertan, aldaketa hauek egin ditut: $provider_uri='http://soidal.no-ip.org/'; $domain='soidal.no-ip.org'; Hau egin ondoren, Apache web zerbitzaria berrabiarazi dut: /etc/init.d/apache2 restart Horrela, Apache web zerbitzaria berrabiarazi eta Squirrelmail bezeroa eguneratu da, “soidal.no- ip.org” host-era egokituz. 1.2.5- POSTA PROBATU Postfix eta Squirrelmail errekonfiguratu ondoren, posta zerbitzariak funtzionatzen duela probatu dut. Horretarako, posta zerbitzuan sartu naiz, Squirrelmail bezeroan, baina kasu honetan, No-IP zerbitzuko host-aren helbidea erabiliz: http://soidal.no-ip.org/mail Bertan, “user1” erabiltzailearekin logeatu naiz, eta “user2@soidal.no-ip.org” erabiltzaileari korreo bat bidali diot. Gero, “user2” erabiltzailearekin hasi dut saioa, eta mezua ondo jaso du, beraz, posta zerbitzuak funtzionatzen du.
  • 52. Tolosaldea TLHI 51 Software eta Hardware librea Azkenik, hau bera internet bidez ere probatu dut, nire sare lokaletik kanpo atzituz, eta beste mezu bat bidaliz, eta oraingoan ere ondo funtzionatu du, beraz, posta zerbitzariak eta bezeroak ondo funtzionatzen dute, bai sare lokalean eta baita interneten ere. Honekin, posta zerbitzariaren atala bukatu dut. 2- ZENBAKIEN JOKOA Software librearekin jarraitzeko, oraingo honetan kode askeko zenbakien joko bat programatuko dut erdi mailako C lengoaian. Hau, Ubuntu sistema eragilea duen ordenagailu batean egingo dut. Testu huts batean idatziko dut, eta Ubuntu sistema eragileak duen “gcc” (GNU Compiler Collection) konpilagailua erabiliz konpilatuko dut. C lengoiaia, erdi mailako programazio lengoiai da, baina maila altuko beste programazio lengoaien estruktura antzekoak erabiltzen ditu, eta aldi berean, maila baxuko ezaugarri asko ditu. C lengoaian sortutako programek, “.c” luzapena izango dute, eta hauek konpilatzean, luzapena galduko dute. 2.1- AZALPENA Joko honen helburua, 0-100 arteko zenbaki bat asmatzea izango da. Zenbaki hau, ausaz sortuko du programak, eta aldi bakoitzean desberdina izango da, sistemaren orduaren araberakoa izango delako. Zenbaki hau asmatzeko, erabiltzaileak 6 saiakera izango ditu, eta hasieran eta saiakera bakoitzaren ondoren, erabiltzaileari zenbat saiakera geratzen zaizkion esango dio programak. Gainera, saiakera bakoitzaren ondoren, programak bilatzen ari garen zenbakia sartutakoa baino txikiagoa edo handiagoa den esango dio. Erabiltzaileak zenbakia asmatuz gero, zoriondu egingo zaio, baina bestela, 6 saiakerak agortu baditu, galdu egin duela esango dio, eta zenbakia zein zen erakutsiko zaio. 2.2- PROGRAMAREN KODEA Programa idazteko, lehenengo “zenbakia.c” fitxategia sortu dut: nano /home/erik/C/zenbakia.c
  • 53. Tolosaldea TLHI 52 Software eta Hardware librea Bertan, kode hau idatzi dut: #include <stdio.h> //stdio.h liburutegia inportatu, irakurri eta idazteko #include <stdlib.h> //stdlib.h liburutegia inportatu, ausazko zenbakientzako #include <time.h> //time.h liburutegia inportatu, denbora erabiltzeko void main() { int x,zenb,saiakerak; //Zenbaki osoen aldagaiak definitu saiakerak=6; srand(time(NULL)); //rand() funtziorako erroa definitu denboraren arabera, aldakorra izateko x=rand()%101; //Ausazko zenbakia sortu, 0-100 artean printf("Sartu zenbaki bat 0-100 artean. 6 saiakera dituzun"); //Instrukzioak pantailan inprimatu scanf("%i",&zenb); //Zenbaki oso bat irakurri eta zenb aldagaian gorde while (zenb!=x && saiakerak>0) //Ez badu zenbakia asmatu eta saiakerak dituen bitartean { if (zenb<x) //Sartutako zenbakia txikiagoa bada { printf("X zenbakia HANDIAGOA da. Saiakerak=%i n",saiakerak-1); //Bilatzeko zenbakia handiagoa dela esan eta saiakerak adierazi } else if (zenb>x) //Sartutako zenbakia handiagoa bada { printf("X zenbakia TXIKIAGOA da. Saiakerak=%i n",saiakerak-1); //Bilatzeko zenbakia txikiagoa dela esan eta saiakerak adierazi } saiakerak--; //Saiakeren aldagaia eguneratu if (saiakerak!=0) //Saiakerak ez baditu agortu { scanf("%i",&zenb); //Zenbaki berri bat irakurri } } if (saiakerak==0) //Saiakerak agortu baditu
  • 54. Tolosaldea TLHI 53 Software eta Hardware librea { printf("Galdu egin duzu! Zenbakia %i zen. n",x); //Galdu egin duela adierazi } else //Zenbakia asmatu badu { printf("Asmatu duzu! Zenbakia %i da. n",x); //Irabazi egin duela adierazi } } Beraz, lehenengo, “#include” sententziarekin programak erabiliko dituen liburutegiak inportatuko ditugu. Kasu honetan, hiru liburutegi erabiliko ditugu, eta ikusten den bezala, liburutegien luzapena “.h” da. “stdio.h” liburutegia, sarrera estandarretik (teklatua) irakurri eta irteera estandarrean (pantaila) idatzi ahal izateko erabiliko dugu. “stdlib.h” liburutegia, ausazko zenbakiak sortzeko erabiliko dugu, hau da, “rand()” funtzioa erabili ahal izateko. “time.h” liburutegia denborarekin lan egiteko erabiliko dugu, kasu honetan, “time()” funtzioa erabiltzeko. “main()” metodo nagusia da, eta honen barruan doa kode nagusi guztia. Lehenengo, “x” (bilatzeko zenbakia), ”zenb” (sartutako zenbakia) eta “saiakerak” (saiakerak zenbatzeko) aldagaiak definitzen dira. Hasieran, saiakeren balioa 6 izango da, 6 saiakera dituelako. Gero, ausazko zenbakia sortzeko, “rand()” funtzioa erabiltzen dugu, eta 101 zenbakiarekin modulua eragiketa egitean, 0-tik 100-ra arteko zenbakiak hartuko ditugu. Hala ere, honen aurretik, “rand()” funtzioaren erroa definitzen dugu “srand()” funtzioaren bidez. Honen balioa, sistemaren orduaren araberakoa izango da, “time()” funtzioa erabili dugulako. Horrela, programa bakoitzean sortutako ausazko zenbakia ezberdina izango da, erro desberdina duelako, bestela, beti zenbaki bera sortuko zuen. Ondoren, erabiltzaileari zenbakia sartzeko eskatzen zaio, eta gero, zenbaki oso hau “zenb” aldagaian gordetzen da. Horrela, zenbaki hau ez bada bilatzen ari garena eta saiakerak 0 baino gehiago diren bitartean, sartutako zenbakia bilatzen ari garena baino handiagoa bada, hau adieraziko zaio, eta txikiagoa bada ere, adierazi egingo zaio. Gainera, zenbat saiakera geratzen zaizkion ere adieraziko zaio. Honen ondoren, saiakeren kontagailua eguneratu egingo da, saiakera bat gutxiago izanik, eta saiakerak 0 baino gehiago badira, zenbaki berri bat irakurriko da. Azkenik, erabiltzaileak zenbakia asmatu duen edo ez jakiteko, “if” sententzia bat erabiltzen da. “if” sententzia honetara ailegatu bada, bi arrazoirengatik izan daiteke; zenbakia asmatu duelako, edo saiakerak agortu dituelako. Beraz, saiakeren kontagailua 0 bada, zenbakia ez duela asmatu dakigu,
  • 55. Tolosaldea TLHI 54 Software eta Hardware librea eta beraz, galdu egin duela adieraziko zaio, eta zenbakia zein zen ere esango zaio. Baina saiakerak 0 baino gehiago badira, zernbakia asmatu duela esan nahi du, beraz, asmatu egin duela esango zaio, eta zenbakia zein den ere. 2.3- PROGRAMA KONPILATU “zenbakia.c” fitxategia sortu ondoren, gorde egin dut, eta hau konpilatzeko, GNU/Linux sistema eragileek ekartzen duten “gcc” konpilagailua erabili dut. Programa konpilatzeko, agindu hau exekutatu dut terminalean: gcc zenbakia.c –o zenbakia Horrela, “zenbakia.c” fitxategia hartu, eta “-o” parametroaren bidez “zenbakia” fitxategia irteerako fitxategi bezala sortu dut. 2.4- PROGRAMA EXEKUTATU Jokoa exekutatzeko, lehenengo jokoaren direktorioan sartu naiz: cd /home/erik/C Gero, programa exekutatzeko, agindu hau erabili dut, horrela exekutatzen direlako C programa guztiak: ./zenbakia Horrela, jokoa exekutatu da terminalean. Bertan, partida bakoitzaren ondoren, programa ixten da, eta berriro jolasteko, berriro exekutatuko dugu programa. Ikusten den bezala, programa exekutatzeko agindua Arduino IDE exekutatzeko berdina da, hau ere C lengoaian programatuta dagoelako. 2.5- SOFTWARE LIBRE BIHURTU Orain arte egin dudan joko hau, ez da software librea, ez dudalako interneten publikoatu, baina nire intentzioa hau software askea izatea da. Programa bat kode askekoa izateko, honen kodea nonbaiten publikatuta egon behar da, edozeinek kode hau erabili, aldatu eta hobetu ahal izateko. Beraz, programa hau interneten publikatuko dut, edozeinek erabili ahal izateko.
  • 56. Tolosaldea TLHI 55 Software eta Hardware librea Hau, “Sourceforge” web gunean publikatuko dut. Web gune honek, kode askeko software asko dauka, eta bertatik programa hauek deskargatzeko aukera dugu. Baina horrez gain, softwarea igotzeko aukera ere badugu, eta hori da egingo dudana. 2.5.1- KONTUA SORTU Lehenengo, “Sourceforge” web gunean erabiltzaile berria sortu dut. Horretarako, web orri honetan sartu naiz: https://sourceforge.net/user/registration Bertan, informazio honekin sortu dut kontua: Horrela, nire erabiltzailea sortu dut. 2.5.2- PROGRAMA PUBLIKATU Programa publikatzeko, web orri honetan sartu naiz: http://sourceforge.net/ Bertan, publikazio atalean sartu naiz: Publish  Publish Your Existing Project Gero, proiektuaren izen eta helbidea aukeratu ditut:
  • 57. Tolosaldea TLHI 56 Software eta Hardware librea “Create” sakatu eta proiektua sortu da. Proiektuaren informazioa sartu eta proiektua gorde da. Gero, nire proiektu berri honen orrian sartu naiz: https://sourceforge.net/projects/zenbakiaasmatu/ Bertan, “Files” atalean sartu naiz eta “Add File” sakatu dut. “Examinar” sakatu eta “zenbakia.c” fitxategia aukeratu dut. Gero, “Upload” sakatu eta fitxategia igo da. Azkenik, “Done” sakatu dut. Horrela, nire jokoa Sourceforge web gunean igota geratu da: Programa hau deskargatu ahal izateko, web orri honetan sartuko gara: https://sourceforge.net/projects/zenbakiaasmatu/files/ Bertan, “zenbakia.c” fitxategiaren gainean sakatu eta fitxategia deskargatuko da:
  • 58. Tolosaldea TLHI 57 Software eta Hardware librea Orain bai dela programa hau software librea, eta edozeinek erabiltzeko aukera izango du.
  • 59. Tolosaldea TLHI 58 Software eta Hardware librea HARDWARE LIBREA SARRERA Proiektuaren atal honetan, hardware librea landuko dut, azkenaldian indar handia hartu duena. Aspalditik software librea ezaguna zen, baina orain, hardware librea ere indarra hartzen hasi da. Hardware librea, zehazpen eta eskema diagrama askeko hardwarea da, hau da, nola eginda dagoen jakitea posible da, eta hau eraldatzea ere. Beraz, software librea bezala da, baina softwarea izan ordez, hardwarea, horregatik deitzen zaio hardware librea. Baina kasu honetan, Software librearekin gertatzen den bezala, hardware askea izateak ez du esan nahi kodea dohainik dela, hau da, ez da nahastu behar hardware librea eta dohaineko hardwarea, kasu batzuetan ordaindu egin behar da. Normalean, hardware eta software librea batera doaz, beraz, hardware librea, eskema askeko hardwareari aplikatutako software librea dela esaten da. Beraz, software librearen bidez hardware dispositiboak programatu eta maneiatu ditzakegu. Hardware libreari dagokionez, proiektu asko daude honen inguruan; bideo-kontsolak, robotak, plaka kontrolagailuak... Proiektu honetan Raspberry Pi ordenagailua eta Arduino Uno plaka kontrolagailua landuko ditut. Hauek, hardware libreko dispositiboak dira, beraien eskema eta egitura askea delako. Alde batetik, banan-banan landuko ditut, beraien aplikazioak landuz, eta gero, bi hauen elkarketaren bidez proiektu ezberdinak egingo ditut. 3.1- RASPBERRY PI Raspberry Pi tamaina txikiko plakako eta kostu baxuko ordenagailu bat da, Erresuma Batuan Raspberry Pi Fundazioa-k garatuta, eskoletan konputazioen zientzia bultzatzeko intentzioarekin. Hala ere, denborarekin Raspberry Pi ordenagailua oso ezaguna bihurtu da, eta helburu horretaz
  • 60. Tolosaldea TLHI 59 Software eta Hardware librea gain, beste hainbat helburuentzako erabilia izan da, berarekin egindako proiektuak koste baxua suposatzen dutelako. Gainera, ordenagailu hau hain txikia izateak, proiektu ezberdinetarako erabili ahal izatea suposatzen du; telebista adimendunak egiteko, globo aerostatikoak, robotak, kafe makina adimendunak, NAS zerbitzariak... Proiektu honetarako erabili dudan Raspberry Pi-a, B modeloa da, 512 MB-eko RAM memoria duena. Beraz, Raspberry Pi makinarekin proiektu ezberdinak egingo ditut, baina lehenengo, hau martxan jarri behar da. 3.1.1- EZAUGARRIAK Raspberry Pi ordenagailuaren ezaugarriak ondorengoak dira: Socket: Broadcom BCM2835 CPU: ARM 1176JZF-S 700 MHz GPU: Broadcom VideoCoreIV 1080p30 RAM: 512 MB USB portuak: 2 Bideo sarrerak: MIPI CSI (Kamera modulorako) Bideo irteerak: RCA, HDMI, DSI
  • 61. Tolosaldea TLHI 60 Software eta Hardware librea Audio irteerak: 3,5 mm-ko konektorea, HDMI Sarea: 10/100 Ethernet RJ-45 Kontsumoa: 700 mA, 3,5 W Elikadura iturria: 5 V (Micro-USB edo GPIO) Ikusten den bezala, bere ezaugarriak ez dira oso indartsuak, plaka euslea oso txikia delako, baina ezaugarri batzuk oso onak dira, adibidez, definizio altuko bideoa erreproduzitzeko gai dela. Gainera, oso kontsumo baxua du, beraz, zerbitzari bezala erabiltzeko oso ondo dago. 3.1.2- FUNTZIONAMENDUA Raspberry Pi-k ordenagailu normal batek bezala funtzionatzen du, elikadura iturritik energia jaso ondoren piztu egiten da, eta disko gogorretik arrankatzen du, bertan dagoen sistema eragilea kargatuz. Kasu honetan, disko gogorra SD memoria bat izango da. Raspberry-k bi bideo konektore dituenez, bi pantaila motara konektatu dezakegu, HDMI pantaila batera edo VDI? Pantailara. Errazena HDMI bidez konektatzea da, honek, bideo eta audioa ematen dizkigulako, eta horrela ez dugu audioko irteera erabili behar. Hala ere, edozein ordenagailu bezala, pantailarik gabe erabili dezakegu, urrutiko kontrolaren bidez, beste ordenagailu batetik kontrolatuz. 3.1.3- MARTXAN JARRI Raspberry Pi makina martxan jarri ahal izateko, hiru elementu gehiago behar ditugu; SD memoria bat, sistema eragilea eta elikadura iturri bat, adibidez telefono mugikor baten kargadorea. Beraz, Raspberry Pi-a martxan jartzeko, lehenengo SD memoriaren barruan sistema eragile bat sartu beharko dugu, eta gero SD memoria hau Raspberry Pi-n sartuko dugu. Azkenik, kargadorea konektatuko dugu, eta hau automatikoki piztuko da. Ondo piztu bada, lehenengo Raspberry-ko led gorri bat piztuko da, eta behin sistema eragilea kargatzean, beste led guztiak piztuko dira. Baina gaizki arrankatu badu, led gorria bakarrik piztuko da. 3.1.3.1- ELIKADURA ITURRIA Elikadura iturri bezala, normalean gaur egungo smartphone baten kargadorea erabiltzen da, Mini-USB irteera duena, baina orokorrean Mini-USB irteera duen edozein dispositiboren kargadorea erabili daiteke, adibidez MP3 erreproduktore batena.
  • 62. Tolosaldea TLHI 61 Software eta Hardware librea Kargadoreak gutxienez 5W eta 700mA eman behar ditu, baina 1000 mA baino gehiagokoa izatea komeni da, makina ondo elikatzeko. Gutxiagokoa bada, arazoak egon daitezke. Nire kasuan, nire Xiaomi MI2S smartphone-aren kargadorea erabili ditut, 5 V eta 1200 mA ematen dituena. 3.1.3.2- SD MEMORIA SD memoriez gain, MicroSD memoriak ere erabili daitezke, baina MicroSD-SD adaptagailu bat beharko dugu. Hala ere, bi hauen kasuan, memoria Raspberry Pi makinarekin bateragarria izan behar da, SD memoria guztiak ezin ditugulako erabili. Bateragarriak izatea, beraien ezaugarrien menpe daude; fabrikatzailea, mota, tamaina, modeloa, klasea... Gure SD memoria bateragarria den jakiteko, web orri hau erabili dezakegu: http://elinux.org/RPi_SD_cards Bertan, Raspberry Pi-rekin bateragarriak diren SD memorien zerrenda dago, denborarekin eguneratzen joaten dena, beraz, bertan begiratu dezakegu gure SD memoria bateragarria den ala ez. Hala ere, ez daude SD memoria guztiak, beraz, gurea ez bada agertzen, probatu egin beharko dugu, eta gainera, gero SD memoria hau zerrenda honetan gehitzeko aukera dugu. SD memoria ez bada bateragarria, Raspberry Pi-k ez du arrankatuko, led gorri bat piztuko da bakarrik, beraz, beste SD memoria bat beharko dugu. Nire kasuan 8 GB-eko Sony Micro SD HC memoria erabili dut, eta hau Micro SD-SD adaptagailu batekin erabili dut. 3.1.3.3- SISTEMA ERAGILEA Raspberry-a martxan jartzeko hurrengo pausoa, SD memorian sistema eragile bat sartzea da. Kasu honetan, Raspberry Pi-n ezin dugu edozein sistema eragile erabili, adibidez Ubuntu bat. Beraz, Raspberry Pi makinarako egindako sistema eragile bat erabili beharko dugu. Hauetako gehienak beste GNU/Linux sistema eragiletan oinarrituta daude, adibidez Raspbian (Debian), Pidora (Fedora)... Gainera, sistema eragile hauen irudiak ez dira “.iso” motakoak, “.img” motakoak baizik. Sistema eragile hauek, internetetik deskargatu ditzakegu, software librea direlako, adibidez, Raspberry Pi-ren web gune ofizialetik: http://www.raspberrypi.org/downloads/
  • 63. Tolosaldea TLHI 62 Software eta Hardware librea Bertan, sistema eragile ezberdinak daude, eta gure beharren arabera hautatu beharko dugu: Raspbian: Debian-en oinarritutako distribuzioa. Pidora: Fedora-n oinarritutako distribuzioa. OpenElec: XBMC media zentroa. RaspBMC: XBMC media zentroa. Risc OS: Linux ez den bestelako distribuzioa. Arch Linux: Linux distribuzio arina. Hala ere, beste web gune batzuetan ere sistema eragile gehiago daude, adibidez Retropie. Hau, Raspbian-en oinarritutako distribuzioa da, bideo kontsola ezberdinen emuladoreak dituena. Sistema eragile hauetako bat deskargatu ondoren, paketea erauzi eta “.img” artxiboa izango dugu. Beraz, hurrengo pausoa sistema eragilea SD memorian instalatzea izango da. 3.1.3.3.1- Windows Windows sistema eragilea erabiltzen ari bagara, lehenengo, SD memoria ordenagailuaren SD slot-ean sartuko dugu, eta ez badu SD slot-ik, SD-USB adaptadore bat erabili dezakegu. Gero, SD memoria FAT32 fitxategi sisteman formateatu behar izango dugu, horretarako, dispositiboa aukeratuko dugu saguaren eskuineko botoia sakatuz, eta “Formatear” aukeratuko dugu. SD memoria formateatu ondoren, Win32DiskImager programaren bidez sistema eragilearen irudia SD memorian grabatuko dugu. Programa hau, web orri honetatik deskargatu dezakegu: http://sourceforge.net/projects/win32diskimager/ Behin paketea deskargatzean, erauzi egingo dugu, eta programa administrari moduan exekutatu. Bertan, sistema eragilearen irudia aukeratu beharko dugu, eta SD memoriaren dispositibo letra. Azkenik, “Write” sakatu eta irudia kopiatu arte itxarongo dugu. Behin irudia grabatzean, programa itxi eta SD memoria aterako dugu. 3.1.3.3.2- Linux Linux sistema eragilearen kasuan, ezin dugu Win32DiskImager programa erabili, beraz, beste era batera egin beharko dugu. Horren ordez, bi aukera ditugu, ImageWriter ingurune grafikodun programaren bidez grabatzea edo “dd” aginduaren bidez egitea.
  • 64. Tolosaldea TLHI 63 Software eta Hardware librea Bi kasuetan, lehenengo SD memoriaren dispositibo izena zein den jakin behar dugu, horretarako, muntatutako dispositiboak listatuko ditugu agindu honen bidez: df -h Bertan, gure SD memoria /dev/sdc1 bezalako izen batekin agertuko da. Gero, SD memoria formateatu egin beharko dugu. Horretarako, terminalean agindu hau erabili dezakegu: mkdosfs -I -F32 /dev/sdX Hurrengo pausoa, irudia SD memorian grabatzea izango da. Horretarako, ImageWriter programa erabiltzen badugu, hau Ubuntu-ren software zentrotik deskargatu ahal izango dugu. Programa hau administrari bezala arrankatuko dugu. Bertan, sistema eragilearen irudia hautatuko dugu, eta gero SD dispositiboa. “Write to device” sakatu eta irudia kopiatuko da. Baina horren ordez “dd” agindua erabiltzen badugu, agindu hau erabiliko dugu: dd bs=4M if=2014-01-07-wheezy-raspbian.img of=/dev/sdc1 Ikusten den bezala, “if” atalean (sarrera) sistema eragilearen izena jarri dugu, eta “of” atalean (irteera), SD dispositiboa. Behin irudia kopiatzean, SD memoria prest izango dugu erabiltzeko. Beraz, SD memoria Raspberry Pi-n sartuko dugu, eta kargadorea konektatuko dugu. Lehen esan dugun bezala, ondo egin badugu, Raspberry-ko led guztiak piztuko dira, eta gaizki egin badugu, bakarrik led gorria. Beraz, sistema eragilea kargatuko zaigu, eta bertan, sistema konfiguratu ahal izango dugu. 3.1.3.4- URRUTIKO KONTROLA Raspberry Pi-a kontrolatzeko, gehienetan urrutiko kontrolaren bidez egiten da, eta hori bi eratara egin dezakegu; interfaze grafikoarekin edo gabe. Hala ere, hau sistema eragilearen araberakoa da, baina orokorrean guztietan berdin egin daiteke. 3.1.3.4.1- SSH Raspberry Pi-ra SSH bidez interfaze grafikorik gabe konektatzea erarik errazena da.
  • 65. Tolosaldea TLHI 64 Software eta Hardware librea Lehenengo, Raspberry Pi-ko sistema eragilean SSH zerbitzaria instalatu beharko dugu. Horretarako, agindu hau erabiliko dugu: apt-get install openssh-server Horrela, Raspberry Pi-n SSH zerbitzaria izango dugu, eta Linux-eko SSH bezero batetik konektatzeko, Raspberry-aren IP helbidea erabiliko dugu: ssh erabiltzailea@IP Adibidez, Raspbian sistema eragilean: ssh pi@192.168.1.32 Horrela, erabiltzailearen pasahitza sartu ondoren, Raspberry-a SSH urrutiko kontrolerako protokolo seguruarekin kontrolatu ahal izango dugu Linux makina batetik. Windows bezeroen kasuan, Putty programa erabili ahal izango dugu, Raspberry-aren IP-a, erabiltzailea eta pasahitza sartuz. 3.1.3.4.2- Ingurune grafikoa Raspberry Pi-aren urrutiko kontrola ingurune grafiko bidez egiteko, erreminta eta protokolo ezberdinak daude; VNC, xrdp... Nire kasuan, VNC protokoloa erabiliko dut. Horretarako, erreminta ezberdinak daude, baina nik, Tightvncserver VNC zerbitzaria erabiliko dut. Horretarako, Tightvncserver instalatu dut Raspberry-n: apt-get install tightvncserver Instalatu ondoren, martxan jarri behar da, agindu honekin: vncserver :1 Horrela, VNC zerbitzaria martxan dago. Beraz, bertara konektatzeko, VNC bezero bat erabiliko dugu. Linux-en kasuan, Remmina erreminta erabili dezakegu. Hau, urrutiko kontrolerako Linux sistema eragileek defektuz ekartzen duten erreminta da, protokolo ezberdinak onartzen dituena. Kasu honetan, VNC protokoloa erabiltzen dudanez, Remmina ireki eta horrela konfiguratuko dut:
  • 66. Tolosaldea TLHI 65 Software eta Hardware librea “Conectar” sakatu eta konexioa irekiko da. Kasu honetan, Raspberry-aren IP helbidea adierazi dugu, eta VNC protokoloaren defektuzko portua erabili dut; 5901. 3.1.5- PROIEKTUAK Behin gure Raspberry Pi-a martxan dagoela, proiektu ezberdinak egin ditzakegu. Nire kasuan, proiektu ezberdinak egitea pentsatu dut, eta hemen azalduko ditut. 3.1.5.1- WEBCAM ZERBITZARIA Raspberry Pi-rekin egin dudan lehenengo proiektua, webcam zerbitzari bat izan da, segurtasun kamera bat izango balitz bezala. Horretarako, Logitech markako web kamera bat erabili dut. 3.1.5.1.1- Raspbian instalatu Hau egiteko, Raspbian sistema eragilea erabili dut, beraz, Raspbian sistema eragilearen irudia grabatu dut nire SD memorian. Hau, Linux makina batetik egin dut, beraz, SD memoria bilatzeko, lehen aipatutako agindu hau erabili dut: df -h
  • 67. Tolosaldea TLHI 66 Software eta Hardware librea Honen bidez, SD memoria /dev/sdc1 dela ikusi dut. Gero, SD memoria formateatzeko, agindu hau exekutatu dut: mkdosfs -I -F32 /dev/sdc1 Azkenik, Raspbian sistemaren irudia grabatu dut: dd bs=4M if=2014-01-07-wheezy-raspbian.img of=/dev/sdc1 Beraz, SD memoria atera eta Raspberry Pi-n sartu dut, eta kargadorea konektatzean sistema eragileak arrankatu du. Bertan, logeatzeko Raspbian sistemaren defektuzko erabiltzailea eta pasahitza erabili ditut: Erabiltzailea: pi Pasahitza: raspberry Beraz, Raspbian sistema erabili ahal izan dut, kontsola moduan, baina ingurune grafikoa kargatzeko, agindu hau erabili dut: startx Honekin, Raspberry Pi martxan dago Raspbian sistema eragilearekin. 3.1.5.1.2- Raspbian konfiguratu Raspbian sistema eragilea instalatu ondoren, hau konfiguratu egingo dut, aldaketa batzuk eginez. Raspbian konfiguratzeko, agindu hau exekutatu dut: raspi-config Bertan, lehenengo fitxategi sistema handitu dut, lehenengo aukera hautatuz: 1- Expand Filesystem Horrela, sistemak hobeto funtzionatuko dugu. Hau, 4 GB baino gehiagoko SD memoriekin egingo dugu. Gero, erabiltzailearen pasahitza aldatu dut: 2- Change User Password Bertan, nire pasahitza berria sartu dut
  • 68. Tolosaldea TLHI 67 Software eta Hardware librea 3.1.5.1.3- Raspbian eguneratu Raspbian sistema ere eguneratu dut, horretarako, lehenengo errepositorioen zerrenda eguneratu dut: apt-get update Gero, eguneraketa hauek instalatu ditut: apt-get upgrade Azkenik, Raspbian-en eguneraketa agindu hau ere exekutatu dut: rpi-update Horrela, Raspbian sistema eragilea eguneratuta geratu da. 3.1.5.1.4- Sarea konfiguratu Raspbian sistema eragilea konfiguratu eta eguneratu ondoren, sarea konfiguratu dut. Honen kasuan, IP helbide estatiko bat eman diot, zerbitzari moduan funtzionatuko duelako, beraz, IP helbidea beti berdina izatea komeni da. Sarea konfiguratzeko, “interfaces” fitxategia editatu dut: nano /etc/network/interfaces Bertan, informazio hau idatzi dut: auto eth0 iface eth0 inet static address 192.168.1.32 netmask 255.255.255.0 gateway 192.168.1.1 Horrela, “eth0” interfazea konfiguratu dut estatikoki, “192.168.1.36” IP helbidea emanez, eta “/24”
  • 69. Tolosaldea TLHI 68 Software eta Hardware librea maskara jarri diot. Gainera, ate-bide bezala routerraren helbidea jarri dut, “192.168.1.1”. Fitxategia gordetzeko “Control+o” sakatu dut, eta hau ixteko “Control+x”. Ondoren, sarea berrabiarazi dut: /etc/init.d/networking restart Horrela, sarea berrabiarazi da, eta Raspberry Pi-k sareko konfigurazio berria hartu du. 3.1.5.1.5- Web kamera konektatu Web kamera martxan jartzeko, Raspberry-a berrabiarazi dut, eta hau piztearekin batera kamera konektatu dut USB portu batera, horrela, Raspberry-ak hasieratik detektatuko du kamera. Kamera konektatu ondoren, Raspberry-k ondo detektatu duela frogatu dut, horretarako, agindu hau erabili dut: lsusb Agindu honekin, USB dispositibo guztiak listatu ditut: Ikusten den bezala, web kamera lerro honetan agertzen da: Bus 001 Device 003: ID 046d:082b Logitech, Inc. Beraz, web kamera ondo detektatu du sistemak. Hala ere, web kamera zerbitzariarekin hasi aurretik, kamerak Raspberry Pi-n funtzionatzen duela frogatu dut. Horretarako, “Luvcview” programa erabili dut. Hau, web kamera erabili ahal izateko erreminta sinple bat da. Luvcview terminaletik instalatu dut agindu honekin: apt-get install luvcview Programa instalatu ondoren, exekutatu egin dut, terminalean hau idatziz:
  • 70. Tolosaldea TLHI 69 Software eta Hardware librea luvcview Horrela, web kameraren grabazioa ikusi ahal izan dut, beraz, honek ondo funtzionatzen du. 3.1.5.1.6- libv4l-0 liburutegia instalatu Ondoren, Raspberry Pi-k kamera dispositiboarekin hobeto funtzionatzeko, “libv4l-0” liburutegia instalatu dut. Hau, ez da guztiz beharrezkoa, baina gomendagarria da, eta web kamera batzuen kasuan, hau gabe ez du ondo funtzionatuko. Nire kasuan, gero bideo streaming-a egiteko erabiliko dudan programak web kamerarekin ondo funtzionatzeko instalatu dut. “libv4l-0” liburutegia instalatzeko: apt-get install libv4l-0 Horrela, liburutegia instalatu da. 3.1.5.1.7- Motion instalatu Motion, Linux sistema eragilerako web kamera erabiltzeko programa da, bideoa mugimendu detektorea. Honek, bideo streaming-a egitea ahalbidetzen digu, hau da, web kamerak grabatutakoa sarean ikusgai egon ahal izatea, intranet edo interneten. Gainera, mugimendua nabaritzen duenean, irudiak eta bideoa gordetzen hasten da, eta hauek ordenagailuan gordetzen dira. Hau, kode askeko softwarea da, eta C lengoaian programatuta dago. Motion programa instalatzeko agindu hau erabili dut: apt-get install motion Horrela, programa instalatu da, baina orain konfiguratu egingo dut, nire kameraren arabera. 3.1.5.1.8- Motion konfiguratu Motion programa konfiguratzeko, “motion.conf” eta “motion” fitxategietan aldaketak egin ditut. Lehenengo, “motion.conf” fitxategia editatu dut, Motion programaren konfigurazio fitxategia: nano /etc/motion/motion.conf
  • 71. Tolosaldea TLHI 70 Software eta Hardware librea Bertan, aldaketa hauek egin ditut: daemon on #demoinioa aktibatu webcam_port 605 #Webcam streaming-erako portua webcam_localhost off #Webcam-a bakarrik Raspberry-n ikustea desgaitu; sarean atzigarri izateko. control_port 8080 #Webcam-a konfiguratzeko portua control_localhost off #Webcam-a bakarrik Raspberry-n konfiguratzea desgaitu; sarean konfiguragarria izateko Fitxategia gorde eta itxi egin dut. Ondoren, “motion” fitxategia editatu dut: nano /etc/default/motion Bertan, aldaketa hau egin dut: start_motion_daemon yes #Motion-en demonioa hasieran aktibatzeko Fitxategi hau ere gorde eta itxi egin dut. Horrela, Motion konfiguratu dut, eta programa hau Raspberry Pi-a arrankatu ondoren hasiko da martxan. Aldaketa hauek aplikatu daitezen. Motion zerbitzua berrabiarazi dut: service motion restart Horrela, aldaketak aplikatu dira eta Motion programa erabiltzeko prest dago. Kasu honetan, Motion zerbitzua berrabiarazi dut, baina hau hasi eta gelditu ere egin daiteke. Motion zerbitzua hasteko: service motion start Motion zerbitzua gelditzeko: service motion stop
  • 72. Tolosaldea TLHI 71 Software eta Hardware librea Hurrengo pausoa, bideo streaming-a martxan jartzea izango da. 3.1.5.1.9- Streaming-a hasi Motion programa eta web kameraren bidez bideoa sarean ikusgarri egin ahal izateko, “motion” agindua erabiliko dugu. Motion zerbitzuak bideoa soilik grabatu nahi badugu, agindu hau erabiliko dugu: motion Baina bideoa grabatzeaz gain, irudiak atera eta gordetzea ere nahi badugu, “-n” parametroa gehituko diogu: motion -n Horrela, irudiak ere gordeko dira, baina hau ez da oso gomendagarria, argazki asko gordetzen direlako, eta gehienetan ez da beharrezkoa. Hala ere, “motion” agindua soilik erabiltzen badugu ere, argazkiak gordetzen dira mugimendua detektatzean, eta ez denbora guztian, eta hau hobea da, disko gogorreko leku gutxiago okupatzen dugulako. 3.1.5.1.10- Motion nabigatzailetik konfiguratu Motion programa “motion.conf” fitxategiaren bidez konfiguratzeaz gain, saretik ere konfiguratu dezakegu. Horretarako, web nabigatzailean Raspberry-aren IP helbidea eta konfigurazio portua jarri behar ditugu: http://192.168.1.36:8080 8080 portua erabili dut, lehen konfigurazio fitxategian jarri dudalako. Bertan, interfaze grafiko bidez Motion programa konfiguratu eta aldaketak egin ahal izango ditugu. 3.1.5.1.11- Streaming-a ikusi Motion programak grabatutako bideoa ikusi ahal izateko ere, web nabigatzaile bidez egingo dugu. Kasu honetan ere, Raspberry-aren IP helbidea erabiliko dugu, baina orain streaming-erako konfiguratu dugun portua: http://192.168.1.36:605 Ikusten den bezala, 605 portua erabili dut, lehen konfigurazio fitxategian azaldu dudalako. Denak ondo funtzionatzen badu, web kameraren grabazioa ikusi ahal izango dugu, eta honen