Software hardware librea - dok

527 views

Published on

Informatika tolosaldea proiektua

Published in: Software
  • Be the first to comment

  • Be the first to like this

Software hardware librea - dok

  1. 1. erik SOFTWARE ETA HARDWARE LIBREA
  2. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 58. Tolosaldea TLHI 57 Software eta Hardware librea Orain bai dela programa hau software librea, eta edozeinek erabiltzeko aukera izango du.
  59. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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

×