Jekyll2021-01-03T21:22:29+00:00https://atxukale.eus/feed.xmlAtxukale.eusHemen nire gogoeta pertsonalez gain, software libreari buruzko informazioa aurkituko dezu.Pedro ArreitunandiaNextcloud eta segurtasuna: Geolokalizazioa2021-01-03T00:00:00+00:002021-01-03T00:00:00+00:00https://atxukale.eus/Nextcloud-eta-segurtasuna-geolokalizazioa<p>Aurrez azaldu izan dudan moduan, nire etxeko router-aren alboan bizi den raspberrypi-an jarrita dut gure etxeko Nextcloud zerbitzari txikia. Zerbitzari honetan gure hodei zerbitzu pribatua dugu, eta gure datuak guk kudeatzen ditugunez, gure datu pertsonalak ez daude denok ezagutzen ditugun atzerriko monopolioen eskuetan.</p>
<p>Gaur egun Internet sarean konektatuta dauden beste zerbitzu guztiak bezala, gure raspberriak erasoak jasatzen ditu. Mundu osotik, bot automatizatuak gure zerbitzari txikian sartzen saiatzen dira, beraz oso garrantzitsua da gure zerbitzaria babestea. Gure zerbitzua denez, gure ardura izango da segurtasuna bermatzea.</p>
<p>Hau egiteko ez dago soluzio bakarra. Hoberena kipularen estrategia jarraitzea da: teknika ezberdinak erabiliz hainbat segurtasun-geruza eraikiko ditugu, denen artean soluzio eraginkor bat osatzeko.</p>
<p>Artikulu honetan Geolokalizazioa erabiliz, Apache web zerbitzaria konfiguratuko dugu gu bizi garen herrialdeko IP publikoetatik datozen eskaerak bakarrik onartu ditzan. Gure Nextcloud zerbitzaria etxekoek bakarrik erabiltzen dugu, eta gu ez gera bizi ez Txinan, ez Errusian, ez Vietnamen, eta ezta ere AEBtan, beraz trafiko guzti hori ez dugu onartuko, eta onartuko ez dugunez, ez diegu aukerarik emango gure zerbitzarian atzitzeko.</p>
<p>Hego Euskal Herrian bizi garenez, Espainiako estatuko IP publikoen trafikoa bakarrik onartuko dugu. Munduko beste edozein lekutatik gure Nextcloud zerbitzarira atzitzeko saiakera guztiak debekatuko ditugu.</p>
<h1 id="maxmindcom-en-erabiltzailea-sortu-eta-datubasea-deskargatu">Maxmind.com-en erabiltzailea sortu eta datubasea deskargatu</h1>
<p>Laister konfiguratu dugun apache moduluak <strong>GeoLite2-Country.mmdb</strong> datubasea erabiltzen du. Datubase hau lortzeko, <a href="https://www.maxmind.com/en/geolite2/signup">Maxmind gunean</a> kontu bat zabaldu beharko dugu, eta horrela Geolite2 datubasea doan deskartzeko aukera izango dugu.</p>
<p>Behin kontua sortuta, gure erabiltzaile izenarekin Maxmid gunean sartu eta <strong>My License Key</strong> atalean <strong>key</strong> edo gako berri bat sortuko dugu. Demagun sortu dugun gakoa <em>NireSuperGakoa</em> dela.</p>
<p>Raspberrypi-an datubasea deskargatu eta eguneratzeko, <a href="https://dev.maxmind.com/geoip/geoip-direct-downloads/">zuzeneko deskarga bidez</a> egin beharko dugu. Deskargarako helbidea hau izango da:</p>
<p>https://download.maxmind.com/app/geoip_download?edition_id=GeoLite2-Country&license_key=YOUR_LICENSE_KEY&suffix=tar.gz</p>
<p>Kontutan izan URLan YOUR_LICENSE_KEY dagoen lekuan, adibide honetan <em>NireSuperGakoa</em> jarri beharko dugula, beraz honela geratuko da:</p>
<p>https://download.maxmind.com/app/geoip_download?edition_id=GeoLite2-Country&license_key=NireSuperGakoa&suffix=tar.gz</p>
<p>tar.gz fitxategia deskargatu ondoren, deskonprimatu egin beharko degu</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>tar -zxvf GeoLite2-Country_20201208.tar.gz
</code></pre></div></div>
<p>Orain datubasea utziko dugun karpeta sortu eta deskonprimatu dugun datubasea bere lekuan kopiatuko dugu</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>mkdir -p /usr/local/share/GeoIP
cp GeoLite2-Country_20201208/GeoLite2-Country.mmdb /usr/local/share/GeoIP/
</code></pre></div></div>
<h1 id="apache-modulua-deskargatu-eta-instalatu">Apache modulua deskargatu eta instalatu</h1>
<p><a href="https://github.com/maxmind/mod_maxminddb">MaxMind DB Apache Module</a> erabiliko dugu lan honetarako. <a href="https://github.com/maxmind/mod_maxminddb/releases/tag/1.2.0">Azken bertsioa</a> deskargatu (artikulu hau idazterakoan, azken bertsioa 1.2.0 da) eta deskonprimatuko degu. Instalazioa nola egin behar den <a href="https://github.com/maxmind/mod_maxminddb">hemen azaltzen da</a>.</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>root@raspberrypi4:~# wget -c https://github.com/maxmind/mod_maxminddb/releases/download/1.2.0/mod_maxminddb-1.2.0.tar.gz
root@raspberrypi4:~# tar -zxvf mod_maxminddb-1.2.0.tar.gz
</code></pre></div></div>
<p>Orain sortu den karpetara mugitu eta instalatuko degu</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>root@raspberrypi4:~# cd mod_maxminddb-1.2.0/
</code></pre></div></div>
<p>Aurrez <strong>apache2-dev</strong> eta <strong>libmaxminddb0</strong> paketeak instalatu behar dira</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>root@raspberrypi4:~/mod_maxminddb-1.2.0# apt-get install apache2-dev
root@raspberrypi4:~/mod_maxminddb-1.2.0# apt-get install libmaxminddb0 libmaxminddb-dev
</code></pre></div></div>
<p>Orain konpilatu eta instalatu</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>root@raspberrypi4:~/mod_maxminddb-1.2.0# ./configure
root@raspberrypi4:~/mod_maxminddb-1.2.0# make install
</code></pre></div></div>
<p>Honekin apache modulua instalatu eta gaitu du, apacheko <strong>mods-enabled</strong> karpetan ikus dezakegun moduan</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>root@raspberrypi4:~/mod_maxminddb-1.2.0# ls -l /etc/apache2/mods-enabled/ | grep maxminddb.load
lrwxrwxrwx 1 root root 32 abe 11 21:17 maxminddb.load -> ../mods-available/maxminddb.load
</code></pre></div></div>
<p>Apache berrabiaraziko dugu modulua kargatu dadin</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>root@raspberrypi4:~/mod_maxminddb-1.2.0# systemctl restart apache2
</code></pre></div></div>
<p>Orain gure nextcloud zerbitzariaren konfigurazioa editutatuko dugu: <code class="language-plaintext highlighter-rouge">nano /etc/apache2/sites-enabled/nextcloud-le-ssl.conf</code></p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code><Directory /var/www/html/nextcloud/>
MaxMindDBEnable On
MaxMindDBFile COUNTRY_DB /usr/local/share/GeoIP/GeoLite2-Country.mmdb
MaxMindDBEnv MM_COUNTRY_CODE COUNTRY_DB/country/iso_code
SetEnvIf MM_COUNTRY_CODE ^(ES) AllowCountry # Adibidean, Espainiako IP publikoak baimentzen ditugu
Deny from all # Lehenik eta behin, dena debekatu
Allow from env=AllowCountry # AllowCountry aldagaian definitutako estatuen IPak daude, hauek baimentzen ditugu
Allow from 192.168.1.0/24 # Etxeko sare lokala ere baimentzen dugu
Options +FollowSymlinks
AllowOverride All
<IfModule mod_dav.c>
Dav off
</IfModule>
SetEnv HOME /var/www/html/nextcloud
SetEnv HTTP_HOME /var/www/html/nextcloud
</Directory>
</code></pre></div></div>
<p>Azkenik Apache berrabiaraziko dugu</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>/etc/init.d/apache2 restart
</code></pre></div></div>
<p>Apacheko log fitxategian (<code class="language-plaintext highlighter-rouge">/var/log/apache2/error.log</code>), laster hasiko dira honelako lerroak agertzen</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>[Sat Jan 02 11:22:23.652220 2021] [access_compat:error] [pid 6215] [client 107.181.180.165:8903] AH01797: client denied by server configuration: /var/www/html/nextcloud/
</code></pre></div></div>
<p>Adibidean, ikus dezakegu 107.181.180.165 IPa zuen bezeroaren eskaera atzera bota duela. IP hau nongoa den ikusteko, https://geoip.com/ zerbitzua erabili ondoren, esaten du Amsterdam-ekoa dela, beraz funtzionatzen du !!</p>
<h1 id="maxmind-datubasearen-eguneraketak">Maxmind datubasearen eguneraketak</h1>
<p>Maxmind datubasea noizbehinka eguneratzea gomendagarria da. Hau eskuz egin daiteke, instalazioan ikusi ditugun komandoak erabiliz, edo noizbehinka (astean behin nahikoa litzateke) exekutatuko den script baten bitartez automatizatu daiteke.</p>
<p>Nik <strong>/root/scripts</strong> karpetan sortu det <strong>deskargatu-geolite2.sh</strong> izeneko scripta, eta hau da bere edukia:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>#!/bin/bash
cd /root/scripts
#Aurreko bertsioa ezabatu
rm -Rf ./GeoLite2_Azkena
rm -Rf ./GeoLite2.tar.gz
#Bertsio eguneratua deskargatu. Gogoan izan NireSuperGakoa testua zure gakoarekin ordeztu behar dezula
curl --output GeoLite2.tar.gz "https://download.maxmind.com/app/geoip_download?edition_id=GeoLite2-Country&license_key=NireSuperGakoa&suffix=tar.gz"
#Datubasea deskonprimatu
tar -zxvf GeoLite2.tar.gz
#Karpetaren izen zehatza ez dakigunez, izena normalizatu
mv GeoLite2-Country_* GeoLite2_Azkena
#Orain arte lanean izan dugun DBa beste izen batekin gordeku dugu badezpada ere
GAUR=$(date +%Y%m%d)
mv /usr/local/share/GeoIP/GeoLite2-Country.mmdb /usr/local/share/GeoIP/GeoLite2-Country.mmdb.$GAUR
#Orain datubasearen azken bertsioa produkzioan jartzen dugu
cp GeoLite2_Azkena/GeoLite2-Country.mmdb /usr/local/share/GeoIP/
#Aurreko azken 4 bertsioak bakarrik mantenduko ditugu, zaharragoak ezabatuz.
#Deskargatu dugun azken bertsioarekin arazoren bat nabaritzen badugu, beti izango dugu eskura zaharragoren bat.
cd /usr/local/share/GeoIP/
ls -t | tail -n +4 | xargs rm --
</code></pre></div></div>
<p>scriptari exekuzio baimenak emango dizkiogu</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>chmod +x /root/scripts/deskargatu-geolite2.sh
</code></pre></div></div>
<p>eta crontab-ean gehituko dugu: <code class="language-plaintext highlighter-rouge">crontab -e</code></p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>0 6 * * 1 /root/scripts/deskargatu-geolite2.sh
</code></pre></div></div>
<p>Eta listo, honekin bukatu da. Konfigurazio honi esker, zure zerbitzariaren segurtasuna apurtu eta bere kontrola hartzeko hainbat saiakera (ez denak) ekidin dituzu.</p>
<h1 id="letsencryp-ziurtagirien-eguneraketak">Letsencryp ziurtagirien eguneraketak</h1>
<p>Nextcloud zerbitzaria Letsencrypt ziurtagiriarekin konfiguratuta daukat. Ziurtagiria hiru hilean behin berritu beharra dago, baina hortaz letsencrypt instalatzerakoan sortzen det cron scripta arduratzen da.</p>
<p>Kontua da, hau egin ahal izateko, Internetetik HTTP eta HTTPS baimenduta egon behar direla, eta letsencrypt zerbitzariak atzerrian daudenez, hemen egin dugunarekin gure ziurtagiriak ez lirateke berrituko.</p>
<p>Hau konpontzeko trikimailua hau litzateke: ziurtagiria berritzeko saiakeraren aurretik geolokalizazioa desgaitu, eta berritu ondoren berriro ere gaitzea. Ikus dezagun nola egin daitekeen.</p>
<p>Lehenik eta behin, Apache konfigurazio karpetara joan eta Nextcloud konfigurazioaren bi kopia egingo ditugu:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cd /etc/apache2/sites-available/
cp nextcloud-le-ssl.conf nextcloud-le-ssl.conf.geoip-gaituta
cp nextcloud-le-ssl.conf nextcloud-le-ssl.conf.geoip-gaitugabe
</code></pre></div></div>
<p>Orain <code class="language-plaintext highlighter-rouge">nextcloud-le-ssl.conf.geoip-gaitugabe</code> izenekoa editatu eta bloke hau ezabatuko dugu (geolokalizazioa desgaituz)</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code> MaxMindDBEnable On
MaxMindDBFile COUNTRY_DB /usr/local/share/GeoIP/GeoLite2-Country.mmdb
MaxMindDBEnv MM_COUNTRY_CODE COUNTRY_DB/country/iso_code
SetEnvIf MM_COUNTRY_CODE ^(ES) AllowCountry
Deny from all
Allow from env=AllowCountry
Allow from 192.168.1.0/24
</code></pre></div></div>
<p>Orain /root/scripts karpetan bi script berri hauek sortuko ditugu:</p>
<p>nano geolokalizazioa-desgaitu.sh</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>#!/bin/bash
cd /etc/apache2/sites-available/
cp nextcloud-le-ssl.conf.geoip-gaitugabe nextcloud-le-ssl.conf
/etc/init.d/apache2 reload
</code></pre></div></div>
<p>nano geolokalizazioa-gaitu.sh</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>#!/bin/bash
cd /etc/apache2/sites-available/
cp nextcloud-le-ssl.conf.geoip-gaituta nextcloud-le-ssl.conf
/etc/init.d/apache2 reload
</code></pre></div></div>
<p>Biei exekuzio baimena eman</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>chmod +x geolokalizazioa-gaitu.sh geolokalizazioa-desgaitu.sh
</code></pre></div></div>
<p>Ondoren, letsencrypt ziurtagiria berritzeko programazioa aldatuko dugu <code class="language-plaintext highlighter-rouge">/etc/cron.d/certbot</code> fitxategia editatuz. –pre-hook eta –post-hook parametroak erabiliz, esango diogu ziurtagiria berritu beharra dagoenean, hasi aurretik geolokalizazioa desgaitzeko, eta bukatu ondoren berriro gaitzeko.</p>
<p>Lerroaren kopia bat egingo dugu, eta jatorrizkoa komentatuta utziko dugu.</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>#0 */12 * * * root test -x /usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(43200))' && certbot -q renew
0 */12 * * * root test -x /usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(43200))' && certbot -q renew --pre-hook /root/scripts/geolokalizazioa-desgaitu.sh --post-hook /root/scripts/geolokalizazioa-gaitu.sh
</code></pre></div></div>
<h1 id="artikulu-honi-buruzko-zalantzak-galderak-eta-iruzkinak">Artikulu honi buruzko zalantzak, galderak eta iruzkinak</h1>
<p><a href="https://lemmy.eus/post/122">Hemen idatzi zure iruzkina</a></p>Pedro ArreitunandiaAurrez azaldu izan dudan moduan, nire etxeko router-aren alboan bizi den raspberrypi-an jarrita dut gure etxeko Nextcloud zerbitzari txikia. Zerbitzari honetan gure hodei zerbitzu pribatua dugu, eta gure datuak guk kudeatzen ditugunez, gure datu pertsonalak ez daude denok ezagutzen ditugun atzerriko monopolioen eskuetan.Scalelite BigblueButton karga banatzailea2020-11-21T00:00:00+00:002020-11-21T00:00:00+00:00https://atxukale.eus/Scalelite-Bigbuebutton-karga-banatzailea<p>Artikulu honetan ikusiko dugunez, BigBlueButton eskalatu ahal izango dugu ehundaka erabiltzaile konkurrenteri zerbitzua emateko.</p>
<h1 id="sarrera">Sarrera</h1>
<p>Aurrez ikusi izan degu nola instalatzen den BigBlueButton (aurrerantzean BBB) zerbitzari bat.</p>
<p>BBB zerbitzari bat nahikoa da batera (konkurrentzian) 175 erabiltzaileri zerbitzua emateko, beti ere denek ez badute batera bideokamera aktibatzen.</p>
<p>Erakunde edo ikastetxe txiki baten kasuan, zerbitzari bakarra nahikoa izan daiteke, baina ikastetxe ertain edo handi batean kopuru horiek gainditu daietezke, batez ere konfinamendu eta pandemia garai hauetan.</p>
<p>Karga handia izango dugula aurreikusten dugunerako, oso interesgarria da karga banatzaile (load balancer) bat jartzea. Gure kasuan <a href="https://github.com/blindsidenetworks/scalelite">Scalelite</a> Scalelite karga banatzaile nola instalatzen den ikusiko degu.</p>
<p><img src="https://raw.githubusercontent.com/blindsidenetworks/scalelite/master/images/scalelite.png" alt="Scalelite karga banatzailea" title="Scalelite karga banatzailea" /></p>
<p>Ideia nagusia hau da:</p>
<ul>
<li>Scalelite izango da gure karga banatzailea</li>
<li>Scaleliten atzetik hainbat (N) BBB zerbitzari jarriko ditugu. Post honetan azalduko dugun adibidean 3 BBB zerbitzari konfiguratuko ditugu, baina gehiago ere jarri daitezke.</li>
<li>Moodlekin batera erabiltzen badugu, Moodle konfigurazioan Scalelite zerbitzaria konfiguratuko dugu BBB zerbitzari bezela.</li>
<li>BBB ezberdinetan egiten diren saioen grabaketak, Scalelite zerbitzarian batuko dira.</li>
</ul>
<p>Hauek izango dira zerbitzarien datuak:</p>
<ul>
<li>scalelite: scalelite.niredomeinua.eus , IP: 192.168.1.10</li>
<li>BBB1: bbb1.niredomeinua.eus , IP: 192.168.1.11</li>
<li>BBB2: bbb2.niredomeinua.eus , IP: 192.168.1.12</li>
<li>BBB3: bbb3.niredomeinua.eus , IP: 192.168.1.13</li>
<li>COTURN: coturn.niredomeinua.eus</li>
</ul>
<p>Sarrera honen ondoren, abisua: Post hau luze xamarra atera da, baina prozesu guztia pausoz pauso azaltzen da, beraz hemen azaltzen den guztia egiten badezu, zure Scalelite zerbitzaria prestatu ahal izango dezu.</p>
<h1 id="turn-zerbitzaria">TURN zerbitzaria</h1>
<p>Etxeetako Internet konexioetan ez da honelako arazorik egoten, baina NAT aplikatzen den konexioetan, suhesi edo Firewall baten babespean dauden konexioetan, arazoak sortu daitezke ahotsarekin. Hau konpontzeko TURN zerbitzariak erabiltzen dira.</p>
<p>Sarean aurkitu daitezke doako TURN zerbitzariak, baina hor zalantzak sortzen dira: seguruak al dira ?</p>
<p>Zure TURN zerbitzaria instalatzea oso erreza da, <a href="https://docs.bigbluebutton.org/2.2/setup-turn-server.html">hemen azaltzen da nola egiten den</a> . Posible badezu, zure TURN zerbitzaria instalatu eta erabiltzea aholkatuko nizuke. Posible ez bada, saiatu zaitez konfidantza ematen dizun doako TURN zerbitzari bat aurkitzen.</p>
<p>TURN zerbitzariaren IP helbidea eta sekretua (secret) beharko dituzu. Ondo apuntatu, laister beharko dugu eta.</p>
<h1 id="nfs-zerbitzua-scalelite-zerbitzarian">NFS Zerbitzua SCALELITE zerbitzarian</h1>
<p>Hasieran azaldu den moduan, gure instalazioan hainbat BBB zerbitzari izango ditugu. Erabilera arrunt batean, BBB zerbitzari bakoitzak bere grabazioak bere disko lokalean gordetzen ditu, baina guk Scalelite zerbitzarian izan nahi ditugu grabazio guztiak, gero Moodlek jarduera ezberdinen grabaketa guztiak SCALELITE zerbitzariari eskatuko dizkiolako, berak ez bait daki SCALELITE-n atzean beste BBB zerbitzari batzuk lanean dauzkagula.</p>
<p>Hau lortzeko, SCALELITE zerbitzarian NFS zerbitzua jarriko dugu martxan, eta BBB zerbitzari bakoitzean sortzen diren grabazioak, NFS karpeta honetan kopiatuko/sinkronizatuko dira.</p>
<p><a href="https://github.com/blindsidenetworks/scalelite/blob/master/sharedvolume-README.md">SCALELITE-ko Dokumentazioan dioena jarraituko dugu</a>.</p>
<p>Grabazio asko egiten badira, azkenean diskoan lekua okupatuko dutenez, SCALELITE zerbitzariari bigarren disko bat jartzea erabaki dugu. <strong>fdisk</strong> komandoa erabiliz partizioa sortu dugu eta ext4 formatua eman ondoren, <strong>/etc/fstab</strong> editatu eta ondorengo lerroa gehitu diogu zerbitzariak arrankatu bakoitzean diskoa muntatu dadin.</p>
<blockquote>
<p>Oharra: <strong>ls -l /dev/disk/by-uuid</strong> komandoak esango digu zein den sortu dugun diskoaren uuid-a, ondoren jartzen dudanak ez dizu balioko.</p>
</blockquote>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>#### /dev/disk/by-uuid/d6205bd6-f03b-466e-bcf0-bc24731c43ae /mnt/ ext4 defaults 0 0
</code></pre></div></div>
<p>Orain NFS zerbitzaria instalatuko dugu eta <strong>/mnt/scalelite-recordings</strong> karpeta prestatuko degu grabazioak gordetzeko</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>mkdir /mnt/scalelite-recordings
apt install nfs-kernel-server
</code></pre></div></div>
<p>Orain, /etc/exports fitxategia editatu eta BBB1, BBB2 eta BBB3 zerbitzarien IP helbideekin konfiguratuko dugu. Honekin, BBB zerbitzariek <strong>/mnt/scalelite-recordings</strong> karpeta muntatzeko baimena izango dute</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>nano /etc/exports
/mnt/scalelite-recordings 192.168.1.11(rw,all_squash,sync,no_subtree_check) 192.168.1.12(rw,all_squash,sync,no_subtree_check) 192.168.1.13(rw,all_squash,sync,no_subtree_check)
</code></pre></div></div>
<p>Ulertu beharra dago NFS fitxategien baimenak UID/GID balioetan oinarritzen direla, ez erabiltzaile izen eta taledeetan. Ondorioz, garrantzitsua da erabiltzaile eta taldeein UID/GID zenbaki egokiak ezartzea.</p>
<p>BBB instalazio berri batean, “<em>bigbluebutton</em>” erabiltzaileak UID 997 izan beharko luke, baina ezin da ziurtzat hartu. Hau dela eta, eta arazoak ekiditeko, (geroago) BBB zerbitzari bakoitzean talde berri bat sortuko dugu <strong>2000 GID zenbakia</strong> izango duena, eta zenbaki hau erabiliko dugu orain NFS zerbitzariko baimenak ezartzeko.</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code># Create the spool directory for recording transfer from BigBlueButton
mkdir -p /mnt/scalelite-recordings/var/bigbluebutton/spool
chown 1000:2000 /mnt/scalelite-recordings/var/bigbluebutton/spool
chmod 0775 /mnt/scalelite-recordings/var/bigbluebutton/spool
# Create the temporary (working) directory for recording import
mkdir -p /mnt/scalelite-recordings/var/bigbluebutton/recording/scalelite
chown 1000:1000 /mnt/scalelite-recordings/var/bigbluebutton/recording/scalelite
chmod 0775 /mnt/scalelite-recordings/var/bigbluebutton/recording/scalelite
# Create the directory for published recordings
mkdir -p /mnt/scalelite-recordings/var/bigbluebutton/published
chown 1000:1000 /mnt/scalelite-recordings/var/bigbluebutton/published
chmod 0775 /mnt/scalelite-recordings/var/bigbluebutton/published
# Create the directory for unpublished recordings
mkdir -p /mnt/scalelite-recordings/var/bigbluebutton/unpublished
chown 1000:1000 /mnt/scalelite-recordings/var/bigbluebutton/unpublished
chmod 0775 /mnt/scalelite-recordings/var/bigbluebutton/unpublished
</code></pre></div></div>
<blockquote>
<p>OHARRA: Teorian hau ez da beharrezkoa, baina baimen arazoak izan ditut spool karpetan, BBB zerbizariek ezin zuten bertan idatzi, eta arazoa konpontzeko hau egin det:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>chmod -Rf 0777 /mnt/scalelite-recordings/var/bigbluebutton/spool
</code></pre></div> </div>
</blockquote>
<p>Honekin SCALELITE zerbitzarian NFS karpeta sortu eta baimen egokiak jarri ditugu. Ondoren BBB zerbitzarietan karpeta hau muntatuko dugu</p>
<h1 id="bbb1-bbb2-eta-bbb3-zerbitzarietan-nfs-karpeta-muntatu-eta-bbb-instalazioa-egin">BBB1, BBB2 eta BBB3 zerbitzarietan NFS karpeta muntatu eta BBB instalazioa egin</h1>
<p>Ondorengo komandoak hiru zerbitzarietan egin behar dira. Hau da zerbitzari bakoitzean egingo duguna:</p>
<ul>
<li>nfs-common paketea instalatu</li>
<li>/mnt/scalelite-recordings karpeta sortu eta bertan muntatu NFS zerbitzariko /mnt/scalelite-recordings karpeta</li>
<li>fstab zerbitzaria konfiguratu karpeta hau zerbitzaria piztu bakoitzean muntatu dadin</li>
<li>BBB instalazioa egin</li>
<li>Lehenago aipatu moduan, 2000 GID duen taldea sortu, eta bertan sartu “bigbluebutton” erabiltzaile lokala</li>
</ul>
<p>Instalazioa egiterakoan, COTURN zerbitzaria zein den esango diogu, eta bere secret zein den ere bai. Zure COTURN zerbitzaria instalatu badezu, <strong><em>secret</em></strong> zein den jakiteko, COTURN zerbitzariko <strong><em>/etc/turnserver.conf</em></strong> fitxategian <strong><em>static-auth-secret</em></strong> aldagaian begiratu.</p>
<p>Ordu erdi inguru beharko da zerbitzari bakoitzean instalazioa burutzeko, aprobetxatu tarte hau kafe bat hartzeko :-)</p>
<p>BBB1 zerbitzarian:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>apt install nfs-common
mkdir /mnt/scalelite-recordings
nano /etc/fstab
scalelite.niredomeinua.eus:/mnt/scalelite-recordings /mnt/scalelite-recordings nfs defaults 0 0
wget -qO- https://ubuntu.bigbluebutton.org/bbb-install.sh | bash -s -- -v xenial-22 -s bbb2.niredomeinua.eus -e nirehelbidea@niredomeinua.eus -c turn.niredomeinua.eus:NIRETURNSEKRETUA
</code></pre></div></div>
<p>NFS baimenentzako 2000 GID taldea sortu eta bigbluebutton erabiltzaile lokala hor sartu</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>groupadd -g 2000 scalelite-spool
usermod -a -G scalelite-spool bigbluebutton
</code></pre></div></div>
<p>BBB2 zerbitzarian:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>apt install nfs-common
mkdir /mnt/scalelite-recordings
nano /etc/fstab
scalelite.niredomeinua.eus:/mnt/scalelite-recordings /mnt/scalelite-recordings nfs defaults 0 0
wget -qO- https://ubuntu.bigbluebutton.org/bbb-install.sh | bash -s -- -v xenial-22 -s bbb2.niredomeinua.eus -e nirehelbidea@niredomeinua.eus -c turn.niredomeinua.eus:NIRETURNSEKRETUA
</code></pre></div></div>
<p>NFS baimenentzako 2000 GID taldea sortu eta bigbluebutton erabiltzaile lokala hor sartu</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>groupadd -g 2000 scalelite-spool
usermod -a -G scalelite-spool bigbluebutton
</code></pre></div></div>
<p>BBB3 zerbitzarian:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>apt install nfs-common
mkdir /mnt/scalelite-recordings
nano /etc/fstab
scalelite.niredomeinua.eus:/mnt/scalelite-recordings /mnt/scalelite-recordings nfs defaults 0 0
wget -qO- https://ubuntu.bigbluebutton.org/bbb-install.sh | bash -s -- -v xenial-22 -s bbb3.niredomeinua.eus -e nirehelbidea@niredomeinua.eus -c turn.niredomeinua.eus:NIRETURNSEKRETUA
</code></pre></div></div>
<p>NFS baimenentzako 2000 GID taldea sortu eta bigbluebutton erabiltzaile lokala hor sartu</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>groupadd -g 2000 scalelite-spool
usermod -a -G scalelite-spool bigbluebutton
</code></pre></div></div>
<hr />
<p>Instalazioa bukatu ondoren, komenigarria da BBB zerbitzari bakoitzaren secret-a atera eta nonbaiten apuntatzea, geroago beharko dugu. Honetarako <strong>bbb-conf –secret</strong> komandoa erabiliko dugu</p>
<p>BBB1 zerbitzarian:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>bbb-conf --secret
URL: https://bbb1.niredomeinua.eus/bigbluebutton/
Secret: BBB1-SEKRETUA
</code></pre></div></div>
<p>BBB2 zerbitzarian:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>bbb-conf --secret
URL: https://bbb2.niredomeinua.eus/bigbluebutton/
Secret: BBB2-SEKRETUA
</code></pre></div></div>
<p>BBB3 zerbitzarian:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>bbb-conf --secret
URL: https://bbb3.niredomeinua.eus/bigbluebutton/
Secret: BBB3-SEKRETUA
</code></pre></div></div>
<hr />
<h1 id="bbb-zerbitzariak-konfiguratu-grabazioak-automatikoki-scalelite-zerbitzarira-kopiatu-daitezen">BBB Zerbitzariak konfiguratu grabazioak automatikoki SCALELITE zerbitzarira kopiatu daitezen</h1>
<p>Berez, BBB bakoitzean egingo diren grabazioak, zerbitzari bakoitzean geratzen dira, baina guk SCALELITE zerbitzarian izan nahi ditugu. Honetarako, <a href="https://github.com/blindsidenetworks/scalelite/blob/master/bigbluebutton/README.md">dokumentazioan azaltzen diren pausoak</a> jarraituko ditugu. BBB zerbitzari bakoitzean hau egin</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cd /usr/local/bigbluebutton/core/scripts/
</code></pre></div></div>
<p>scalelite.yml fitxategia sortu</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>nano scalelite.yml
</code></pre></div></div>
<p>eta barruan ondorengo lerroak kopiatu</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code> # Local directory for temporary storage of working files
work_dir: /var/bigbluebutton/recording/scalelite
# Directory to place recording files for scalelite to import
spool_dir: /mnt/scalelite-recordings/var/bigbluebutton/spool
</code></pre></div></div>
<p>Azkenik <strong>post_publish</strong> karpetara mugitu eta hor <strong>scalelite_post_publish.rb</strong> scripta deskargatu. Script hau arduratuko da BBB zerbitzari bakoitzean grabaketa bat egiten denean NFS karpetara kopiatzea. Honek ez ditu BBB zerbitzarietatik grabaketak kenduko, nahi izanez gero hori ere automatizatu daiteke.</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cd /usr/local/bigbluebutton/core/scripts/post_publish
wget -c https://raw.githubusercontent.com/blindsidenetworks/scalelite/master/bigbluebutton/scalelite_post_publish.rb
</code></pre></div></div>
<h1 id="scalelite-karga-banatzailearen-instalazioa">SCALELITE karga banatzailearen instalazioa</h1>
<p>Orain arte egin dugunarekin, BBB zerbitzariak instalatu ditugu eta NFS karpeta prestatu dugu, baina SCALELITE zerbitzua instalatzea falta zaigu.</p>
<p>Instalazio hau egiteko era ezberdinak daude, <a href="https://github.com/blindsidenetworks/scalelite/">SCALELITEko gunean azaltzen dutena</a> , BigBlueButton-eko gunean ere beste hainbat aukera azaltzen dira <a href="https://docs.bigbluebutton.org/2.2/install.html#ansible">Ansible moduzko tresnekin</a> automatizatzen direnak, baina <a href="https://medium.com/@jesusfederico_39370/scalelite-lazy-deployment-745a7be849f6">nik beste bat azalduko det</a> , niretzat errezena dena.</p>
<p>Instalazioan docker kontainerrak erabiliko direnez, lehenik eta behin docker eta docker-compose instalatuko ditugu SCALELITE zerbitzarian.</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>apt-get update
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
apt-get update
apt-get install docker-ce docker-ce-cli containerd.io
docker -v
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose --version
</code></pre></div></div>
<p>Behin docker instalatu dugunean, SCALELITE instalazioarekin hasiko gara. Artikulu honetan egingo dugun instalazioa, hemen azaltzen dena da: <a href="https://jffederico.medium.com/scalelite-lazy-deployment-745a7be849f6">https://jffederico.medium.com/scalelite-lazy-deployment-745a7be849f6</a></p>
<p>Esan beharra dago <a href="https://github.com/jfederico">egilea</a> BBBko <a href="https://github.com/blindsidenetworks">garapenean inplikatuta dagoen enpresa bateko</a> langilea dela, beraz tresna honen ezagutza handia du.</p>
<p>Berak azaltzen dituen pausoak jarraituko ditugu:</p>
<p>Instalatzailearen errepositorioa gure SCALELITE zerbitzarian klonatu:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cd /root
git clone https://github.com/jfederico/scalelite-run
</code></pre></div></div>
<p>Ondoren scalelite-run karpetan sartu eta <strong>dotenv</strong> fitxategiaren <strong>.env</strong> izeneko fitxategian kopiatu</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cd scalelite-run
cp dotenv .env
</code></pre></div></div>
<p><strong>SECRET_KEY_BASE</strong> eta <strong>LOADBALANCER_SECRET</strong> aldagaietarako pasahitz edo sekretuak sortu behar ditugu, gero .env barruan kopiatzeko.</p>
<p><strong>SECRET_KEY_BASE</strong>: hau lortzeko komando hau exekutatu eta balioa apuntatu.</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>openssl rand -hex 64
</code></pre></div></div>
<p><strong>LOADBALANCER_SECRET</strong>: hau lortzeko komando hau exekutatu eta balioa apuntatu.</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>openssl rand -hex 24
</code></pre></div></div>
<p>Orain .env fitxategia editatu eta honela utzi</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>SECRET_KEY_BASE= GOIANLORTUDUZUNSECRET_KEY_BASE
LOADBALANCER_SECRET= GOIANLORTUDUZUNSLOADBALANCER_SECRET
URL_HOST= scalelite.niredomeinua.eus
NGINX_SSL=true
SCALELITE_RECORDING_DIR=/mnt/scalelite-recordings/var/bigbluebutton
LETSENCRYPT_EMAIL=nirehelbidea@niredomeinua.eus
</code></pre></div></div>
<p>Instalazioaren <a href="https://medium.com/@falahatnejad.work/please-note-that-ce7773103373">ohar honek</a> dioena jarraituz <strong>docker-compose.yml</strong> editatu eta 127.0.0.0 IPa 127.0.0.1 IParekin ordezkatu det.</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>services:
postgres:
image: postgres:11.5-alpine
container_name: postgres
restart: unless-stopped
ports:
# - "127.0.0:5432:5432"
# https://medium.com/@falahatnejad.work/please-note-that-ce7773103373
- "127.0.0.1:5432:5432"
volumes:
- postgres-data:/var/lib/postgresql/data
environment:
- POSTGRES_USER=${POSTGRES_USER:-postgres}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-password}
</code></pre></div></div>
<p>Beste aldaketa bat ere egingo degu. redis zerbitzuaren konfigurazioan <strong><em>restart: on-failure</em></strong> dago konfiguratuta, eta honen arabera akats bat dagoenean bakarrik berrabiaraziko du. Guk zerbitzari osoa nahita berrabiarazten badugu, akats bezala ez da ikusten, beraz zerbitzaria piztu ondoren redis ez litzateke automatikoki abiatuko. Hau konpontzeko, restart: <strong><em>unless-stopped</em></strong> jarriko dugu konfigurazioan.</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code> redis:
image: redis:5.0-alpine
container_name: redis
# restart: on-failure
# Aldekata: bestela ekipoa berrabiarazi ondoren redis ez da martxan jartzen
restart: unless-stopped
ports:
- 127.0.0.1:6379:6379
volumes:
- redis-data:/data
</code></pre></div></div>
<p>Hau egin ondoren docker-compose erabiliz dena geratu eta berriro martxan jartzen dugu</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>docker-compose down
docker-compose up -d
</code></pre></div></div>
<p>SCALELITE zerbitzarian HTTPS konfiguratu dugu letsencrypt erabiliz.</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>./init-letsencrypt.sh
</code></pre></div></div>
<p>Orain zerbitzuak martxan jarriko ditugu</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>docker-compose up -d
</code></pre></div></div>
<p>Eta datubasea hasieratuko dugu</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>docker exec -i scalelite-api bundle exec rake db:setup
</code></pre></div></div>
<p>Ikus dezagun nola dagoen SCALELITE zerbitzaria</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>docker exec -i scalelite-api bundle exec rake status
</code></pre></div></div>
<p>Karga banatzaileari oraindik ez diogu zerbitzaririk gehitu. Bere menpean dituen zerbitzariak komando honekin ikusiko genituzke</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>docker exec -i scalelite-api bundle exec rake servers
</code></pre></div></div>
<h1 id="scaleliten-menpe-egongo-diren-bbb-zerbitzariak-konfiguratu">SCALELITEn menpe egongo diren BBB zerbitzariak konfiguratu</h1>
<p>Orain arte egin dugunarekin, BBB zerbitzariak eta SCALELITE karga banatzailea konfiguratu ditugu, baina oraindik ez dute elkarren berririk, ez daude elkarrekin lanean. Oraintxe konponduko dugu.</p>
<p>SCALELITEri bere menpean dauden BBB zerbitzariak zeintzuk diren esan behar zaio. Zerbitzari bakoitza konfiguratzen dugunean, bere SECRET-a erabili beharko dugu. Hau BBB zerbitzari bakoitza instalatu dugunean apuntatu dugun datua da.</p>
<p>SCALELITEko konfigurazioan gure BBB zerbitzariak gehituko ditugu:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>docker exec -i scalelite-api bundle exec rake servers:add[https://bbb1.niredomeinua.eusbigbluebutton/api/,BBB1-SEKRETUA]
OK
id: 5646943a-e70c-4b5d-8010-89bcf436ed05
docker exec -i scalelite-api bundle exec rake servers:add[https://bbb2.niredomeinua.eusbigbluebutton/api/,BBB2-SEKRETUA]
OK
id: f363c7f4-abf6-4bd5-kc22-9ec9033c6e73
docker exec -i scalelite-api bundle exec rake servers:add[https://bbb3.niredomeinua.eusbigbluebutton/api/,BBB3-SEKRETUA]
OK
id: fa01c243-1h74-81b5-9su9-h41614d7h794
</code></pre></div></div>
<p>Zerbitzari bakoitza gehitu ondoren ID bat bueltatu digu. ID hori hurrengo komandoan erabiliko dugu zerbitzaria gaitzeko, datu hauek ere nonbaiten apuntatu.</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>docker exec -i scalelite-api bundle exec rake servers:enable[5646943a-e70c-4b5d-8010-89bcf436ed05]
docker exec -i scalelite-api bundle exec rake servers:enable[f363c7f4-abf6-4bd5-kc22-9ec9033c6e73]
docker exec -i scalelite-api bundle exec rake servers:enable[fa01c243-1h74-81b5-9su9-h41614d7h794]
</code></pre></div></div>
<p>SCALELITE komandoz kudeatzen da, hemen adibide batzuk:</p>
<p>Honekin komandoen laguntza ateratzen da:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>docker exec -i scalelite-api bundle exec rake --tasks
</code></pre></div></div>
<p>Zerbitzarien egoera ikuseko:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>docker exec -i scalelite-api bundle exec rake status
</code></pre></div></div>
<p>Zerbitzariak zerrendatzeko:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>docker exec -i scalelite-api bundle exec rake servers
</code></pre></div></div>
<p>Zerbitzari bat gehitzeko:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>docker exec -i scalelite-api bundle exec rake servers:add[https://bbb1.example.com/bigbluebutton/api/,bbb-secret]
</code></pre></div></div>
<p>Zerbitzari bat gaitzeko (bere IDa erabiliz)</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>docker exec -i scalelite-api bundle exec rake servers:enable[27243e91–35a3–42ee-80a7-bd5980b0728f]
</code></pre></div></div>
<p>Zerbitzari bat desgaitzeko</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>docker exec -i scalelite-api bundle exec rake servers:disable[27243e91–35a3–42ee-80a7-bd5980b0728f]
</code></pre></div></div>
<p>Erabilgarri dauden zerbitzarietatik atzerako</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>docker exec -i scalelite-api bundle exec rake servers:panic[27243e91–35a3–42ee-80a7-bd5980b0728f]
</code></pre></div></div>
<p>Zerbitzaria SCALELITEtik kentzeko</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>docker exec -i scalelite-api bundle exec rake servers:remove[27243e91–35a3–42ee-80a7-bd5980b0728f]
</code></pre></div></div>
<p>Komando guztiak hemen aurkitu ditzakezu: <a href="https://github.com/blindsidenetworks/scalelite#administration">https://github.com/blindsidenetworks/scalelite#administration</a></p>
<h1 id="moodle">Moodle</h1>
<p>MOODLE plugina instalatuta badugu, beste edozein jarduera moduan erabili ahal izango ditugu BBB konferentziak, beraz oso interesgarri eta gomendagarria da gure MOODLE zerbitzarian BBB plugina instalatu eta konfiguratzea.</p>
<p>MOODLEk SCALELITEren datuak beharko ditu</p>
<ul>
<li>URL: https://scalelite.niredomeinua.eus/bigbluebutton/api/</li>
<li>SECRET: GOIANLORTUDUZUNSLOADBALANCER_SECRET</li>
</ul>
<p>Gogoan izan, SECRET hau <strong>.env</strong> fitxategiko LOADBALANCER_SECRET aldagaian aurkituko dezu.</p>
<h1 id="greenlight-zerbitzaria">Greenlight zerbitzaria</h1>
<p>Demagun BBB erabili nahi duzula baina Moodlen beharrik izan gabe, hau da Jitsi erabiltzen den moduan erabili nahi duzula: Gela bat sortu, esteka partekatu eta listo. Hau posible al da ? Bai posible da.</p>
<p>Horretarako Greenligth interfazea erabili ahal izango dugu. Ikastetxean ikasleekin Moodle bidez erabili dezakezu, eta bestelako online bilerak egiteko Greenlight bidez.</p>
<p>Hemen azalduko degu nola instalatu eta konfiguratuko dugun Greenlight gure SCALELITE zerbitzua erabiltzeko. Zuk BBB zerbitzari bakar batekin lanean jarri nahi badezu, irakurri beste artikulu hau.</p>
<p>Bi aukera ezberdin:</p>
<ul>
<li>Gure instalazioan 3 BBB zerbitzari dugunez, bat aukeratu eta bertan instalatu Greenlight zerbitzaria, adibidez bbb1.niredomeinua.eus zerbitzarian. Alde ona, zerbitzari bat gutxiago instalatu behar dela. Alde txarra, bbb1.niredomeinua.eus ezin izango duzula itzali mantenu lan bat egiteko, zure erabiltzaileek hori erabiltzen dutelako beraien <strong>gelak</strong> sortu eta erabiltzeko.</li>
<li>Beste zerbitzari bat instalatzea zerbitzu hau emateko. Zerbitzari txiki batekin nahikoa litzateke, ez baitu lan handirik egingo.</li>
</ul>
<h2 id="docker-instalazioa">Docker instalazioa</h2>
<p>Docker bidez instalatzen denez, aukeratu dugun zerbitzarian docker instalatu behar dugu:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>apt-get update
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
apt-get update
apt-get install docker-ce docker-ce-cli containerd.io
docker -v
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose --version
</code></pre></div></div>
<p>Orain greenlight karpeta sortuko dugu eta karpeta horretan <strong>.env</strong> fitxategia sortuko dugu docker komando hau erabiliz</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>mkdir ~/greenlight && cd ~/greenlight
docker run --rm bigbluebutton/greenlight:v2 cat ./sample.env > .env
</code></pre></div></div>
<h2 id="greenlight-instalazioa">Greenlight instalazioa</h2>
<p>Teorian badirudi ez duela BBBkin dependentziarik eta <a href="https://docs.bigbluebutton.org/greenlight/gl-customize.html#customizing-greenlight">bera bakarrik instalatu daitekeela</a> , baina horrela instalatzen saiatzen bazara, NGINX konfigurazioa jartzerakoan ikusten da BBB instalazioarekin dependentzia duela. Hau dela eta, nik erabaki det BBB instalazioan erabiltzen den scritp berbera erabiltzea Greenlight komando horrekin instalatzeko.</p>
<p>BBB hori gero ez det ezertarako erabiliko, beraz tontakeria dirudi BBB bat instalatzea justu Greenlight instalatzeko, baina era azkarrena iruditu zait. Azken finean, BBB instalatzeko erabiltzen dugun aginduari <strong>-g</strong> parametroa gehitzea da egin behar den gauza bakarra. Beste hiru BBBak instalatzeko erabili dugun komando berbera erabiliko dugu, gaina -g parametroa gehituz. Zerbitzari honen izena <strong>bbb.niredomeinua.eus</strong> izango da.</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>wget -qO- https://ubuntu.bigbluebutton.org/bbb-install.sh | bash -s -- -v xenial-22 -s bbb.niredomeinua.eus **-g** -e nirehelbidea@niredomeinua.eus -c turn.niredomeinua.eus:NIRETURNSEKRETUA
</code></pre></div></div>
<p><strong>.env</strong> fitxategian erabiliko ditugun <em>sekretua</em> sortuko dugu docker komando honekin</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>docker run --rm bigbluebutton/greenlight:v2 bundle exec rake secret
</code></pre></div></div>
<p>eta emaitza <strong>.env</strong> fitxategiko <strong>SECRET_KEY_BASE</strong> parametroan idatziko dugu.</p>
<p>BIGBLUEBUTTON_ENDPOINT: Gure SCALELITEko URLa, bukaeran **/bigbluebutton/api/ ** jarrita</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>BIGBLUEBUTTON_ENDPOINT=https://scalelite.niredomeinua.eus/bigbluebutton/api/
</code></pre></div></div>
<p>BIGBLUEBUTTON_SECRET: SCALELITEko LOADBALANCER_SECRET parametroan dugun balioa</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>BIGBLUEBUTTON_SECRET=GOIANLORTUDUZUNSLOADBALANCER_SECRET
</code></pre></div></div>
<p>SAFE_HOSTS: bere domeinu izena</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>SAFE_HOSTS=bbb.niredomeinua.eus
</code></pre></div></div>
<p>Zure ikastetxe edo erakundeko erabilitzaileek sistema erabili dezaten, bi aukera dituzu. Banaka bere datu basean sartu, edo zure erakundeko LDAP/AD-ko erabilitzaileak erabili. AD-arekin lotura egiteko, parametro hauek bete. Datu hauek adibiderako dira, zuk zure datu propioekin egokitu.</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>LDAP_SERVER=ZURE-AD-IP-HELBIDEA
LDAP_PORT=389
LDAP_METHOD=plain
LDAP_UID=sAMAccountName
LDAP_BASE=ou=Users,dc=niredomeinua,dc=eus
LDAP_BIND_DN=cn=bind-erabiltzailea,cn=Users,dc=niredomeinua,dc=eus
LDAP_PASSWORD=bind-pasahitza
LDAP_ROLE_FIELD=ou
</code></pre></div></div>
<p>Gerenlight-ek oharrak mail bidez bidaltzea nahi baduzu, parametro hauek egokitu</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>ALLOW_MAIL_NOTIFICATIONS=true
SMTP_SERVER=posta.niredomeinua.eus
SMTP_PORT=25
SMTP_DOMAIN=niredomeinua.eus
SMTP_USERNAME=izena@niredomeinua.eus
SMTP_PASSWORD=izena-pasahitza
SMTP_SENDER=izena@niredomeinua.eus
SMTP_TEST_RECIPIENT=izena@niredomeinua.eus
</code></pre></div></div>
<p>Edozeinek (zure erakundekoa izan ala ez) sortu dezake erabiltzaile bat zure Greenlight zerbitzarian, zure esku egongo da hau libre uztea edo ez. Hurrengo lerroarekin lortzen duguna zera da, Greenlight administrariak onartu arte, erabiltzaile berriak blokeatuta geratzea. Hau da, inork ezin izango du zure Greenlight zerbitzaria erabili zuk eskaera onartzen ez badiozu.</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>DEFAULT_REGISTRATION=approval
</code></pre></div></div>
<p>Aldaketa guzti hauek egin ondoren, <strong>.env</strong> fitxategian akatsik ez dagoela ziurtatzeko, ondorengo komando hau exekutatuko degu</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>docker run --rm --env-file .env bigbluebutton/greenlight:v2 bundle exec rake conf:check
</code></pre></div></div>
<p>Akatsik ez badago, nginx-eko konfigurazioa sortuko dugu komando honen bitartez</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>docker run --rm bigbluebutton/greenlight:v2 cat ./greenlight.nginx | sudo tee /etc/bigbluebutton/nginx/greenlight.nginx
</code></pre></div></div>
<p>Konfigurazioa bere lekuan jarri denez, nginx berrabiaraziko dugu</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>systemctl restart nginx
</code></pre></div></div>
<p><strong>docker-compose.yml</strong> fitxategia komando baten bidez sortuko dugu. Horretarako greenlight karpetan sartu</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cd ~/greenlight
</code></pre></div></div>
<p>eta komando hau exekutatuko dugu</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>docker run --rm bigbluebutton/greenlight:v2 cat ./docker-compose.yml > docker-compose.yml
</code></pre></div></div>
<p>Greenlight-ek erabiltzen duen PostgreSQL pasahitza sortu eta <strong>.env</strong> fitxategian jartzeko komando hau erabiliko dugu</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>export pass=$(openssl rand -hex 8); sed -i 's/POSTGRES_PASSWORD=password/POSTGRES_PASSWORD='$pass'/g' docker-compose.yml;sed -i 's/DB_PASSWORD=password/DB_PASSWORD='$pass'/g' .env
</code></pre></div></div>
<p>Zerbitzuak arrankatuko ditugu</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>docker-compose up -d
</code></pre></div></div>
<p>Administratzaile rola izango duen erabiltzailea sortuko dugu. Horretarako komando hau erabiliko dugu, baina <em>docker-compose up</em> egin eta gero, itxaron segundu batzuk, docker kontainerra sortzeko denbora izan dezan.</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>docker exec greenlight-v2 bundle exec rake user:create["admin-erabiltzailea","nirehelbidea@niredomeinua.eus","ADMIN-ERABILTZAILEAREN-PASAHITZA","admin"]
</code></pre></div></div>
<p>Honekin Greenlight martxan izango genuke. Bere interfazean sartzeko, https://bbb.niredomeinua.eus<strong>/b</strong> helbidean sartu behar gara. Fijatu ondo, bukaeran dagoen <strong>/b</strong> horrekin, ez da akats bat.</p>
<h2 id="bbb-bakar-batetik-scalelitera-migratzen-ari-bagara-greenlight-datu-basea-eta-grabazioak-nola-inportatu">BBB bakar batetik SCALELITEra migratzen ari bagara, Greenlight datu basea eta grabazioak nola inportatu.</h2>
<p>Aurrez ez badezu BBB instalazio isolatu bat produkzioan izan, salto egin hurrengo atalera. Aldiz, SCALELITEra migratu nahi baduzu lehendik erabili izan duzun zerbitzari bakar bateko BBB instalazio bat, eta instalazio horretan Greenlight bidez egindako grabazioak instalazio berrian izan nahi badituzu, hau interesatuko zaizu.</p>
<p>Aurreko pausoan Greenlight huts bat sortu degu, eta hau nahikoa izan daiteke instalazio berri bat denean, baina gure kasuan aurrez ere BBB erabili izan dugu eta Greenlight bidez erabiltzaileek sistema erabili dute. Datu base horretan berreskuratu nahi dugun informazio asko dago, beraz guk orain Greenlight instalazio berriarekin sortu dugun datubase hutsa lehendik dugunarekin ordezkatuko degu.</p>
<p><a href="https://github.com/bigbluebutton/greenlight/issues/1567">Hemen diotenez</a> , datu basea kopiatzea ez da nahikoa, greenlight karpeta osoa kopiatu behar da. Hortaz, jatorrizko Greenlight-era joan eta greenlight karpeta osoa konprimatuko dugu tar komandoa erabiliz. Posible bada, hau egin aurretik hobe greenligh docker kontainerra geratzea.</p>
<p><strong>BBB zaharrean (SCALELITEkin ordeztu nahi dugula)</strong></p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>root@bigbluebutton:~/greenlight# docker-compose down
cd /root
tar -cvpf greenlight.tar greenlight
</code></pre></div></div>
<p><strong>Greenlight berria instalatu dugun zerbitzarian</strong></p>
<p>Greenlight zerbitzua geratu</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cd greenlight/
docker-compose down
</code></pre></div></div>
<p>Badaezpada orain arte genuen instalazioari izena aldatu</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cd /root
mv greenlight greenlight-jatorrizkoa
</code></pre></div></div>
<p>BBB zaharrean konprimitu dugun karpeta ekarri eta deskonprimatu</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cd /root
scp root@bbb-zaharra:root/greenlight.tar .
tar -xvf greenlight.tar
</code></pre></div></div>
<p>Karpetan sartu eta <strong>.env</strong> fitxategian SCALELITEko balio egokiak jarri (SECRET_KEY_BASE, BIGBLUEBUTTON_ENDPOINT, BIGBLUEBUTTON_SECRET). Gogoan izan balio hauek <strong>/root/greenlight-jatorrizkoa/.env</strong> barruan ditugula.</p>
<p>Arrankatu greenlight</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cd /root/greenlight
docker-compose up -d
</code></pre></div></div>
<p>eta segundu batzuk zai egon ondoren, saiatu web bidez sartzen: <strong>https://bbb.niredomeinua.eus/b</strong></p>
<p>Ikusiko dugu Greenlight zaharrean zeuden gelak, erabilitzaileak eta beste informazioa, Greenlight berrian ere badugula. Zer falta zaigu ekartzea ? Grabazioak.</p>
<p>Grabazio zaharrak ez dauzkagu SCALELITE zerbitzarian, beraz <a href="https://github.com/blindsidenetworks/scalelite/tree/master/bigbluebutton">dokumentazioan dioten moduan</a> , BBB zerbitzari zaharreko grabazioak SCALELITE zerbitzarira ekarri behar dira. Hau da BBB zaharrean egin beharko duguna:</p>
<h3 id="nfs-zerbitzua-instalatu-eta-konfiguratu">NFS zerbitzua instalatu eta konfiguratu</h3>
<p>Lehenik eta behin SCALELITE zerbitzarian instalatu dugun NFS zerbitzuko <strong>/etc/exportfs</strong> editatu eta lerroaren bukaeran gehitu BBB zaharren IP helbidea eta konfigurazioa. Demagun BBB zaharraren IP helbidea hau dela 192.168.1.5</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>/mnt/scalelite-recordings 192.168.1.11(rw,all_squash,sync,no_subtree_check) 192.168.1.12(rw,all_squash,sync,no_subtree_check) 192.168.1.13(rw,all_squash,sync,no_subtree_check) **192.168.1.5(rw,all_squash,sync,no_subtree_check)**
</code></pre></div></div>
<p>Eta zerbitzua berrabiarazi</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>/etc/init.d/nfs-kernel-server restart
</code></pre></div></div>
<p>Orain BBB zaharrean nfs konfiguratu</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>apt install nfs-common
mkdir /mnt/scalelite-recordings
nano /etc/fstab
scalelite.niredomeinua.eus:/mnt/scalelite-recordings /mnt/scalelite-recordings nfs defaults 0 0
</code></pre></div></div>
<p>BBB zaharretik grabazio zaharrak transferitzeko egingo duguna zera da, BBB zaharrean /mnt/scalelite-recordings karpeta sortu, besteetan egin degun bezela, eta scalelite.yml eta scalelite_post_publish.rb bere lekuan jarri, besteetan egin degun bezela.</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cd /usr/local/bigbluebutton/core/scripts/
nano scalelite.yml
</code></pre></div></div>
<p>Eta barruan hau kopiatu</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>work_dir: /var/bigbluebutton/recording/scalelite
spool_dir: /mnt/scalelite-recordings/var/bigbluebutton/spool
</code></pre></div></div>
<p>Ondoren</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cd /usr/local/bigbluebutton/core/scripts/post_publish
wget -c https://raw.githubusercontent.com/blindsidenetworks/scalelite/master/bigbluebutton/scalelite_post_publish.rb
chmod +x /usr/local/bigbluebutton/core/scripts/post_publish/scalelite_post_publish.rb
</code></pre></div></div>
<p>Ziurtatu <em>/var/bigbluebutton/recording/scalelite</em> karpeta existitzen dela, eta bestela sortu eta baimen egokiak jarri <em>bigbluebutton.bigbluebutton</em> erabiltzaileari <em>chmod</em> batekin.</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>ls -l /var/bigbluebutton/recording
total 88
drwxr-xr-x 3 bigbluebutton bigbluebutton 4096 mar 15 2020 process
drwxr-xr-x 3 bigbluebutton bigbluebutton 4096 mar 14 2020 publish
drwxr-xr-x 190 bigbluebutton bigbluebutton 69632 nov 7 06:25 raw
drwxr-xr-x 2 bigbluebutton bigbluebutton 4096 nov 6 21:03 scalelite
drwxr-xr-x 8 bigbluebutton bigbluebutton 4096 mar 15 2020 status
</code></pre></div></div>
<p>Beste BBB zerbitzarietan honekin lortzen deguna zera da, grabazio berriak sortzen direnean, automatikoki spool karpetara mugitu eta transferitzea, eta gero scalelite zerbitzaria bera arduratzen da DBa eguneratzen. Gure kasuan ez dira grabazio berriak, lehendik daudenak baizik, beraz nolabait <strong><em>agindu</em></strong> behar zaio lehenik daudenak transferitu behar dituela.</p>
<p>Hau egin ahal izateko <strong><em>scalelite_batch_import.sh</em></strong> scripta exekutatuko dugu, baina lehenengo, deskargatu egin behar dugu</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cd /usr/local/bigbluebutton/core/scripts
wget -c https://raw.githubusercontent.com/blindsidenetworks/scalelite/master/bigbluebutton/scalelite_batch_import.sh
chmod +x scalelite_batch_import.sh chmod +x ./post_publish/scalelite_post_publish.rb
</code></pre></div></div>
<p>Orain inportazioa exekutatu
./scalelite_batch_import.sh</p>
<p>Honekin orain arteko grabazioak transferitu dira, eta Scaleliteko datubasean behar ziren erregistroak sortu dira, beraz Moodle eta Greenligh berritik ikusgai egongo dira.</p>
<h1 id="monitorizazioa-graphana-erabiliz">Monitorizazioa Graphana erabiliz</h1>
<p>Orain arte ikusi dugunarekin, gure SCALELITE instalazioa martxan dugu. Posible da beraz, Moodle edo Greenlight interfazeetik online bilerak sortu eta erabiltzea. SCALELITEk bere atzean dauden BBB zerbitzarien karga ikusi, eta bilera berriak karga gutxien duen BBB zerbitzarian sortuko ditu.</p>
<p>Honelako instalazioak monitorizatzea oso interesgarria da, eta horrearako Grafana nola erabili dezakegun ikusiko dugu. Hau egin ondoren, web panel batetik begirada batekin gure zerbitzarien karga nolakoa den ikusi ahal izango dugu.</p>
<p><img src="https://bigbluebutton-exporter.greenstatic.dev/assets/img_grafana_dashboard_all_servers.png" alt="Grafana bidez gure BBB zerbitzarien karga monitorizatu" title="Grafana bidez gure BBB zerbitzarien karga monitorizatu" /></p>
<p>Instalazioa <a href="https://bigbluebutton-exporter.greenstatic.dev/">hemen diotena jarraituz</a> egingo degu.</p>
<ul>
<li>BBB nodo bakoitzean <a href="https://bigbluebutton-exporter.greenstatic.dev/installation/bigbluebutton_exporter/">BigBlueButton Exporter</a> eta <a href="https://bigbluebutton-exporter.greenstatic.dev/installation/node_exporter/">Node_exporter</a> instalatuko ditugu</li>
<li>Grafikak ikusiko ditugun zerbitzarian (gure adibidean https://bbb.niredomeinua.eus), <a href="All-In-One Monitoring Stack">All-In-One Monitoring Stack</a> instalatuko dugu.</li>
</ul>
<h2 id="bbb-exporter-bbb-nodo-bakoitzean">BBB-EXPORTER (BBB nodo bakoitzean)</h2>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>mkdir ~/bbb-exporter
cd bbb-exporter/
wget -c https://raw.githubusercontent.com/greenstatic/bigbluebutton-exporter/master/extras/docker-compose.exporter.yaml
mv docker-compose.exporter.yaml docker-compose.yaml
</code></pre></div></div>
<p>Atera bbb nodoaren secret-a</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>bbb-conf --secret
</code></pre></div></div>
<p>sortu <strong>secrets.env</strong> fitxategia eta hor sartu balioa <strong>API_SECRET</strong> aldagaian</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>nano ~/bbb-exporter/secrets.env
API_BASE_URL=https://bbb1.niredomeinua.eus/bigbluebutton/api/
API_SECRET=BBB1-SEKRETUA
</code></pre></div></div>
<p>Eta orain igo zerbitzua</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>docker-compose up -d
</code></pre></div></div>
<p><em>htpasswd</em> komandoa erabili ahal izateko <em>apache2-utils</em> instalatu</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>apt install apache2-utils
</code></pre></div></div>
<p>Erabiltzaile izen bat asmatuko dugu eta pasahitza ezarriko diogu. Pasahitz hau ondo apuntatu, laister beharko dugu.</p>
<p>Oharra: BBB nodo guztietan pasahitz berbera jarri. Adibiderako, pasahitz hau jarri diot: <strong>Metrikak-Pasahitza</strong></p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>htpasswd -c /etc/nginx/.htpasswd metrikak
</code></pre></div></div>
<p>NGINX-en gehituko dugun konfigurazioa <strong>/etc/bigbluebutton/nginx/monitoring.nginx</strong> fitxategian sortuko dugu eta ondoren dauden lerroak bertan kopiatu</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>nano /etc/bigbluebutton/nginx/monitoring.nginx
# BigBlueButton Exporter (metrics)
location /metrics/ {
auth_basic "BigBlueButton Exporter";
auth_basic_user_file /etc/nginx/.htpasswd;
proxy_pass http://127.0.0.1:9688/;
include proxy_params;
}
</code></pre></div></div>
<p>NGINX berrabiarazi aurretik testatu konfigurazioa ondo dagoela</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>nginx -t
</code></pre></div></div>
<p>eta dena ondo joan bada, berreabiarazi:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>sudo systemctl reload nginx
</code></pre></div></div>
<p>Metrikak hemen publikatzen ari da Prometeus formatuan: https://bbb1.niredomeinua.eus/metrics/</p>
<h2 id="node_exporter-bbb-nodo-bakoitzean">NODE_EXPORTER (BBB nodo bakoitzean)</h2>
<p>Orain BBB nodo bakoitzean <a href="https://bigbluebutton-exporter.greenstatic.dev/installation/node_exporter/#step-by-step-guide">hau instalatuko dugu</a></p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>git clone https://github.com/greenstatic/bigbluebutton-exporter.git
cp -r bigbluebutton-exporter/extras/node_exporter ~/
cd node_exporter/
docker-compose up -d
</code></pre></div></div>
<p>Orain monitoring erabiltzailea sortu eta berarentzat pasahitza sortuko dugu</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>htpasswd -c /etc/nginx/.htpasswd monitoring
</code></pre></div></div>
<p>Oharra: BBB nodo guztietan pasahitz berbera jarri. Adibiderako, pasahitz hau jarri diot: <strong>Metrikak-Pasahitza</strong></p>
<p>Orain <em>/etc/nginx/sites-available/bigbluebutton</em> editatu eta azken <strong>location {…}</strong> ondoren, hau kopiatu</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code># node_exporter metrics
location /node_exporter/ {
auth_basic "node_exporter";
auth_basic_user_file /etc/nginx/.htpasswd;
proxy_pass http://127.0.0.1:9100/;
include proxy_params;
}
</code></pre></div></div>
<h2 id="grafikak-publikatuko-dituen-zerbitzarian-adibidean-bbbniredomeinuaeus">Grafikak publikatuko dituen zerbitzarian (adibidean bbb.niredomeinua.eus)</h2>
<p>Zerbitzari honetan <a href="https://bigbluebutton-exporter.greenstatic.dev/installation/all_in_one_monitoring_stack/">All-In-One Monitoring Stack</a> instalazioa egingo degu.</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>mkdir ~/bbb-monitoring
cd bbb-monitoring/
wget -c https://raw.githubusercontent.com/greenstatic/bigbluebutton-exporter/master/extras/all_in_one_monitoring/bbb_exporter_secrets.env
wget -c https://raw.githubusercontent.com/greenstatic/bigbluebutton-exporter/master/extras/all_in_one_monitoring/docker-compose.yaml
wget -c https://raw.githubusercontent.com/greenstatic/bigbluebutton-exporter/master/extras/all_in_one_monitoring/prometheus.yaml
</code></pre></div></div>
<p>example.com erreferentziak aldatu bi fitxategi hauetan:</p>
<ul>
<li>bbb_exporter_secrets.env: API_BASE_URL=https://bbb1.niredomeinua.eus/bigbluebutton/api/</li>
<li>docker-compose.yaml: GF_SERVER_ROOT_URL: “https://bbb.niredomeinua.eus/monitoring”</li>
</ul>
<p>prometheus.yaml fitxategia editatu, eta <strong>job_name:’bbb’</strong> eta <strong>job_name: ‘bbb_node_exporter’</strong> ataletako targets parametroan gure BBB zerbitzari guztiak gehitu</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>global:
scrape_interval: 15s
evaluation_interval: 15s
scrape_timeout: 15s
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
- job_name: 'bbb'
scrape_interval: 5s
scheme: https
basic_auth:
username: "metrikak"
password: "Metrikak-Pasahitza"
static_configs:
- targets: ['bbb1.niredomeinua.eus','bbb2.niredomeinua.eus','bbb3.niredomeinua.eus']
- job_name: 'bbb_node_exporter'
metrics_path: '/node_exporter/metrics'
params:
format: [prometheus]
honor_labels: true
scheme: https
basic_auth:
username: "metrikak"
password: "Metrikak-Pasahitza"
static_configs:
- targets: ['bbb1.niredomeinua.eus','bbb2.niredomeinua.eus','bbb3.niredomeinua.eus']
</code></pre></div></div>
<p>Zerbitzuak arrankatu</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cd ~/bbb-monitoring
sudo docker-compose up -d
</code></pre></div></div>
<p>NGINX-en gehituko dugun konfigurazioa sortu eta blokea kopiatu</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>nano /etc/bigbluebutton/nginx/monitoring.nginx
# BigBlueButton monitoring
location /monitoring/ {
proxy_pass http://127.0.0.1:3001/;
include proxy_params;
}
</code></pre></div></div>
<p>Orain Nginx berrabiaraziko dugu</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>/etc/init.d/nginx restart
</code></pre></div></div>
<p>Eta grafanako interfazean sartuko gara. Horretarako https://bbb.niredomeinua.eus/monitoring/login helbidean sartu. Eskatuko digun erabiltzailea eta pasahitza, biak <strong>admin</strong> dira (esan beharrik ez dago, aldatu eta jarri beste bat seguruagoa)</p>
<p>Orain Grafana konfiguratuko dugu gure zerbitzarien datuak erakutsi ditzan. Honetarako</p>
<ul>
<li>Gehitu Prometeus “data source” bat: <strong>Add Data Source –> Prometeus –> http://localhost:9090</strong></li>
<li>Ezkerreko menuan dagoen “+” ikonoaren gainean klikatu, eta <strong>import</strong> aukeratu.</li>
<li>“Import via panel JSON” testu kutxan kopiatu <a href="https://raw.githubusercontent.com/greenstatic/bigbluebutton-exporter/master/extras/dashboards/server_instance_node_exporter.json">helbide honetan</a> aurkituko dugun JSON kodea.</li>
<li>Berriro ere ezkerreko menuan dagoen “+” ikonoaren gainean klikatu, eta <strong>import</strong> aukeratu.</li>
<li>“Import via panel JSON” testu kutxan kopiatu <a href="https://raw.githubusercontent.com/greenstatic/bigbluebutton-exporter/master/extras/dashboards/all_servers.json">beste helbide honetan</a> aurkituko dugun JSON kodea.</li>
</ul>
<p>Listo ! Egin dugunarekin gure BBB zerbitzarien karga monitorizatu dezakegu panel txukun eta itxuroso batetik.</p>
<h1 id="bbb-nodoetan-konfigurazio-pertsonalizatuak">BBB nodoetan konfigurazio pertsonalizatuak</h1>
<h2 id="diskoa-sarriago-garbitu">Diskoa sarriago garbitu</h2>
<p>Hau ez da beharrezkoa, baina bai gomendagarria.</p>
<p>Behar ez diren tarteko fitxategien garbiketa sarriago egin dezan, editatu <strong>/etc/cron.daily/bigbluebutton</strong> eta parametro hauek aldatu</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>#history=5
history=2
#unrecorded_days=14
unrecorded_days=3
#published_days=14
published_days=3
#log_history=28
log_history=3
</code></pre></div></div>
<h2 id="bideoaren-kalitatea-egokitu">Bideoaren kalitatea egokitu</h2>
<p>Bideo kalitatearen arabera banda zabalera gehiago edo gutxiago behar da. Ez bakarrik gure zerbitzarian, baita ere etxetik konferentzia jarraitzen ari diren ikasleen konexioan ere.</p>
<p>Etxean konexio arazoak dituen ikasleak, edo banda zabaleko konexiorik ez eta 3G/4G konexioa erabiltzen ari denak, eskertuko du irakaslearen aurpegia kalitate gutxiagorekin heltzea.</p>
<p>Hau nola egiten den <a href="https://docs.bigbluebutton.org/2.2/customize.html#reduce-bandwidth-from-webcams">hemen dago</a> dokumentatuta.</p>
<p>/usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml fitxategia editatu eta <strong>cameraProfiles</strong> atalean <strong>low</strong> profila 50eko bitrate-arekin utziko dugu, eta <strong>medium</strong> profila 100eko bitrate-arekin</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code> - id: low
name: Low
default: false
bitrate: 50
- id: medium
name: Medium
default: true
bitrate: 100
</code></pre></div></div>
<h2 id="konferentzian-sartzerakoan-parte-hartzaileen-mikroa-ixilarazi-mute">Konferentzian sartzerakoan, parte hartzaileen mikroa ixilarazi (mute)</h2>
<p>Hau praktikoa da, horrela zarata asko kentzen da. Edonola ere, parte-hartzaileek edozein momentutan aktibatu ahal izango dute beraien mikrofonoa (irakasle/moderatzaileak ez baditu mikroak debekatu, noski)</p>
<p>editatu <strong>/usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties</strong> fitxategia eta <strong>muteOnStart</strong> parametroa aldatu</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>muteOnStart=true
</code></pre></div></div>
<h2 id="defektuz-ikasleek-irakaslearen-kamara-bakarrik-ikus-dezaten">Defektuz, ikasleek irakaslearen kamara <strong>BAKARRIK</strong> ikus dezaten</h2>
<p>Ezagutzen ditugun beste konferentzia sistemetan, parte-hartzaile guztiek kamara aktibatzen dutenean, parte-hartzaile bakoitzak beste guztien bideo seinalea jasotzen du. Ondorioz:</p>
<ul>
<li>Zerbitzariko lana asko handitzen da. 20 pertsona baleude, sistemak 20*19 bideo transmisio egin beharko lituzke, eta honek zerbitzariari baliabide asko kenduko lizkioke, agian alferrik.</li>
<li>Parte-hartzaile bakoitzak, beste guztien bideo seinaleak (19) jaso beharko lituzke, eta etxean konexio makala dutenentzako, honek arazo bat suposatzen du, agian alferrik.</li>
</ul>
<p>BBBn konfigurazio lehenetsiak portaera berbera du, baina konferentzia baten moderatzaile edo irakaslek hau aldatu dezake. Parametro hau aldatzen badu, hau da gertatuko dena:</p>
<ul>
<li>Irakasleak ikasle guztien kameren seinalea ikusiko du</li>
<li>Ikasle bakoitzak, irakaslearen kameraren seinalea bakarrik ikusiko du, nahiz eta entzun, denen ahotsak entzungo dituen.</li>
<li>Banda zabaleraren erabilera asko jeitsiko da, bai zerbitzarian, eta baita ere parte-hartzaileen etxeetan.</li>
</ul>
<p><img src="https://atxukale.eus/assets/images/bbb-ikusi-beste-ikusleen-kamerak.png" alt="beste ikusleen kamerak" title="beste ikusleen kamerak" /></p>
<p>Hau oso praktikoa da irakaskuntza ingurunean, baina irakaslea parametro hau aldatzeaz gororatu behar da, eta hau ez da beti honela gertatzen. Posible al da balio hau aktibatuta geratzea balio lehenetsi moduan saio guztietarako ? Bai, ikus dezagun nola konfiguratzen den.</p>
<p><a href="https://groups.google.com/g/bigbluebutton-setup/c/2k6Likm1Mms?pli=1">Hau hemen</a> dago dokumentatuta</p>
<p>Editatu <strong>/usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties</strong> fitxategia eta <strong>webcamsOnlyForModerator</strong> parametroa aldatu</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>webcamsOnlyForModerator=true
</code></pre></div></div>
<p>Kontutan izan hau aldatuz gero, denentzako aldatzen dela, eta zure erabiltzaileek hau jakin behar dutela, bestela parekoen arteko bilerak egiten dituztenean (adibidez irakasleen arteko bilerak) ez direlako denak alkar ikusiko. Aldatzea oso erreza da eta beraiek egin dezakete, bileran berriro ere parametro hori aktibatuz.</p>
<h1 id="konfigurazio-aukera-gehiago">Konfigurazio aukera gehiago</h1>
<p><a href="https://docs.bigbluebutton.org/2.2/customize.html">Hemen ikus dezakegu</a> konfigurazio beste hainbat aukera nola egokitu daitezkeen</p>
<h1 id="artikulu-honi-buruzko-zalantzak-galderak-eta-iruzkinak">Artikulu honi buruzko zalantzak, galderak eta iruzkinak</h1>
<p><a href="https://lemmy.eus/post/23">Hemen idatzi zure iruzkina</a></p>Pedro ArreitunandiaArtikulu honetan ikusiko dugunez, BigBlueButton eskalatu ahal izango dugu ehundaka erabiltzaile konkurrenteri zerbitzua emateko.LibreOfficeOnline eta Nextcloud batera lanean2020-06-08T00:00:00+00:002020-06-08T00:00:00+00:00https://atxukale.eus/libreofficeonline-eta-nextcloud-batera-lanean<p><em><strong>2020ko ekainak 5-ean Eguneratua. Post hau gaurko egunez dagoen LOOL-eko azken bertsioaren instalazioarako eguneratuta dago.<br /></strong></em></p>
<p>Nextcloud zerbitzarian bulegotika/ofimatika dokumentuak online editatu ahal izateko lehen aukeretako bat CollaboraOnline erabiltzea da. Oso erreza da <a href="https://nextcloud.com/collaboraonline/" target="_blank">bera konfiguratzea</a>, docker bidez instalatzen da eta ondo integratuta dago.</p>
<p>Arazoa da docker kontainerrak batera konektatua egon daitezkeen erabiltzaile kopurua mugatuta daukala: 10 erabiltzaileko/dokumentuko konkurrentzia onartzen du, hortik gora mezu bat azaltzen da muga gainditu dela esanez.</p>
<p>CollaboraOnline docker irudia LibreOfficeOnline-ean oinarrituta dagonez, bigarren hau Nextcloud-ekin erabiltzeko nola instalatu eta konfiguratu dezakegun azaltzera goaz. Lan gehiago eskatuko digu, baina posible da.</p>
<h1>Bi zerbitzari</h1>
<p>Docker kontainerrarekin lan egin dugunean, dena zerbitzari berean izan dugu. Nextcloud zerbitzari batean instalatzen genuen, eta gero zerbitzarian bertan docker erabiliz CollaboraOnline zerbitzua abiatzen genuen.</p>
<p>Hau egiteko, eta dokumentazio ofizialean dauden instrukzioak jarraituz, bi domeinu erabiltzen genituen</p>
<p> • <a href="https://hodeia.niredomeinua.eus">https://hodeia.niredomeinua.eus</a> : Nextcloud zerbitzurako</p>
<p> • <a href="https://office.niredomeinua.eus">https://office.niredomeinua.eus</a> : CollaboraOnline zerbitzurako</p>
<p>Konturatzen bagara, <em><strong>https</strong></em> erabiltzeko konfiguratu dugu, eta horretarako Letsencrypt erabili dugu.</p>
<p>Nextcloud zerbitzarian administratzaile moduan sartuta, CollaboraOnline plugina aktibatu ondoren, bere konfigurazioan zerbitzaria zein den esatea nahikoa izan da dena martxan jartzeko: <a href="https://office.niredomeinua.eus">https://office.niredomeinua.eus</a></p>
<p>Orain CollaboraOnline ordeztu nahi dugu bere ordez LibreOfficeOnline erabiltzeko. Horretarako bigarren zerbitzari bat erabiliko dugu. Honek etorkizunari begira onura asko ekarriko dizkigu:</p>
<ul>
<li>LibreOfficeOnline bertsio berri bat instalatu nahi dugunean, produkzioan dagoena ezertarako ukitu gabe, zerbitzari berri bat instalatu dezakegu (office02.niredomeinua.eus). Dena ondo konfiguratuta dugunean, Nextcloud zerbitzarian CollaboraOnline pluginean zerbitzari berriaren izena idatzi eta ikusi nola dabilen. Arazoren bat ematen badu, lehen genuena jarri eta zerbitzua ez da geratzen.</li>
<li>Lan karga banatzen dugu. Erabiltzaile askok batera ofimatika dokumentuak online editatzen daudenean, Nextcloud zerbitzariak ez du lan karga hori nabarituko.</li>
</ul>
<p>Bigarren zerbitzari honen instalazioa bukatzen denean, Nextcloud zerbitzuko CollaboraOnline pluginean bere helbidea jarriko dugu: <a href="https://office02.niredomeinua.eus">https://office02.niredomeinua.eus</a></p>
<h1>LibreOfficeOnline zerbitzaria instalatu</h1>
<p>Aurrerantzean LOOL deituko diogu.</p>
<p>Instalazio hau egiteko Ubuntu 18.04 LTS instalatu berri eta eguneratu batean oinarritzen gara. LOOL deskargatu eta konpilatuko dugu. Honetarako, Github-en dagoen proiektu hau zip moduan deskargatuko dugu eta zerbitzariko karpeta batean deskonprimatuko dugu</p>
<p><a href="https://github.com/husisusi/officeonlin-install.sh/">https://github.com/husisusi/officeonlin-install.sh/</a></p>
<p>Unzip instalatu</p>
<pre># apt-get install unzip <code></code></pre>
<p>Hurrengo lerro hauek garrantzi berezia dute. Dokumentu bat editatzerakoan automatikoki hizkuntza zuzentzailea aplikatzen saiatzen da. Sisteman zuzentzailea instalatuta ez dagoenean, dokumentu batean zerbait idazten saiatzen zarenean, akats bat ematen du eta berriro dokumentua berriro kargatzen da [ <a href="https://github.com/husisusi/officeonlin-install.sh/issues/162" target="_blank">1</a> , <a href="https://github.com/husisusi/officeonlin-install.sh/issues/155" target="_blank">2</a>]</p>
<p>Ondorioz, erabiliko dituzun hizkuntzetako zuzentzaileak instalatu beharko ditugu<br /><code></code></p>
<pre><code># apt install hunspell locales-all hunspell-eu-es hunspell-es</code></pre>
<p>Orain konpilazioa. Kontutan izan hau egin ahal izateko gutxienez 4GB RAM eta diskoan 13GB libre izan beharko dituela. <br />Lasai hartu, ordu batzuk beharko ditu. Agian hoberena gauez martxan uztea litzateke, eta hurrengo goizean dena prest izango genuke.</p>
<pre># cd /root<br /><code># wget -c https://github.com/husisusi/officeonlin-install.sh/archive/master.zip</code><br /># unzip officeonlin-install.sh-master.zip <br /><code># cd officeonlin-install.sh-master/</code></pre>
<p>Konpilazioa egin aurretik, gomendagarria da begiratzea zeintzuk diren une honetan konpilaziorako gomendatzen dituzten parametroak. Horretarako bi leku hauetan begiratzea gomendatzen dut:</p>
<ul>
<li>Issue honetako azken gomendioak: <a href="https://github.com/husisusi/officeonlin-install.sh/issues/188" target="_blank">https://github.com/husisusi/officeonlin-install.sh/issues/188</a></li>
<li>Wikian jartzen duten azken konfigurazioa: <a href="https://github.com/husisusi/officeonlin-install.sh/wiki">https://github.com/husisusi/officeonlin-install.sh/wiki</a></li>
</ul>
<p>Parametro hauek officeonline-install.cfg fitxategian gehituko ditugu. Orain ((2020/06/08) egitera goazen kopilazioan hauek dira gehituko ditugun lerroak:</p>
<pre>set_core_regex='cp-6.2'<br />set_online_regex='co-4.2.4'<br />lo_src_repo='https://github.com/LibreOffice/core.git'<br />lo_src_branch='master'<br />lo_src_commit=''<br />lo_src_tag=''<br />lo_dir="/opt/libreoffice"<br />lo_forcebuild=true<br />lo_non_free_ttf=true<br />poco_version=$poco_version_latest #latest releases available<br />poco_forcebuild=true<br />lool_src_repo="https://github.com/LibreOffice/online.git"<br />lool_src_branch='master'<br />lool_src_tag='cp-4.2.4-2'<br />lool_dir="/opt/lool"<br />lool_configure_opts="--disable-werror --with-lokit-path=${lo_dir}/include"<br />lool_logfile='/var/log/loolwsd.log'<br />lool_prefix='/usr'<br />lool_sysconfdir='/etc'<br />lool_localstatedir='/var'<br />lool_forcebuild=true<br />lool_maxcon=200<br />lool_maxdoc=100<br />loolwsd_service_name='loolwsd'</pre>
<p>Ondoren, konpilazio akats bat ekiditeko lib/default.cfg fitxategia editatu eta bi erreferentzia hauek bilatu eta ezabatuko ditugu: <strong><em>disable-gstreamer-0-10</em></strong> eta <strong><em>disable-kde4</em></strong><br /><code></code></p>
<p>Orain, konpilazioan behar diren bi pakete hauek instalatuko ditugu</p>
<pre>apt-get install python3-lxml<br />apt-get install python3-polib</pre>
<p>eta azkenik konpilazioa eta instalazioa abiatuko ditugu</p>
<pre># ./officeonline-install.sh</pre>
<p>Pazientzia izan, ordu batzuk beharko ditu. Instalazioa bukatu ondoren zerbitzaria berrabiaraziko dugu. Instalazio honek LOOL zerbitzu moduan jarri du</p>
<pre># systemctl status loolwsd.service</pre>
<p>Beraz aurrerantzean sistema berrabiarazi nahiko bagenuke (adibidez konfigurazioa aldatu dugulako), honela egitea gomendatzen dute</p>
<pre><code># systemctl daemon-reload && systemctl restart loolwsd.service</code></pre>
<p>Zerbitzua ondo arrankatu den ikusteko</p>
<pre><code># systemctl status loolwsd.service</code></pre>
<p>Hau egin ondoren <em><strong>9980</strong></em> portuan erantzungo du</p>
<h1>Apache</h1>
<p>Front-End moduan Apache jarriko dugu, horretarako behar diren moduluak aktibatu eta letsencrypt konfiguratu ondoren, eskaerak LOOL zerbitzuari 9980 portua erabiliz bideratzeko konfiguratuko dugu.</p>
<pre><code># apt-get install apache2</code></pre>
<h2>Apache moduloak</h2>
<p>Beharko ditugun moduluak aktibatu</p>
<pre><code># a2enmod ssl proxy proxy_http proxy_balancer proxy_wstunnel</code></pre>
<h2>LetsEncrypt</h2>
<p>Apache konfigurazio fitxategia (/etc/apache2/sites-enabled/000-default.conf) editatuko dugu eta <strong><em>Servername</em></strong> atalean gure zerbitzariaren DNS izena jarriko dugu</p>
<pre>ServerName office02.niredomeinua.eus</pre>
<p>Gure kasuan Ubuntu 18.04 LTS erabiltzen ari gara. Honela instalatu dugu</p>
<pre><code># apt-get insta<code>ll software-properties-common</code></code></pre>
<pre><code># add-apt-repository universe</code><br /><code># add-apt-repository ppa:certbot/certbot</code><br /><code># apt-get update</code><br /><code># apt-get install certbot python-certbot-apache </code><br /><code># certbot --apache</code></pre>
<p> Ondoren, konfigurazio fitxategia ( <em>/etc/apache2/sites-enabled/000-default-le-ssl.conf</em>) editatu eta beltzez jarri ditugun lerro hauek gehitu beharko dituzu:</p>
<pre><br /><IfMod<code>ule mod_ssl.c></code><br /><code><VirtualHost *:443></code><br /><code> ServerAdmin webmaster@localhost</code><br /><code> DocumentRoot /var/www/html</code><br /><code> # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,</code><br /><code> # error, crit, alert, emerg.</code><br /><code> # It is also possible to configure the loglevel for particular</code><br /><code> # modules, e.g.</code><br /><code> #LogLevel info ssl:warn</code><br /><br /><code> ErrorLog ${APACHE_LOG_DIR}/error.log</code><br /><code> CustomLog ${APACHE_LOG_DIR}/access.log combined</code><br /><br /><code> # For most configuration files from conf-available/, which are</code><br /><code> # enabled or disabled at a global level, it is possible to</code><br /><code> # include a line for only one particular virtual host. For example the</code><br /><code> # following line enables the CGI configuration for this host only</code><br /><code> # after it has been globally disabled with "a2disconf".</code><br /><code> #Include conf-available/serve-cgi-bin.conf</code><br /><br /><code>ServerName office02.niredomeinua.eus</code><br /><code>SSLCertificateFile /etc/letsencrypt/live/office02.niredomeinua.eus/fullchain.pem</code><br /><code>SSLCertificateKeyFile /etc/letsencrypt/live/office02.niredomeinua.eus/privkey.pem</code><br /><code>Include /etc/letsencrypt/options-ssl-apache.conf</code><br /><strong><code># HASIERA LIBREOFFICEONLINE CONF</code></strong><br /><br /><strong><code># Container uses a unique non-signed certificate</code></strong><br /><strong><code>SSLProxyEngine On</code></strong><br /><strong><code>SSLProxyVerify None</code></strong><br /><strong><code>SSLProxyCheckPeerCN Off</code></strong><br /><strong><code>SSLProxyCheckPeerName Off</code></strong><br /><br /><strong><code>Options -Indexes</code></strong><br /><br /><strong><code># Encoded slashes need to be allowed</code></strong><br /><strong><code>AllowEncodedSlashes NoDecode</code></strong><br /><br /><strong><code># keep the host</code></strong><br /><strong><code>ProxyPreserveHost On</code></strong><br /><br /><strong><code># static html, js, images, etc. served from loolwsd</code></strong><br /><strong><code># loleaflet is the client part of LibreOffice Online</code></strong><br /><strong><code>ProxyPass /loleaflet https://127.0.0.1:9980/loleaflet retry=0</code></strong><br /><strong><code>ProxyPassReverse /loleaflet https://127.0.0.1:9980/loleaflet</code></strong><br /><br /><strong><code># WOPI discovery URL</code></strong><br /><strong><code>ProxyPass /hosting/discovery https://127.0.0.1:9980/hosting/discovery retry=0</code></strong><br /><strong><code>ProxyPassReverse /hosting/discovery https://127.0.0.1:9980/hosting/discovery</code></strong><br /><br /><strong><code># Capabilities</code></strong><br /><strong><code>ProxyPass /hosting/capabilities https://127.0.0.1:9980/hosting/capabilities retry=0</code></strong><br /><strong><code>ProxyPassReverse /hosting/capabilities https://127.0.0.1:9980/hosting/capabilities</code></strong><br /><br /><strong><code># Main websocket</code></strong><br /><strong><code>ProxyPassMatch "/lool/(.*)/ws$" wss://127.0.0.1:9980/lool/$1/ws nocanon</code></strong><br /><br /><strong><code># Admin Console websocket</code></strong><br /><strong><code>ProxyPass /lool/adminws wss://127.0.0.1:9980/lool/adminws</code></strong><br /><br /><strong><code># Download as, Fullscreen presentation and Image upload operations</code></strong><br /><strong><code>ProxyPass /lool https://127.0.0.1:9980/lool</code></strong><br /><strong><code>ProxyPassReverse /lool https://127.0.0.1:9980/lool</code></strong><br /><br /><strong><code># BUKAERA LIBREOFFICEONLINE CONF</code></strong><br /><code></VirtualHost></code><br /><code></IfModule></code></pre>
<h3>Apache eta letsencrypt</h3>
<p>Gure zerbitzari honek domeinu izen bat izan behar du, gure kasuan office02.niredomeinua.eus domeinuari erantzuteko prestatu dugu. Apache eta Letsencrypt konfiguratuta ditugu.</p>
<p>Kontua da LOOL-ek ez dituela Apache-ko ziurtagiriak erabiltzen, berak bere ziurtagiri propioak erabiltzen ditu. Hemen proposatzen den soluzioak hau egingo luke:</p>
<ul>
<li>Letsencrypt eguneraketa normal bat egin, beraiek proposatzen duten moduan cron bidez ziurtagiriaren eguneraketak behar direnean automatikoki egiteko.</li>
<li>Gauero LOOL zerbitzua geratu eta Letsencrypt bidez sortzen diren ziurtagiriak LOOL-ek begiratzen duen karpetan utzi eta baimen egokiak jarri</li>
<li>Ziurtagiriak kopiatu ondoren, berriro ere LOOL zerbitzua abiatu.</li>
</ul>
<p>Gauero kopia egiteko scripta sortu</p>
<pre><code># mkdir /root/scripts</code><br /><code># cd /root/scripts/</code><br /><code># nano lool-letsencrypt.sh</code><br /><code># chmod +x lool-letsencrypt.sh</code></pre>
<p>Edukian begiratzen badugu, hau da egiten duena. Lehenik eta behin LOOL konfigurazio karpetan, karpeta berri bat sortuko dugu ziurtagiriak bertan kopiatzeko, eta gure LOOL domeinu izenarekin karpeta bat sortuko dugu (aurrez sortuta badaude aurrera jarraituko du).</p>
<p>Ondoren azaltzen den edukiarekin script bat sortuko dugu, eta crontab bidez gauero exekutatuko dugu</p>
<pre><code>#!/bin/sh</code><br /><code>mkdir -p /etc/loolwsd/certs/office02.niredomeinua.eus</code></pre>
<pre># Letsencrypt ziurtagiriak kopiatu</pre>
<pre><code>cp -f /etc/letsencrypt/live/office02.niredomeinua.eus/cert.pem /etc/loolwsd/certs/office02.niredomeinua.eus/</code><br /><code>cp -f /etc/letsencrypt/live/office02.niredomeinua.eus/privkey.pem /etc/loolwsd/certs/office02.niredomeinua.eus/</code></pre>
<pre># Baimenak ondo jarri</pre>
<pre><code>chown -Rf lool:lool /etc/loolwsd/certs</code><br /><code>chmod -Rf 755 /etc/loolwsd/certs</code></pre>
<pre># eta azkenik zerbitzua berrabiarazi</pre>
<pre><code>systemctl daemon-reload && systemctl restart loolwsd.service</code></pre>
<p>"crontab -e" komandoa erabiliz, egunero apache-ko ziurtagiriak loolwsd karpetan kopiatzeko konfiguratuko dugu.</p>
<pre>0 5 * * * /root/scripts/lool-letsencrypt.sh<br /><br /></pre>
<h1>LOOL: Oinarrizko konfigurazioan aldaketak</h1>
<h2>Zerbitzua</h2>
<p>LOOL arrankatzekoan erabiliko dituen parametroak hemen konfiguratzen dira</p>
<pre><code>/lib/systemd/system/loolwsd.service</code></pre>
<p>Aurrerago ikusiko dugunez, web bidez admin interfaze bat izango dugu. Hor ikusi ahal izango dugu besteak beste</p>
<ul>
<li>Une bakoitzean zabalik dauden dokumentuak, eta baita ere zeintzuk diren LOOL erabiltzen ari diren erabiltzaileak.</li>
<li>Memoria eta mikroak duten karga</li>
</ul>
<p>Admin erabiltzaile horren izena eta pasahitza lerro honetan konfiguratzen da</p>
<pre><code>ExecStart=/opt/online/loolwsd --o:sys_template_path=/opt/online/systemplate --o:lo_template_path=/opt/libreoffice/instdir --o:child_root_path=/opt/online/jails --o:admin_console.username=<strong>nireadminerabiltzailea</strong> –o:admin_console.password="<strong>niresuperpasahitza</strong>"</code></pre>
<h2>Beste parametroak</h2>
<p>Ezer aldatzen hasi aurretik, gomendagarria da konfigurazio fitxategiaren kopia bat egitea.</p>
<pre><code># cp /etc/loolwsd/loolwsd.xml /etc/loolwsd/loolwsd.xml.backup</code></pre>
<p>Aldatu ditugun parametroak hauek dira:</p>
<h3>Hizkuntzak</h3>
<p>Online edizioan gure eskura izango ditugun hizkuntzak konfiguratuko ditugu. Kontutan izan lehenago azaldu dugun moduan, hizkuntza hauetako zuzentzaile ortografikoak instalatuta egon behar direla.</p>
<pre><code><allowed_languages desc="List of supported languages on this instance." default="de_DE en_GB en_US es_ES fr_FR it nl pt_BR pt_PT ru">es_ES eu_ES</allowed_languages></code><br /> </pre>
<h3>Nextcloud zerbitzaria baimendu</h3>
<p>Gure Nextcloud zerbitzaria baimendu “Backend storage” atalean. Domeinuaren izenean dauden puntuak “eskapatu” egin behar dira aurretik <strong>“\”</strong> jarrita. Adibidez: <strong>hodeia\.niredomeinua\.eus</strong></p>
<pre> <storage desc="Backend stor<code>age"></code><br /><code> <filesystem allow="false" /></code><br /><code> <wopi desc="Allow/deny wopi storage. Mutually exclusive with webdav." allow="true"></code><br /><code> <host desc="Regex pattern of hostname to allow or deny." allow="true"><strong>hodeia\.niredomeinua\.eus</strong></host></code><br /><code> <host desc="Regex pattern of hostname to allow or deny." allow="true">localhost</host></code><br /><code> <host desc="Regex pattern of hostname to allow or deny." allow="true">10\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}</host></code><br /><code> <host desc="Regex pattern of hostname to allow or deny." allow="true">172\.1[6789]\.[0-9]{1,3}\.[0-9]{1,3}</host></code><br /><code> <host desc="Regex pattern of hostname to allow or deny." allow="true">172\.2[0-9]\.[0-9]{1,3}\.[0-9]{1,3}</host></code><br /><code> <host desc="Regex pattern of hostname to allow or deny." allow="true">172\.3[01]\.[0-9]{1,3}\.[0-9]{1,3}</host></code><br /><code> <host desc="Regex pattern of hostname to allow or deny." allow="true">192\.168\.[0-9]{1,3}\.[0-9]{1,3}</host></code><br /><code> <host desc="Regex pattern of hostname to allow or deny." allow="false">192\.168\.1\.1</host></code><br /><code> <max_file_size desc="Maximum document size in bytes to load. 0 for unlimited." type="uint">0</max_file_size></code><br /><code> </wopi></code><br /><code> <webdav desc="Allow/deny webdav storage. Mutually exclusive with wopi." allow="false"></code><br /><code> <host desc="Hostname to allow" allow="false"><strong>hodeia\.niredomeinua\.eus</strong></host></code><br /><code> </webdav></code><br /><code> </storage></code></pre>
<h3>LOG aktibatu</h3>
<p>Arazoren bat agertzen denean LOGean begiratu nahi izaten dugu, baina horretarako lehenik eta behin LOGa aktibatu egin behar da</p>
<pre><code># touch /var/log/loolwsd.log</code><br /><code># chmod 777 /var/log/loolwsd.log</code></pre>
<p>Berriro ere /etc/loolwsd/loolwsd.xml editatu, eta logging atala aktibatu</p>
<pre> <lo<code>gging></code><br /><code> <color type="bool"><strong>true</strong></color></code><br /><code> <level type="string" desc="Can be 0-8, or none (turns off logging), fatal, critical, error, warning, notice, information, debug, trace" default="warning"><strong>warning</strong></level></code><br /><code> <file enable="<strong>true</strong>"></code><br /><code> <property name="path" desc="Log file path."><strong>/var/log/loolwsd.log</strong></property></code><br /><code> </code><code></code><br /><code> </code><code></code></pre>
<h3>Aldaketak aplikatu</h3>
<p>Aldaketa hauek egin ondoren, LOOL zerbitzua berrabiarazi beharko genuke</p>
<pre><code># systemctl daemon-reload && systemctl restart loolwsd.service</code></pre>
<h2>Administrazio kontsola</h2>
<p>LOOL zerbitzuak administrazio kontsola eskaintzen digu. Web kontsola honetan hainbat datu ikusi ahal izango ditugu, besteak beste</p>
<ul>
<li>Une horretan irekitako dokumentuak eta konektatutako erabiltzaileak</li>
<li>Sistemaren karga</li>
<li>Memoria, CPU eta sarearen erabilera azaltzen dizkiguten grafiko batzuk</li>
</ul>
<p><img class="img-responsive" class="img-responsive" src="https://media.blogak.eus/media/photologue/photos/LibreOfficeOnline.png" alt="" width="1076" height="519" /></p>
<p>Administrazio kontsola honetara konektatzeko erabiliko ditugun erabiltzaile eta pasahitza definitzeko <em>/lib/systemd/system/loolwsd.service</em> fitxategia editatuko dugu</p>
<pre><code>[Unit]</code><br /><code>Description=LibreOffice OnLine WebSocket Daemon</code><br /><code>After=network.target</code><br /><br /><code>[Service]</code><br /><code>EnvironmentFile=-/etc/sysconfig/loolwsd</code><br /><code>ExecStartPre=/bin/mkdir -p /usr/local/var/cache/loolwsd</code><br /><code>ExecStartPre=/bin/chown lool: /usr/local/var/cache/loolwsd</code><br /><code>PermissionsStartOnly=true</code><br /><code>ExecStart=/opt/online/loolwsd --o:sys_template_path=/opt/online/systemplate --o:lo_template_path=/opt/libreoffice/instdir --o:child_root_path=/opt/online/jails --o:admin_console.username=<strong>NIRESUPERADMIN</strong> --o:admin_console.password="<strong>NIRESUPERPASAHITZA</strong>"</code><br /><code>User=lool</code><br /><code>KillMode=control-group</code><br /><code># Restart=always</code><br /><br /><code>[Install]</code><br /><code>WantedBy=multi-user.target</code><br /><br />Kontsolara konektatzeko helbide hau erabiliko dugu:</pre>
<p><a href="https://office02.niredomeinua.eus/loleaflet/dist/admin/adminAnalytics.html">https://office02.niredomeinua.eus/loleaflet/dist/admin/adminAnalytics.html</a></p>
<p> </p>
<p>Eta honekin, prest izango genuke LibreOfficeOnline gure Nextcloud zerbitzariarekin lan egiteko konfiguratuta !! Ez zen hain zaila ezta ? ;-)</p>
<h2><strong>Eguneraketak aplikatzerakoan<br /></strong></h2>
<p>LibreOffice-online zerbitzurako makina birtual bat erabiltzen dugu. Noizbehinka eguneraketak publikatuko dira, eta berriagoak diren bertsioak instalatu nahi izango ditugu.</p>
<p>Hau nola egiten da ? Ba LibreOffice-Online zerbitzarian berriro ere officeonline-install.sh exekutatuz, hasieran egin genuen moduan. Scritp honek software berria deskargatu eta berriro ere konpilatuko du.</p>
<p>Lan hau ez da azkarra, hasieran gertatu zitzaigun moduan, eguneraketak konpilatzeko ordu dexente beharko ditu, beraz ez da ideia on bat produkzioan dugun LibreOffice-Online konpilatzea.</p>
<p>Guk trikimailu hau erabiltzen dugu. Hasierako instalazioa bukatu dugunean eta badakigunean dena ondo dagoela, produkzioan dugun makina birtualaren backup bat egin, eta backup horretan oinarrituta beste zerbitzari bat sortzen dugu. Bigarren zerbitzari hau erabiliko dugu bertsio berriak konpilatzeko, eta honela produkzioan dagoenari ez diogu lanik ematen.</p>
<p>Akatsen bat gertatzen bada, ez dugu lehendik genuen LibreOffice-Online izorratzen. Dena ondo badoa, produkzioan zegoen VM-aren IPa jarri berriari eta kitto, berria produkzioan dugu.</p>Pedro Arreitunandia2020ko ekainak 5-ean Eguneratua. Post hau gaurko egunez dagoen LOOL-eko azken bertsioaren instalazioarako eguneratuta dago. Nextcloud zerbitzarian bulegotika/ofimatika dokumentuak online editatu ahal izateko lehen aukeretako bat CollaboraOnline erabiltzea da. Oso erreza da bera konfiguratzea, docker bidez instalatzen da eta ondo integratuta dago. Arazoa da docker kontainerrak batera konektatua egon daitezkeen erabiltzaile kopurua mugatuta daukala: 10 erabiltzaileko/dokumentuko konkurrentzia onartzen du, hortik gora mezu bat azaltzen da muga gainditu dela esanez. CollaboraOnline docker irudia LibreOfficeOnline-ean oinarrituta dagonez, bigarren hau Nextcloud-ekin erabiltzeko nola instalatu eta konfiguratu dezakegun azaltzera goaz. Lan gehiago eskatuko digu, baina posible da. Bi zerbitzari Docker kontainerrarekin lan egin dugunean, dena zerbitzari berean izan dugu. Nextcloud zerbitzari batean instalatzen genuen, eta gero zerbitzarian bertan docker erabiliz CollaboraOnline zerbitzua abiatzen genuen. Hau egiteko, eta dokumentazio ofizialean dauden instrukzioak jarraituz, bi domeinu erabiltzen genituen • https://hodeia.niredomeinua.eus : Nextcloud zerbitzurako • https://office.niredomeinua.eus : CollaboraOnline zerbitzurako Konturatzen bagara, https erabiltzeko konfiguratu dugu, eta horretarako Letsencrypt erabili dugu. Nextcloud zerbitzarian administratzaile moduan sartuta, CollaboraOnline plugina aktibatu ondoren, bere konfigurazioan zerbitzaria zein den esatea nahikoa izan da dena martxan jartzeko: https://office.niredomeinua.eus Orain CollaboraOnline ordeztu nahi dugu bere ordez LibreOfficeOnline erabiltzeko. Horretarako bigarren zerbitzari bat erabiliko dugu. Honek etorkizunari begira onura asko ekarriko dizkigu: LibreOfficeOnline bertsio berri bat instalatu nahi dugunean, produkzioan dagoena ezertarako ukitu gabe, zerbitzari berri bat instalatu dezakegu (office02.niredomeinua.eus). Dena ondo konfiguratuta dugunean, Nextcloud zerbitzarian CollaboraOnline pluginean zerbitzari berriaren izena idatzi eta ikusi nola dabilen. Arazoren bat ematen badu, lehen genuena jarri eta zerbitzua ez da geratzen. Lan karga banatzen dugu. Erabiltzaile askok batera ofimatika dokumentuak online editatzen daudenean, Nextcloud zerbitzariak ez du lan karga hori nabarituko. Bigarren zerbitzari honen instalazioa bukatzen denean, Nextcloud zerbitzuko CollaboraOnline pluginean bere helbidea jarriko dugu: https://office02.niredomeinua.eus LibreOfficeOnline zerbitzaria instalatu Aurrerantzean LOOL deituko diogu. Instalazio hau egiteko Ubuntu 18.04 LTS instalatu berri eta eguneratu batean oinarritzen gara. LOOL deskargatu eta konpilatuko dugu. Honetarako, Github-en dagoen proiektu hau zip moduan deskargatuko dugu eta zerbitzariko karpeta batean deskonprimatuko dugu https://github.com/husisusi/officeonlin-install.sh/ Unzip instalatu # apt-get install unzip Hurrengo lerro hauek garrantzi berezia dute. Dokumentu bat editatzerakoan automatikoki hizkuntza zuzentzailea aplikatzen saiatzen da. Sisteman zuzentzailea instalatuta ez dagoenean, dokumentu batean zerbait idazten saiatzen zarenean, akats bat ematen du eta berriro dokumentua berriro kargatzen da [ 1 , 2] Ondorioz, erabiliko dituzun hizkuntzetako zuzentzaileak instalatu beharko ditugu # apt install hunspell locales-all hunspell-eu-es hunspell-es Orain konpilazioa. Kontutan izan hau egin ahal izateko gutxienez 4GB RAM eta diskoan 13GB libre izan beharko dituela. Lasai hartu, ordu batzuk beharko ditu. Agian hoberena gauez martxan uztea litzateke, eta hurrengo goizean dena prest izango genuke. # cd /root# wget -c https://github.com/husisusi/officeonlin-install.sh/archive/master.zip# unzip officeonlin-install.sh-master.zip # cd officeonlin-install.sh-master/ Konpilazioa egin aurretik, gomendagarria da begiratzea zeintzuk diren une honetan konpilaziorako gomendatzen dituzten parametroak. Horretarako bi leku hauetan begiratzea gomendatzen dut: Issue honetako azken gomendioak: https://github.com/husisusi/officeonlin-install.sh/issues/188 Wikian jartzen duten azken konfigurazioa: https://github.com/husisusi/officeonlin-install.sh/wiki Parametro hauek officeonline-install.cfg fitxategian gehituko ditugu. Orain ((2020/06/08) egitera goazen kopilazioan hauek dira gehituko ditugun lerroak: set_core_regex='cp-6.2'set_online_regex='co-4.2.4'lo_src_repo='https://github.com/LibreOffice/core.git'lo_src_branch='master'lo_src_commit=''lo_src_tag=''lo_dir="/opt/libreoffice"lo_forcebuild=truelo_non_free_ttf=truepoco_version=$poco_version_latest #latest releases availablepoco_forcebuild=truelool_src_repo="https://github.com/LibreOffice/online.git"lool_src_branch='master'lool_src_tag='cp-4.2.4-2'lool_dir="/opt/lool"lool_configure_opts="--disable-werror --with-lokit-path=${lo_dir}/include"lool_logfile='/var/log/loolwsd.log'lool_prefix='/usr'lool_sysconfdir='/etc'lool_localstatedir='/var'lool_forcebuild=truelool_maxcon=200lool_maxdoc=100loolwsd_service_name='loolwsd' Ondoren, konpilazio akats bat ekiditeko lib/default.cfg fitxategia editatu eta bi erreferentzia hauek bilatu eta ezabatuko ditugu: disable-gstreamer-0-10 eta disable-kde4 Orain, konpilazioan behar diren bi pakete hauek instalatuko ditugu apt-get install python3-lxmlapt-get install python3-polib eta azkenik konpilazioa eta instalazioa abiatuko ditugu # ./officeonline-install.sh Pazientzia izan, ordu batzuk beharko ditu. Instalazioa bukatu ondoren zerbitzaria berrabiaraziko dugu. Instalazio honek LOOL zerbitzu moduan jarri du # systemctl status loolwsd.service Beraz aurrerantzean sistema berrabiarazi nahiko bagenuke (adibidez konfigurazioa aldatu dugulako), honela egitea gomendatzen dute # systemctl daemon-reload && systemctl restart loolwsd.service Zerbitzua ondo arrankatu den ikusteko # systemctl status loolwsd.service Hau egin ondoren 9980 portuan erantzungo du Apache Front-End moduan Apache jarriko dugu, horretarako behar diren moduluak aktibatu eta letsencrypt konfiguratu ondoren, eskaerak LOOL zerbitzuari 9980 portua erabiliz bideratzeko konfiguratuko dugu. # apt-get install apache2 Apache moduloak Beharko ditugun moduluak aktibatu # a2enmod ssl proxy proxy_http proxy_balancer proxy_wstunnel LetsEncrypt Apache konfigurazio fitxategia (/etc/apache2/sites-enabled/000-default.conf) editatuko dugu eta Servername atalean gure zerbitzariaren DNS izena jarriko dugu ServerName office02.niredomeinua.eus Gure kasuan Ubuntu 18.04 LTS erabiltzen ari gara. Honela instalatu dugu # apt-get install software-properties-common # add-apt-repository universe# add-apt-repository ppa:certbot/certbot# apt-get update# apt-get install certbot python-certbot-apache # certbot --apache Ondoren, konfigurazio fitxategia ( /etc/apache2/sites-enabled/000-default-le-ssl.conf) editatu eta beltzez jarri ditugun lerro hauek gehitu beharko dituzu: <IfModule mod_ssl.c><VirtualHost *:443> ServerAdmin webmaster@localhost DocumentRoot /var/www/html # Available loglevels: trace8, ..., trace1, debug, info, notice, warn, # error, crit, alert, emerg. # It is also possible to configure the loglevel for particular # modules, e.g. #LogLevel info ssl:warn ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined # For most configuration files from conf-available/, which are # enabled or disabled at a global level, it is possible to # include a line for only one particular virtual host. For example the # following line enables the CGI configuration for this host only # after it has been globally disabled with "a2disconf". #Include conf-available/serve-cgi-bin.confServerName office02.niredomeinua.eusSSLCertificateFile /etc/letsencrypt/live/office02.niredomeinua.eus/fullchain.pemSSLCertificateKeyFile /etc/letsencrypt/live/office02.niredomeinua.eus/privkey.pemInclude /etc/letsencrypt/options-ssl-apache.conf# HASIERA LIBREOFFICEONLINE CONF# Container uses a unique non-signed certificateSSLProxyEngine OnSSLProxyVerify NoneSSLProxyCheckPeerCN OffSSLProxyCheckPeerName OffOptions -Indexes# Encoded slashes need to be allowedAllowEncodedSlashes NoDecode# keep the hostProxyPreserveHost On# static html, js, images, etc. served from loolwsd# loleaflet is the client part of LibreOffice OnlineProxyPass /loleaflet https://127.0.0.1:9980/loleaflet retry=0ProxyPassReverse /loleaflet https://127.0.0.1:9980/loleaflet# WOPI discovery URLProxyPass /hosting/discovery https://127.0.0.1:9980/hosting/discovery retry=0ProxyPassReverse /hosting/discovery https://127.0.0.1:9980/hosting/discovery# CapabilitiesProxyPass /hosting/capabilities https://127.0.0.1:9980/hosting/capabilities retry=0ProxyPassReverse /hosting/capabilities https://127.0.0.1:9980/hosting/capabilities# Main websocketProxyPassMatch "/lool/(.*)/ws$" wss://127.0.0.1:9980/lool/$1/ws nocanon# Admin Console websocketProxyPass /lool/adminws wss://127.0.0.1:9980/lool/adminws# Download as, Fullscreen presentation and Image upload operationsProxyPass /lool https://127.0.0.1:9980/loolProxyPassReverse /lool https://127.0.0.1:9980/lool# BUKAERA LIBREOFFICEONLINE CONF</VirtualHost></IfModule> Apache eta letsencrypt Gure zerbitzari honek domeinu izen bat izan behar du, gure kasuan office02.niredomeinua.eus domeinuari erantzuteko prestatu dugu. Apache eta Letsencrypt konfiguratuta ditugu. Kontua da LOOL-ek ez dituela Apache-ko ziurtagiriak erabiltzen, berak bere ziurtagiri propioak erabiltzen ditu. Hemen proposatzen den soluzioak hau egingo luke: Letsencrypt eguneraketa normal bat egin, beraiek proposatzen duten moduan cron bidez ziurtagiriaren eguneraketak behar direnean automatikoki egiteko. Gauero LOOL zerbitzua geratu eta Letsencrypt bidez sortzen diren ziurtagiriak LOOL-ek begiratzen duen karpetan utzi eta baimen egokiak jarri Ziurtagiriak kopiatu ondoren, berriro ere LOOL zerbitzua abiatu. Gauero kopia egiteko scripta sortu # mkdir /root/scripts# cd /root/scripts/# nano lool-letsencrypt.sh# chmod +x lool-letsencrypt.sh Edukian begiratzen badugu, hau da egiten duena. Lehenik eta behin LOOL konfigurazio karpetan, karpeta berri bat sortuko dugu ziurtagiriak bertan kopiatzeko, eta gure LOOL domeinu izenarekin karpeta bat sortuko dugu (aurrez sortuta badaude aurrera jarraituko du). Ondoren azaltzen den edukiarekin script bat sortuko dugu, eta crontab bidez gauero exekutatuko dugu #!/bin/shmkdir -p /etc/loolwsd/certs/office02.niredomeinua.eus # Letsencrypt ziurtagiriak kopiatu cp -f /etc/letsencrypt/live/office02.niredomeinua.eus/cert.pem /etc/loolwsd/certs/office02.niredomeinua.eus/cp -f /etc/letsencrypt/live/office02.niredomeinua.eus/privkey.pem /etc/loolwsd/certs/office02.niredomeinua.eus/ # Baimenak ondo jarri chown -Rf lool:lool /etc/loolwsd/certschmod -Rf 755 /etc/loolwsd/certs # eta azkenik zerbitzua berrabiarazi systemctl daemon-reload && systemctl restart loolwsd.service "crontab -e" komandoa erabiliz, egunero apache-ko ziurtagiriak loolwsd karpetan kopiatzeko konfiguratuko dugu. 0 5 * * * /root/scripts/lool-letsencrypt.sh LOOL: Oinarrizko konfigurazioan aldaketak Zerbitzua LOOL arrankatzekoan erabiliko dituen parametroak hemen konfiguratzen dira /lib/systemd/system/loolwsd.service Aurrerago ikusiko dugunez, web bidez admin interfaze bat izango dugu. Hor ikusi ahal izango dugu besteak beste Une bakoitzean zabalik dauden dokumentuak, eta baita ere zeintzuk diren LOOL erabiltzen ari diren erabiltzaileak. Memoria eta mikroak duten karga Admin erabiltzaile horren izena eta pasahitza lerro honetan konfiguratzen da ExecStart=/opt/online/loolwsd --o:sys_template_path=/opt/online/systemplate --o:lo_template_path=/opt/libreoffice/instdir --o:child_root_path=/opt/online/jails --o:admin_console.username=nireadminerabiltzailea –o:admin_console.password="niresuperpasahitza" Beste parametroak Ezer aldatzen hasi aurretik, gomendagarria da konfigurazio fitxategiaren kopia bat egitea. # cp /etc/loolwsd/loolwsd.xml /etc/loolwsd/loolwsd.xml.backup Aldatu ditugun parametroak hauek dira: Hizkuntzak Online edizioan gure eskura izango ditugun hizkuntzak konfiguratuko ditugu. Kontutan izan lehenago azaldu dugun moduan, hizkuntza hauetako zuzentzaile ortografikoak instalatuta egon behar direla. <allowed_languages desc="List of supported languages on this instance." default="de_DE en_GB en_US es_ES fr_FR it nl pt_BR pt_PT ru">es_ES eu_ES</allowed_languages> Nextcloud zerbitzaria baimendu Gure Nextcloud zerbitzaria baimendu “Backend storage” atalean. Domeinuaren izenean dauden puntuak “eskapatu” egin behar dira aurretik “\” jarrita. Adibidez: hodeia\.niredomeinua\.eus <storage desc="Backend storage"> <filesystem allow="false" /> <wopi desc="Allow/deny wopi storage. Mutually exclusive with webdav." allow="true"> <host desc="Regex pattern of hostname to allow or deny." allow="true">hodeia\.niredomeinua\.eus</host> <host desc="Regex pattern of hostname to allow or deny." allow="true">localhost</host> <host desc="Regex pattern of hostname to allow or deny." allow="true">10\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}</host> <host desc="Regex pattern of hostname to allow or deny." allow="true">172\.1[6789]\.[0-9]{1,3}\.[0-9]{1,3}</host> <host desc="Regex pattern of hostname to allow or deny." allow="true">172\.2[0-9]\.[0-9]{1,3}\.[0-9]{1,3}</host> <host desc="Regex pattern of hostname to allow or deny." allow="true">172\.3[01]\.[0-9]{1,3}\.[0-9]{1,3}</host> <host desc="Regex pattern of hostname to allow or deny." allow="true">192\.168\.[0-9]{1,3}\.[0-9]{1,3}</host> <host desc="Regex pattern of hostname to allow or deny." allow="false">192\.168\.1\.1</host> <max_file_size desc="Maximum document size in bytes to load. 0 for unlimited." type="uint">0</max_file_size> </wopi> <webdav desc="Allow/deny webdav storage. Mutually exclusive with wopi." allow="false"> <host desc="Hostname to allow" allow="false">hodeia\.niredomeinua\.eus</host> </webdav> </storage> LOG aktibatu Arazoren bat agertzen denean LOGean begiratu nahi izaten dugu, baina horretarako lehenik eta behin LOGa aktibatu egin behar da # touch /var/log/loolwsd.log# chmod 777 /var/log/loolwsd.log Berriro ere /etc/loolwsd/loolwsd.xml editatu, eta logging atala aktibatu <logging> <color type="bool">true</color> <level type="string" desc="Can be 0-8, or none (turns off logging), fatal, critical, error, warning, notice, information, debug, trace" default="warning">warning</level> <file enable="true"> <property name="path" desc="Log file path.">/var/log/loolwsd.log</property> Aldaketak aplikatu Aldaketa hauek egin ondoren, LOOL zerbitzua berrabiarazi beharko genuke # systemctl daemon-reload && systemctl restart loolwsd.service Administrazio kontsola LOOL zerbitzuak administrazio kontsola eskaintzen digu. Web kontsola honetan hainbat datu ikusi ahal izango ditugu, besteak beste Une horretan irekitako dokumentuak eta konektatutako erabiltzaileak Sistemaren karga Memoria, CPU eta sarearen erabilera azaltzen dizkiguten grafiko batzuk Administrazio kontsola honetara konektatzeko erabiliko ditugun erabiltzaile eta pasahitza definitzeko /lib/systemd/system/loolwsd.service fitxategia editatuko dugu [Unit]Description=LibreOffice OnLine WebSocket DaemonAfter=network.target[Service]EnvironmentFile=-/etc/sysconfig/loolwsdExecStartPre=/bin/mkdir -p /usr/local/var/cache/loolwsdExecStartPre=/bin/chown lool: /usr/local/var/cache/loolwsdPermissionsStartOnly=trueExecStart=/opt/online/loolwsd --o:sys_template_path=/opt/online/systemplate --o:lo_template_path=/opt/libreoffice/instdir --o:child_root_path=/opt/online/jails --o:admin_console.username=NIRESUPERADMIN --o:admin_console.password="NIRESUPERPASAHITZA"User=loolKillMode=control-group# Restart=always[Install]WantedBy=multi-user.targetKontsolara konektatzeko helbide hau erabiliko dugu: https://office02.niredomeinua.eus/loleaflet/dist/admin/adminAnalytics.html Eta honekin, prest izango genuke LibreOfficeOnline gure Nextcloud zerbitzariarekin lan egiteko konfiguratuta !! Ez zen hain zaila ezta ? ;-) Eguneraketak aplikatzerakoan LibreOffice-online zerbitzurako makina birtual bat erabiltzen dugu. Noizbehinka eguneraketak publikatuko dira, eta berriagoak diren bertsioak instalatu nahi izango ditugu. Hau nola egiten da ? Ba LibreOffice-Online zerbitzarian berriro ere officeonline-install.sh exekutatuz, hasieran egin genuen moduan. Scritp honek software berria deskargatu eta berriro ere konpilatuko du. Lan hau ez da azkarra, hasieran gertatu zitzaigun moduan, eguneraketak konpilatzeko ordu dexente beharko ditu, beraz ez da ideia on bat produkzioan dugun LibreOffice-Online konpilatzea. Guk trikimailu hau erabiltzen dugu. Hasierako instalazioa bukatu dugunean eta badakigunean dena ondo dagoela, produkzioan dugun makina birtualaren backup bat egin, eta backup horretan oinarrituta beste zerbitzari bat sortzen dugu. Bigarren zerbitzari hau erabiliko dugu bertsio berriak konpilatzeko, eta honela produkzioan dagoenari ez diogu lanik ematen. Akatsen bat gertatzen bada, ez dugu lehendik genuen LibreOffice-Online izorratzen. Dena ondo badoa, produkzioan zegoen VM-aren IPa jarri berriari eta kitto, berria produkzioan dugu.Moodle: Zereginetara igotako dokumentu ofimatikoak automatikoki PDF formatura bihurtu, zuzendu eta iruzkinak jarri2020-04-05T00:00:00+00:002020-04-05T00:00:00+00:00https://atxukale.eus/moodle-zereginetara-igotako-dokumentu-ofimatikoak-automatikoki-pdf-formatura-bihurtu-zuzendu-eta-iruzkinak-jarri<p>Moodle-en irakasleak zeregina izeneko jarduera bat publikatzen duenean, gero ikasleek beraien lanak bertara igo ditzakete, <a href="https://youtu.be/z-Ql57FXsYM?t=464" target="_blank">eta irakasleak hortik zuzendu ditzake</a>.</p>
<p>Ofimatika dokumentuak (LibreOffice, Microsoft Office) automatikoki PDF bihurtzen ditu, eta irakasleak PDF horren gainean "marrazten du". Irakaslek jarritako iruzkinekin beste PDF bat sortzen da, eta hau da ikasleak feedback moduan jasotzen duena.</p>
<p>Hau egin ahal izateko, zebitzarian unoconv paketea instalatuta egon behar da</p>
<p style="padding-left: 60px;"><code>apt-get install unoconv</code></p>
<p>Ondoren "unoconv listener" martxan jarri behar dugu, <a href="https://docs.moodle.org/38/en/Universal_Office_Converter_(unoconv)#Run_a_unoconv_listener" target="_blank">hemen azaltzen den bezala</a>. Debian baten kasuan</p>
<ol>
<li><a href="https://docs.moodle.org/38/en/mod/assign/feedback/editpdf/testunoconv/initd">Orrialde honen bukaeran</a> dagoen scripta kopiatu, <strong><em>/etc/init.d/unoconvd</em></strong> fitxategia sortu eta bertan itsasi</li>
<li>/etc/init.d/unoconvd fitxategiari exekuzio baimenak eman: <em><strong>chmod ugo+x /etc/init.d/unoconvd</strong></em></li>
<li>Zerbitzu moduan exekutatu dadin konfiguratu: <em><strong>sudo update-rc.d unoconvd defaults</strong></em></li>
<li><em>cron</em> barruan lerro hau gehitu. 5 minuturo begiratuko du ea zerbitzua bizirik dagoen, eta ez balego martxan jarriko luke: </li>
</ol>
<p style="padding-left: 30px;"><strong><em>*/5 * * * * /usr/bin/service unoconvd status > /dev/null || (/usr/bin/service unoconvd start && echo "Restarted crashed unoconv listener") </em></strong></p>
<p>Baina hau ez da nahikoa. Apache zerbitzua www-data erabiltzaileak kudeatzen du, eta honek baimenak behar izaten ditu unoconv prozesua behar den bezala erabiltzeko, bestela ez da gai dokumentuak PDF bihurtzeko. Nik honela konpondu izan dut</p>
<h2>unoconv scripta aldatu eta HOME aldagaiaren balioa "/tmp" jarri</h2>
<p>Trikimailu hau <a href="https://github.com/unoconv/unoconv/issues/87#issuecomment-231915518" target="_blank">hemendik hartu det</a>. <strong><em>/usr/bin/unoconv</em> </strong>fitxategiko 1216 lerroan hau gehitu</p>
<p style="padding-left: 60px;"><code>os.environ['HOME'] = '/tmp'</code></p>
<p>Honekin www-data erabiltzaileak ez du arazorik izango behar dituen fitxategiak /tmp barruan sortzeko.</p>
<p>Azkenik, www-data erabiltzaileari sudo baimenak emango dizkiogu, baina soilik /usr/bin/unoconv scripta exekutatu ahal izateko, beste ezer ezin izango du egin sudo moduan.</p>
<p>Editatu /etc/sudoers fitxategia eta "root ALL=(ALL:ALL) ALL" lerroaren azpian, hau gehitu</p>
<p style="padding-left: 60px;"><code>www-data ALL=NOPASSWD: /usr/bin/unoconv</code></p>
<p>Eta listo, honekin Moodle-ek ez du izango arazorik ikasleek zereginetara igotzen dituzten ofimatika dokumentuak automatikoki PDF formatura bihurtzeko, eta ondorioz irakasleek ikasleen lanen gainean beraien oharrak eta iruzkinak <em><strong>margotu</strong></em> ahal izango dituzte.</p>
<p> </p>
<p> </p>Pedro ArreitunandiaMoodle-en irakasleak zeregina izeneko jarduera bat publikatzen duenean, gero ikasleek beraien lanak bertara igo ditzakete, eta irakasleak hortik zuzendu ditzake. Ofimatika dokumentuak (LibreOffice, Microsoft Office) automatikoki PDF bihurtzen ditu, eta irakasleak PDF horren gainean "marrazten du". Irakaslek jarritako iruzkinekin beste PDF bat sortzen da, eta hau da ikasleak feedback moduan jasotzen duena. Hau egin ahal izateko, zebitzarian unoconv paketea instalatuta egon behar da apt-get install unoconv Ondoren "unoconv listener" martxan jarri behar dugu, hemen azaltzen den bezala. Debian baten kasuan Orrialde honen bukaeran dagoen scripta kopiatu, /etc/init.d/unoconvd fitxategia sortu eta bertan itsasi /etc/init.d/unoconvd fitxategiari exekuzio baimenak eman: chmod ugo+x /etc/init.d/unoconvd Zerbitzu moduan exekutatu dadin konfiguratu: sudo update-rc.d unoconvd defaults cron barruan lerro hau gehitu. 5 minuturo begiratuko du ea zerbitzua bizirik dagoen, eta ez balego martxan jarriko luke: */5 * * * * /usr/bin/service unoconvd status > /dev/null || (/usr/bin/service unoconvd start && echo "Restarted crashed unoconv listener") Baina hau ez da nahikoa. Apache zerbitzua www-data erabiltzaileak kudeatzen du, eta honek baimenak behar izaten ditu unoconv prozesua behar den bezala erabiltzeko, bestela ez da gai dokumentuak PDF bihurtzeko. Nik honela konpondu izan dut unoconv scripta aldatu eta HOME aldagaiaren balioa "/tmp" jarri Trikimailu hau hemendik hartu det. /usr/bin/unoconv fitxategiko 1216 lerroan hau gehitu os.environ['HOME'] = '/tmp' Honekin www-data erabiltzaileak ez du arazorik izango behar dituen fitxategiak /tmp barruan sortzeko. Azkenik, www-data erabiltzaileari sudo baimenak emango dizkiogu, baina soilik /usr/bin/unoconv scripta exekutatu ahal izateko, beste ezer ezin izango du egin sudo moduan. Editatu /etc/sudoers fitxategia eta "root ALL=(ALL:ALL) ALL" lerroaren azpian, hau gehitu www-data ALL=NOPASSWD: /usr/bin/unoconv Eta listo, honekin Moodle-ek ez du izango arazorik ikasleek zereginetara igotzen dituzten ofimatika dokumentuak automatikoki PDF formatura bihurtzeko, eta ondorioz irakasleek ikasleen lanen gainean beraien oharrak eta iruzkinak margotu ahal izango dituzte. Moodle ikastaroa bideotutorialen bitartez2020-03-31T00:00:00+00:002020-03-31T00:00:00+00:00https://atxukale.eus/moodle-ikastaroa-bideotutorialen-bitartez<p>Ondoren jartzen dizkizuet Cadiz-ko Unibertsitatekoek beraien Youtube kanalean publikatu duten bideo sorta gaika antolatuta.</p>
<p>Eduki hauek beraien Moodle (Campus Virtual deitzen diote) irakasle zein ikasleei nola funtzionatzen duen azaltzeko sortu dituzte. Moodle eta BigBlueButton integratuta dituztenez, BBB tresnaren erabilera ere azaltzen dute.</p>
<p>Moodle formakuntzarako oso bideotutorial egokiak dira. Bideoak gazteleraz daude, baina hemen jartzen ditut kalitate oso onekoak direlako, eta uste det oso baliagarriak izan daitezkeela.</p>
<h1>Moodle lehen aldiz erabiltzen</h1>
<ul>
<li><a href="https://youtu.be/gPew24iMRew" target="_blank">Moode interfazeari buruzko oinarrizko azalpenak </a></li>
<li><a href="https://youtu.be/jw6AIiTj4wY" target="_blank">Oinarrizko kudeaketa</a></li>
</ul>
<h2>Baliabideak eta jarduerak</h2>
<h3>Baliabideak: ikasleen eskura informazioa jartzeko era ezberdinak</h3>
<ul>
<li><a href="https://youtu.be/HAvjUKtkIPk" target="_blank">Sarrera</a></li>
<li><a href="https://youtu.be/UdItB-MpI-M" target="_blank">Fitxategiak</a></li>
<li><a href="https://youtu.be/WJyevQ-HPEw" target="_blank">Fitxategien kudeaketa</a></li>
<li><a href="https://youtu.be/6qYgsdPeLYw" target="_blank">Karpetak</a></li>
<li><a href="https://youtu.be/Bnz4huKfpaE" target="_blank">Orrialdeak</a></li>
<li><a href="https://youtu.be/QdqDa5D_RAE" target="_blank">HTML editorea</a></li>
<li><a href="https://youtu.be/_ypZHp2kEUE" target="_blank">URL edo web helbidea</a></li>
</ul>
<h3>Jarduerak: Ikasleen parte-hartzea sustatzeko tresnak</h3>
<ul>
<li>Zereginak: Ikasleen lanak nola jaso eta ebaluatu
<ul>
<li><a href="https://youtu.be/mb3OqnS_TVk" target="_blank">Zereginak sortzen</a></li>
<li><a href="https://youtu.be/z-Ql57FXsYM" target="_blank">Zereginak ebaluatzen</a></li>
</ul>
</li>
<li>Galdetegiak:
<ul>
<li><a href="https://youtu.be/ZJXYEGThpMk" target="_blank">Galdetegia sortzen</a></li>
<li><a href="Galderak kategorietan antolazen" target="_blank">Galderak kategorietan antolazen</a></li>
<li><a href="https://youtu.be/zkIAFBHTt3c" target="_blank">Galdetegian galderak nola kudeatu</a> , <a href="https://youtu.be/P2Jn53lS5sU" target="_blank">beste bat</a>, <a href="https://www.youtube.com/watch?v=bWlkVJ43_o8&feature=youtu.be" target="_blank">eta beste bat</a></li>
<li><a href="https://youtu.be/yNqImBsTtac" target="_blank">Galdetegiko galderak nola sortu</a></li>
<li>Galdera motak
<ul>
<li><a href="https://youtu.be/lY6zqaOTF6k">Egia ala gezurra</a></li>
<li><a href="https://youtu.be/2RLhdv5ArDw">Aukera anitzak</a></li>
<li><a href="https://youtu.be/7ejL9CQvnZM" target="_blank">Erantzun laburreko galderak</a></li>
</ul>
</li>
</ul>
</li>
<li>Foroak
<ul>
<li><a href="https://youtu.be/B-r3J5_9wKQ" target="_blank">Foroa sortu</a></li>
<li><a href="https://youtu.be/7EUVfNbnf00" target="_blank">Foroa kudeatu</a></li>
</ul>
</li>
<li>Inkestak
<ul>
<li><a href="https://youtu.be/iHpWn6xGajE" target="_blank">Inkesta sortu</a></li>
<li><a href="https://youtu.be/-vlp0xa3ix0" target="_blank">Galderak kudeatu</a></li>
<li><a href="https://youtu.be/zpRZc2BanPo" target="_blank">Erantzunen analisia</a></li>
</ul>
</li>
<li><a href="https://youtu.be/fMeRoh6uHJA" target="_blank">Kontsulta edo galderak</a></li>
<li><a href="https://youtu.be/jEUM7_LNnYc" target="_blank">Tailerra</a></li>
<li>Glosarioa
<ul>
<li><a href="https://youtu.be/A6oWNp9V0Fw" target="_blank">Glosarioa sortu</a></li>
<li><a href="https://youtu.be/QClafmV_0bE" target="_blank">Glosarioan sarrerak sortu</a></li>
<li><a href="https://youtu.be/PtkYtR_kpFA" target="_blank">Glosarioaren kudeaketa</a></li>
</ul>
</li>
<li><a href="https://youtu.be/PtkYtR_kpFA" target="_blank">Sarbide murrizketa</a></li>
</ul>
<h2>Talde lana</h2>
<ul>
<li><a href="https://youtu.be/qUN2HEV4mmw" target="_blank">Sarrera</a></li>
<li><a href="https://youtu.be/iDbX0kl5xOA" target="_blank">Ikastaro konfigurazioa</a></li>
<li><a href="https://youtu.be/SsLoX7CJHDQ" target="_blank">Taldeen kudeaketa</a></li>
<li><a href="https://youtu.be/kpAz_pxkskI" target="_blank">Ikasleak taldeetan banatzen</a></li>
</ul>
<p> </p>
<h2>Ikasleen jarraipena eta ebaluazioa</h2>
<ul>
<li><a href="https://youtu.be/LYC9d6E3H4w" target="_blank">Ebaluazio kategoriak</a></li>
<li><a href="https://youtu.be/o9UAxfyNgXM" target="_blank">kalifikazio item-ak</a></li>
<li><a href="https://youtu.be/sjwBXz5lCNQ" target="_blank">Kalifikazio eskalak</a></li>
<li><a href="https://youtu.be/CRepIMDBkkc" target="_blank">Ikasleen kalifikazioen txostena</a></li>
<li><a href="https://youtu.be/a0CzvSHNZcU" target="_blank">Ikasleen emaitzak esportatu</a></li>
<li><a href="https://youtu.be/5m39H2wK88k" target="_blank">Jarduera txostenak</a></li>
</ul>
<h2>Konfigurazioa eta aukera orokorrak</h2>
<ul>
<li><a href="https://youtu.be/gPew24iMRew" target="_blank">Ikastaro guztien interfaze orokorra</a></li>
<li><a href="https://youtu.be/BJiBC4k3K7U" target="_blank">Konfigurazio orokorra</a></li>
<li><a href="https://youtu.be/aRsVBAHFjmM" target="_blank">Erabiltzaile aukerak pertsonalizatu</a></li>
<li><a href="https://youtu.be/lPgwzrl8UU4" target="_blank">Ekintzak konfiguratzeko menua</a></li>
<li><a href="https://youtu.be/Phhu4o4B3B4" target="_blank">Edizioa gaitu eta desgaitu</a></li>
<li><a href="https://youtu.be/zKaKZj5rFuw" target="_blank">Atalak kudeatzen</a></li>
<li><a href="https://youtu.be/M-uVF14UHoo" target="_blank">Rola aldatu</a></li>
<li><a href="https://youtu.be/2dRMgMlp7jU" target="_blank">Zakarrontzia kudeatu</a></li>
<li><a href="https://youtu.be/-XzzRnyeV50" target="_blank">Segurtasun kopiak, Inportatu eta esportatu</a></li>
<li><a href="https://youtu.be/P12s2EQb8-E" target="_blank">Erabiltzaile profila</a></li>
</ul>
<h2>Blokeak</h2>
<ul>
<li><a href="https://youtu.be/k48Y6YEP7jk" target="_blank"> Blokeak zer diren ulertu</a></li>
<li><a href="https://youtu.be/LzzDwK_ZLvU" target="_blank">Nabigazio bloke nagusia</a></li>
<li><a href="https://youtu.be/sbXpOAhbb-w" target="_blank">Lan baten emaitzak publikatzeko</a></li>
<li><a href="https://youtu.be/nwomE9VpAz8" target="_blank">Egutegia eta hurrengo atazak</a></li>
<li><a href="https://youtu.be/fhUU2b17G9c">Ikastaroan ikasle bakoitzak egiten duen denbora</a></li>
<li><a href="https://youtu.be/oaJfpz1df3Y" target="_blank">HTML blokea</a></li>
<li><a href="https://youtu.be/YizMfm0RxUU" target="_blank">Glosarioko ausazko sarrera</a></li>
<li><a href="https://youtu.be/Mbiqeohhcb0" target="_blank">Duela gutxiko aktibitatea, azken berriak, bilatu foroetan</a></li>
</ul>
<p> </p>
<h2>Moodle ikasleen ikuspegitik</h2>
<ul>
<li><a href="https://youtu.be/nDTmHcHOYvs" target="_blank">Ikastaroen Estruktura</a></li>
<li><a href="https://youtu.be/z78e8rz8u68" target="_blank">Blokeak</a></li>
<li><a href="https://youtu.be/94dqWFB0rGU" target="_blank">Lanak edo zereginak</a></li>
<li><a href="https://youtu.be/Kfz1eE636Yg" target="_blank">Galdetegiak</a></li>
<li><a href="https://youtu.be/t6oyVFcMoAM" target="_blank">Foroak</a></li>
<li><a href="https://youtu.be/esTHuX2cI-Q" target="_blank">Foroetan lan egiten</a></li>
<li><a href="https://youtu.be/m2_rN7aVjL0" target="_blank">Inkestak</a></li>
<li><a href="https://youtu.be/mb46Yz_Zb4E" target="_blank">Ikaskideen zerrenda</a></li>
<li><a href="https://youtu.be/xfpRwYMojbw" target="_blank">Bideokonferentziak: BigBlueButton</a></li>
</ul>
<p> </p>
<h1>BIGBLUEBUTTON konferentzia sistema</h1>
<ul>
<li><a href="https://youtu.be/Voh7JXg8vnk" target="_blank">Nola sortu bilera gela birtual bat</a></li>
<li><a href="https://youtu.be/B3XKgUPFalo" target="_blank">Gela birtual baten saioak. Kontzeptuak</a></li>
</ul>
<h3>Audioa eta bideoa</h3>
<ul>
<li><a href="https://youtu.be/Fp8nSMiJKkc" target="_blank">Audio konfigurazioa</a></li>
<li><a href="https://youtu.be/SYj6pXsqlRw" target="_blank">Audio gomendioak</a></li>
<li><a href="https://youtu.be/YiH9GolJ4oI" target="_blank">Web-kamera partekatu</a></li>
</ul>
<h3>Erabiltzaileak eta rolak</h3>
<ul>
<li><a href="https://youtu.be/N1aqI0XCCD0" target="_blank">Rolak ulertu</a></li>
</ul>
<h3>Gela birtual baten aukerak</h3>
<ul>
<li><a href="https://youtu.be/dktoyZ7TnWA" target="_blank">Txat</a></li>
<li><a href="https://youtu.be/H_yxy2yLD4Q" target="_blank"> Partekatutako oharrak</a></li>
<li><a href="https://youtu.be/dsuSCY0cxz8" target="_blank">Partekatutako edukiak eta arbela</a></li>
<li><a href="https://youtu.be/bvqSfz8X2i0" target="_blank">Pantaila partekatu</a></li>
<li><a href="https://youtu.be/jqZB8misxJU" target="_blank">Inkestak</a></li>
<li><a href="https://youtu.be/2KbmDBeRx2g" target="_blank">Bideo bat ikusi ikasleekin batera</a></li>
<li><a href="https://youtu.be/88nAHqX5zeU" target="_blank">Saioen grabaketa</a></li>
</ul>
<p> </p>
<p> </p>Pedro ArreitunandiaOndoren jartzen dizkizuet Cadiz-ko Unibertsitatekoek beraien Youtube kanalean publikatu duten bideo sorta gaika antolatuta. Eduki hauek beraien Moodle (Campus Virtual deitzen diote) irakasle zein ikasleei nola funtzionatzen duen azaltzeko sortu dituzte. Moodle eta BigBlueButton integratuta dituztenez, BBB tresnaren erabilera ere azaltzen dute. Moodle formakuntzarako oso bideotutorial egokiak dira. Bideoak gazteleraz daude, baina hemen jartzen ditut kalitate oso onekoak direlako, eta uste det oso baliagarriak izan daitezkeela. Moodle lehen aldiz erabiltzen Moode interfazeari buruzko oinarrizko azalpenak Oinarrizko kudeaketa Baliabideak eta jarduerak Baliabideak: ikasleen eskura informazioa jartzeko era ezberdinak Sarrera Fitxategiak Fitxategien kudeaketa Karpetak Orrialdeak HTML editorea URL edo web helbidea Jarduerak: Ikasleen parte-hartzea sustatzeko tresnak Zereginak: Ikasleen lanak nola jaso eta ebaluatu Zereginak sortzen Zereginak ebaluatzen Galdetegiak: Galdetegia sortzen Galderak kategorietan antolazen Galdetegian galderak nola kudeatu , beste bat, eta beste bat Galdetegiko galderak nola sortu Galdera motak Egia ala gezurra Aukera anitzak Erantzun laburreko galderak Foroak Foroa sortu Foroa kudeatu Inkestak Inkesta sortu Galderak kudeatu Erantzunen analisia Kontsulta edo galderak Tailerra Glosarioa Glosarioa sortu Glosarioan sarrerak sortu Glosarioaren kudeaketa Sarbide murrizketa Talde lana Sarrera Ikastaro konfigurazioa Taldeen kudeaketa Ikasleak taldeetan banatzen Ikasleen jarraipena eta ebaluazioa Ebaluazio kategoriak kalifikazio item-ak Kalifikazio eskalak Ikasleen kalifikazioen txostena Ikasleen emaitzak esportatu Jarduera txostenak Konfigurazioa eta aukera orokorrak Ikastaro guztien interfaze orokorra Konfigurazio orokorra Erabiltzaile aukerak pertsonalizatu Ekintzak konfiguratzeko menua Edizioa gaitu eta desgaitu Atalak kudeatzen Rola aldatu Zakarrontzia kudeatu Segurtasun kopiak, Inportatu eta esportatu Erabiltzaile profila Blokeak Blokeak zer diren ulertu Nabigazio bloke nagusia Lan baten emaitzak publikatzeko Egutegia eta hurrengo atazak Ikastaroan ikasle bakoitzak egiten duen denbora HTML blokea Glosarioko ausazko sarrera Duela gutxiko aktibitatea, azken berriak, bilatu foroetan Moodle ikasleen ikuspegitik Ikastaroen Estruktura Blokeak Lanak edo zereginak Galdetegiak Foroak Foroetan lan egiten Inkestak Ikaskideen zerrenda Bideokonferentziak: BigBlueButton BIGBLUEBUTTON konferentzia sistema Nola sortu bilera gela birtual bat Gela birtual baten saioak. Kontzeptuak Audioa eta bideoa Audio konfigurazioa Audio gomendioak Web-kamera partekatu Erabiltzaileak eta rolak Rolak ulertu Gela birtual baten aukerak Txat Partekatutako oharrak Partekatutako edukiak eta arbela Pantaila partekatu Inkestak Bideo bat ikusi ikasleekin batera Saioen grabaketa BigBlueButton, bideokonferentziak egiteko software libreko tresna2020-03-21T00:00:00+00:002020-03-21T00:00:00+00:00https://atxukale.eus/bigbluebutton-bideokonferentziak-egiteko-software-libreko-tresna<h2>Sarrera</h2>
<p>Gaur egun bizi dugun isolamendu egoeran, ezinbestekoa da bideokomunikazioarako tresnak eskuragarri izatea. <a href="https://librezale.eus/wiki/KomunikazioEtaElkarlanerakoTresnak" target="_blank">Librezalekoek publikatu duten zerrendan</a> begiratzen badugu, orain arte askok ezagutzen ez genituen, baina orain egunero erabiltzen ditugun Jitsi moduko tresnak ikusiko ditugu.<br /><br />Nik post honetan, <a href="https://librezale.eus/wiki/KomunikazioEtaElkarlanerakoTresnak#BigBlueButton" target="_blank">BigBlueButton</a> tresnaren instalazioa nola egin dezakegun azalduko dut, baina horrekin hasi aurretik, esan behar dut <em><strong>hezkuntzarako oso tresna baliagarria</strong></em> iruditzen zaidala. Irakaskuntza prozesuan erabiltzen diren rolak eta funtzioak oso ondo betetzen dituela esango nuke, adibidez:</p>
<ul>
<li>Ikasgela fisikoan bezala, irakasleak bere rol propioa izango du tresna honetan, eta rol horrek emango dion boterea erabiliz
<ul>
<li>Ikasle talde osoarekin txat publikoa izateaz gain, ikasle bakoitzarekin txat pribatua erabili ahal izango du.</li>
<li>Ikasle bati hitza eman ahal izango dio, eta "arbelera atera", hau da, denek ikusten duten arbel digitalean gauzak egiteko aukera eman.</li>
<li>Bideoa eta audioa erabiliz, ikasle bati bere mikroa eta kamera aktibatzeko esan, eta ikaskide guztien aurrean zerbait azaltzeko eskatu (arbelera atera)</li>
<li>Moderatzailea izanik, ikasle zehatz baten edo partaide guztien mikroa isildu ahal izango du saguaren klik bakar batekin</li>
<li>Ikasle baten jarrera egokia ez denean, klik bakar batekin gelatik atera ahal izango du</li>
<li>Partaide guztien artean dokumentu bat osatu ahal izango da era kolaboratzailean</li>
<li>Irakasleak/Moderatzaileak klik bakar batekin nahi duen beste inkesta abiatu ahal izango ditu une bakoitzean ikasleek/partaideek bete dezaten. Honekin klasea irauten duen bitartean, azaldutako gaiak ulertzen ari diren ala ez jakin ahal izango du</li>
<li>Partaide bakoitzak emoticon bidez bere egoera azaldu ahal izango du : Hitza eskatu, pozik edo triste nago, ...</li>
<li>Aurkezle/irakasleak arbelera aurkezpenak igo ahal izango ditu, eta partaide guztiek ikusi eta entzun ahal izango dute irakaslea aurkezpena azaltzen.</li>
<li>Irakasleak edozein momentutan ikasle bati aurkezle rola esleitzen badio, ikasle honek aurkezpenaren kontrola har dezake. Hortaz gain, une horretan bera aurkezle denez, bere ordenagailuan dituen dokumentuak igo ahal izango ditu aurkezpenera, eta ikaskide guztiei bere lana azaldu.</li>
<li>Aurkezleak Youtube, Vimeo eta beste plataforma batzuetako bideo esteka bat igo dezake, eta berak kudeatuko du ikasle bakoitzaren ordenagailuan bideoaren erreprodukzioa: pausatu, ikusten jarraitu, bukatu ikustea. Honek aukera emango dio irakasleari bideoan azaltzen diren hainbat pasarte komentatzeko, eta bideoaren audioarekin batera, ikasleek bere komentarioak entzun ahal izango dituzte. Gela fisikoan proiektorea erabiliz egiten duena.</li>
</ul>
</li>
</ul>
<p>Gauza gehiago ere egin daitezke, baina azalpen honekin zera argitu nahi nuke: Tresna hau ez dela bideokonferentzia tresna soil bat, tresna honek ikasgela baten egunero ikusten ditugun rolak eta funtzioak era birtualean gauzatzeko pentsatuta dagoela.<br /><br />Eta hau aipatu gabe ezin utzi: Sofware libre hau gure kontrolpean dagoen zerbitzari baten instalatuko dugunez, badakigu bideokonferentzia horiek ez direla grabatuta geratuko nazioarteko enpresa handien eskuetan, parte-hartzaileen pribatutasuna babestuta eta bermatuta egongo da.</p>
<h2>Nola erabili ahal izango dugu ?</h2>
<p>Tresna hau oso ondo integratzen da Moodle-ekin. Moodle-en <a href="https://moodle.org/plugins/mod_bigbluebuttonbn" target="_blank">plugin bat instalatu behar da</a> eta plugin horren konfigurazioan BigBlueButton zerbitzariarekin lotu, 10 segundoko lana, besterik ez.<br /><br />Moodle gabe ere erabili daiteke, kasu honetan <a href="https://docs.bigbluebutton.org/greenlight/gl-overview.html" target="_blank">GreenLigth</a> erabiliz. Tresna oso baliagarria da bilerak egiteko, aurrez azaldu ditugun funtzio asko erabiltzen baitira bileretan, ikastetxe bateko irakasleen artean izan, edo enpresa bateko kideen artean izan.</p>
<h2>Instalazioarekin hasi aurretik, dena prestatu</h2>
<h3>Firewall edo suhesia, eta NAT konfigurazioa</h3>
<p>Software honen instalazioa oso erraz egiten da (lerro bateko komando bat), baina oso garrantzitsua da instalazioarekin hasi aurretik Firewall-a prest izatea.<br /><br />Beraien <a href="https://docs.bigbluebutton.org/2.2/configure-firewall" target="_blank">dokumentazioan aukera edo eszenatoki ezberdinak</a> planteatzen badituzte ere, nire aholkua hau da: <strong>Saihestu NAT egitea IP publiko eta IP pribatuen artean</strong>. <br /><br />Ni hasiera batean horrela konfiguratzen saiatu nintzen eta arazo batzuk izan nituen. Zerbitzaria NAT gabe eta IP publiko batekin konfiguratu ondoren, dena ondo eta batere arazorik ez.</p>
<p><img class="img-responsive" class="img-responsive" src="https://docs.bigbluebutton.org/images/11-install-net0.png" alt="https://docs.bigbluebutton.org/images/11-install-net0.png" /></p>
<p><br />NAT gabe jarri arren, Firewall batekin babestu dezakegu zerbitzaria, izan ere gomendagarria da. <br /><br />Aurretik firewall-a jarri badiogu, Internetetik portu hauetara datorren trafikoa baimendu.</p>
<ul>
<li>TCP-80, TCP-443, TCP-7443, TCP-22</li>
<li>UDP 16384-32768</li>
<li>ICMP</li>
</ul>
<h3>Zerbitzaria</h3>
<p>BigBlueButton non instalatu ez baduzu, beti duzu zerbitzari bat alokatzeko aukera behar duzun denborarako. Zerbitzari hori zuk kudeatuko zenuke, bertara konektatu eta zure BigBlueButton zerbitzaria instalatzeko aukera izango zenuke. <br /><br />Adibidez, <a href="https://www.digitalocean.com/products/droplets/" target="_blank">DigitalOcean</a>-en hilean 80$ ordainduz edozeinek lor dezake zerbitzari txukun bat. Hau pertsona arrunt batentzako diru asko izan daiteke, baina eskola edo erakunde batentzako ez da ezer. Gainera, ez da betirako. Lau hilabetez erabili zenezake, eta gero bertan behera utzi.<br /><br />Zerbitzariak <a href="https://docs.bigbluebutton.org/2.2/install.html#minimum-server-requirements" target="_blank">ezaugarri hauek</a> bete behar ditu</p>
<ul>
<li><strong>Ubuntu 16.04 64</strong>-bit Linux kernel 4.x: Ez da Ubuntu berria, baina itxuraz bertsio honetarako egokitu dute intalazioa. Bertsio hau LTS bertsioa denez, <a href="https://wiki.ubuntu.com/Releases" target="_blank">eguneraketak 2021eko apirilerarte</a> egongo dira</li>
<li><strong>RAM</strong>: 4 GB da gutxienezkoa, nik <strong>8GB</strong> jarriko nizkioke, eta aukeran 16GB.</li>
<li><strong>CPU: 8 core</strong>, eta aukeran 16</li>
</ul>
<p>Ubuntu zerbitzaria instalatzen dugunean, ez dugu mahaigainik instalatuko, ezta ere web zerbitzaririk (80 eta 443 portuak libre egon behar dira). Bai ordea ssh zerbitzua, zerbitzariaren konfigurazioa egin ahal izateko beharko dugulako.<br /><br />Hasi ba lanean. Ubuntu instalazioa egin, eta gero jarraitu hau irakurtzen.</p>
<h3>DNS-etan gure zerbitzariaren izena publikatu</h3>
<p>Garrantzitsua da hau egina egotea BigBlueButtton instalatzen hasi aurretik. Interneten publikatuta egongo den DNS izen bat behar dugu. Demagun gure zerbitzariaren DNS izena <strong>bigbluebutton.example.com</strong> dela, eta bere IP publikoa hau dela: <strong>203.0.113.1</strong><br /><br />Dena ondo dagoela ziurtatzeko, ping bat egingo diogu: <strong><em>ping bigbluebutton.example.com</em></strong> , eta erantzuna <strong>203.0.113.1</strong> helbidetik jaso beharko dugu.</p>
<h2>Instalazioa</h2>
<p>Hona heldu bazara, dagoeneko Ubuntu zerbitzaria instalatu duzu, Firewall-a konfiguratu duzu, eta Interneteko DNSetan zure zerbitzariaren izena publikatuta dago. Orain BigBlueButton instalatzen hasiko gara. <br /><br />Hasieran azaldu dugun moduan, BBB bi eratara erabili daiteke: Moodle-eko jarduera baten bidez, edo Moodle gabe <a href="https://docs.bigbluebutton.org/greenlight/gl-install.html#installing-on-a-bigbluebutton-server" target="_blank">GreenLigth interfazea erabiliz</a> </p>
<p>Aukera hauek ez dira kontrajarriak, aukera biak erabili ditzakezu. Izan ere, ikastetxe batek nahi izango du ikasleekin Moodle jarduera bidez erabiltzea, baina irakasleen arteko bilerak egiteko, gurasoekin biltzeko, ...., Moodle ikastaro baten beharrik gabe ere erabili ahal izatea oso praktikoa izango da.</p>
<p>GreenLigth-ek docker erabiliko duenez, goazen docker instalatzera eta gerorako prest utziko dugu.</p>
<h3>Docker instalazioa</h3>
<p>Gure Ubuntu zerbitzaria orain instalatu dugunez, ez du docker instalatuta izango, beraz docker instalatuko dugu <a href="https://docs.docker.com/install/linux/docker-ce/ubuntu/" target="_blank">hemen</a> azaltzen den bezala:</p>
<p style="padding-left: 60px;"><br /><code>apt-get update</code><br /><br /><code>sudo apt-get install \</code><br /><code> apt-transport-https \</code><br /><code> ca-certificates \</code><br /><code> curl \</code><br /><code> gnupg-agent \</code><br /><code> software-properties-common</code><br /><br /><code>curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -</code><br /><br /><code>sudo add-apt-repository \</code><br /><code> "deb [arch=amd64] https://download.docker.com/linux/ubuntu \</code><br /><code> $(lsb_release -cs) \</code><br /><code> stable"</code><br /><br /><code>apt-get update</code><br /><br /><code>apt-get install docker-ce docker-ce-cli containerd.io</code></p>
<p style="padding-left: 30px;"><br />Orain <strong>docker -v</strong> komandoarekin ikusiko dugu zein den instalatu duen bertsioa. Gure kasuan hau da<br /><strong>Docker version 19.03.8, build afacb8b7f0</strong><br /><br />Ondoren <strong>docker-compose</strong> <a href="https://docs.docker.com/compose/install/" target="_blank">instalatuko degu</a></p>
<p> </p>
<p><br /><code>sudo curl -L "https://github.com/docker/compose/releases/download/1.25.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose</code><br /><br /><code>chmod +x /usr/local/bin/docker-compose</code><br /><br /><code>docker-compose --version</code></p>
<p> </p>
<h3>Greenlight lehen zatia</h3>
<p>Greenlight karpeta sortuko dugu. <br /><br /><code>mkdir ~/greenlight && cd ~/greenlight</code><br /><br />Ondoren, <a href="https://docs.bigbluebutton.org/greenlight/gl-install.html#2-install-greenlight" target="_blank">dokumentazioan dioten moduan</a> komando hau exekutatu<br /><br /><code>docker run --rm bigbluebutton/greenlight:v2 cat ./sample.env > .env</code><br /><br />Honekin<strong> .env</strong> fitxategia sortu da. Fitxategi honetan egongo da GreenLight konfigurazioa, eta jarraian ikusiko dugu nola konfiguratuko dugun.</p>
<h3>BigBlueButton instalazioa</h3>
<p>BBBkoek <a href="https://github.com/bigbluebutton/bbb-install" target="_blank">script bat </a>prestatu dute instalazioa egiteko, ondoren erabiliko dugun komandoak hau egingo du:<br /><br /></p>
<ul>
<li>Ubuntu 16.4 Xenial distribuziorako <strong>220</strong> bertsioa instalatuko du. Dokumentu hau egiterakoan dagoen azkena.</li>
<li>Behar dena konfiguratuko du <em><strong>bigbluebutton.example.com</strong></em> domeinuarekin. Kontutan izan hau adibidean erabiltzen ari garen izena dela, zure kasuan beste bat izango da.</li>
<li>Bide batez LetsEncrypt ziurtagiria instalatuko du <strong><em>bigbluebutton.example.com</em></strong> domeinuarentzat</li>
<li>LetsEncrypt domeinu honi buruzko mezuak <em><strong>sistemak@example.com</strong></em> helbidera bidaltzeko konfiguratu</li>
<li>Greenlight docker irudia instalatuko du</li>
</ul>
<p>Orain BBB instalatzeko komando hau erabiliko degu. Ordu erdi bat beharko du dena egiteko, beraz hartu kafe bat lasai.<br /><br /><code>wget -qO- https://ubuntu.bigbluebutton.org/bbb-install.sh | bash -s -- -v xenial-220 -s bigbluebutton.example.com -e sistemak@example.com -g</code><br /><br />Bukatzen duenean komando honek esango dizu zein den <strong><em>Secrect pasahitza,</em></strong> datu hau beharko dezu URL parametroarekin batera Moodle-en plugina eta GreenLight konfiguratzeko<br /><br /><code>bbb-conf --secret</code><br /><br />Honekin BigBlueButton martxan eta erabilgarri dago. Esan dizuet, komando bakar batekin instalatzen da.<br /><br /></p>
<h3>Greenlight bigarren zatia</h3>
<p>Orain Greenlight konfiguratzen jarraitzen degu <a href="https://docs.bigbluebutton.org/greenlight/gl-install.html#3-configure-greenlight" target="_blank">dokumentazioa</a> jarraituz. Docker irudiari Secret pasahitza zein den galdetuko diogu<br /><br /><code>docker run --rm bigbluebutton/greenlight:v2 bundle exec rake secret</code><br /><br />eta eman digun emaitza <strong>.env</strong> fitxategiko <strong>SECRET_KEY_BASE</strong> aldagian jarriko degu<br /><br /><strong>.env</strong> konfigurazioan ere jarri beharko dugu BigBlueButton-ek ematen digun secret pasahitza<br /><br /><em><strong>bbb-conf --secret</strong></em> komandoak ematen digun <strong>Secret</strong> kopiatu eta<strong> .env</strong> fitxategiko <strong>BIGBLUEBUTTON_SECRET</strong> aldagaian jarriko degu. Oraingoz egin ditugun aldaketekin .env fitxategian dena ondo dagoela ziurtatzeko<br /><br /><code>docker run --rm --env-file .env bigbluebutton/greenlight:v2 bundle exec rake conf:check</code><br /><br />Ondoren nginx-ekin konfigurazioa egingo dugu komando honen bitartez<br /><br /><code>docker run --rm bigbluebutton/greenlight:v2 cat ./greenlight.nginx | sudo tee /etc/bigbluebutton/nginx/greenlight.nginx</code><br /><br />Konfigurazioa bere lekuan jarri denez, nginx berrabiaraziko dugu<br /><br /><code>systemctl restart nginx</code><br /><br /><strong>Docker-compose.yml</strong> fitxategia komando baten bidez sortuko dugu. Horretarako greenlight karpetan sartu <br /><br /><code>cd ~/greenligh</code>t<br /><br />eta komando hau exekutatuko dugu<br /><br /><code>docker run --rm bigbluebutton/greenlight:v2 cat ./docker-compose.yml > docker-compose.yml</code><br /><br />Greenlight-ek erabiltzen duen PostgreSQL pasahitza sortu eta .env fitxategian jartzeko komando hau erabiliko dugu<br /><br /><code>export pass=$(openssl rand -hex 8); sed -i 's/POSTGRES_PASSWORD=password/POSTGRES_PASSWORD='$pass'/g' docker-compose.yml;sed -i 's/DB_PASSWORD=password/DB_PASSWORD='$pass'/g' .env</code><br /><br />Azkenik docker-compose bidez martxan jarri <br /><br /><code>docker-compose up -d</code><br /><br />Honekin Greenlight martxan izango genuke. Bere interfazean sartzeko, <strong><em>https://bigbluebutton.example.com/b</em></strong> helbidean sartu behar gara. Fijatu ondo, bukaeran dagoen<strong> /b</strong> horrekin, ez da akats bat.<br /><br />Administratzaile rola izango duen erabiltzailea sortuko dugu. Horretarako komando hau erabiliko dugu<br /><br /><code>docker exec greenlight-v2 bundle exec rake user:create["<strong>nireadminizena</strong>","<strong>sistemak@example.com</strong>","<strong>NireSuperPasahitza</strong>","<strong>admin</strong>"]</code></p>
<ul>
<li>izena: nireadminizena</li>
<li>posta helbidea: <a href="mailto:sistemak@example.com">sistemak@example.com</a></li>
<li>pasahitza: NireSuperPasahitza</li>
<li>rola: admin</li>
</ul>
<p>Hau eginda, <em><strong>https://bigbluebutton.example.com/b</strong></em> helbidean <em><strong>SignIn</strong></em> gainean klikatu, eta erabiltzaile honekin sartu ahal izango gara.<br /><br /><strong>.env</strong> fitxategiko konfigurazio <a href="https://docs.bigbluebutton.org/greenlight/gl-config.html" target="_blank">parametro gehiago ere badaude</a>, guk hauetako batzuk azalduko ditugu.<br /><br />Kontutan izan <strong><em>.env</em></strong> fitxategian parametroak aldatu bakoitzean, docker irudia geratu eta berriro ere abiatu egin beharko dugula.<br /><br /><code>docker-compose stop</code><br /><code>docker-compose up -d</code></p>
<h3>GreenLight konfigurazio parametroak</h3>
<p>GreenLigth-era sartzeko bi aukera dauzkagu: Berak kudeatzen duen erabiltzaileen datu basea, eta baita ere gure ActiveDirectory edo LDAParen erabiltzaileen datu basea erabiltzea.<br /><br /><em><strong>ActiveDirectory</strong></em>-ko erabiltzaileen atzipena lortzeko, parametro hauek jarri genezake <strong>.env</strong> fitxategian.<br /><br /></p>
<p style="padding-left: 60px;"><code>LDAP_SERVER=Active-Directory-IP-Helbidea</code><br /><code>LDAP_PORT=389</code><br /><code>LDAP_METHOD=plain</code><br /><code>LDAP_UID=sAMAccountName</code><br /><code>LDAP_BASE=ou=Irakasleak,ou=Users,dc=example,dc=com</code><br /><code>LDAP_BIND_DN=cn=erabiltzaile-izena,cn=Users,dc=example,dc=com</code><br /><code>LDAP_PASSWORD=erabiltzaile-pasahitza</code><br /><code>LDAP_ROLE_FIELD=ou</code><br /><br /></p>
<p>ActiveDirector edo LDAP -eko<em> <strong>erabiltzaile-izena</strong></em> izeneko erabiltzailea erabiliko dugu AD-ra konektatzeko. Erabiltzaile honen pasahitza ere hor jarri beharko dugu. Beste parametroak, bakoitzak bere AD-ko datuekin konfiguratu beharko ditu.<br /><br />ActiveDirectory-an ez dagoen norbaiti bere guneak sortu eta bideokonferentziak sortzeko baimena eman nahi badiougu, <em><strong>ALLOW_GREENLIGHT_ACCOUNTS</strong></em> parametroaren bidez lortuko dugu<br /><br /><code>ALLOW_GREENLIGHT_ACCOUNTS=true</code><br /><br />Azken aldaketa honekin, edozeinek eskatu dezake kontu bat, baina <em><strong>DEFAULT_REGISTRATION</strong></em> parametroaren bidez, administratzailearen oniritsia beharko du kontua sortu ahal izateko<br /><br /><code>DEFAULT_REGISTRATION=approval</code><br /><br /></p>
<h2>Erabilera: Moodle</h2>
<p>Moodle administratzaileak plugina instalatu ondoren, bere konfigurazioan sartu eta parametro hauek bete beharko ditu</p>
<ul>
<li>BigBlueButton zerbitzariaren URLa : Gure adibidean, <a href="https://bigbluebutton.example.com/bigbluebutton">https://bigbluebutton.example.com/bigbluebutton</a></li>
<li>BigBlueButton sekretu partekatua: bbb-conf --secret komandoak bueltatzen diguna</li>
</ul>
<p>Beste hainbat parametro daude plugin konfigurazioan, baina honekin nahikoa da Moodle eta BigBlueButton alkarrekin lanean jartzeko.</p>
<p>Hau egin ondoren, Moodle-eko ikastaro baten sartu, jarduera berri bat gehitu, eta aukeren artean BigBlueButtonBN izenekoa agertuko zaigu. Jarduera gehitu, eta kitto,</p>
<p>Jarduera horretan irakaslea sartzen denean, moderatzaile rola izango du, eta ikastaroan dauden ikasleak sartzen direnean, parte-hartzaile rola.</p>
<h2>Erabilera: GreenLigth</h2>
<p>Kasu honetan ez gara Moodle bidez sartuko, baizik eta bere web gune propiotik. Gure adibidean, hau litzateke bere helbidea <a href="https://bigbluebutton.example.com/b">https://bigbluebutton.example.com/b</a></p>
<p>LDAP edo Active directory-ko erabiltzaileek ez dute kontu berri bat sortu beharrik izango. Saioan sartzeko esteka gainean (</p>
<p>https://bigbluebutton.example.com/b/<strong>signin</strong>) klikatuz, LDAP jartzen duen esteka gorrian klikatu, eta beraien LDAP/AD erabiltzaile eta pasahitza sartu beharko dute. Hau egin ondoren, administratzaileak eskaera baimendu arte zai egon beharko dira.</p>
<p>Administrazaileak dituen funtzioen artean nabarmenduko genituzke</p>
<ul>
<li>Erabilzaileen egoera ikusiko du, eta eskaerak baieztatu edo ezeztatuko ditu</li>
<li>Erabiltzaileen rola aldatu, erabiltzaile arrunta izatetik admin rola izatera</li>
<li>Grabazioak kudeatu ditzake</li>
<li>Une oro GreenLigth bidez egiten ari diren konferentziak ikus ditzake</li>
</ul>
<p>Erabiltzaile arrunt batek:</p>
<ul>
<li>lehen aldiz sartzen denean, bere bilera gela ikusiko du. Edozein momentutan beste bilera gela bat sortu edo ezabatu dezake.</li>
<li>Bilera gelaren ezarpenak kudeatu ditzake: Pasahitza ezabatu eta berri bat sortu, partaideek izango duten rola definitu, eta abar</li>
<li>Bilera gela beste norbaitekin erabili behar duenean, gonbidatuei bilera gelaren esteka bidali beharko die. Bilera gela bakoitzak bere pasahitza duenez, gonbidatuei estekarekin batera pasahitza bidali beharko die. Gonbidatuek ez dute gure sisteman erabiltzaile eta pasahitza izan beharrik, bilera antolatzaileak bidalitako esteka eta pasahitza nahiko dira konferentzian sartzeko.</li>
<li>Bilera gela bat sistemaren beste erabiltzaileekin elkarbanatu daiteke, beraiek ere gela berdinean baimenak izan ditzaten. Oso praktikoa mintegi edo departamenduen kideen artean gela bakar bat elkarbanatzeko.</li>
<li>Bere geletan egin diren grabazioak ikusi eta kudeatu ditzake.</li>
</ul>
<p>LDAP/AD gabe erabiltzeko, erabiltzaile bakoitzak bere kontua sortu beharko luke https://bigbluebutton.example.com/b/<strong>signup</strong> estekan klikatuz. Formularioan eskatzen zaizkion datuak bete ondoren, administratzaileak bere eskaera baimendu arte zai egon beharko lirateke.</p>
<p>Demagun orokorrean sistema hau gure LDAP/ADan dauden erabiltzaileentzat eskuragarri jarri nahi dugula, baina noizbehinka gurekin kolaboratzen duen norbaiti gure sistema erabiltzeko aukera eman nahi diogula.</p>
<p>Kasu honetan barne erabiltzaileek LDAP/AD bidez autentikatuko lirateke, eta kanpoko kolaboratzaileek, Greenlight-ek kudeatzen duen erabiltzaileen datu basea erabiliz</p>
<p> </p>
<p>Animatu eta saiatu zuen erakundeetan BigBlueButton erabiltzen, eta zalantzaren bat izanez gero, galdetu.</p>Pedro ArreitunandiaSarrera Gaur egun bizi dugun isolamendu egoeran, ezinbestekoa da bideokomunikazioarako tresnak eskuragarri izatea. Librezalekoek publikatu duten zerrendan begiratzen badugu, orain arte askok ezagutzen ez genituen, baina orain egunero erabiltzen ditugun Jitsi moduko tresnak ikusiko ditugu.Nik post honetan, BigBlueButton tresnaren instalazioa nola egin dezakegun azalduko dut, baina horrekin hasi aurretik, esan behar dut hezkuntzarako oso tresna baliagarria iruditzen zaidala. Irakaskuntza prozesuan erabiltzen diren rolak eta funtzioak oso ondo betetzen dituela esango nuke, adibidez: Ikasgela fisikoan bezala, irakasleak bere rol propioa izango du tresna honetan, eta rol horrek emango dion boterea erabiliz Ikasle talde osoarekin txat publikoa izateaz gain, ikasle bakoitzarekin txat pribatua erabili ahal izango du. Ikasle bati hitza eman ahal izango dio, eta "arbelera atera", hau da, denek ikusten duten arbel digitalean gauzak egiteko aukera eman. Bideoa eta audioa erabiliz, ikasle bati bere mikroa eta kamera aktibatzeko esan, eta ikaskide guztien aurrean zerbait azaltzeko eskatu (arbelera atera) Moderatzailea izanik, ikasle zehatz baten edo partaide guztien mikroa isildu ahal izango du saguaren klik bakar batekin Ikasle baten jarrera egokia ez denean, klik bakar batekin gelatik atera ahal izango du Partaide guztien artean dokumentu bat osatu ahal izango da era kolaboratzailean Irakasleak/Moderatzaileak klik bakar batekin nahi duen beste inkesta abiatu ahal izango ditu une bakoitzean ikasleek/partaideek bete dezaten. Honekin klasea irauten duen bitartean, azaldutako gaiak ulertzen ari diren ala ez jakin ahal izango du Partaide bakoitzak emoticon bidez bere egoera azaldu ahal izango du : Hitza eskatu, pozik edo triste nago, ... Aurkezle/irakasleak arbelera aurkezpenak igo ahal izango ditu, eta partaide guztiek ikusi eta entzun ahal izango dute irakaslea aurkezpena azaltzen. Irakasleak edozein momentutan ikasle bati aurkezle rola esleitzen badio, ikasle honek aurkezpenaren kontrola har dezake. Hortaz gain, une horretan bera aurkezle denez, bere ordenagailuan dituen dokumentuak igo ahal izango ditu aurkezpenera, eta ikaskide guztiei bere lana azaldu. Aurkezleak Youtube, Vimeo eta beste plataforma batzuetako bideo esteka bat igo dezake, eta berak kudeatuko du ikasle bakoitzaren ordenagailuan bideoaren erreprodukzioa: pausatu, ikusten jarraitu, bukatu ikustea. Honek aukera emango dio irakasleari bideoan azaltzen diren hainbat pasarte komentatzeko, eta bideoaren audioarekin batera, ikasleek bere komentarioak entzun ahal izango dituzte. Gela fisikoan proiektorea erabiliz egiten duena. Gauza gehiago ere egin daitezke, baina azalpen honekin zera argitu nahi nuke: Tresna hau ez dela bideokonferentzia tresna soil bat, tresna honek ikasgela baten egunero ikusten ditugun rolak eta funtzioak era birtualean gauzatzeko pentsatuta dagoela.Eta hau aipatu gabe ezin utzi: Sofware libre hau gure kontrolpean dagoen zerbitzari baten instalatuko dugunez, badakigu bideokonferentzia horiek ez direla grabatuta geratuko nazioarteko enpresa handien eskuetan, parte-hartzaileen pribatutasuna babestuta eta bermatuta egongo da. Nola erabili ahal izango dugu ? Tresna hau oso ondo integratzen da Moodle-ekin. Moodle-en plugin bat instalatu behar da eta plugin horren konfigurazioan BigBlueButton zerbitzariarekin lotu, 10 segundoko lana, besterik ez.Moodle gabe ere erabili daiteke, kasu honetan GreenLigth erabiliz. Tresna oso baliagarria da bilerak egiteko, aurrez azaldu ditugun funtzio asko erabiltzen baitira bileretan, ikastetxe bateko irakasleen artean izan, edo enpresa bateko kideen artean izan. Instalazioarekin hasi aurretik, dena prestatu Firewall edo suhesia, eta NAT konfigurazioa Software honen instalazioa oso erraz egiten da (lerro bateko komando bat), baina oso garrantzitsua da instalazioarekin hasi aurretik Firewall-a prest izatea.Beraien dokumentazioan aukera edo eszenatoki ezberdinak planteatzen badituzte ere, nire aholkua hau da: Saihestu NAT egitea IP publiko eta IP pribatuen artean. Ni hasiera batean horrela konfiguratzen saiatu nintzen eta arazo batzuk izan nituen. Zerbitzaria NAT gabe eta IP publiko batekin konfiguratu ondoren, dena ondo eta batere arazorik ez. NAT gabe jarri arren, Firewall batekin babestu dezakegu zerbitzaria, izan ere gomendagarria da. Aurretik firewall-a jarri badiogu, Internetetik portu hauetara datorren trafikoa baimendu. TCP-80, TCP-443, TCP-7443, TCP-22 UDP 16384-32768 ICMP Zerbitzaria BigBlueButton non instalatu ez baduzu, beti duzu zerbitzari bat alokatzeko aukera behar duzun denborarako. Zerbitzari hori zuk kudeatuko zenuke, bertara konektatu eta zure BigBlueButton zerbitzaria instalatzeko aukera izango zenuke. Adibidez, DigitalOcean-en hilean 80$ ordainduz edozeinek lor dezake zerbitzari txukun bat. Hau pertsona arrunt batentzako diru asko izan daiteke, baina eskola edo erakunde batentzako ez da ezer. Gainera, ez da betirako. Lau hilabetez erabili zenezake, eta gero bertan behera utzi.Zerbitzariak ezaugarri hauek bete behar ditu Ubuntu 16.04 64-bit Linux kernel 4.x: Ez da Ubuntu berria, baina itxuraz bertsio honetarako egokitu dute intalazioa. Bertsio hau LTS bertsioa denez, eguneraketak 2021eko apirilerarte egongo dira RAM: 4 GB da gutxienezkoa, nik 8GB jarriko nizkioke, eta aukeran 16GB. CPU: 8 core, eta aukeran 16 Ubuntu zerbitzaria instalatzen dugunean, ez dugu mahaigainik instalatuko, ezta ere web zerbitzaririk (80 eta 443 portuak libre egon behar dira). Bai ordea ssh zerbitzua, zerbitzariaren konfigurazioa egin ahal izateko beharko dugulako.Hasi ba lanean. Ubuntu instalazioa egin, eta gero jarraitu hau irakurtzen. DNS-etan gure zerbitzariaren izena publikatu Garrantzitsua da hau egina egotea BigBlueButtton instalatzen hasi aurretik. Interneten publikatuta egongo den DNS izen bat behar dugu. Demagun gure zerbitzariaren DNS izena bigbluebutton.example.com dela, eta bere IP publikoa hau dela: 203.0.113.1Dena ondo dagoela ziurtatzeko, ping bat egingo diogu: ping bigbluebutton.example.com , eta erantzuna 203.0.113.1 helbidetik jaso beharko dugu. Instalazioa Hona heldu bazara, dagoeneko Ubuntu zerbitzaria instalatu duzu, Firewall-a konfiguratu duzu, eta Interneteko DNSetan zure zerbitzariaren izena publikatuta dago. Orain BigBlueButton instalatzen hasiko gara. Hasieran azaldu dugun moduan, BBB bi eratara erabili daiteke: Moodle-eko jarduera baten bidez, edo Moodle gabe GreenLigth interfazea erabiliz Aukera hauek ez dira kontrajarriak, aukera biak erabili ditzakezu. Izan ere, ikastetxe batek nahi izango du ikasleekin Moodle jarduera bidez erabiltzea, baina irakasleen arteko bilerak egiteko, gurasoekin biltzeko, ...., Moodle ikastaro baten beharrik gabe ere erabili ahal izatea oso praktikoa izango da. GreenLigth-ek docker erabiliko duenez, goazen docker instalatzera eta gerorako prest utziko dugu. Docker instalazioa Gure Ubuntu zerbitzaria orain instalatu dugunez, ez du docker instalatuta izango, beraz docker instalatuko dugu hemen azaltzen den bezala: apt-get updatesudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-commoncurl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"apt-get updateapt-get install docker-ce docker-ce-cli containerd.io Orain docker -v komandoarekin ikusiko dugu zein den instalatu duen bertsioa. Gure kasuan hau daDocker version 19.03.8, build afacb8b7f0Ondoren docker-compose instalatuko degu sudo curl -L "https://github.com/docker/compose/releases/download/1.25.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-composechmod +x /usr/local/bin/docker-composedocker-compose --version Greenlight lehen zatia Greenlight karpeta sortuko dugu. mkdir ~/greenlight && cd ~/greenlightOndoren, dokumentazioan dioten moduan komando hau exekutatudocker run --rm bigbluebutton/greenlight:v2 cat ./sample.env > .envHonekin .env fitxategia sortu da. Fitxategi honetan egongo da GreenLight konfigurazioa, eta jarraian ikusiko dugu nola konfiguratuko dugun. BigBlueButton instalazioa BBBkoek script bat prestatu dute instalazioa egiteko, ondoren erabiliko dugun komandoak hau egingo du: Ubuntu 16.4 Xenial distribuziorako 220 bertsioa instalatuko du. Dokumentu hau egiterakoan dagoen azkena. Behar dena konfiguratuko du bigbluebutton.example.com domeinuarekin. Kontutan izan hau adibidean erabiltzen ari garen izena dela, zure kasuan beste bat izango da. Bide batez LetsEncrypt ziurtagiria instalatuko du bigbluebutton.example.com domeinuarentzat LetsEncrypt domeinu honi buruzko mezuak sistemak@example.com helbidera bidaltzeko konfiguratu Greenlight docker irudia instalatuko du Orain BBB instalatzeko komando hau erabiliko degu. Ordu erdi bat beharko du dena egiteko, beraz hartu kafe bat lasai.wget -qO- https://ubuntu.bigbluebutton.org/bbb-install.sh | bash -s -- -v xenial-220 -s bigbluebutton.example.com -e sistemak@example.com -gBukatzen duenean komando honek esango dizu zein den Secrect pasahitza, datu hau beharko dezu URL parametroarekin batera Moodle-en plugina eta GreenLight konfiguratzekobbb-conf --secretHonekin BigBlueButton martxan eta erabilgarri dago. Esan dizuet, komando bakar batekin instalatzen da. Greenlight bigarren zatia Orain Greenlight konfiguratzen jarraitzen degu dokumentazioa jarraituz. Docker irudiari Secret pasahitza zein den galdetuko diogudocker run --rm bigbluebutton/greenlight:v2 bundle exec rake secreteta eman digun emaitza .env fitxategiko SECRET_KEY_BASE aldagian jarriko degu.env konfigurazioan ere jarri beharko dugu BigBlueButton-ek ematen digun secret pasahitzabbb-conf --secret komandoak ematen digun Secret kopiatu eta .env fitxategiko BIGBLUEBUTTON_SECRET aldagaian jarriko degu. Oraingoz egin ditugun aldaketekin .env fitxategian dena ondo dagoela ziurtatzekodocker run --rm --env-file .env bigbluebutton/greenlight:v2 bundle exec rake conf:checkOndoren nginx-ekin konfigurazioa egingo dugu komando honen bitartezdocker run --rm bigbluebutton/greenlight:v2 cat ./greenlight.nginx | sudo tee /etc/bigbluebutton/nginx/greenlight.nginxKonfigurazioa bere lekuan jarri denez, nginx berrabiaraziko dugusystemctl restart nginxDocker-compose.yml fitxategia komando baten bidez sortuko dugu. Horretarako greenlight karpetan sartu cd ~/greenlighteta komando hau exekutatuko dugudocker run --rm bigbluebutton/greenlight:v2 cat ./docker-compose.yml > docker-compose.ymlGreenlight-ek erabiltzen duen PostgreSQL pasahitza sortu eta .env fitxategian jartzeko komando hau erabiliko duguexport pass=$(openssl rand -hex 8); sed -i 's/POSTGRES_PASSWORD=password/POSTGRES_PASSWORD='$pass'/g' docker-compose.yml;sed -i 's/DB_PASSWORD=password/DB_PASSWORD='$pass'/g' .envAzkenik docker-compose bidez martxan jarri docker-compose up -dHonekin Greenlight martxan izango genuke. Bere interfazean sartzeko, https://bigbluebutton.example.com/b helbidean sartu behar gara. Fijatu ondo, bukaeran dagoen /b horrekin, ez da akats bat.Administratzaile rola izango duen erabiltzailea sortuko dugu. Horretarako komando hau erabiliko dugudocker exec greenlight-v2 bundle exec rake user:create["nireadminizena","sistemak@example.com","NireSuperPasahitza","admin"] izena: nireadminizena posta helbidea: sistemak@example.com pasahitza: NireSuperPasahitza rola: admin Hau eginda, https://bigbluebutton.example.com/b helbidean SignIn gainean klikatu, eta erabiltzaile honekin sartu ahal izango gara..env fitxategiko konfigurazio parametro gehiago ere badaude, guk hauetako batzuk azalduko ditugu.Kontutan izan .env fitxategian parametroak aldatu bakoitzean, docker irudia geratu eta berriro ere abiatu egin beharko dugula.docker-compose stopdocker-compose up -d GreenLight konfigurazio parametroak GreenLigth-era sartzeko bi aukera dauzkagu: Berak kudeatzen duen erabiltzaileen datu basea, eta baita ere gure ActiveDirectory edo LDAParen erabiltzaileen datu basea erabiltzea.ActiveDirectory-ko erabiltzaileen atzipena lortzeko, parametro hauek jarri genezake .env fitxategian. LDAP_SERVER=Active-Directory-IP-HelbideaLDAP_PORT=389LDAP_METHOD=plainLDAP_UID=sAMAccountNameLDAP_BASE=ou=Irakasleak,ou=Users,dc=example,dc=comLDAP_BIND_DN=cn=erabiltzaile-izena,cn=Users,dc=example,dc=comLDAP_PASSWORD=erabiltzaile-pasahitzaLDAP_ROLE_FIELD=ou ActiveDirector edo LDAP -eko erabiltzaile-izena izeneko erabiltzailea erabiliko dugu AD-ra konektatzeko. Erabiltzaile honen pasahitza ere hor jarri beharko dugu. Beste parametroak, bakoitzak bere AD-ko datuekin konfiguratu beharko ditu.ActiveDirectory-an ez dagoen norbaiti bere guneak sortu eta bideokonferentziak sortzeko baimena eman nahi badiougu, ALLOW_GREENLIGHT_ACCOUNTS parametroaren bidez lortuko duguALLOW_GREENLIGHT_ACCOUNTS=trueAzken aldaketa honekin, edozeinek eskatu dezake kontu bat, baina DEFAULT_REGISTRATION parametroaren bidez, administratzailearen oniritsia beharko du kontua sortu ahal izatekoDEFAULT_REGISTRATION=approval Erabilera: Moodle Moodle administratzaileak plugina instalatu ondoren, bere konfigurazioan sartu eta parametro hauek bete beharko ditu BigBlueButton zerbitzariaren URLa : Gure adibidean, https://bigbluebutton.example.com/bigbluebutton BigBlueButton sekretu partekatua: bbb-conf --secret komandoak bueltatzen diguna Beste hainbat parametro daude plugin konfigurazioan, baina honekin nahikoa da Moodle eta BigBlueButton alkarrekin lanean jartzeko. Hau egin ondoren, Moodle-eko ikastaro baten sartu, jarduera berri bat gehitu, eta aukeren artean BigBlueButtonBN izenekoa agertuko zaigu. Jarduera gehitu, eta kitto, Jarduera horretan irakaslea sartzen denean, moderatzaile rola izango du, eta ikastaroan dauden ikasleak sartzen direnean, parte-hartzaile rola. Erabilera: GreenLigth Kasu honetan ez gara Moodle bidez sartuko, baizik eta bere web gune propiotik. Gure adibidean, hau litzateke bere helbidea https://bigbluebutton.example.com/b LDAP edo Active directory-ko erabiltzaileek ez dute kontu berri bat sortu beharrik izango. Saioan sartzeko esteka gainean ( https://bigbluebutton.example.com/b/signin) klikatuz, LDAP jartzen duen esteka gorrian klikatu, eta beraien LDAP/AD erabiltzaile eta pasahitza sartu beharko dute. Hau egin ondoren, administratzaileak eskaera baimendu arte zai egon beharko dira. Administrazaileak dituen funtzioen artean nabarmenduko genituzke Erabilzaileen egoera ikusiko du, eta eskaerak baieztatu edo ezeztatuko ditu Erabiltzaileen rola aldatu, erabiltzaile arrunta izatetik admin rola izatera Grabazioak kudeatu ditzake Une oro GreenLigth bidez egiten ari diren konferentziak ikus ditzake Erabiltzaile arrunt batek: lehen aldiz sartzen denean, bere bilera gela ikusiko du. Edozein momentutan beste bilera gela bat sortu edo ezabatu dezake. Bilera gelaren ezarpenak kudeatu ditzake: Pasahitza ezabatu eta berri bat sortu, partaideek izango duten rola definitu, eta abar Bilera gela beste norbaitekin erabili behar duenean, gonbidatuei bilera gelaren esteka bidali beharko die. Bilera gela bakoitzak bere pasahitza duenez, gonbidatuei estekarekin batera pasahitza bidali beharko die. Gonbidatuek ez dute gure sisteman erabiltzaile eta pasahitza izan beharrik, bilera antolatzaileak bidalitako esteka eta pasahitza nahiko dira konferentzian sartzeko. Bilera gela bat sistemaren beste erabiltzaileekin elkarbanatu daiteke, beraiek ere gela berdinean baimenak izan ditzaten. Oso praktikoa mintegi edo departamenduen kideen artean gela bakar bat elkarbanatzeko. Bere geletan egin diren grabazioak ikusi eta kudeatu ditzake. LDAP/AD gabe erabiltzeko, erabiltzaile bakoitzak bere kontua sortu beharko luke https://bigbluebutton.example.com/b/signup estekan klikatuz. Formularioan eskatzen zaizkion datuak bete ondoren, administratzaileak bere eskaera baimendu arte zai egon beharko lirateke. Demagun orokorrean sistema hau gure LDAP/ADan dauden erabiltzaileentzat eskuragarri jarri nahi dugula, baina noizbehinka gurekin kolaboratzen duen norbaiti gure sistema erabiltzeko aukera eman nahi diogula. Kasu honetan barne erabiltzaileek LDAP/AD bidez autentikatuko lirateke, eta kanpoko kolaboratzaileek, Greenlight-ek kudeatzen duen erabiltzaileen datu basea erabiliz Animatu eta saiatu zuen erakundeetan BigBlueButton erabiltzen, eta zalantzaren bat izanez gero, galdetu.Total, nik ez daukat ezer ezkutatzeko2019-01-28T00:00:00+00:002019-01-28T00:00:00+00:00https://atxukale.eus/total-nik-ez-daukat-ezer-ezkutatzeko<p>Seguru esaldi hori behin baino gehiagotan entzun duzuela norbaitek pribatutasunaren gaia mahai gainera ateatzen duenean.</p>
<p>Gaur egun ezinbestekoak bihurtu diren hainbat zerbitzu <strong>"doan"</strong> erabiltzen ditugunean, doan ez ditugula erabiltzen, gure datuekin ordaintzen dugula norbaiti ulertarazi nahi diozunean, erantzun mitikoa hau da: "total, nik ez daukat ezer ezkutatzeko, ez zait inporta". Zapla !!</p>
<p>Hori esaten dizute, eta bat-batean badirudi zu zerala zerbait ezkutatzeko duena. <em>Pribatutasunak hainbeste arduratzen bazaitu, zerren beldur zera, zer duzu hor inork jakin ezin duena ?</em></p>
<p>Eta hor jardungo dezu, azalduz ez duzula zertan sekretu marabilloso bat izan behar pribatutasuna ondo gorde behar den altxorra dela aldarrikatzeko, behin galdu ezkero gero oso zaila izango dela berreskuratzea. Eta adierazpen askatasunaren adibidea jartzen diezu: <em>Nik ez dut ezer berezirik esateko, baina ulertzen det adierazpen askatasuna ondo zainduta egon behar dela</em>.</p>
<p>Alferrik, ez dute ulertzen diozuna, eta berriro berdina errepikatzen dute. <em>Nahi dezuna, baina nik ez dut ezer ezkutatzeko, beraz bost axola nire korreoan edo nire mezuetan sartzen badira, ez dut sekreturik</em>.</p>
<p><strong>Ariketa hau proposatzen dizuet</strong></p>
<p>Hurrengoan honelako egoera baten aurrean aurkitzen zaretenean, pribatutasun beharrik ez duen lagun horrekin ariketa hau egitea proposatzen dizuet:</p>
<ul>
<li>Bere telefonoa blokeatzeko duen PIN edo patroia kendu eta telefonoa pasahitz gabe uzteko eskatu</li>
<li>
<div>Aurkitzen dezuen lehen pertsonari (edo lantegiko edozein lankideri, edo eskolako edozein ikaskideri), gure lagunarentzat ezezaguna bada hobeto, telefonoa pare bat orduz utzi baldintza hauekin:</div>
<ul>
<li>
<div>Helburua zuen lagunaren telefonoan kuxkuxeatzea da, ahalik eta gehien.</div>
<ul>
<li>Irakurri ditzala bere posta elektronikoko mezuak</li>
<li>Begiratu/Irakurri ditzala bere Whatsapp, Instagram, Twitter, Facebook eta abarreko aplikaziotean bere lagun, bikote, familiako kideekin dituen elkarrizketa guztiak</li>
<li>Telefonoan dituen argazki eta bideotan ere bota dezala begirada bat</li>
<li>Ordenagailua eskura badu, konektatu dezala telefonoa eta nahi duen informazio guztia deskargatu dezala nahi duenean denbora gehiagorekin kuxkuxeatzen jarraitzeko.</li>
</ul>
</li>
<li>
<div>Baldintza hauek bete beharko ditu</div>
<ul>
<li>Ezin izango du ezer ezabatu</li>
<li>Ezin izango du gure lagunaren identitatea erabiliz inolako mezurik bidali bere telefonotik</li>
<li>Ezin izango du telefonoa erabili deiak edo SMSak bidaltzeko. Esperimentu honek ez diezaiola gure lagunari dirutan kosturik suposatu. Datuetan seguru baietz, baina ez zaio axola ezta?</li>
</ul>
</li>
<li>
<div>Esperimentua aurrera eramateko aurkitu dugun pertsona honek telefonoa lapurtu ez dezan oinarrizko neurriak hartu (lagunak ez dezan telefonoa betirako galdu), adibidez</div>
<ul>
<li>Pertsona ezaguna bada, badakigu ez duela telefonoa lapurtuko</li>
<li>Pertsona ezezaguna bada eta esperimentuan parte hartu nahi badu, trukean bere karneta uztea eskatu, horrela badakigu telefonoa bueltatzera etorriko dela.</li>
</ul>
</li>
</ul>
</li>
</ul>
<p>Baldintza hauekin esperimentua aurrera eramateko gure lagunak ez badu arazorik ikusten, arrazoia eman beharko diogu, egia esaten du bere pribatutasuna ez zaiola axola dioenean.</p>
<p>Aldiz, ez badu nahi, ez duelako nahi bere txoko pribatuko datuak inork kuxkuxeatzea, orduan agian ulertu du esan nahi duguna. Pribatutasuna defendatzeak ez du esan nahi pedofilo bat zarenik, ez du nahi esan gaizkile edo terrorista bat zarenik. Guk denok gure esparru pribatuan sortzen eta partekatzen dugun informazioa eta datuak inoren esku ez egoteko nahia guztiz legitimoa dela, eta eskubide hori defendatu beharko genuke.</p>
<p>Gure datuen truke Google, Facebook, WhatsApp eta honelakoen aplizazioak <em><strong>(doan?)</strong></em> erabiltzen ditugunean, ezezagun batzuei gure datuetan kuxkuxeatzeko baimena ematen ari gara, beraz itxu-itxuan joan beharrean, aztertu/galdetu dezagun ea alternatibaren bat badagoen gure pribatutasuna errespetatuz antzerako zerbitzua emango diguten baina gure pribatutasuna errespetatuko duten beste aplikaziorik badauden jakiteko. Zihur badaudela.</p>
<p> </p>Pedro ArreitunandiaSeguru esaldi hori behin baino gehiagotan entzun duzuela norbaitek pribatutasunaren gaia mahai gainera ateatzen duenean. Gaur egun ezinbestekoak bihurtu diren hainbat zerbitzu "doan" erabiltzen ditugunean, doan ez ditugula erabiltzen, gure datuekin ordaintzen dugula norbaiti ulertarazi nahi diozunean, erantzun mitikoa hau da: "total, nik ez daukat ezer ezkutatzeko, ez zait inporta". Zapla !! Hori esaten dizute, eta bat-batean badirudi zu zerala zerbait ezkutatzeko duena. Pribatutasunak hainbeste arduratzen bazaitu, zerren beldur zera, zer duzu hor inork jakin ezin duena ? Eta hor jardungo dezu, azalduz ez duzula zertan sekretu marabilloso bat izan behar pribatutasuna ondo gorde behar den altxorra dela aldarrikatzeko, behin galdu ezkero gero oso zaila izango dela berreskuratzea. Eta adierazpen askatasunaren adibidea jartzen diezu: Nik ez dut ezer berezirik esateko, baina ulertzen det adierazpen askatasuna ondo zainduta egon behar dela. Alferrik, ez dute ulertzen diozuna, eta berriro berdina errepikatzen dute. Nahi dezuna, baina nik ez dut ezer ezkutatzeko, beraz bost axola nire korreoan edo nire mezuetan sartzen badira, ez dut sekreturik. Ariketa hau proposatzen dizuet Hurrengoan honelako egoera baten aurrean aurkitzen zaretenean, pribatutasun beharrik ez duen lagun horrekin ariketa hau egitea proposatzen dizuet: Bere telefonoa blokeatzeko duen PIN edo patroia kendu eta telefonoa pasahitz gabe uzteko eskatu Aurkitzen dezuen lehen pertsonari (edo lantegiko edozein lankideri, edo eskolako edozein ikaskideri), gure lagunarentzat ezezaguna bada hobeto, telefonoa pare bat orduz utzi baldintza hauekin: Helburua zuen lagunaren telefonoan kuxkuxeatzea da, ahalik eta gehien. Irakurri ditzala bere posta elektronikoko mezuak Begiratu/Irakurri ditzala bere Whatsapp, Instagram, Twitter, Facebook eta abarreko aplikaziotean bere lagun, bikote, familiako kideekin dituen elkarrizketa guztiak Telefonoan dituen argazki eta bideotan ere bota dezala begirada bat Ordenagailua eskura badu, konektatu dezala telefonoa eta nahi duen informazio guztia deskargatu dezala nahi duenean denbora gehiagorekin kuxkuxeatzen jarraitzeko. Baldintza hauek bete beharko ditu Ezin izango du ezer ezabatu Ezin izango du gure lagunaren identitatea erabiliz inolako mezurik bidali bere telefonotik Ezin izango du telefonoa erabili deiak edo SMSak bidaltzeko. Esperimentu honek ez diezaiola gure lagunari dirutan kosturik suposatu. Datuetan seguru baietz, baina ez zaio axola ezta? Esperimentua aurrera eramateko aurkitu dugun pertsona honek telefonoa lapurtu ez dezan oinarrizko neurriak hartu (lagunak ez dezan telefonoa betirako galdu), adibidez Pertsona ezaguna bada, badakigu ez duela telefonoa lapurtuko Pertsona ezezaguna bada eta esperimentuan parte hartu nahi badu, trukean bere karneta uztea eskatu, horrela badakigu telefonoa bueltatzera etorriko dela. Baldintza hauekin esperimentua aurrera eramateko gure lagunak ez badu arazorik ikusten, arrazoia eman beharko diogu, egia esaten du bere pribatutasuna ez zaiola axola dioenean. Aldiz, ez badu nahi, ez duelako nahi bere txoko pribatuko datuak inork kuxkuxeatzea, orduan agian ulertu du esan nahi duguna. Pribatutasuna defendatzeak ez du esan nahi pedofilo bat zarenik, ez du nahi esan gaizkile edo terrorista bat zarenik. Guk denok gure esparru pribatuan sortzen eta partekatzen dugun informazioa eta datuak inoren esku ez egoteko nahia guztiz legitimoa dela, eta eskubide hori defendatu beharko genuke. Gure datuen truke Google, Facebook, WhatsApp eta honelakoen aplizazioak (doan?) erabiltzen ditugunean, ezezagun batzuei gure datuetan kuxkuxeatzeko baimena ematen ari gara, beraz itxu-itxuan joan beharrean, aztertu/galdetu dezagun ea alternatibaren bat badagoen gure pribatutasuna errespetatuz antzerako zerbitzua emango diguten baina gure pribatutasuna errespetatuko duten beste aplikaziorik badauden jakiteko. Zihur badaudela. NextCloud etxeko RaspberryPI-an2018-12-31T00:00:00+00:002018-12-31T00:00:00+00:00https://atxukale.eus/nextcloud-etxeko-raspberrypi-an<p>Dokumentu honetan nire etxean eta RaspberryPI bat erabiliz, Nextcloud instantzia propioa sortzeko erabili ditudan pausoak gainetik azaltzera noa (ez da gida zehatz bat). Norbait animatzen da, jakin dezala honek niri behintzat funtzionatu didala.<br /> <br />Erabiltzen ari naizen RaspberryPI-ak urte batzuk ditu, RaspberryPI2B modeloa da: <a href="https://www.raspberrypi.org/products/raspberry-pi-2-model-b">https://www.raspberrypi.org/products/raspberry-pi-2-model-b</a></p>
<p>Dropbox ezagutzen duenarentzat, Nextcloud-en erabilera oso antzerakoa dela konturatuko da. Sortuko dugun nextcloud instantzia honetan guk nahi ditugun erabiltzaileak sortu ahal izango ditugu, eta erabiltzaile bakoitzak bere txokoa izango du, non:</p>
<ul>
<li>karpetak sortu ahal izango ditu bere hodei propioan.</li>
<li>Ezabatzen diren dokumentuak zakarontzira joango direnez, erabiltzaile bakoitzak aukera izango du bere kabuz dokumentuak zakarontzitik berreskuratzeko.</li>
<li>Bertsioak: Dokumentu bat editatzen/eraldatzen denean nextcloud berak aurreko bertsioak automagikoki gordeko ditu, beraz erabiltzaile bakoitzak posible izango du bere kabuz aurreko bertsio bat berreskuratzea.</li>
<li>Sistema eragile/gailu ezberdinak: Gure hodeiko karpetara konektatu ahal izateko bide ezberdinak ditugu:
<ul>
<li>Web nabigatzaile baten bidez</li>
<li>Linux/Windows/MacOS sistemetan instalatu ahal izango ditugun bezeroen bidez</li>
</ul>
</li>
<li>Partekatze sistema: Erabiltzaile bakoitzak aukera izango du karpetak/fitxategiak beste batzuekin elkarbanatzeko. Gainera kasu bakoitzean norberak erabakiko du zeintzuk diren elkarbanatzerakoan ematen dituen baimenak: ikusi bakarrik, editatu, eta abar.</li>
<li>Pluginak: Elkarlanerako hainbat plugin instalatu daitezke, oinarrizko funtzionalitateaz gain beste hainbat gauza egin ahal izateko.</li>
</ul>
<p>GoogleDrive-ek beste aukera interesgarri bat ematen digu: Dokumentu ofimatikoak online editatzekoa. Testu dokumentua, kalkulu orria edo aurkezpen bat online sortu eta editatzeko aukera ematen digu. Nextcloud-ek berez eta beste ezer instalatu gabe TXT fitxategiak online sortu eta editatzeko aukera ematen badigu ere, posible dugu Drive-ekin egiten ditugun gauzak egitea Nextcloud beste software batekin integratzen badugu. CollaboraOnline izango litzateke aukeretako bat: <a href="https://nextcloud.com/collaboraonline">https://nextcloud.com/collaboraonline</a></p>
<p>CollaboraOnline docker irudi baten bidez erabiltzen da, eta hemen dago arazoa. RaspberryPi-ak ARM teknologia erabiltzen du baina CollaboraOnline x86-erako prestatuta dago, eta ARMetan ez du funtzionatzen. Beraz oraingoz (2018/12/10) badirudi ezinezkoa dela.</p>
<p>Pack osoa (Nextcloud+CollaboraOnline) jarri nahi baduzu, RaspberryPi-aren ordez beste gailuren bat erabili behako zenuke, x86 arkitektura duen bat alegia.</p>
<p>Raspberry-a etxeko Router-aren ethernet portu batean konektatu dut, eta IP finko bat jarri diot. Routerraren ezarpenetan sartu eta IP publikotik SSH/HTTP/HTTPS eskaerak Raspberry-aren IP pribatura desbideratu ditut. Honekin ziurtatzen det zerbitzua Internet saretik ere erabilgarri egongo dela.</p>
<p><strong>LINUX SISTEMA</strong><br /><strong>==========</strong><br /> <br />Raspberry-an raspbian instalatu ondoren:</p>
<ul>
<li>Eguneratu: apt-get update && apt-get upgrade</li>
<li>Erabiltzaile bat sortu eta bertan konfiguratu erabiltzaile horretan kanpotik konektatu ahal izateko erabiliko dugun SSH gako publikoa. Hau egin ondoren, guztiz debekatuko ditugu erabiltzaile+pasahitza erabiliz SSH konexio saikera guztiak.</li>
<li><strong>Fail2ban</strong> instalatu: Honek segurtasun gehigarri bat eskeiniko digu, batez ere Brute-Force moduko erasoen aurrean.</li>
<li><strong>unattended upgrades</strong> instalatu eta konfiguratu: Linux sisteman instalatuta ditugun paketeak automatikoki eguneratuak izatea nahi dugu. Berrabiarazi beharra dagoenean ere automatikoki berrabiaraziko da, nire kasuan goizeko 06:00etan. Honekin gure sistema guztiz eguneratuta izango dugu, eta honek segurtasuna bermatzen asko lagunduko digu.</li>
</ul>
<p><br /><strong>NEXTCLOUD</strong><br /><strong>========</strong></p>
<p>Nextcloud instalatzeko hemen azaltzen diren pausoak jarraitu ditut: <a href="https://geekland.eu/instalar-nextcloud-mariadb-lighttpd">https://geekland.eu/instalar-nextcloud-mariadb-lighttpd</a></p>
<p>Gure datuak izango dituen diskorako, hasiera baten USB bidez konektatu eta Raspberry-ak elikatzen zuen 500GBeko SATA disko bat erabiltzen saiatu nintzen. SATA diskoa mekanikoa da, eta badirudi raspberry-ak ez zuela nahiko indar hori ondo elikatzeko, eta ez zen pizten. 240GBeko SSD batekin (50€ inguru ordaindu det) probatu eta honekin arazorik ez. Leku gehiago behar dudanean, disko handiago bat erosi eta listo, baina oraingoz guretzako hau nahikoa da.</p>
<p>Nextcloud instantzia DNS izen publiko batekin lotzea gomendagarria da. Nire kasuan ddns.net domeinuko azpi domeinu bat erabiltzea erabaki det, eta horretarako gida hau jarraitu det: <a href="https://www.realdroid.es/2016/10/29/configurar-no-ip-para-raspberry-pi-y-de-paso-que-es-no-ip">https://www.realdroid.es/2016/10/29/configurar-no-ip-para-raspberry-pi-y-de-paso-que-es-no-ip</a></p>
<p>Gaur egun HTTPS erabiltzea oso erreza da, LETSENCRYPT-eko ziurtagiriak guztion eskura daude. Milaka tutorial daude certbot nola konfiguratzen den azaltzen dutenak, adibidez hau: <a href="https://cycleweb.es/instalar-certificado-ssl-gratis-lets-encrypt-raspberry-pi">https://cycleweb.es/instalar-certificado-ssl-gratis-lets-encrypt-raspberry-pi</a></p>
<p><strong>BACKUPak</strong><br /><strong>=======</strong></p>
<p>Behin dena martxan dugula, ezinbestekoa da sistema osoaren backup estrategia bat definitu eta martxan jartzea. Nik honela planteatzen det:</p>
<p>1.- Gauero 03:00 inguruan (lotan gaudela):<br /> - manteince modua gaitu: erabiltzaileak ezin izango dira logeatu<br /> - DBaren backup bat egin eta backuperako erabiliko dugun karpetan gorde<br /> - Rsync erabiliz /data karpetaren kopia bat backuperako erabiliko dugun karpetan rsync bidez sinkronizatu<br /> - Rsync erabiliz HTML karpetaren kopia bat backuperako erabiliko dugun karpetan rsync bidez sinkronizatu<br /> - manteince modua desgaitu: nextcloud erabilgarri dago berriro<br /> <br /> 2.- Beste ekipo batetik ssh bidez konekatu eta kopia hori beste disko batean gorde. Kopia desberdinak izan nahi ditudanez, nire ideia hau da: Bigarren ekipo honetan Docker erabiliz Elkarbackup instalatu ( <a href="https://hub.docker.com/r/elkarbackup/elkarbackup">https://hub.docker.com/r/elkarbackup/elkarbackup</a> ) eta backup-en datuak izango dituen Volume-a SATA disko batean muntatu.<br /> <br /><strong>SCRIPTak</strong><br /><strong>======</strong><br />Hau da crontab bidez programatuta dudan backupak egiteko scritpa</p>
<p>------------------------------------------------------------------<br /># cat scripts/hodeia_backup.sh <br />#!/bin/bash</p>
<p>cd /var/www/html/nextcloud<br />sudo -u www-data php occ maintenance:mode --on # maintance modua gaitu</p>
<p>rsync -ax --exclude 'nextcloud.log' /media/nextcloud/data/ /media/nextcloud/HODEIA-backup/nextcloud-data/ # DATA karpetaren kopia</p>
<p>rsync -ax /var/www/html/nextcloud/ /media/nextcloud/HODEIA-backup/nextcloud-www/ # nextcloud kodearen kopia</p>
<p>mysqldump --single-transaction -uroot -pNIRESUPERPASAHITZA nextcloud > /media/nextcloud/HODEIA-backup/nextcloud-sql.bak # DB kopia</p>
<p>rm /media/nextcloud/HODEIA-backup/nextcloud-sql.bak.bz2 # aurreko bzip2 fitxategia ezabatu, aurreko kopiakoa</p>
<p>bzip2 /media/nextcloud/HODEIA-backup/nextcloud-sql.bak # gutxiago okupatu dezan, DB kopia konprimitu</p>
<p>sudo -u www-data php occ maintenance:mode --off # azkenik, maintance modua desagaitu<br />------------------------------------------------------------------</p>
<p> </p>
<p><em>Oharra: Hau bere garaian github-en publikatu nuen gists batean: <a href="https://gist.github.com/parreitu/329de3aef19d45a576b8646c2a682348">https://gist.github.com/parreitu/329de3aef19d45a576b8646c2a682348</a> </em></p>Pedro ArreitunandiaDokumentu honetan nire etxean eta RaspberryPI bat erabiliz, Nextcloud instantzia propioa sortzeko erabili ditudan pausoak gainetik azaltzera noa (ez da gida zehatz bat). Norbait animatzen da, jakin dezala honek niri behintzat funtzionatu didala. Erabiltzen ari naizen RaspberryPI-ak urte batzuk ditu, RaspberryPI2B modeloa da: https://www.raspberrypi.org/products/raspberry-pi-2-model-b Dropbox ezagutzen duenarentzat, Nextcloud-en erabilera oso antzerakoa dela konturatuko da. Sortuko dugun nextcloud instantzia honetan guk nahi ditugun erabiltzaileak sortu ahal izango ditugu, eta erabiltzaile bakoitzak bere txokoa izango du, non: karpetak sortu ahal izango ditu bere hodei propioan. Ezabatzen diren dokumentuak zakarontzira joango direnez, erabiltzaile bakoitzak aukera izango du bere kabuz dokumentuak zakarontzitik berreskuratzeko. Bertsioak: Dokumentu bat editatzen/eraldatzen denean nextcloud berak aurreko bertsioak automagikoki gordeko ditu, beraz erabiltzaile bakoitzak posible izango du bere kabuz aurreko bertsio bat berreskuratzea. Sistema eragile/gailu ezberdinak: Gure hodeiko karpetara konektatu ahal izateko bide ezberdinak ditugu: Web nabigatzaile baten bidez Linux/Windows/MacOS sistemetan instalatu ahal izango ditugun bezeroen bidez Partekatze sistema: Erabiltzaile bakoitzak aukera izango du karpetak/fitxategiak beste batzuekin elkarbanatzeko. Gainera kasu bakoitzean norberak erabakiko du zeintzuk diren elkarbanatzerakoan ematen dituen baimenak: ikusi bakarrik, editatu, eta abar. Pluginak: Elkarlanerako hainbat plugin instalatu daitezke, oinarrizko funtzionalitateaz gain beste hainbat gauza egin ahal izateko. GoogleDrive-ek beste aukera interesgarri bat ematen digu: Dokumentu ofimatikoak online editatzekoa. Testu dokumentua, kalkulu orria edo aurkezpen bat online sortu eta editatzeko aukera ematen digu. Nextcloud-ek berez eta beste ezer instalatu gabe TXT fitxategiak online sortu eta editatzeko aukera ematen badigu ere, posible dugu Drive-ekin egiten ditugun gauzak egitea Nextcloud beste software batekin integratzen badugu. CollaboraOnline izango litzateke aukeretako bat: https://nextcloud.com/collaboraonline CollaboraOnline docker irudi baten bidez erabiltzen da, eta hemen dago arazoa. RaspberryPi-ak ARM teknologia erabiltzen du baina CollaboraOnline x86-erako prestatuta dago, eta ARMetan ez du funtzionatzen. Beraz oraingoz (2018/12/10) badirudi ezinezkoa dela. Pack osoa (Nextcloud+CollaboraOnline) jarri nahi baduzu, RaspberryPi-aren ordez beste gailuren bat erabili behako zenuke, x86 arkitektura duen bat alegia. Raspberry-a etxeko Router-aren ethernet portu batean konektatu dut, eta IP finko bat jarri diot. Routerraren ezarpenetan sartu eta IP publikotik SSH/HTTP/HTTPS eskaerak Raspberry-aren IP pribatura desbideratu ditut. Honekin ziurtatzen det zerbitzua Internet saretik ere erabilgarri egongo dela. LINUX SISTEMA========== Raspberry-an raspbian instalatu ondoren: Eguneratu: apt-get update && apt-get upgrade Erabiltzaile bat sortu eta bertan konfiguratu erabiltzaile horretan kanpotik konektatu ahal izateko erabiliko dugun SSH gako publikoa. Hau egin ondoren, guztiz debekatuko ditugu erabiltzaile+pasahitza erabiliz SSH konexio saikera guztiak. Fail2ban instalatu: Honek segurtasun gehigarri bat eskeiniko digu, batez ere Brute-Force moduko erasoen aurrean. unattended upgrades instalatu eta konfiguratu: Linux sisteman instalatuta ditugun paketeak automatikoki eguneratuak izatea nahi dugu. Berrabiarazi beharra dagoenean ere automatikoki berrabiaraziko da, nire kasuan goizeko 06:00etan. Honekin gure sistema guztiz eguneratuta izango dugu, eta honek segurtasuna bermatzen asko lagunduko digu. NEXTCLOUD======== Nextcloud instalatzeko hemen azaltzen diren pausoak jarraitu ditut: https://geekland.eu/instalar-nextcloud-mariadb-lighttpd Gure datuak izango dituen diskorako, hasiera baten USB bidez konektatu eta Raspberry-ak elikatzen zuen 500GBeko SATA disko bat erabiltzen saiatu nintzen. SATA diskoa mekanikoa da, eta badirudi raspberry-ak ez zuela nahiko indar hori ondo elikatzeko, eta ez zen pizten. 240GBeko SSD batekin (50€ inguru ordaindu det) probatu eta honekin arazorik ez. Leku gehiago behar dudanean, disko handiago bat erosi eta listo, baina oraingoz guretzako hau nahikoa da. Nextcloud instantzia DNS izen publiko batekin lotzea gomendagarria da. Nire kasuan ddns.net domeinuko azpi domeinu bat erabiltzea erabaki det, eta horretarako gida hau jarraitu det: https://www.realdroid.es/2016/10/29/configurar-no-ip-para-raspberry-pi-y-de-paso-que-es-no-ip Gaur egun HTTPS erabiltzea oso erreza da, LETSENCRYPT-eko ziurtagiriak guztion eskura daude. Milaka tutorial daude certbot nola konfiguratzen den azaltzen dutenak, adibidez hau: https://cycleweb.es/instalar-certificado-ssl-gratis-lets-encrypt-raspberry-pi BACKUPak======= Behin dena martxan dugula, ezinbestekoa da sistema osoaren backup estrategia bat definitu eta martxan jartzea. Nik honela planteatzen det: 1.- Gauero 03:00 inguruan (lotan gaudela): - manteince modua gaitu: erabiltzaileak ezin izango dira logeatu - DBaren backup bat egin eta backuperako erabiliko dugun karpetan gorde - Rsync erabiliz /data karpetaren kopia bat backuperako erabiliko dugun karpetan rsync bidez sinkronizatu - Rsync erabiliz HTML karpetaren kopia bat backuperako erabiliko dugun karpetan rsync bidez sinkronizatu - manteince modua desgaitu: nextcloud erabilgarri dago berriro 2.- Beste ekipo batetik ssh bidez konekatu eta kopia hori beste disko batean gorde. Kopia desberdinak izan nahi ditudanez, nire ideia hau da: Bigarren ekipo honetan Docker erabiliz Elkarbackup instalatu ( https://hub.docker.com/r/elkarbackup/elkarbackup ) eta backup-en datuak izango dituen Volume-a SATA disko batean muntatu. SCRIPTak======Hau da crontab bidez programatuta dudan backupak egiteko scritpa ------------------------------------------------------------------# cat scripts/hodeia_backup.sh #!/bin/bash cd /var/www/html/nextcloudsudo -u www-data php occ maintenance:mode --on # maintance modua gaitu rsync -ax --exclude 'nextcloud.log' /media/nextcloud/data/ /media/nextcloud/HODEIA-backup/nextcloud-data/ # DATA karpetaren kopia rsync -ax /var/www/html/nextcloud/ /media/nextcloud/HODEIA-backup/nextcloud-www/ # nextcloud kodearen kopia mysqldump --single-transaction -uroot -pNIRESUPERPASAHITZA nextcloud > /media/nextcloud/HODEIA-backup/nextcloud-sql.bak # DB kopia rm /media/nextcloud/HODEIA-backup/nextcloud-sql.bak.bz2 # aurreko bzip2 fitxategia ezabatu, aurreko kopiakoa bzip2 /media/nextcloud/HODEIA-backup/nextcloud-sql.bak # gutxiago okupatu dezan, DB kopia konprimitu sudo -u www-data php occ maintenance:mode --off # azkenik, maintance modua desagaitu------------------------------------------------------------------ Oharra: Hau bere garaian github-en publikatu nuen gists batean: https://gist.github.com/parreitu/329de3aef19d45a576b8646c2a682348Linux: Pakete bertsio zehatz bat nola instalatu2018-12-30T00:00:00+00:002018-12-30T00:00:00+00:00https://atxukale.eus/linux-pakete-bertsio-zehatz-bat-nola-instalatu<p>Ez da kontu arrunta, baina batzuetan arazo hau izan dezakegu: Auskalo zergatik, pakete baten bertsio zehatz bat instalatu nahi dugu, baina gure Debian/Ubuntu sistemak berriago bat jartzen digu.</p>
<p>Normalean gomendagarriena sitemak berak proposatzen digun bertsioa jartzea izango da, baina posible ere bada aurreko bertsio bat nahi dugula esatea.</p>
<p>Adibidez, nire ordenagailuan <strong><em>Ubuntu 18.10 (cosmic)</em></strong> dut, eta gaur egun sistemak proposatzen didan openvpn bertsioa <em><strong>2.4.6-1ubuntu2</strong></em> da.</p>
<p>Nik instalatu nahi dudan openvpn bertsioa <strong><em>Ubuntu 17.10(artful)</em></strong>-k zeukana da, <strong><em>2.4.3-4ubuntu1</em></strong> bertsioa alegia.</p>
<p>Lau pauso hauekin gure helburua lortuko genuke:</p>
<p>1.- Errepositorioetan artful bertsioa gehitu</p>
<p>/etc/apt/sources.list fitxategiaren bukaeran lerro hau gehitzen dugu</p>
<blockquote>
<p><em><strong># openvpn zaharra ekartzeko</strong></em><br /><em><strong>deb http://security.ubuntu.com/ubuntu artful main</strong></em></p>
</blockquote>
<p>2.- Ondoren pakete zerrenda eguneratu</p>
<blockquote>
<p><strong><em>sudo apt-get update</em></strong></p>
</blockquote>
<p>3.- Orain pakete bertsio zehatza instalatzeko eskatu</p>
<blockquote><strong><em>sudo apt-get install openvpn=2.4.3-4ubuntu1</em></strong></blockquote>
<p>4.- Eta azkenik, sistemari esan aurrerantzean openvpn paketearen bertsio berriagoak egon arren, ez eguneratzeko</p>
<blockquote>
<p><strong><em>sudo apt-mark hold openvpn</em></strong></p>
</blockquote>
<p> </p>Pedro ArreitunandiaEz da kontu arrunta, baina batzuetan arazo hau izan dezakegu: Auskalo zergatik, pakete baten bertsio zehatz bat instalatu nahi dugu, baina gure Debian/Ubuntu sistemak berriago bat jartzen digu. Normalean gomendagarriena sitemak berak proposatzen digun bertsioa jartzea izango da, baina posible ere bada aurreko bertsio bat nahi dugula esatea. Adibidez, nire ordenagailuan Ubuntu 18.10 (cosmic) dut, eta gaur egun sistemak proposatzen didan openvpn bertsioa 2.4.6-1ubuntu2 da. Nik instalatu nahi dudan openvpn bertsioa Ubuntu 17.10(artful)-k zeukana da, 2.4.3-4ubuntu1 bertsioa alegia. Lau pauso hauekin gure helburua lortuko genuke: 1.- Errepositorioetan artful bertsioa gehitu /etc/apt/sources.list fitxategiaren bukaeran lerro hau gehitzen dugu # openvpn zaharra ekartzekodeb http://security.ubuntu.com/ubuntu artful main 2.- Ondoren pakete zerrenda eguneratu sudo apt-get update 3.- Orain pakete bertsio zehatza instalatzeko eskatu sudo apt-get install openvpn=2.4.3-4ubuntu1 4.- Eta azkenik, sistemari esan aurrerantzean openvpn paketearen bertsio berriagoak egon arren, ez eguneratzeko sudo apt-mark hold openvpn