Unity Launcher-ean ikono pertsonalizatu berri bat gehitzeko prozedura esteka
Redmine eta Git Errepositorioen Uztartzea
Redmine tresnak Git errepositoriekiko bateragarritasun osoa eskaintzen du. Trebetasun honek proiektuen garapen prozesuaren jarraipen zehatzeagoa eskaintzen du.
Proiektu baten ataza-jarraipena git errepositorio batekin uztartzeko, lehenik eta behin errepositorio berri bat jarri beharko dugu martxan. Gure kasuan Redmine aplikazioarentzat berezkoak izango diren jatorri errepositorioen klon-ak erabiliko ditugu.
Lehenik eta behin errepositorio berrien gordailua sortuko dugu
1 2 3 | sudo mkdir -p /var/opt/redmine/git sudo chown -R www-data:www-data /var/opt/redmine/git cd /var/opt/redmine/git |
ondoren errepositorio nagusiaren klona sortuko dugu, bertan egindako aldaketak Redmine tresnan isladatzeko asmoz
1 2 | git clone --bare file:////var/opt/git/pictogram.git pictogram.git git remote add origin file:////var/opt/git/pictogram.git |
Hurrengo pausoa errepositorio fisikoa eta Redmine tresna uztartzea da. Horretarako Redmine tresnan kautotu eta uneko proiektuaren aukeretara joko dugu. Bertan Repository atalean, errepositorio berri bat sortzeko aukera eskaintzen da. Errepositorioaren kokalekua eskatzen den atalean sortu berri dugun errepositorioaren kokalekua ezarriko dugu. Bestelako aukerak norberaren beharretara hautatu eta aldaketak gorde ondoren, proiektua eta errepositorioa uztarturik egongo dira.
Git Zerbitzari Baten Muntaia
Post honen helburua garapenerako Git errepositorio zerbitzari bat martxan jartzea da. Horretarako Git, OpenSSH, Gitolite eta Gitweb tresnetaz baliatuko gara. Prozesu honetan OpenSSH eta Apache zerbitzariak dagoeneko martxan eta egoki konfiguraturik daudela aurreikusten da. Erabiliko dugun komando multzoa Ubuntu sistema batetara zuzendutakoak dira, beraz aldaketen beharra egon liteke beste linux sistemetara egokitzeko.
Git errepositorioa instalatu
Lehenik eta behin gure ubuntu sisteman Git tresna instalatuko dugu. Horretarako apt-get komandoaz baliatuko gara
1 | sudo apt-get install git-core |
Git erabiltzailea sortu eta konfiguratu
Git tresnarekin lan egingo duen erabiltzailea sortu eta konfiguratzea da hurrengo pausoa. Diseinatutako kautotze prozesuan erabiltzaile ugarirentzako sarbidea aurreikusten da. Lan hori ordea Gitolite tresnaren eskuetan utziko dugu. Erabiltzaile soil honen helburua SSH bidezko kautotze sistema arrunt eta segurua ahalbidetzea da.
1 2 3 4 5 6 7 8 | sudo adduser \ --system \ --shell /bin/bash \ --gecos 'Control de versiones' \ --group \ --disabled-password \ --home /home/git \ git |
1 | sudo passwd git |
hurrengo urratsa erabiltzaileren home direktorioaren baimenak egokitzea izango da
1 | sudo chmod o-rwx /home/git |
emandako pausoak zuzenak izan direla egiaztatzeko erabiltzailearen kontuan kautotuko gara
1 | su git |
SSH sarbidea konfiguratu
Sortu berri dugun git erabiltzaileari SSH bidezko sarbidea gaituko diogu. Horretarako /etc/ssh/sshd_config fitxategian honako lerroa gehitu behar dugu (dagoeneko existitzen bada git testua gehitu besterik ez duzu)
1 | AllowGroup git |
Aldaketa honek git erabiltzailea SSH bidez bere pasahitza erabiliz sisteman kautotzea ahalbidetzen du. Gitolite tresna erabiltzeko ordea gako publiko bidezko kautotzea beharrezkoa da. Horretarako berriz ere sshd_config fitxategia editatu beharra dugu, dagokien lerroei honako balioa esleituz:
RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile %h/.ssh/authorized_keys |
aldaketak amaitu ostean sshd zerbitzaria berrabiaratuko dugu
1 | sudo service ssh restart |
Zerbitzaria gako publikoak onartzeko prest dagoen arren, git erabiltzaileari dagozkion konfigurazioak gehitzea ezinbestekoa da. Erabiltzaile bakoitzak baimendutako gako publiko bat baino gehiago izan dezakeenez, azpi-erabiltzaile ugarik pasahitzik partekatu gabe batera lan egiteko aukera izango dute.
Lehenik beharrezko konfigurazio direktorio eta fitxategiak sortuko ditugu
1 2 3 4 5 | sudo mkdir /home/git/.ssh sudo touch /home/git/.ssh/authorized_keys sudo chown -R git:git /home/git/.ssh sudo chmod 700 /home/git/.ssh sudo chmod 600 /home/git/.ssh/authorized_keys |
direktorio edo fitxategi hauek dagoeneko sortuak dauden kasuan edukia txuritu eta baimen egokiak ezarri beharko zaizkie.
Hurrengo pausua RSA gako publiko berri bat sortzea da. Komando honek uneko direktorioan gako publiko eta pribatu parea sortuko du. Kasu honetan erabiltzaile gisara git-admin ezizena erabiliko dugu:
1 | ssh-keygen -t rsa -b 2048 -C "git-admin@[zerbitzari-izena]" |
sortutako fitxategiak honakoak izango dira:
- id_rsa: Erabiltzailearen gako pribatua. Bezero makinatik konexioak egikaritzeko balioko duena (ezinbestekoa da gako hau pribatu mantentzea)
- id_rsa.pub: Erabiltzailearen gako publikoa. Zerbitzarian gordeta egongo den gakoaren zati partekagarria.
Behin gakoa sortuta zati pribatua bezero makinara kopiatuko dugu eta zati publikoa zerbitzarian.
(Kontuan izan pauso hauek ez dutela dagoeneko gako bidezko sarbidea onartzen, horretarako gitolite tresna konfiguratu beharko dugu).
Gitolite tresna
Gitolitek errepositorioen gaineko baimenak gestionatzeko aukera eskaintzen du. Lehen pausoa sisteman instalatzea izango da.
1 | sudo apt-get install gitolite |
Ondoren Gitolite-ren konfigurazio prozesuari ekingo diogu. Lehenik, baimenen gestiorako administratzaile bat sortuko dugu aurreko pausuan sortutako gako publikoa erabiliz.
1 2 3 4 5 6 7 8 | sudo su git cd git clone git://github.com/sitaramc/gitolite mkdir -p $HOME/bin gitolite/install -to $HOME/bin echo "PATH=$HOME/bin:$PATH" > ~/.bashrc source ~/.bashrc gitolite setup -pk [sortutako-gako-fitxategia].pub |
Gitweb errepositorio arakatzailea erabili nahi dugunez .gitolite.rc fitxategia editatu eta honako aldaketak egin beharko ditugu:
UMASK => 0027 |
Dagoeneko, konfigurazio prozesuak repositories izeneko direktorioa sortu du git erabiltzailearen home direktorioan. Bertan gorde eta kudeatu ahalko dira git errepositorio guztiak (administraziokoa barne).
Gitolite tresnak gitolite-admin errepositorioa erabiltzen du baimen kudeaketa egiteko. Hau da, errepositorio hori erabiltzen du konfigurazio fitxategi gisara. Bertan egindako push bakoitzeko, tresnak, egindako aldaketak irakurri eta beharrezko egokitzapenak egikarituko ditu.
Hurrengo pausua beraz, sortutako gako pribatua eta git bezero bat erabiliz administrazio errepositorioa gure makinan klonatzea da. Kontuan izan behar dugu, zerbitzarira konektatzen saiatzen hari garela arazorik suertzatzen bada, aurreko puntuak berrikusi beharko ditugula.
Errepositorioa deskargatuta bi direktorio aurkitu ahalko ditugu bertan:
- conf: Gitoliteren konfigurazio fitxategia gordetzeko balio duena.
- keydir: Erabiltzaileen gakoak gordetzeko balio duen direktorioa (administratzailearen gakoa dagoeneko bertan aurkituko duzu).
conf direktorioan aurkitzen den gitolite.conf fitxategia erabiliko dugu administrazio fitxategi gisara. Bertan egindako aldaketen push bat eginda automatikoki sortuko dira detektatutako erabiltzaile eta errepositorio berriak (erabiltzaile berrien gako publikoak keydir direktorioan gorde beharko dira izen berdineko fitxategietan).
Gitweb arakatzailea instalatu
Azken pausua gure zerbitzariari git errepositorioen web arakatzailea gehitzea da. Horretarako gitweb eta bere pakete laguntzaileak instalatu beharko ditugu.
1 | sudo apt-get install highlight gitweb |
Ondoren, arakatzailearen konfigurazioa editatuko ditugu errepositorioen kokalekua eta bestelako datuak zehazteko. Horretarako /etc/gitweb.conf fitxategia ireki eta honako sarrerak editatu behar dira:
$projectroot = "/home/git/repositories"; $projects_list = "/home/git/projects.list"; #Azken lerro hau gehitu $feature{'highlight'}{'default'} = [1]; |
gitweb tresnari errepositorietara atzipena baimentzeko honako komandoak erabiliko ditugu
1 2 3 4 | sudo usermod -a -G git www-data sudo chmod g+r /home/git/projects.list sudo chmod -R g+rx /home/git/repositories sudo service apache2 restart |
Azken pausoa test errepositorioa web arakatzailean publiko egitea da. Horretarako honako aldaketak egingo dizkiogu gitolite.conf fitxategiari (aldaketak indarrean jartzeko, etzazu ahaztu errepositorioaren commit eta push-a egitea).
repo testing RW+ = @all R = gitweb |
Arakatzailea zuzen konfiguratu dela baieztatzeko zure nabigadorean http://[zure-domeinua]/gitweb helbidera atzitzea besterik ez zaigu falta.
Kanpo Web Erabiltzaileak
Kanpo web erabiltzaile berri bat sortzeko lehen pausua SFTP erabiltzaile mugatu berri bat sortzea da. Adibide honetan webuser erabiltzaile izena erabiliko da.
Behin prozesua amaituta hurrengo urratsa web orrialdearen gordailua sortzea da. Kasu honetan web orrialdeak /var/www direktorioan gordeko dira. Beraz:
sudo mkdir /var/www/webuser sudo chown webuser:webuser /var/www/webuser sudo chmod 755 /var/www/webuser |
webuser erabiltzailea SFTP erabiltzaile mugatu da, beraz ez du /var/www direkotorioa atzizeko modurik. Atzipena ahalbidetzeko ezinbestekoa da direktorio binding-a egitea. Lehenik erabiltzaileran home-an www izeneko direkotorioa sortu beharra dago:
sudo mkdir /home/webuser/www |
ondoren direktorio biak binding prozesuaz linkatu:
sudo mount /var/www/webuser /home/webuser/www -o bind |
horrela erabiltzaileak /var/www/webuser direktorioaren edukia atzigarri izango du /home/webuser/www direktorioaren bitartez. Prozesu hau ordea ez da behin betikoa. Zerbitzaria berabiatzearakoan komando bera exekutatu beharko da berriz ere. Hori dela eta /etc/rc.local script-ean lerro hori gehitzea gomendatzen da (Kasu honetan azken script horretan exekutatzen den azpi-script batean gehitu da /home/myuser/bin/mount-binds.sh-an alegia).
Azkenik, web erabiltzaile askok mysql datu basera atzipena beharrezkoa izaten dute. Horretarako phpmyadmin bezalako tresna bat erabiltzea gomendatze da. Prozesuan honako puntuak izan beharko dira kontuan:
- Sortutako erabiltzailearen izen eta pasahitza sistemakoaren berak izatea gomendatzen da.
- Erabiltzaileari baimen global guztiak ezabatu behar zaizkio (zerbitzariko beste edozein datu base atzitu ez dezan).
- Erabiltzaile izen berbera izango duen datu base berria sortzea.
- Erabiltzaileari bere datu base propioari beharrezko baimenak ematea.
Atzipen ez onartuak ekiditeko, garrantzi handikoa da sortutako erabiltzailearen baimenak egiaztatzea,
SFTP Erabiltzaile Mugatuak
Sftp protokoloa erabiltzen denean erabiltzaileak libreki nabiga dezakete sistemako direktorien hartean. Askatasun horrek arazoak eman ditzazke erabiltzaileen kontrola norbanakoaren home direktoriora mugatu nahi den kasuetan. Arazoa ekiditeko chroot bidezko sftp sistema erabiltzea besterik ez dago.
OpenSSH Zerbitzuaren Konfigurazioa
Zerbitzariak erabiltzaile mugatuak onartu ditzan /etc/ssh/sshd_config konfigurazio fitxategia editatu beharra dago.
- Sftp exekutagarria definitzen duen lerroa iruzkindu
#Subsystem sftp /usr/lib/openssh/sftp-server |
- eta beste honegatik ordezkatu
Subsystem sftp internal-sftp |
- Fitxategiaren amaieran erabiltzaile mugatuentzako konfigurazio espezifikoa ezarri
Match Group sftp
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no |
non sftp taldea sftp zerbitzaria erabiliko duten erabiltzaile mugatuen talde komuna den. Kontuan izan talde honen ordez beste edozein talde-izen erabili daitekeela.
Talde berria sortu
Aurreko atalean ikusi den bezala talde berri bat definitu behar da erabiltzaile mugatuentzat. Horretarako honako komandoa erabiliko da:
sudo addgroup sftp |
Erabiltzaile berria
Lehenik eta behin erabiltzailearen home direktorioa eraiki behar da.
sudo mkdir /home/sftpuser sudo mkdir /home/sftpuser/data |
kontuan izan home direktorioaren erroa root erabiltzailearen kontrolpean egon behar duela (chroot egin ahal izateko) eta beraz erabiltzaileak ez duela idazketa baimenik edukiko. Erabiltzaileak idazketak egin ahal izan ditzan data azpi direktorioa sortu eta bi direktorioei beharrezko baimenak ezarri behar zaizkie
sudo useradd sftpuser sudo chown root:root /home/sftpuser sudo chmod 755 /home/sftpuser sudo chown sftpuser:sftpuser /home/sftpuser/data |
azkenik erabiltzaile berria sortu eta konfiguratu beharra dago.
sudo passwd sftpuser sudo usermod -s /bin/false sftpuser sudo usermod -d /home/sftpuser sftpuser |
kontuan izan erabiltzailearen komando interpretatzailetzat /bin/false ezarri dela. Modu honetan erabiltzaile mugatuen ssh bidezko kautotzea ekiditen da. Azkenik erabiltzaile berria sftp taldera gehitzea besterik ez da gelditzen.
sudo adduser sftpuser sftp |
Ubuntu Komando Glosarioa
A
- apt-get install [pakete-izena] – Paketea eta bere dependentziak sisteman instalatu.
- apt-get update – Sistemako pakete repositoriaren informazioa eguneratu.
- apt-get upgrade – Eguneraketa duten sistemako pakete guztiak eguneratu.
- apt-get remove [pakete-izena] – Aukeratutako paketearen exekutagarriak sistematik ezabatu.
- apt-get –purge remove [pakete-izena] – Aukeratutako paketearen exekutagarri eta konfigurazio fitxategi guztiak sistematik ezabatu.
B
- blkid /dev/[partizio-identificadorea] – Emandako partizioaren UUID-a lortu.
D
- dmraid -r – Hardwarezko raid diskoen egoera pantailaratu.
L
- ln -s [jatorri-direktorioa] [helburu-linka] – Jatorri direktorio edo fitxategiaren esteka sortzen du helburuan.
M
- make-ssl-cert generate-default-snakeoil –force-overwrite – Sisteman generikoki erabiliko diren zertifikatuak berritzeko komandoa.
- mount [jatorri-direktorioa] [muntaketa-direktorioa] -o bind – Jatorri direktorioa muntaketa direktorioan muntatzen du. Jatorri direktorioaren edukia beraz muntaketa direktorioan atzigarri aurkituko da.
P
- passwd [erabiltzaile-izena] – Erabiltzailearen pasahitza ezarri/berritu.
S
- smbmount //[zerbitzaria]/[jatorri-direktorioa] [helburu-direktoria] -o user=[erabiltzailea] – Samba diskoa emandako helburu direkotioan muntatuko du.
U
- useradd [erabiltzaile-izena] – Erabiltzaile berri bat sistemara gehitu.
- usermod -s [komando-interpretatzailea] [erabiltzaile-izena] – Erabiltzailearen komando interpretatzailea ezarri (/bin/sh, /bin/bash, /bin/false…).
- usermod -d [home-direktorioa] [erabiltzaile-izena] – Erabiltzailearen home direktorioa ezarri.
WebSVN Errepositorio Arakatzailea
WebSVN internet bidez Subversion errepositorioak arakatzeko tresna da. Oso erabilgarria suerta daiteke garatutako kodeak modu profesionalean plazaratzeko.
Atzitzaile hau Apache web zerbitzariaren dav_svn moduluaren laguntzaz, urruneko errepositorioak atzitzeko gai da. Hona hemen sistema martxan jarri ahal izateko jarraitu beharreko pausuak.
- Lehenik dav_svn modulua instalatu beharra dago
sudo apt-get install subversion libapache2-svn
- Apache zerbitzarian modulua aktibatu
sudo a2enmod dav_svn
- Apache zerbitzarian vhost berri bat sortu eta honako kodea atxikitu. Ikus daitekeen moduan SVNListParentPath eta AuthzSVNAccessFile parametroak errepositorioaren instalazioarekin erlazio zuzena dute.
<VirtualHost *:80> ServerName svn.domeinuaren.izena ServerSignature On LogLevel warn ErrorLog /var/log/apache2/error.log CustomLog /var/log/apache2/access.log combined <Location /> DAV svn SVNParentPath /errepositorioen/erro/direktorioa SVNListParentPath off SVNPathAuthz off AuthzSVNAccessFile /errpositorioen/erabiltzaile/fitxategia/authz </Location> </VirtualHost>
- Azkenik Apache zerbitzaria berhabiaratu eta dagoeneko Subversion errepositoriorako sarrera izango duzu svn.domeinua.izena helbidean.
- Kontuan izan beharra dago errepositorioaren authz fitxategia modu egokian konfiguratu beharra dagoela. Bestela, internet bidez edonork errepositorioan aldaketa sortzeko aukera izatea gerta liteke.
- Behin dav_svn modulua eta kanpo konexioa konfiguratuta, WebSVN instalatzea da hurrengo pausoa. Lehenik azken bertsioa jaitsi beharra dago honako helbidetik http://websvn.tigris.org/servlets/ProjectDocumentList
- Ondoren gustoko direktorio batean deskonprimitu eta Apache zerbitzarian vhost berri bat sortu beharra dago. Modu honetara WebSVN tresnaren web gunerako sarrera sortuz:
<VirtualHost *:80> ServerName websvn.domeinuaren.izena ServerSignature On LogLevel warn ErrorLog /var/log/apache2/error.log CustomLog /var/log/apache2/access.log combined DocumentRoot /websvn/orrialdearen/direktorioa <Directory /websvn/orrialdearen/direktorioa> AllowOverride None Options -MultiViews -Indexes Order allow,deny Allow from all </Directory> </VirtualHost>
- Azkenik WebSVN orrialdea konfiguratzea besterik ez dago. Horretarako, instalazioak berak dakarren tutorial txikia jarraitu. Tutoriala honako helbidea atzituz lortu dezakezu http://websvn.oroitz.dyndns.org/doc/install.html.
Azken emaitza zein den ikusteko http://websvn.oroitz.dyndns.org orrialdean aurkitzen den nire WebSVN pertsonala bisita dezakezu.
ANT Fitxategiak
ANT Fitxategiak Javan, C lengoaian ezagunak diren Makefile-en pareko dira. XML datu errepresentazioan oinarritzen dira eta kodea konpilatu eta exekutagarriak sortzeko jaio ziren. Ala ere, gaur egun, Eclipse bezalako garapen tresnarekin konbinatuz, helburu anitzetarako erabilgarriak dira. Adibide honetan, web gune baten garapenean izan dezaketen erabileretako bat deskribatuko da.
Web garapenean JavaScript eta CSS tresnak erabiltzen direnean, ezin bestekoa da kode-fitxategien tamaina minimizatzea. Orrialdearen deskarga denbora nabarmen murrizten duen teknika honek ordea, pauso nekagarri ugari jarraitzera behartzen gaitu; fitxategiak banan banan minifikatzea alegia.
Beraz lana automatizatzeko ANT bezalako tresna batez baliatzea ezinbestekoa suertatzen da. Minimizazio prozesurako YUI Compresor tresna erabili da. Behin konpresorea gure sisteman instalatuta, honako ANT fitxategia sortzea besterik ez dago:
Fitxategia erabiltzailearen beharretara moldatu dadin, honako baloreak aldatu beharko dira:
- <property name=”compressor” location=”C:/kokalekua/yuicompressor.jar“/>
- <property name=”js_src_folder” value=”js/fitxategien/kokaleku/erlatiboa/“/>
- <property name=”js_dst_folder” value=”js/fitxategien/helburu/erlatiboa/“/>
- <property name=”css_src_folder” value=”css/fitxategi/kokaleku/erlatiboa/“/>
Oso garrantzitsua da helbide erlatiboak, fitxategiaren hasieran agertzen den <project name=”Build” default=”build” basedir=”.”> propietatearekin batera egoki konfiguratzea.
Moldaketa horiek egin ondoren, fitxategia gorde (Adibidez build.xml izenez) eta Eclipseko proiektuaren erro direktorioan kopiatu. Fitxategia exekutatu nahi izanez gero, ANT fitxategik modura exekutatu beharko da:
Sortze prozesua amaitzen denean, emaitza bezala, proiektuan aurkitzen diren JavaScript eta CSS fitxategiak automatikoki minimizatuak izango dira.
Esteka interesgarriak:
- ANT Tutoriala: http://ant.apache.org/manual/
Firebug Lite
Web guneen garapenean ohikoa da kodearen araztatzea (debugeo) egin behar izatea. Internet Explorer nabigatzailearen zenbait bertsiok ordea, ez dute herramienta espezifikorik eskaintzen lan hori burutu ahal izateko. Kasu horietarako Firebug Lite herraminta erabiltzea gomendatzen da.
Firebug, funtsean Firefox nabigatzailearen araztatze sistemaren instalazio-gabeko bertsioa da. Nahikoa izango da honako kode hau zure web-gunearen kodean txertatzea:
<script type="text/javascript" src="https://getfirebug.com/firebug-lite-debug.js"></script> |
Honako argazkian nire web orrialde pertsonalaren gainean egindako froga ikus daitekeelarik:
Distira Sentsorea Ubuntu Sistemetan
Arazo arrunta da Linux distribuzio bat ordenagailu eramangarri batean instalatzerakoan, “Fn” tekla bidez aktibatzen diren funtzioak ehuneko ehunean eskuragarri ez egotea. Hori dela eta post honetan Asus makina batean, distira sentsorea nola aktibatu azalduko da.
Lehenik aipatu beharra dago, Ubuntu sistematan, hardwarea, fitxategietan grabatutako balioen bidez konfiguratzen dela. Fitxategi hauek /sys/ erroan gorderik aurkitzen dira. Kasu partikular honetan distira sentsorearen konfigurazio fitxategia honakoa litzateke:
/sys/devices/platform/asus_laptop/ls_switch |
Bertan “0” (ezgaitua) edota “1” (gaitua) baloreak esleitu daitezkeelarik.
Balio aldaketa hauek ordea, birabiaraketaren ondoren baliogabetuak izango dira, sistemak defektuzko balioak esleitzen baititu hasieraketa prozesuan. Horregatik, baloreei persistentzia eskainiko dien sysfsutils erramintaren erabilera beharrezkoa da. Behin instalazioa amaitzen denean, /etc/sysfs.conf konfigurazio fitxategia editatu beharra dago honako lerroa gehituz:
devices/platform/asus_laptop/ls_switch=1 |
Kontuan izan, programak berak /sys/ aurrezkia esleitzen diola lerro bakoitzari. Fitxategia gorde eta sistema birabiaratu ondoren, gure Asus eramangarriaren distira sentsorea martxan izango da.