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.
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.
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.
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.
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
.
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
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ě.