Hirdetés

Brazos feat. Chakra - HTPC/Server

Bevezetés/HW

/Mindenkit elrémítve elmondanám, hogy nem tartom magam "Szakértőnek" a témában. Egyszerű ember vagyok, aki informatikát tanul(na) és ezért gyakorlásból készítettem ezt a szervert. Nagyon sokan segítettek és sok leírás volt segítségemre. Ezek alapbeállításokat tartalmaznak, ennél sokkal komolyabb beállításokkal lehet dolgozni és nekem is komolyabban van ennél beállítva. Ezt inkább kezdőknek ajánlom. (Később lesz leírás komolyabb beállításokkal is)/

Kezdjük is el:

Kerestem a megfelelő hardvert egy linuxos szerverhez. A lényeg a fogyasztás volt, hisz' csóró "mádzsárnák" nem mindegy, hogy 100-120 W-ot eszik a gépe, ami minden nap megy, vagy csak 50 W környékén vinyókkal, ventikkel, nagymamával és anyóssal megpakolva.

Sokáig az Intel gyár Atom néven futó processzorai szerepeltek a listám első helyén, de aztán egy nap, valami véletlen folytán ráakadtam egy HP Proliant N40L Microserverre. Rögtön beleszerettem, semmi kétség, nekem KELL egy ilyen.

Addig húztam a vásárlását, hogy a lehetőség elúszott, a részletekbe nem mennék bele, hogy miért. Az egész viszont jó volt arra, hogy ráleljek a számomra legtökéletesebb megoldásra. Egy AMD APU-ra, processzorra.

A lényege az lenne, hogy processzor teljesítményben gyengébb, mint az inteles versenytársai, de médialejátszásra és egyéb médiával kapcsolatos dologra viszont tökéletes és jobb, mint a piciny Atom. Az egészben az volt a legjobb, hogy rájöttem a tutira: minek "pazaroljak" el egy teljes gépet puszta szerver feladatokra, arra egy erősebb router vagy NAS is elég lenne. Ekkor jött az ötlet, hogy készítek egy itthonra teljesen alkalmas "médiacentert, központot", ún. HTPC-t és egyben ezzel elkészítem a szerverfunkciókat, amelyet később tudok bővíteni is, ha akarok.

Így hát elkezdtem keresni és megtaláltam a jó (öreg?) ASROCK E350m1 nevezetű szép kis alaplapot, amelyen az AMD Brazos névre keresztelt, igencsak csodálatos processzora van integrálva. A lehető legtökéletesebb megoldás számomra. Van rajta HDMI, DVI, 5.1, egy bővítő lehetőség, 16 GB RAM, meg minden, mi jó. Irány a WEBSHOOOOP!

Megrendeltem az alaplapot és hozzá először 1x2 GB KINGMAX RAM-ot, később pedig még 1x2 GB-ot. Na jó, de ebbő' oszt' még nincs számológép?! Szóval elkezdtem dolgozni, csak szigorúan "nehogy kidobd, jó lesz az még valamire" alkatrészekből. Most így néz ki: sima, fekete normál méretű ATX-es ház, 2x2 GB RAM, Brazos proci, SATA 160 GB + 1000 GB winchester. A két vinyó azért kellett, mert szerettem volna 1 vinyóra a rendszert, egy vinyóra az adatokat. Eleinte RAID-be akartam kötni a 160-ast, de a lényeg, hogy a vége 2 vinyó lett. Az 1 TB-os amúgy is NTFS és nem akartam ezért partícionálni szegényt. A tápról most nem ejtenék szót, nem égetném magamat... :D A lényeg, hogy összerakás után feldörrent a Brazos...

Linux

Linux választás

Amikor a gép meglett, már több, mint fél éve éltem, gyakoroltam és próbálkoztam a Linuxok világában. Rájöttem, hogy szerver/HTPC alapokra a leginkább egy Ubuntu alapú disztribúció lehet alkalmas. Hát nem... Felraktam a Xubuntut, Lubuntut, Kubuntut, Linux Mint-et és a Mythbuntut. Na, itt elszakadt a pohár, kiborult a cérna. Egyszerűen sehogy sem jött össze a Full HD filmek lejátszása egyetlen disztrón sem. Próbálkoztam mindennel, később már Debiannal is. Feltelepítettem az XvBA csomagokat, mindent és semmit sem sikerült. Lehet az én bénaságom, de végül nagy szerencsére hallgattam CPT.Pirk kollégára, aki a Chakra Linux nevezetű disztrót ajánlotta. Ez egy Arch alapú disztribúció.

Chakra Project

Topicja
Honlap

Akkor nézzük, mit is fogunk a következőkben beállítani, feltelepíteni:

- Kell maga a disztró -> Tőccsd le'
- FTP
-SSH/SFTP
-Torrent távoli eléréssel.
-Samba
-egy kis fstab
- VNC
-HD Filmek lejátszása

Essünk is neki:

Elsőként telepíteni kell a disztrót. Ezt most külön nem írnám le, mert CPT.Pirk már írt erről egy cikket, ami elég jól sikerült. Ebből az alapokat megtudhatjuk. :) Fontos, hogy Brazos esetén a zárt driveres telepítést válasszuk. :) USB-ről a LiveLInux USB Creator (Lili) segítségével tudunk bootolható USB-t készíteni. Értelemszerű és egyszerű progi.

Ugorjunk is a lényegre. :)

Telepítés után/HD filmek

Miután feltelepült a KDE alapú disztrónk, már meg is kezdhetjük a munkát. Remélhetőleg a legfrissebb Chakrát szedte le mindenki és így alig van dolgunk. HD filmek lejátszásához és üzembe helyezéshez lássuk a következő lépéseket:

- Menüben nyissunk egy "Terminal" ablakot és mehet is a gépelés:

Kezdésnek frissítsünk és szinkronizáljuk a csomagok forrásának adatbázisát:

(-sudo pacman -S pacman ) - erre nem biztos, hogy szükség van, majd:

- sudo pacman -Syu

(Illetve itt illik még:
-sudo pacman -S mc -t is kiadni. Ezzel települ a fájlkezelőnk, amivel dolgozni tudunk.)

Ezzel le is futott a frissítés, a felmerülő kérdésekre Igen/Yes-szel válaszolunk.

Jöhetnek a megfelelő csomagok:

Amennyiben a legfrissebb disztrót szedtük le, akkor az ATI Catalyst legfrissebb verziója települt, más esetben a legjobb, ha kérdezel a topikban.

Amire mindenképp szükség van:

-sudo pacman -S xvba-video
Erre a csomagra mindenképp szükségünk van AMD/Brazos esetén, ez telepíti a hardveres gyorsításhoz szükséges csomagokat, libeket. Amennyiben a "libva" nevű csomag nem települ automatikusan az XvBA-val, telepítsük:

-sudo pacman -S libva

Ezek után jöhetnek a lejátszók, itt kedvünkre választhatunk, de mivel HTPC-ről van szó, így vlc és XBMC elengedhetetlen:

-sudo pacman -S xbmc
-sudo pacman -S vlc

Ezzel települtek a lejátszóink és mehet a filmezés. :) XBMC-t személyesen testre szabhatjuk, beállíthatjuk, de itt már működőképes, csak angol.. :)

SSH/SFTP

SSH/SFTP

Mi az az SSH meg aza' izé'...SFTP?
Az SSH biztosítja számunkra, hogy távolról hozzáférjünk az oprendszerünkhöz CLI (parancssoros) felületen, illetve ez a kis "program" fogja kezelni az SFTP kéréseinket. Az SFTP egy titkosított, biztonságos fájlátviteli protocol (Secure File Transfer Protocol). Ezzel bátran dolgozhatunk a fájljainkkal.

Kezdődjék a mese:

Terminalban:

-sudo pacman -S openssh

Ezzel feltelepül a programunk. Indítsuk el:

-sudo systemctl start sshd.service

A beállításoknál én a "mcedit" nevű szövegszerkesztőt fogom használni, de mindenki azt használja, amit szeret / ismer. :)

Adjunk neki:

-sudo mcedit /etc/ssh/sshd.config

Itt keressük meg a következőket:

-Port 22 - ezt állítsuk át tetszőlegesen olyan portra, ami szabad. (Ebben a Google a barátod.) Azért kell átállítani, mert különben, ha valaki fel akarja törni a géped, akkor ezen a porton fog először próbálkozni. Ezzel egy biztonsági pont - pipa!

-PermitRootLogin no - Ez fontos! Ne engedjük, hogy root felhasználó hozzáférjen a rendszerhez. Még egy biztonsági pont - pipa!

-PermitEmptyPasswords no - Ezzel megakadályozzuk, hogy jelszó nélkül be lehessen jutni a rendszerbe.

Illetve a legvégére a szövegdoboznak rakjuk oda, a következőt:

AllowUsers "user1 user" - ezzel csak bizonyos felhasználók férhetnek hozzá a rendszerünkhöz. Ez számomra majd SFTP-nél lesz fontos.

Ha ezzel megvagyunk Windows alól a Putty nevű programmal tesztelhetjük is a sikerünket. Ha azt akarjuk, hogy a rendszer indulásakor automatikusan induljon el a mi kis SSH-nk, akkor ezt a parancsot adjuk ki terminálban:

-sudo systemctl enable sshd.service
-sudo systemctl enable sshd.socket

SFTP

Itt semmi dolgunk nincs, ha az előbb már jól dolgoztunk. Fogunk egy SFTP klienst (Pl.: Core FTP) Beírjuk a felhasználót és a jelszót, megadjuk a port számot és az elérési címet.

Lényeges, hogy csak azok a felhasználók használhatják az SFTP-t, akiket a sshd.config-ban megadtunk. Utána látjuk, hogy ez a beállítás nem zárja be a usereket a saját mappájukba. Ez nem biztonságos, ezért én pl. csak magamat engedtem, hogy hozzáférjen SSH-n keresztül a géphez, mert ÉN szeretnék az egész rendszerhez hozzáférni, ezért használok SFTP-t erre. Mindenki maga dönti el, hogy ez jó-e vagy sem.

FTP

FTP

Ha jók vagyunk, akkor már van távoli elérésünk és egy jó SFTP-nk. DE az előbb láttuk, hogy a beállított felhasználók mindenhez hozzáférnek SFTP-n keresztül és nekünk kell egy File Transfer Protocol, aminek segítségével fájlokat tudunk le- és feltölteni a szerverünkre anélkül, hogy mások esetleg hozzáférhetnének a gyökérhez.

Kedvünkre választhatunk több FTP programot, de én a Proftp-t szeretem, így azt használom. Mehet is a belövése:

-sudo pacman -S proftpd
-sudo systemctl start proftpd.service

Lefutott a telepítő,elindítottuk, jöhet a beállítás:

-sudo mcedit /etc/proftpd.conf

-Server Name: "szerverünk neve"
-Server Type standalone

Illetve keressük meg a következőt:

#DefaultRoot ~ Itt vegyük ki a kettőskeresztet és ezzel be is zártuk a felhasználóinkat a saját /home mappájukba. :) Jeppjepp!

Ha nem akarunk anonymus hozzáférést a szerverhez, akkor a következőt vegyük ki:

<Anonymous ~ftp>
User ftp
Group ftp

Ha ezeket töröljük, vagy kikommenteljük (teszel elé kettőskeresztet), akkor már csak az fér hozzá, aki "valós felhasználó" a rendszerünkben.

Automatikus indításhoz:

-sudo systemctl enable proftpd.service

Teszteljük is le. Jöhet bármilyen FTP kliens. Akár CoreFTP, akár Total Commander..

CoreFTP beállítása

Samba és fstab

Fstab és Samba

Samba segít nekünk abban, hogy a hálózaton tudjuk megosztani a fájlajinkat, illetve segít abban, hogy a már létező windowsos megosztásainkat elérjük. Az fstab pedig egy fájl, amiben főként meghajtókat, tárolókat tudunk felcsatolni. Ez az én esetemben fontos, hisz egy NTFS vinyó van pluszban a gépemben és ez automatikusan nem kapcsolódik fel induláskor. Lássuk is először az fstabot:

Ahhoz, hogy tudjuk mi is folyik a gépünkön, milyen merevlemezek hogy vannak felcsatolva és hogy megtudjuk, az NTFS vinyónk miként van a gépünkben feltüntetve, adjuk ki a következő parancsot:

-sudo fdisk -l

Itt láthatjuk, hogy nekem hogy épül fel a dolog. /dev/sda123 a 160 GB-os vinyóm lesz, ami a rendszer. A /dev/sdb1 pedig a terás vinyóm, amin az adataim vannak. Szóval ezek alapján elkezdhetjük szerkeszteni az fstabot.

-sudo mcedit /etc/fstab

Az első oszlop az elérési helye a meghajtómnak, a második ahová csatolom. Harmadik a fájlrendszer, negyedik pedig, hogy miként, milyen szabály szerint csatolódjon fel. Nagyobb részletekbe most nem mennék bele. Itt Itt találtok komolyabb leírást róla.

Szóval az fstabba ezt írjuk be.

/dev/sdb1 /csatolási/hely/ ntfs auto 1 1 - ezzel induláskor automatikusan felcsatolódik a meghajtónk.

Samba

Telepítsünk a megszokott módon és indítsuk el:

-sudo pacman -S samba

-sudo systemctl start smbd.service
-sudo systemctl start nmbd.service

Auto indulás:
-sudo systemctl enable smbd.service
-sudo systemctl enable nmbd.service

Csináljunk egy mappát, amit próbaként megoszthatunk:

-mkdir /home/megosztasom

Majd szerkesszük a config fájlt:

-sudo mcedit /etc/samba/smb.conf

Itt jelöljünk ki mindent és töröljük ki. Legyen üres a fájl, persze előtte azért csináljunk biztonsági mentést róla.

Beállításba komolyan belemenni nem lehet, de egy egyszerű beállítás:

[global]
workgroup = "tartomány"
netbios name = "gépneve"
guest ok = yes - hozzáférhet-e vendég
read only = no - csak olvasható-e
security = share - milyen biztonsági szintje van. share=megosztás. Sokszor használatos "user".
guest account = nobody - vendégek

[megosztasom]
comment = Barki hozzaferhet
path = /home/megosztasom - elérési útja a megosztani való mappának :)
browseable = Yes - Ez a beállítás segíti elő, hogy lássuk a hálózaton a megosztást.
read only = no - Csak olvasható?
guest ok = Yes - Vendég jöhet.

Ezzel meg is osztottunk egy mappát a hálózaton. Komolyabb beállítások és leírások milliói vannak a neten. De itt van egy Archwikiről. :) Ebben minden benne van. :)

Beállítottuk? Indítsuk újra.

-sudo systemctl restart smbd.service
-sudo systemctl restart nmbd.service

Torrent

Transmission

Itt nincs mit magyarázni, csak annyit, hogy én személy szerint azért választottam a Transmission torrent nevű programot, mert ez van Androidra, iOS-re és Winre is, illetve persze Linuxra. Így távoli eléréssel nem lesz gond, plusz majdnem mindegyik torrent oldal/tracker kompatibilis ezzel. Akkor hát "telepíííccsük":

-sud pacman -S transmission-qt

(CLI felülethez: -sudo pacman -S transmission-cli)

Feltelepült, grafikus felületen tudjuk a beállításokat értelemszerűen kitölteni. Én most inkább a távoli elérésre mennék rá.

KDE-n, a programban az EDIT-> preferences ablakban a web fülön tudjuk engedélyezni. Tegyük meg. Ezzel engedélyeztünk a hozzáférést.

Use authenticationt pipáljuk be és adjunk meg egy név/jelszó párost. Lehet más jelszó is, mint a root jelszavad. Sőt, legyen is más!
Portot is átállíthatjuk, az se árt.

Utána töltsük le windowsos, androidos, maces, stb. gépünkre a hozzáillő kliensprogramot.

Transmission oldala

Utána Connect fülön adjuk meg a felhasználót/jelszót, amit az előbb beállítottunk. Ha mindent forwardoltál a routereden, akkor menni fog. :)

VNC

VNC

Ez nem egy nagy dolog, távoli asztal eléréshez kell, de könnyű beállítani és csak a ccr miatt írtam ide. A ccr egy külső tároló, amit/amiket a felhasználók saját maguk tartanak karban. Nem fejlesztették direkt Chakrára, de ettől függetlenül majdnem mind működik. Főként Archról jött programokat találunk itt.

Essünk neki:

Normál, nem root jogokkal adjuk ki a parancsokat:

-ccr x11vnc

Itt megkérdezi, hogy mit is akarsz ezzel. Mi a 0-s számú külső helyről származó programot akarjuk telepíteni, így:
0 -> enter

Utána értelemszerűen jöhetnek a beállítások.

Telepíted? -> Yes
EDITORRAL szerkeszted -> NO

Ezután hátradőlünk, míg megy a telepítő. Ha végzett, a következő parancsok kellenek csak nekünk:
(A legjobb, ha ezt csak SSH-n adjuk ki, így amikor bezárjuk az SSH-t, akkor azzal megszűnik a Remote Control és nincs gond arra, hogy ki próbálkozik felénk.)

-(sudo) mkdir ~/.x11vnc

-(sudo) x11vnc -storepasswd jelszó ~/.x11vnc/passwd

-(sudo) x11vnc display :0 -ezzel elindultunk, huhhúúúú.

Távoli gépen:

Telepítsük az UltraVnc nevű programot és állítsuk be az elérést (IP-cím, port. Port általában 5900, vagy annál magasabb, ez attól függ, hogy hány távoli asztal kapcsolat van elindítva. A port számot induláskor mutatja, de meg is lehet változtatni a -p "port szám" kapcsolóval .). Portot persze forwaldoljunk routerben, tűzfalban.

Vége

Búcsúzom

El is értünk ezzel szerverünk és HTPC-nk teljes beállításához. Természetesen sokmillió dolog van, ami befolyásolhatja a rendszerünk megfelelő működését. Portokat forwardoljunk, tegyünk meg mindent a felhasználók megfelelő jogosultságának kiadásáért.

Remélem tudtam segíteni! Ha valami hibát találtok a leírásban, kérem jelezzétek és javítom! :) Később lesz még leírás a kvótáról, iptables-ről, de egyelőre ennyi elég.

Ezúton szeretnék egy hatalmas köszönetet mondani CPT.Pirk kollégának. Az Ő segítsége nélkül semeddig se jutottam volna. Rengeteget segített és biztos vagyok benne, hogy még fog is. Másoknak is köszönöm, mint sh4d0w, Vladi, Vizion, MacCaine, lionhearted és még sokaknak, akik segítettek.

Azóta történt