Owncloud15. Mar '14

Sissejuhatus

Käesolev juhend on mõeldud IT-juhile kes soovib oma haridusasutusse paigaldada OwnCloud serverit. OwnCloud on Dropbox ning osaliselt Google Drive funktsionaalsust asendav avatud lähtekoodiga tarkvara, mida on võimalik paigaldada oma riistvarale.

http://www.cloudvps.com/files/kb/owncloud-logo.png

Põhilised argumendid OwnCloudi paigaldamiseks oma rauale on privaatsus, turvalisus, kettaruum ning kiirus asutuse sees. Käesoleva artikliga püüakski lahti seletada kuidas OwnCloudi paigaldada saab. Analoogseid lahendusi on teisigi, nagu Seafile 1 ja Syncthing 2.

1

http://www.seafile.com/

2

https://syncthing.net/

Riistvara valik

OwnCloudi jaoks sobib tavaline PC tüüpi server või kettakast, milles on vähemalt kaks ketast selleks, et andmeid jooksvalt duubeldada erinevatele ketastele kui üks ketas peaks ära surema. Kettakasti ostmisel soovitan võtta x86 baasil rauda kuna ARM protsessori baasil kettakastidega on tükk tegemist enne kui selle saab panna tegema täpselt seda mida vaja, nagu näiteks Debiani või Ubuntut jooksutama.

http://www.qnap.com/i/_images/product/items/143_1.png

QNAP TS-451 on kahetuumalise protsessoriga kettakast mis sobib ideaalselt OwnCloudi käitamiseks.

QNAP TS-451 on näide energiasäästliku Intel Haswell x86 protsessoritega kettakastist mille peaks 500€ eest kätte saama. See kettakast paaritatuna kahe 4TB Western Digital Red (5-aastane garantii) 4 kettaga peaks kogu koosluse hinna jätma 1000€ sisse. Kettakastil on kaks SO-DIMM mälupesa mis peaks jätma kasvuruumi kui hiljem on vaja mälu juurde lisada.

Important

RAID kontrolleriga võib lutsu visata

Tavalise PC baasil kettakasti ehitades soovitaksin mina igasuguseid RAID kontrollereid vältida, kuna RAID kontrolleri tootja seob teid konkreetse firmaga ning ühe kontrolleriga loodud RAID massiivi ei saa teise kontrolleri tootja omaga kasutada. Kui nüüd aastatevanune masin sureb siis, kuidas ketastelt andmeid kätte saada plaanid? Sellises situatsioonis muutub tavaliseks sobiva kontrolleri ja püsivaraga RAID kontrolleri jahtimine eBays krõbeda hinna eest. 5

3

http://arvutitark.ee/est/TOOTEKATALOOG/qnap+451/NAP-4-bay-TurboNAS-SATA-6G-241G-Celeron-4G-RAM-2xGbE-LAN-2xUSB-30-HDMI-132940

4

http://arvutitark.ee/est/TOOTEKATALOOG/4tb+red/WD-HDD-SATA-4TB-6GB-S-64MB-RED-WD4001FFSX-WDC-124927

5

http://www.drobo.com/reality-check-all-raid-is-proprietary/

Ettevalmistused

Järgnev puudutab eelkõige Tallinna Haridusameti alla kuuluvaid koole. Esiteks tee omale selgeks kellega suhelda kui mingi probleem on:

  • Sisevõrgu IP-sid ning masinanimesid hallatakse Windowsi puhul Active Directory kaudu ning Tallinna koolides osutab vastavat teenust Atea, juhul kui ei ole kasutusel kohalikku Active Directory teenust.

  • Paljude koolide kodulehti haldab Almic, antud juhul ei puutu nemad kuidagi asjasse!

  • EENeti koolidele eraldatud väliseid IP aadresse ning portide edastamist haldab Elion.

  • Väljapoolt maja paistvat blah.edu.ee domeeni haldab EENet.

  • Tasuta SSL sertifikaate saab ka EENetilt.

Selleks et protseduur kõige libedamalt sujuks:

  1. Eralda IP aadress OwnCloud masina jaoks, a'la 10.254.xxx.4. Vajadusel võib seda teha Atea Active Directorys, et välistada IP aadressi konflikt.

  2. Küsi Elionilt portide 22 (SSH), 80 (HTTP) ning 443 (HTTPS) edastamist sisevõrgus asuvale OwnCloud masina IP aadressile 10.254.xxx.4 ning küsi samas ka üle mis on sinu asutuse välisvõrgu IP aadress 195.250.188.xxx.

  3. Domeeninime owncloud.xxx.edu.ee seostamiseks kirjuta EENetile vastavasisuline kiri kus on ära märgitud välisvõrgu IP aadress 195.250.188.xxx ning soovitav domeeninimi owncloud.xxx.edu.ee.

  4. Kui soovid kasutada olemasolevaid kasutajakontosid Active Directoryst tee OwnCloudi jaoks kasutajakonto, vajadusel helista Ateasse ning lase neil see teha. Seda kasutajakontot hakkab OwnCloud kasutama kasutajate ning gruppide pärimiseks Active Directoryst.

  5. Tee kindlaks, et e-postiaadress admin@xxx.edu.ee toimib ning on kasutuskõlblik. Vajadusel helista Ateasse ning küsi edasisuunamist.

  6. Tee kindlaks et teie asutus on liitunud EENeti TERENA sertifikaatide teenusega, nende formaalsustega võib natuke aega minna. Üks osa formaalsusest on leping EENeti ning asutuse vahel sertifikaatidega majandamiseks, teine osa on IT-juhi isikutuvastus, et infojuhi e-posti taga tõepoolest peitub inimene kellel on luba toimetada asutuse xxx.edu.ee (alam)domeenidega. Ilma SSL sertifikaadita on raskendatud Windowsis WebDav ressursside haakimine

Operatsioonisüsteemi paigaldus

Kui füüsilisse masinasse pole veel operatsioonisüsteemi paigaldatud, paigalda sinna Debian. Järgnevalt loo ownCloud jaoks oma konteiner

ownCloud varamu lisamine

OwnCloud on nõnda kiirelt arenev tarkvara, mistõttu Ubuntu ja Debiani varamutes olev versioon on ammu aegunud.

Esmalt veendu, et oleks paigaldatud curl:

apt-get install curl

Ubuntu 14.04 LTS jaoks kõige värskema ownCloudi versiooni saab ownCloudi ametlikust tarkvarapakettide varamust:

echo "deb http://download.owncloud.org/download/repositories/stable/Ubuntu_14.04/ /" | \
    sudo tee /etc/apt/sources.list.d/owncloud.list
curl https://download.owncloud.org/download/repositories/stable/Ubuntu_14.04/Release.key  | \
    sudo apt-key add -
sudo apt-get update

Debian 8 jessie jaoks varamu sisse lülitamine:

echo "deb http://download.owncloud.org/download/repositories/stable/Debian_8.0/ /" > \
    /etc/apt/sources.list.d/owncloud.list
curl https://download.owncloud.org/download/repositories/stable/Debian_8.0/Release.key | \
    apt-key add -
apt-get update

Paigaldus

Veendu, et allalaadimiseks pakutaks 8.x või hilisemat versiooni:

apt-cache policy owncloud

Paigaldamiseks:

apt-get install owncloud mysql-server php5-ldap

Järgi juhiseid ekraanil ning jäta meelde MySQL andmebaasi jaoks loodud kasutaja ja parool. Neid on hiljem vaja OwnCloudi andmebaasi seadistamiseks. Peale paigaldust ava /owncloud oma serveri aadressilt, näiteks http://127.0.0.1/owncloud/ ning veebiliideses loo administraator-kasutaja OwnCloud jaoks kasutades MySQL andmebaasi. Selle kasutajakontoga saab seda OwnCloud paigaldust seadistada.

Sidumine AD-ga

Kuna koolil on tavaliselt Active Directory, LDAP vms paigaldus juba olemas on mõistlik kasutada olemasolevaid kasutajakontosid selle asemel, et omakorda OwnCloudi kasutajakontosid tekitama hakata.

Logi sisse OwnCloudi veebiliidesesse admin kontoga. Vasakult ülevalt Rakendused all klõpsa ikoonil Rakendused. Otsi vasakult nimekirjast üles LDAP user and group backend ning klõpsa nupul Lülita sisse. Paremal kasutaja nime alt ava Admin vaade ning otsi üles LDAP liidese konfiguratsiooni paneel.

Atea kasutab Windows Server 2003 baasil Active Directoryt ning selle puhul konfiguratsioon näeb välja umbestäpselt järgnev. Juhis eeldab, et domeenikontrollerisse on OwnCloudi jaoks loodud kasutajakonto, mille abil OwnCloud saab kasutajate infot pärimas käia, vajadusel konsulteerige Atea tehnikutega.

img/owncloud-ldap-1.png

OwnCloud logib OwnCloudArte kasutajakonto abil Atea AD-sse mis istub sisevõrgu IP-aadressil 10.254.255.16

img/owncloud-ldap-2.png

OwnCloudi saab sisse logida kasutajatega kelle objectClass=person

img/owncloud-ldap-3.png

Kasutajanimena kasutatakse sAMAccountName attribuuti

img/owncloud-ldap-4.png

Grupid jätame praegu vahele

img/owncloud-ldap-5.png

Oma ownCloud kasutajale vastava distinguished name leiad siis, kui Active Directory Users and Computers vaates lülitad View all sisse Advanced Features:

img/aduc-advanced-features.png

Lülita sisse View -> Advanced Features

Nüüd saad kasutaja objekti vaates avada Attribute Editor kaardi ning sealt kopeerida distinguishedName välja väärtuse:

img/aduc-attribute-editor.png

Distinguished name leiab Attribute Editor kaardilt

img/aduc-distinguished-name.png

Topeltklõpsu alt avaneb dialoog kust saab kopeerida

Silumine

Owncloud hoiab oma logi tavaliselt /var/www/owncloud/data/owncloud.log all, kui on probleeme siis aitab logi vaatamine:

tail -f /var/www/owncloud/data/owncloud.log

Klientrakendus

Graafiline klientrakendus võimaldab kasutajanime ning parooliga OwnCloud serverist kohalikku masinasse sünkroniseerida faile.

Ubuntu tööjaama puhul lisa ownCloud klientrakenduste varamu:

echo "deb http://download.opensuse.org/repositories/isv:/ownCloud:/desktop/xUbuntu_14.04 /" | \
    sudo tee /etc/apt/sources.list.d/owncloud-client.list
curl http://download.opensuse.org/repositories/isv:/ownCloud:/community/xUbuntu_14.04/Release.key | \
    sudo apt-key add -
sudo apt-get update

Paigalda rakendus:

sudo apt-get install owncloud-client

Tarkvara Windows, Mac OS X, iPhone ja Android jaoks leiab ownCloudi veebist 6.

6

https://owncloud.org/install/#install-clients

SSL sertifikaadi paigaldus

Käesolev sektsioon puudutab eelkõige production serveri seadistamist haridusasutuses, kus HTTPS peaks olema peale surutud. Sellisel juhul saab EENetilt taodelda tasuta TLS sertifikaati millega ühendust serveriga turvata.

Loo võtmete jaoks kataloog ning genereeri sinna sertifikaadi allkirjastamispäring:

mkdir /etc/apache2/ssl
openssl genrsa -out /etc/apache2/ssl/owncloud-xxx-edu-ee.key 2048
openssl req -new -sha256 -key /etc/apache2/ssl/owncloud-xxx-edu-ee.key -out /etc/apache2/ssl/owncloud-xxx-edu-ee.csr
chmod 600 /etc/apache2/ssl/owncloud-xxx-edu-ee.key

Kopeeri allkirjastamispäringu faili /etc/apache2/ssl/owncloud-xxx-edu-ee.csr sisu, logi sisse EENeti TERENA keskkonnas, klõpsa Apply for Certifciate nupul ning kleebi faili sisu tekstiväljale:

img/terena-apply-for-certificate.png

Nüüd jää ootele kuni sertifikaadile allkiri antakse ja saab jätkata sertifikaadi paigaldusega.

img/terena-certficate-download.png

Klõpsa Certificate pem format lingil ning laadi alla fail, see on nüüd su owncloud.xxx.edu.ee veebiserveri sertifikaat, aseta see /etc/apache2/ssl/owncloud-xxx-edu-ee.crt failina veebiserverisse. Klõpsa Certificate Chain pem format lingil, need on su sertifitseerimiskeskuse sertifikaatide ahel, aseta see /etc/apache2/ssl/terena-bundle.crt failina veebiserverisse. Lisa veebiserveri konfiguratsioon failis /etc/apache2/sites-enabled/000-default.conf:

<VirtualHost *:80>
        ServerName owncloud.xxx.edu.ee
        RewriteEngine On
        RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
</VirtualHost>

<VirtualHost *:443>
        ServerName owncloud.xxx.edu.ee
        ServerAdmin admin@xxx.edu.ee
        DocumentRoot /var/www/owncloud
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
    SSLEngine on
        SSLCertificateKeyFile /etc/apache2/ssl/owncloud-xxx-edu-ee.key
        SSLCertificateFile /etc/apache2/ssl/owncloud-xxx-edu-ee.crt
        SSLCertificateChainFile /etc/apache2/ssl/terena-bundle.crt
</VirtualHost>

Lülita sisse Apache2 moodulid:

sudo a2enmod ssl
sudo a2enmod rewrite

Taaskäivita veebiserver:

sudo service apache2 restart
Ubuntu PHP Samba4 ownCloud AD Kerberos LDAP cloud