Linux E X P R E S

Facebook

OwnCloud na Raspberry Pi 2

owncloud.png

Nabídka většiny veřejně dostupných webových úložišť vypadá lákavě. Do určitého objemu dat jsou zdarma a jejich používání je velice jednoduché. Jenže podmínky užívání určuje provozovatel a ten je může kdykoli podstatně změnit. Pro všechny, kteří chtějí využívat pohodlí cloud computingu a zároveň nechtějí ztratit kontrolu nad svými daty je zde ownCloud.


ownCloud je otevřený systém umožňující provoz vlastního cloudového úložiště. Přístup k uloženým souborům, složkám, kontaktům, fotografiím, kalendářům spoustě dalšího obsahu je možný prostřednictvím webového prohlížeče nebo je zajištěn pomocí synchronizaci složek mezi vašimi zařízeními. ownCloud také umožňuje sdílení vybraných dat s dalšími uživateli. Užívání nainstalovaného ownCloudu je tedy do značné míry podobné Dropboxu, MS OneDrive nebo Google Drive.

owncloud_mozilla.png
Serverovou část řešení, napsanou v PHP a Javascriptu, doplňují klientské aplikace pro Windows, Linux a Mac OSX a též mobilní aplikace pro Android, iOS, BlackBerry. Nejen příznivci svobodného software ocení, že serverová část řešení je uvolněna pod licencí AGPLv3 a klientské aplikace pod licencí GPL s malou výjimkou pro klienta iOS.

Jsem toho názoru, že základním problémem osobních datových úložišť jsou náklady na jejich pořízení a provoz. Z tohoto úhlu pohledu je ownCloud na Raspberry Pi vynikající volbou. Jeho pořizovací hodnota nepřesáhne 2 500 Kč včetně napájecího zdroje, paměťové karty a externího USB disku. Při spotřebě v rozmezí 1,5 – 5 W a provozu 24 hodin denně, 7 dní v týdnu se vám elektroměr také příliš neprotočí.

Kdo chce nainstalovat Jessii?

Než se dáme do vlastní instalace ownCloudu, vraťme se k předchozímu dílu našeho „malinového“ seriálu s malou aktualizací. Na stránkách Raspberry Pi je už nějakou dobu k dispozici novější verze Raspbianu, založená na Debianu Jessie. Postup instalace je až na název obrazu systému totožný s tím, který už byl uveden a proto ho zde nebudu opakovat. Samozřejmě, že můžete také využít alternativní postup s použitím kpartx.

Chtěl bych jen přidat malou opravu minulého postupu u posledního uvedeného příkazu. Správný příkaz pro zkopírování obsahu kořenového oddílu budoucího systému připojeného do složky /media/rpi/ do druhého oddílu externího disku připojeného do složky /media/jméno_uživatele/root/ je:

rsync -a  /media/rpi_ext/ /media/jméno_uživatele/root/

Po instalaci se vám Raspbian spustí v příjemném grafickém prostředí LXDE. Doporučuji jako jeden z prvních kroků změnu hesla uživatele pi. Spusťte terminál a zadejte příkaz:

sudo raspi-config

Zvolte položku Change User Password a nastavte své nové heslo.

change_user_password.png

Také si myslím, že se na serveru bez LXDE obejdeme, a že tedy můžeme po skončení instalace zvolit v položce Boot Options volbu B1 Console – Text console, requiring user to login, která je pro serverové použití Raspberry Pi asi nejvhodnější. Ale to je jen na vašem uvážení.

Instalace ownCloudu

Chtěl bych nejprve zdůraznit, že následující postup je jedním z mnoha. Jste-li alespoň mírně pokročilými v administraci linuxového serveru, můžete si namísto webového serveru Apache zvolit Nginx a v roli databázového serveru nahradit MySQL buď MariaDB nebo PostgreSQL. Následující postup se opírá o repozitář ownCloudu a o vyřešení závislostí jednotlivých součástí systému na základě softwarových balíčků. Příznivce grafických prostředí asi trochu zklamu. Budeme celou dobu pracovat v terminálu. Na začátku si udělíme administrátorská oprávnění pomocí příkazu:

sudo -s

Stáhneme Release key repozitáře s ownCloudem do složky /tmp:

cd /tmp
wget http://download.opensuse.org/repositories/isv:ownCloud:community/Debian_8.0/Release.key

Nyní přidáme stažený klíč do seznamu důvěryhodných poskytovatelů software pomocí příkazu:

apt-key add - < Release.key

Přidáme repozitář, obsahující balíčky s ownCloudem pomocí příkazu:

echo 'deb
http://download.opensuse.org/repositories/isv:/ownCloud:/community/Debian_8.0/ /' >> 
/etc/apt/sources.list.d/owncloud.list

Spustíme aktualizaci seznamu balíčků pomocí příkazu:

apt-get update

Pro vlastní instalaci ownCloudu pak už postačí jen příkaz:

apt-get install owncloud

Součástí instalace ownCloudu je instalace databázového serveru MySQL. V průběhu instalace tedy budete vyzváni k zadání jeho správcovského hesla. To si dobře zapamatujte nebo zapište. Budete ho potřebovat v následující částech postupu.

mysql_heslo.png

Nastavení MySQL serveru

ownCloud je možné provozovat na čtyřech různých databázových systémech. Nejjednodušší je použití SQLite. Mnohem lepší výkony ale přináší MySQL, MariaDB nebo PostgreSQL. První logickou volbou našeho postupu ale zůstává MySQL, neboť ho už máme v tomto okamžiku nainstalován.

Přihlaste se do MySQL pomocí příkazu:

mysql –defaults-file=/etc/mysql/debian.cnf

Nyní můžeme vytvořit databázi owncloud, založit uživatele owncloud a přidělit mu patřičná oprávnění. Nezapomeňte zaměnit řetězec moje_heslo_do_mysql_serveru za skutečné heslo, které jste zadali při instalaci MySQL serveru:

CREATE DATABASE owncloud;
CREATE USER owncloud@localhost IDENTIFIED BY 'moje_heslo_do_mysql_serveru';
GRANT ALL PRIVILEGES ON owncloud.* TO owncloud@localhost;
flush privileges;
quit


Vytvoření složky s uživatelskými daty

V základním nastavení používá ownCloud složku /var/www/owncloud/data. Pokud vám toto umístění vyhovuje, můžete zbytek tohoto kroku přeskočit. Rozhodnete-li se uživatelská data umístit do jiné složky, vytvořte ji a její práva nastavte na uživatele a skupinu www-data pomocí následujících příkazů:

mkdir /var/owndata
chown www-data:www-data /var/owndata
chmod 750 /var/owndata

První spuštění ownCloudu

Máme připraveno vše potřebné k prvnímu spuštění owCloudu. Spusťte webový prohlížeč a zadejte URL, do níž vepíšete IP adresu vašeho serveru nebo jeho adresu z DNS, např:

http://192.168.1.100/owncloud

V přihlašovací stránce vyplňte jméno a heslo administrátora ownCloudu. Doporučuji vyhnout se jménům root, admin, administrator, guest apod. Tato jména budou nejčastěji používána k útokům na váš systém. Kliknutím myši rozbalte roletku Storage & database.

owncloud_prvni_start.png

Do kolonky Data folder vepište cestu k vaší složce s uživatelskými daty. V našem příkladu to byla složka /var/owndata.

data_folder.png

V části Configure the database nastavíme spojení s databázovým serverem. Kliknutím na položku MySQL/MariaDB sdělíme ownCloudu, že se bude připojovat k MySQL. K zadání jeho dalších parametrů využijeme ty, které jsme si připravili v předchozích částech postupu:

  • Jméno uživatel: owncloud
  • Heslo: správcovské heslo k MySQL serveru, které jste zadali při instalaci ownCloudu
  • Jméno databáze: owncloud
  • Jméno počítače: localhost

database.png
Vše ještě jednou pohledem zkontrolujeme a stiskem tlačítka Finish setup postup ukončíme. Fungující ownCloud by nás měl uvítat následujícím způsobem.

Zcela na závěr doporučuji zpřístupnit ownCloud skrze SSL (resp. dnes už TLS). Zadejte do terminálu následující tři příkazy:

a2enmod ssl
a2ensite default-ssl
service apache2 restart

Zkuste, zda je funkční adresa vašeho ownCloudu, když nebude začínat http, ale https. Prohlížeč vás sice bude upozorňovat na nedůvěryhodný certifikát, ale kryptované spojení bude i přesto fungovat. Dodávám, že získání důvěryhodného certifikátu zdarma bude brzy možné díky iniciativě Let's Encrypt.

Na závěr

Pokud se něco nepovedlo, nezbývá než spustit terminál a podívat se na jednotlivá nastavení v souboru /var/www/owncloud/config/config.php. Mezi nejčastější chyby patří nesprávně nastavené domény nebo IP adresy v poli trusted_domains, nesprávně zadané jméno databáze v poli dbname nebo jméno uživatele databáze v poli dbuser či jeho heslo v poli dbpassword. Nezbývá, než nainstalovat příslušné klienské programy na koncové stanice a nastavit složky k synchronizaci. Ale o tom, bude-li zájem, až někdy příště.

Diskuze (25) Nahoru