Domowy serwerek - lepszy i tańszy od malinki
20.03.2013 18:10
Przekornie dobrałem tytuł jedynie po to, aby was zainteresować, więc od razu się z niego wycofam - kilkunastoletni laptop ma wiele wad w stosunku do malinki, ale za to w kilka godzin możemy mieć działające, wielofunkcyjne urządzenie - praktycznie za darmo, biorąc pod uwagę ceny na allegro. Pobór prądu nie jest najmniejszy, ale raczej nie przekracza 20W. Konfiguracja, uruchomienie i korzystanie z niego nie przyprawi nas za to później o ból głowy, nawet jeśli szczytem możliwości jest dla nas skompilowanie mpd - poniekąd tym stwierdzeniem przedstawiam przed Wami swój poziom i wiedzę w linuksowym świecie. Witam!
Pomysł na serwer był prosty - stary laptop IBM Thinkpad T20, od kilku lat użytkowany przez moją mamę, nie nadawał się już do niczego. 256MB pamięci nie pozwalało na kulturalną pracę, a procesor 600MHz przycinał w zasadzie nawet przy przewijaniu stron - korzystała z okrojonej wersji XP. Oddałem jej swojego malucha X31 z zewnętrznym monitorem, który wsadzony w stację dokującą nie odróżnia się niczym od stacjonarnego komputera a 8 lat po wyprodukowaniu trzyma 3,5h na baterii, a sam wziąłem się za dzisiaj już w zasadzie zabytkowy T20. Założenia były proste - torrent, radio, muzyka, Dropbox, udostępnianie plików i serwer druku. Biorąc pod uwagę, że w domu jest aktualnie aż pięć komputerów, ma to jakiś (mniejszy niż większy, ale zawsze) sens. W planach jest rozszerzenie możliwości multimedialnych na chociażby obsługę audio w łazience czy wygodny system (czuję, że sam go będę pisał...) dodawania muzyki i filmów z dowolnego źródła, aby potem odsłuchać je na domowej wieży.
Pierwszą sprawą było rozpoznanie terenu - jaką dystrybucję powinienem zainstalować? Miałem wcześniej kontakt z Kubuntu (krótki), Ubuntu, Lubuntu (roczny) oraz Debianem Wheezy i byłem nastawiony właśnie na tego ostatniego. Oczywiście na serwer, w zasadzie starego laptopa, wybrałem wersję Stable (Squeeze). Frankfurterium, jako archowiec, polecił mi Archa - ale rzut okiem na sposób instalacji w zasadzie upewnił mnie w przekonaniu - jeszcze nie teraz, za chudy w uszach jestem na to. Dodatkowo chwila buszowania w internecie i okazało się, że większość osób na serwery (wiem, to moje to laptop :)) wybiera jednak Debiana - ja też tak zrobiłem. Pobrałem z torrenta płytkę Debian Netinstall (bez środowiska graficznego), wypaliłem, uruchomiłem instalację i wszystko przebiegało bezproblemowo... I tak było w zasadzie do końca. Wcześniej Gpartedem przesunąłem partycje, aby stary Windows XP był nadal dostępny. Instalowałem w trybie graficznym - gdy tylko mogę, ułatwiam sobie życie :) Wszystko przebiegło bezproblemowo i po dłuższym czasie cieszyłem się czystym Debianem z Sambą, Apachem (serwer WWW) i Cupsem - na razie jeszcze niedziałającymi :)
Oczywiście, nie męczyłem się w Lynxie w konsoli, tylko łączyłem zdalnie za pomocą klienta ssh - Putty - z mojego komputera, też Thinkpada sprzed lat, z Windows 7. Przyszedł czas na punkt pierwszy - rTorrent. Instalacja była banalnie prosta, jak to w Linuksie - jeden raz pozwolę sobie przedstawić tak, aby zatwardziali windziarzy zobaczyli co tracą ;)
aptitude install rtorrent
Potem tylko pozostał wybór sieciowego klienta graficznego. Osobiście spodobał mi się rtgui, ale lista klientów do wyboru jest dość długa, a ich instalacja polega w większości przypadków na rozpakowaniu archiwum do odpowiedniego katalogu.
Nie kłamię, to aplikacja w przeglądarce :) nie jest najpiękniejsza, ale wybór jest duży
O ile tutaj wszystko działało, o tyle w przypadku CUPSa i serwera muzyki już się trochę namęczyłem, raczej przez swoją niewiedzę niż cokolwiek innego. CUPS po odpowiedniej konfiguracji lokalizacji, uprawnień i drukarki przez interfejs www (http://adres_serwera:631, ale standardowo dostęp jest tylko z localhosta) działa dość dobrze, jakość interfejsu www robi wrażenie. Z serwerem muzyki męczyłem się niesamowicie - pamiętajcie, że każde standardowe dodanie użytkownika do grupy "audio" czy "lp lpadmin" to dla mnie następna rzecz do wygooglania. Jednak, nawet teraz dźwięk nie zawsze startuje - w losowy sposób. Zainstalowałem vlc‑nox, uruchomiłem (po chyba godzinnej idiotycznej walce z dużym i, które wygląda jak L - musiałem uruchomić interfejs http poleceniem "vlc -i http" i gdy już uzyskałem dźwięk i interfejs http - srodze się zawiodłem. Jakość tego interfejsu woła o pomstę do nieba, niestety, nie znajduję dla niego żadnej alternatywy, o czym za chwilę.
Zdaje sobie sprawę, że korzystam ze starego VLC, ale w nowym (2.0.3 bodajże, ze Squeeze backports) nawet nie potrafiłem dodać piosenki/strumienia do listy odtwarzania - jest jeszcze gorzej! Najgorszy w zasadzie jest brak możliwości zapisywania playlisty - zawsze trzeba podawać linki od nowa. Dlatego też zacząłem poszukiwać alternatywy w postaci mpd, o którym w blogach o malinkach już wspominano. Tutaj mamy sytuacją podobną do rtorrenta, tyle, że mpd standardowo nie dostarcza żadnego interfejsu - jest tylko serwerem, do którego możemy podłączyć wiele typów interfejsów, zależnie od kompilacji - u siebie uruchomiłem tylko interfejsy http - rompr (działa w bardzo wybiórczy sposób, w zasadzie nie da się z niego korzystać - pomimo interesującego interfejsu), relaxx (na razie najlepszy) i prawie ampache (prawie, bo cały czas wyświetla Mysql for PHP: ERROR pomimo zainstalowania odpowiednich pakietów.
Wszystkie te odtwarzacze wyglądają ładnie, ale przynajmniej dla mnie mają kilka dużych wad: niemożliwe dodawanie plików na serwer (chyba sam w końcu napiszę jakiś prosty uploader, albo będę łączył się przez FTP/Sambę), brak obsługi strumieni mms (trójki za pomocą tych klientów nie posłuchasz - jeśli ktoś jednak potrafi to skonfigurować, to proszę o skorygowanie moich słów! Moje mpd ma obsługę formatu mms, jednak nic nie gra) oraz chociażby linków z youtube, które udało mi się uruchomić nawet na przestarzałym vlc. Tutaj pozwolę sobie pochwalić się autorskim rozwiązaniem, chociaż jest banalne. Jeśli na starym VLC nie działa oglądanie filmów z youtube, wystarczy zamienić pliki youtube.luac, youtube_homepage.luac znajdujące się w lokalizacji /usr/lib/vlc/lua/playlist/youtube.luac na te z najnowszej wersji VLC, chociażby windowsowej do pobrania na naszym portalu. Niby nic trudnego, ale jakoś nigdzie w sieci nie znalazłem takiej podpowiedzi.
Wszystko to było dość proste i w zasadzie każdy początkujący użytkownik linuksa powinien sobie poradzić - a efekt jest naprawdę niezły. Oczywiście pozostało kilka nierozwiązanych problemów,nad którymi pracuję, jak:
- Sypiące się czasami audio
- Konfiguracja Samby
- Instalacja własnej chmury - ownCloud
- Skrypt wyłączający laptopa po wyłączeniu zasilania - bateria trzyma ze dwie minuty
- Może konfiguracja chomikboxa? Ale nie wiem, czy jest możliwość pracy w konsoli
- Mysql
Ale to szczegóły, w porównaniu z tym co zostało zrobione - i to jak niskim kosztem, także czasowym, pomimo potrzeby często szukania odpowiedzi w najgłębszych zakamarkach internetu :) Mam to, co chciałem mieć - nie muszę zostawiać komputera włączonego do pobierania torrentów, mogę wygodnie puszczać własne mp3 z wieży a najważniejsze pliki będą zawsze dostępne, dzięki dropboxowi, na każdym komputerze. Drukarka jest udostępniona dla wszystkich, nawet w okrojonym z "udostępniania plików i drukarek" Windowsie XP jej instalacja nie przysporzyła żadnych problemów. No i teraz mogę pracować nad kolejnymi stronami WWW nawet gdy odłączą mi sieć, co przy radiówce zdarza się dość często. Prawie, bo baza mysql mi jednak nie działa. Ktoś pomoże? ;)