• 3 Posts
  • 2 Comments
Joined duela 6 hilabete
cake
Cake day: abe. 31, 2021

help-circle
rss

Aukerak: • Juan Alsonso e hijos, larru-fabrika • Lascaray (Lea) • Michelin Zein baino zein kutsagagarriago baina ea nor aurkitzen duzun Gasteizen ezer txarrik esango duenik Michelini buruz!


Nik SUSE Studio ezagutu nuen baina uste dut zerbitzua itxi zutela. Horrelako zerbaiten bila zenbiltzan?


# Nola eguneratu Hasieratik: `ssh -i gakoa ubuntu@helbidea` Docker irudiak ikusi: `docker images` ![](https://lemmy.eus/pictrs/image/EbiPiD1zAO.png) REPOSITORY             TAG       IMAGE ID       CREATED      SIZE matrixdotorg/synapse   latest    bdeea354bb5a   9 days ago   335MB Edo antzeko zerbait ikusi beharko genuke. Eskuratu eguneraketa: `docker pull matrixdotorg/synapse:latest` Geldiarazi zaharkitutako kontainerra: `docker ps`-ri esker gelditu nahi dugun kontainerraren zenbakia lortuko dugu. a8872be36b0f kasu konkretu honetan, hori da gure [container-id]a. ![](https://lemmy.eus/pictrs/image/ZyBWtdO29v.png) `docker stop [container_id]` geldiarazteko eta `docker rm [container_id]` ezabatzeko. Eta orain Synapse instalatzerakoan erabili genituen komandoak exekutatuko ditugu: `cd /opt/matrix/synapse` ![](https://lemmy.eus/pictrs/image/vjG1pJTQcS.png) `docker run -it --rm \ -v "/opt/matrix/synapse/data:/data" \ -e SYNAPSE_SERVER_NAME=nire-domeinua.eus \ -e SYNAPSE_REPORT_STATS=yes \ matrixdotorg/synapse generate` *data/homeserver.yaml* berrikusi dezakegu, baina ez litzateke aldaketarik egon beharko. `docker-compose up -d` Amaitzeko exekutatu `docker ps` kontainerra martxan dagoela baieztatzeko. Azken pausoa zaharkitutako irudia ezabatzea da: `docker images` REPOSITORY             TAG       IMAGE ID       CREATED      SIZE matrixdotorg/synapse   latest    bdeea354bb5a   9 days ago   335MB matrixdotorg/synapse   1.47.0   akfkwsoirtg32w   4 weeks ago   335MB `docker image rm image_id` Adi: ezabatu beharreko irudia *latest* **ez** diona da. # Beste ohar batzuk Oraclek kreditu/debito txartel zenbakia eskatuko digu. Nik 6 hilabete inguru daramatzat eta ez didate ezer kobratu, mugen barruen nagoelako. 335 MB inguru erabili ditut epe honetan baina badakit jendeak zenbat lelokeria partekatzen dituen WhatsAppen <- horiek ez nituzke nire zerbitzarira gonbidatuko. Gorago esan bezala, sistemaren baliabideak eskasak dira eta ez da ideia ona talde handietan parte hartzea. 500 partehartzaile baino gehiagoko taldeek gure zerbitzaria moteldu edota erabil ezin utziko dute. Eta muga hau ez da erabiltzaile bakoitzeko: zerbitzarian erregistratuta dauden erabiltzaile guztien batura federatua baizik. Terminaleko leihoan gauza gehiegi baldin baditugu `clear` erabili dezakegu leihoa garpitzeko. Terminalean gaudela teklatuko goiko gezia sakatzen badugu, exekutatu genuen azken komandoa ekarriko du. Gezia sakatzen jarrai dezakegu komandoen historian atzera egiteko. Fitxategia moldatu ondoren *ctl+o* sakatu eta ondoren intro aldaketak gordetzeko. *ctl+x* fitxategia ixteko. Domeinu merke bat erosi baduzue, argi ibili datorren urtean prezioa izugarri garestitu daitekeelako. Erosterako orduan kontuan izan berrizteko prezioa, urtebete baino luzaroagoan mantendu nahi baduzue behintzat. Badaude domeinuak debalde eskaintzen dituzten enpresak, baina nik ez ditut gomendatuko. Matrix.org erakundeak - https://tld-list.com/ - find cheap domains, look at renewal fees also - https://www.namecheap.com/promos/99-cent-domain-names/ - cheap first year aipatzen ditu. Gida honek luzea dirudien arren ez da oso konplexua eta bere horretan jarraituz gero ez litzateke arazorik egon beharko. Nik neuk bere garaian erabili nuen.

# Synapse instalatu Lehenik eta behin Docker instalatu beharko dugu (5 komando): `sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg \ lsb-release` `curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg` `echo \ "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null` `sudo apt update` `sudo apt install docker-ce docker-ce-cli containerd.io` Eta baita Docker Compose ere (2 komando): `sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose` `sudo chmod +x /usr/local/bin/docker-compose` *ubuntu* erabiltzailea *docker* taldera gehituko dugu, horrela ez dugu sudo erabili beharko komando bakoitzarekin: `sudo usermod -G docker -a ubuntu` Saioa amaitu [exekutatu `exit`] aldaketak gorde ditzan, eta berriro hasterakoan [`ssh -i …`] egiaztatu *docker* eta *docker-compose* badabiltzala: `docker --version` > Docker version 20.10.7, build f0df350 (edo antzeko zerbait) `docker-compose --version` > docker-compose version 1.29.2, build 5becea4c (edo antzeko zerbait) Orain Synapse instalatzeko tokiren bat sortu beharko dugu, eta horri lotuta egongo den data fitxategi bat ere: `sudo mkdir -p /opt/matrix/synapse/data` Direktorio berrira joango gara: `cd /opt/matrix/synapse` Eta bertan gaudenean `sudo nano docker-compose.yml` exekutatuko dugu. Fitxategian hau agertu behar da: >services: > synapse: > container_name: "synapse" > image: "matrixdotorg/synapse" > restart: "unless-stopped" > ports: > - "127.0.0.1:8008:8008" > volumes: > - "./data/:/data/"` Baina abiarazi baino lehen hasierako ezarpenak moldatu beharko ditugu: ![](https://lemmy.eus/pictrs/image/vjG1pJTQcS.png) `docker run -it --rm \ -v "/opt/matrix/synapse/data:/data" \ -e SYNAPSE_SERVER_NAME=nire-domeinua.eus \ -e SYNAPSE_REPORT_STATS=yes \ matrixdotorg/synapse generate` > `\`idatzi ondoren intro sakatu. Hurrengo lerrora pasako da baina ez du ezer exekutatuko idazten amaitzen ez dugun arte. Horrelako zerbait ikusiko dugu: > Unable to find image 'matrixdotorg/synapse:latest' locally latest: Pulling from matrixdotorg/synapse > 69692152171a: Pull complete > 66a3c154490a: Pull complete > 3e35bdfb65b2: Pull complete > f2c4c4355073: Pull complete > 65d67526c337: Pull complete > 5186d323ad7f: Pull complete > 436afe4e6bba: Pull complete > c099b298f773: Pull complete > 50b871f28549: Pull complete > Digest: sha256:5ccac6349f639367fcf79490ed5c2377f56039ceb622641d196574278ed99b74 > Status: Downloaded newer image for matrixdotorg/synapse:latest > Creating log config /data/nire-domeinua.eus.log.config > Generating config file /data/homeserver.yaml > Generating signing key file /data/nire-domeinua.eus.signing.key > A config file has been generated in '/data/homeserver.yaml' for server name 'nire-domeinua.eus'. Please review this file and customise it to your needs. Eta azken lerro horri kasu eginez, sortutako ezarpenak berrikusiko ditugu, eta moldatu behar izanez gero: `sudo nano data/homeserver.yaml` Garrantzitsuena: `server_name: "nire-domeinua.eus"` `public_baseurl: https://matrix.nire-domeinua.eus` [lerroaren hasieran # ageri bada, ezabatu ikur hori] Horrez gain, kontu bat sortu ahal izateko, `enable_registration: true` ageri beharko da. *True* ez badio, aldatu. Eta ondoren itxi dokumentua aldaketak gordez [ctl+o, intro] Sistemaren baliabide eskasak direla-eta, ez da gomendagarria erregistro sistema irekita uztea, edonor erregistratu ahal izango delako eta sistemak behar bezala funtzionatzeari utziko diolako. Gainera, muga zabalak izan arren, mugek badiraute, eta gaindituko bagenitu, Oracle kobratzen hasiko zaigu. Abiarazteko unea da: `docker-compose up -d` > Creating network "synapse_default" with the default driver Creating synapse ... done Eta exekutatzen ari dela egiaztatzeko `docker ps` Horrelako zerbait ikusi beharko genuke: > CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES > 573612ec5735 matrixdotorg/synapse "/start.py" 25 seconds ago Up 23 seconds (healthy) 8009/tcp, 127.0.0.1:8008->8008/tcp, 8448/tcp synapse Primeran. Orain *https://matrix.nire-domeinua.eus/_matrix/static/* bisitatuko bagenu baieztapen mezua ikusi beharko genuke. ————— Kontu bat sortu baino lehen federazioa badabilela egiaztatuko dugu Matrixen tresnari esker: https://federationtester.matrix.org Kaxatxoan idatzi domeinua (nagusia, ez azpidomeinua) eta guztia berdez ageri beharko litzateke. Gida zoragarri hau ondo jarraitu dugunaren seinale 😉 Orain bai, kontu bat sor dezakegu nahi dugun aplikazioa erabiliz, mugikorra esaterako. *Host account on*: moldatu gure domeinua azaldu dadin -> *matrix.nire-domeinua.eus* Eta erregistratu. Nahi ditugun kontu guztiak sortu ditugunean (propioa, lagunena, senideena…) erregistroa itxi: `sudo nano /opt/matrix/synapse/data/homeserver.yaml` eta `enable_registration: false` esan dezala. Gorde eta itxi. Aldaketak erabili daitezen Synapse berrabiarazi beharko dugu: `docker-compose restart` nahikoa izango da. Segundu batzuk pasatakoan berriro egongo da erabilgarri, baina oraingoan ezingo da inor erregistratu gure zerbitzarian. [Hurrengoa: Nola eguneratu](https://lemmy.eus/post/14285)

# Prestaketa Gida hau [John Bowdreren tutoriala](https://hash.virtuallypotato.com/federated-matrix-server-synapse-on-oracle-clouds-free-tier)ren itzulpen librea da. Matrix.org erakundeak berak ere [antzeko gida bat](https://matrix.org/docs/guides/free-small-matrix-server) dauka, baina ez dago hain garatuta. 1. oharra: Oracle ez da pribatutasunaren lagun (mezuak zifratuta egon arren, oso litekeena da Oraclek metadatuak eskuratu ahal izatea) eta, beraz, beste aukerak izatekotan, ekidin Oracle. Hala ere, aukerak Matrix Oracleri esker edo WhatsApp erabiltzen jarraitzea baldin badira, nik badakit zein nahiago dudan. 2. oharra: zerbitzari bat (hardware) debalde eskuratu dezakegun arren, ezinbestekoa izango zaigu domeinu bat erostea. Badaude lehen urtea 0,99 eurotan eskaintzen dituzten erregistro-enpresak (.xyz eta antzeko domeinuak). [.eus domeinuei buruzko nformazioa](https://www.domeinuak.eus). Une honetan bi zerbitzari (software) daude Matrix erabili ahal izateko: Synapse eta Dendrite. Dendrite berriagoa da eta sistema-baliabide gutxiago behar dituen arren oraindik garatzen ari diren proiektua da. Horregatik, gida honetan, Synapse instalatuko dugu, Docker kontainer batean hain zuzen ere. Etorkizunean, nahi izanez gero, erraza izan beharko litzateke kontainer hori Dendriterekin ordezkatzea. # Sortu instantzia Oracle Cloud-en makina birtual (MB) bat sortzea nahiko erraza da. Kontua sortu dugunean (agian ordu pare bat itxaron beharko dugu) goazen *Menu* -> *Compute* -> *Instances* eta sakatu *Create Instance* botoi urdin handia. ![](https://lemmy.eus/pictrs/image/M6kpQbftzH.jpg) Instantzia honetan *nire-domeinua.eus* ostatatuko dugu. Izena ezartzea ez da derrigorrezkoa baina lagungarri gerta daiteke etorkizunean, adibidez beste instantzia bat sortzea erabakitzen dugunean, Oraclek bi instantzia eskaintzen baititu. Instantziak *Oracle Linux* sistema eragilea erabiliko du guk ezer aldatzen ez badugu. Proiektu honetarako Ubuntu aukera egokiagoa izango litzateke, informazio gehiago dagoelako Synapse Debianen oinarritutako sistema batean exekutatzeari buruz. Gauzak horrela, *Image and Shape* ataletik gertu dagoen *Edit* botoia sakatu eta aukeratu *Change Image*. Zerrendatik hautatu *Canonical Ubuntu 20.04 minimal*, eta amaitzeko *Select Image* sakatu aukera baieztatzeko. ![](https://lemmy.eus/pictrs/image/ZRkQBkHrzb.jpg) Instantziak AMD EPYC 7551 CPU bakarra erabiliko du, 2,0 GHz eta RAM Gb bakarrarekin. Ez da asko baina doakoa da eta nahikoa izan beharko litzateke proiektu honetarako. Gainontzeko aukerak beren horretan utz ditzakegu. Egiaztatu ***Assign a public IPv4 address:** Yes* dioela. [Oracleren hodeiaren abantailetako bat da IPa estatikoa dela eta ez dugula DynDNS zerbitzurik erabili beharko, hasiberrientzako errazagoa] ![](https://lemmy.eus/pictrs/image/7CtWUMRbKo.jpg) Goazen beheruntz eta *Add SSH keys* atala ikusiko dugu. Egiaztatu *Generate a key pair for me* aukera hautatuta dagoela eta sakatu *Save Private Key* botoia gakoa gure ordenagailura deskargatzeko, Makina Birtualera SSH bidez konektatzeko beharko dugulako. ![](https://lemmy.eus/pictrs/image/6VhiyiLQux.jpg) Azken pausoa monitorizazioa kentzea izango litzateke: *Show advanced options* -> *remove monitoring* Orain bai, *Create Instance* botoi urdina sakatu dezakegu, pantailaren amaieran dagoena, eta minutu batzuk itxaron ondoren, prest izango dugu abiarazteko. *Running* egoera ikusten dugunean, berdez, konektatzeko prest dago. Idatzi nonbait Makina Birtualaren IPa. (aldatuko ez dena) eta erabiltzailea: *ubuntu*. SSH bidez konektatzeko hainbat aukera daude: Secure Shell extension Google Chrome eta web-nabigatzaile baliokideetarako, PuTTY Windowserako (?), edota terminalaren bidez. Gida honetan terminala erabiliko dugu. Linuxen eta macOSen ez dugu ezer instalatu beharko. Idatzi `ssh -i gakoa ubuntu@ip-helbidea` eta sakatu intro. > oharra: gakoa terminalera eraman dezakegu *ssh -i* idatzi ondoren *ubuntu@ip-helbidea:~$* ikusi beharko genuke terminaleko leihoan [edo *ubuntu@matrix.nire-domeinua.eus:~$* etorkizunean]. Barruan gaude. Oracleren monitorizazio-herraminta ezabatu dezakegu (banan-banan exekutatu): `snap remove oracle-cloud-agent` eta `apt purge snapd open-iscsi lxd lxcfs` Bide batez sistema eguneratu `sudo apt-get update` eta ondoren `sudo apt-get upgrade` komandoak exekutatuz. Noizean behin egin behar da, batez ere segurtasun-eguneraketak instalatzeko. # DNS ezarpenak Aurrerago esan bezala, Oraclek esleitu digun IP publikoa ez da aldatuko instantzia itzaltzen badugu ere. Gurea izango da instantzia ezabatu [*terminate*] arte. Registrar / Domeinu-enpresaren webgunera joango gara eta *A* motako bi erregistro sortuko ditugu: *nire-domeinua.eus* eta *matrix.nire-domeinua.eus*, gure IP publikoarekin. [Matrixek azpidomeinu bat behar du] *nire-domeinua.eus* webgune arrunt bat izango da —html eta css dokumentuak igo ditzazkegu— eta matrix azpidomeinuan Synapsek egingo du lan. Hala ere, identitateak *@erabiltzailea:nire-domeinua.eus* izatea nahi dugu, ez *@erabiltzailea:**matrix**.nire-domeinua.eus*. Horregatik, *SRV* erregistroa ere sortuko dugu identitateak kudeatzeko: SRV \_matrix._tcp.nire-domeinua.eus eta ondorengo datuak: priority=0, weight=10, port=8448, target=matrix.nire-domeinua.eus, bestelako matrix zerbitzari batzuekin federatu ahal izateko. ![](https://lemmy.eus/pictrs/image/NhSqBoGzO1.png) [domeinua nagusia eta matrix bi zerbitzari desberdinetan izan nahi badituzue, prozesua korapilatsuagoa da. Gida originala irakurtzea gomendatzen dizuet] # Suebakiaren ezarpenak Synapse 8008. atakari adi egongo zaio eta 8448. ataka ere badarabil federatutako beste Matrix zerbitzariekin harremana egon dadin. Ataka horiek ikusgai egin ordez, *reverse proxy* bidez babestuko dugu Synapse, HTTPS eta 443 ataka erabiliz. HTTP eta 80. ataka ere eskuragarri egon beharko dira ACME ziurtagirietarako. Bi suebaki ditugu: Oracle Cloud eta Makina Birtualaren barnean dagoena. Lehenengo Oracle Cloudena moldatuko dugu. Gure instantziaren xehetasunak erakusten dituen gunera jo beharko dugu eta *Primary VNIC* atalean dagoen *subnet*ean klikatu beharko dugu. ![](https://lemmy.eus/pictrs/image/VEqkr1tLW3.jpg) *Security Lists* aurkitu beharko dugu eta *Default Security List* hautatu. ![](https://lemmy.eus/pictrs/image/4lVvTbZQl1.jpg) *Ingress Rules* atalak suebakiak baimendutako sarrera atakak zerrendatzen ditu eta hasieran SSH baino ez du ahalbidetzen. Guk *Add Ingress Rules* botoia sakatu beharko dugu. ![](https://lemmy.eus/pictrs/image/nBJ2bHgogE.jpg) Irudikoa gehitu: ![](https://lemmy.eus/pictrs/image/SWErf8dMAg.jpg) Zerrendaren amaieran agertuko zaigu. ![](https://lemmy.eus/pictrs/image/WuRO0xSSMe.jpg) Honi esker, internetetik gure instantziara konexioak ahalbidetuko ditugu, baina sistema eragileak (hots, Ubuntuk) konexio horiek deuseztatuko ditu bere suebakia dela-eta. Horretarako *iptables* delakoa aldatu beharko dugu. Exekutatu `sudo iptables -L INPUT --line-numbers` uneko ezarpenak ikusi ahal izateko. Horrelako zerbait ikusi beharko genuke: Chain INPUT (policy ACCEPT) num target prot opt source destination 1. ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED 2. ACCEPT icmp -- anywhere anywhere 3. ACCEPT all -- anywhere anywhere 4. ACCEPT udp -- anywhere anywhere udp spt:ntp 5. ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh 6. REJECT all -- anywhere anywhere reject-with icmp-host-prohibited ————— 6. lerroa (*REJECT all*) baino lehen 80 eta 443. atakak gehitu behar ditugu: `sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 80 -j ACCEPT` `sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 443 -j ACCEPT` Eta ondoren hasierako komandoa exekutatuko dugu HTTP eta HTTPS zuzen gehitu ditugula baieztatzeko. 6. eta 7. lerroetan HTTP eta HTTPS ikusi beharko genituzke, hurrenez hurren. Aldaketa hauek behin-betikoak izateko, ondorengo komandoa erabiliko dugu: `sudo netfilter-persistent save` eta hau ikusi beharko genuke: > run-parts: executing /usr/share/netfilter-persistent/plugins.d/15-ip4tables save > run-parts: executing /usr/share/netfilter-persistent/plugins.d/25-ip6tables save Honen antzeko zerbait ikusi beharko genuke: ![](https://lemmy.eus/pictrs/image/284ch3KBb8.png) # Reverse proxy konfiguratzen Apache eta Nginx erabili daitezkeen arren, Caddy errazagoa da, besteak beste ziurtagiriak automatikoki kudeatu beharko lituzkeelako. Caddy instalatzeko exekutatu ondokoak, banan-banan: `sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https` `curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo apt-key add -` `curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list` `sudo apt update` `sudo apt install caddy` Eta orain Caddyren ezarpenak moldatuko ditugu. Exekutatu: `sudo nano /etc/caddy/Caddyfile` Honako hau idatzi: ![](https://lemmy.eus/pictrs/image/ULSwf44c6M.png) >nire-domeinua.eus { > root * /var/www/html > file_server >} >nire-domeinua.eus:8448 { > reverse_proxy http://localhost:8008 >} >matrix.nire-domeinua.eus { > reverse_proxy /_matrix/* http://localhost:8008 > reverse_proxy /_synapse/client/* http://localhost:8008 >} Gorde aldaketak *ctl+o* teklak sakatuz eta ondoren intro. *ctl+x* fitxategia ixteko. Abiarazi Caddy, eta berrabiarazi ezarpen berriak erabil ditzan (banan-banan): `sudo systemctl enable caddy` `sudo systemctl start caddy` `sudo systemctl restart caddy` Nabigatzailean https://matrix.nire-domeinua.eus bisitatzerakoan orri zuri bat ikusiko dugu, baina ziurtagiria duela egiaztatuko dugu. Ondo goazelaren seinale. [Hurrengoa: Synapse instalatu](https://lemmy.eus/post/14284)