Viritellään OwnCloud

RasPiCloud

 

Tässä merkinnässä valotan hieman kuinka saat viriteltyä RasPi:sta oman henkilökohtaisen pilvipalvelimen. Vaikka olisit tilanteessa, ettet saa nettiyhteytesi kautta pystytettyä julkista palvelinta löytyy omalle pilvipalvelimelle käyttökohteita ei-julkiseen kotiverkkoonkin. Asennamme siis NGINX-palvelinohjelmiston, OwnCloud:n, sekä tarvittavat palikat, jotta kaikki toimisi ongelmitta.

Esivalmistelut

Jos käytössäsi on riittävän kokoinen SD-kortti voit käyttää sitä owncloud:n tallennustilana, mutta kunnollinen ulkoinen levy lienee parempi vaihtoehto. On kuitenkin suotavaa käyttää sellaista ulkoista USB-levyä, jossa on oma virtalähde.

Aja ensin komento: sudo raspi-config jos sitä et ole kertaakaan vielä tehnyt ja valitse vaihtoehdot expand_rootfs ja memory_split  ”16” MB ja vastaa Yes kun Raspbian tarjoutuu käynnistymään uudelleen. Aja komennot sudo apt-get update && sudo apt-get upgrade

Asentaminen

Luodaan tarvittavat käyttäjät ja ryhmät komennolla: sudo groupadd www-data ja sudo usermod -a -G www-data www-data

Asennetaan tarvittavat paketit:

sudo apt-get install nginx openssl ssl-cert php5-cli php5-sqlite php5-gd php5-curl php5-common php5-cgi sqlite3 php-pear php-apc curl libapr1 libtool curl libcurl4-openssl-dev php-xml-parser php5 php5-dev php5-gd php5-fpm memcached php5-memcache varnish

Luodaan SSL-sertifikaatit (voimassa vuoden)

sudo openssl req $@ -new -x509 -days 365 -nodes -out /etc/nginx/cert.pem -keyout /etc/nginx/cert.key

sudo chmod 600 /etc/nginx/cert.pem
sudo chmod 600 /etc/nginx/cert.key

Konfiguroidaan nginx-palvelin

sudo nano /etc/nginx/sites-available/default

Tyhjennä kokonaisuudessaan tiedoston sisältö, korvaa se alla olevalla ja varmista, että muutat IP-osion kohdalle oman Raspberryn IP-osoitteen, jonka löydät komentamalla päätteessä ifconfig

server {
listen 80;
server_name 192.168.XXX.XXX;
rewrite ^ https://$server_name$request_uri? permanent; # enforce https
}

server {
listen 443 ssl;
server_name 192.168.XXX.XXX;
ssl_certificate /etc/nginx/cert.pem;
ssl_certificate_key /etc/nginx/cert.key;
root /var/www/owncloud;
index index.php;
client_max_body_size 1000M; # set maximum upload size
fastcgi_buffers 64 4K;
location ~ ^/owncloud/(data|config|\.ht|db_structure\.xml|README) {
deny all;
}

location / {
try_files $uri $uri/ index.php;
}

location @webdav {
fastcgi_split_path_info ^(.+\.php)(/.*)$;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param HTTPS on;
include fastcgi_params;
}

location ~ ^(?<script_name>.+?\.php)(?<path_info>/.*)?$ {
try_files $script_name = 404;
include fastcgi_params;
fastcgi_param PATH_INFO $path_info;
fastcgi_param HTTPS on;
fastcgi_pass 127.0.0.1:9000;
}
}

Seuraavaksi asetetaan arvot ”upload_max_filesize” ja ”post_max_size” arvoon 1000M – PHP.ini tiedostossa komentamalla sudo nano /etc/php5/fpm/php.ini. Vinkkinä mainittakoon, että PHP.ini on suht suuri tiedosto, joten on järkevämpää etsiä yllä mainittuja kohtia nano:ssa painamalla näppäinyhdistelmää CTRL + W. Rivit tulisi näyttää tältä muokkaamisen jälkeen: upload_max_filesize = 1000M
post_max_size = 1000M.

Aivan tiedoston loppuun lisätään rivit:

upload_tmp_dir = /srv/http/owncloud/data
extension = apc.so
apc.enabled = 1
apc.include_once_override = 0
apc.shm_size = 256

Seuraavaksi luodaan tarvittavat hakemistot oikeuksilla:

sudo mkdir -p /srv/http/owncloud/data
sudo chown www-data:www-data /srv/http/owncloud/data

PHP:n konfigurointi

sudo nano /etc/php5/fpm/pool.d/www.conf
Muutetaan rivi: listen = /var/run/php5-fpm.sock mutoon listen = 127.0.0.1:9000

sudo nano /etc/dphys-swapfile
Muutetaan rivi: CONF_SWAPSIZE=100 muotoon CONF_SWAPSIZE=512

Uudelleenkäynnistetään palvelin ja PHP

sudo /etc/init.d/php5-fpm restart
sudo /etc/init.d/nginx restart

OwnCloud-asentaminen

Olemme edenneet vaiheeseen, jossa asennamme owncloud:n. Tätä kirjoittaessa viimeisin versio on 5.0.14a – Kannattaa varmistaa OwnCloud:n sivuilta viimeisin versio ennen latausta. Aja kukin alla oleva komento yksittäin:

sudo mkdir -p /var/www/owncloud
sudo wget http://download.owncloud.org/community/owncloud-5.0.14a.tar.bz2
sudo tar xvf owncloud-5.0.14a.tar.bz2
sudo mv owncloud/ /var/www/
sudo chown -R www-data:www-data /var/www
sudo rm -rf owncloud owncloud-5.0.14a.tar.bz2

Tämän jälkeen OwnCloud-asennus on valmis ja voit yhdistää palvelimelle selaimesi kautta osoitteella: https://192.RAS.PIn.IP/owncloud

Ulkoisen kiintolevyn liittäminen

Liitä ulkoinen levy RasPi:n. Kuten jo alussa mainistin tulisi se olla omalla virtalähteellään varustettu. Komentamalla tail -f /var/log/messages näet aseman tunnisteen järjestelmässä ”sda1” tai vastaavava. Luodaan hakemisto jonne asema liitetään, jonka jälkeen asema voidaan liittää ko. hakemistoon. Komennetaan:

sudo apt-get install ntfs-3g
sudo mkdir /media/USBHDD (Nimenä voi olla muukin kuin USBHDD)
sudo mount -t ntfs-3g /dev/sda1 /media/USBHDD

Ulkoisen levyn käyttäminen OwnCloud:ssa

Aluksi pysäytämme palvelimen ja luodaan ulkoiselle levylle data-hakemisto OwnCloud:a varten. Annetaan hakemistolle tarvittavat määreen ja siirretään olemassa oleva data-hakemisto ulkoiselle levylle:

sudo service nginx stop
sudo mkdir /media/USBHDD/OwnCloud5
sudo chown www-data:www-data /media/USBHDD/OwnCloud5
sudo mv /var/www/owncloud/data/ /media/USBHDD/OwnCloud5/

Muokataan OwnCloud:n config-tiedostoa
sudo nano /var/www/owncloud/config/config.php
Muutetaan rivi: ’datadirectory’ => ’/var/www/owncloud/data’ mutoon ’datadirectory’ => ’/media/USBHDD/OwnCloud5/data’

Käynnistetään palvelin komentamalla: sudo service nginx start

Jos törmäät OwnCloud:n kanssa virheilmoitukseen: ”This ownCloud server can’t set system locale to en_US.UTF-8/en_US.UTF8. This means that there might be problems with certain characters in file names. We strongly suggest to install the required packages on your system to support en_US.UTF-8/en_US.UTF8.” voi ongelman ratkaista komentamalla päätteessä: dpkg-reconfigure ja valitsemalla listalta en_US.UTF-8. Valinta tehdään välilyönti-näppäimellä.

2 Comments

anguis

about 5 vuotta ago

Kiitos toimivasta tutosta. Näitä owncloud ohjeita on tullut pengottua jo pitkän aikaa, mutta yhdessäkään ei ole osunut kaikki kohdalleen. Tässäkin joutui hieman salapoliisityötä tekemään, mutta lopputulos oli silti ihan toimiva. Muutama huomion arvoinen asia: 1) /etc/nginx/sites-available/default Conffitiedoston jokaisen rivin alussa oli joku näkymätön symboli, joka sotki asetukset. Sen poistamisen jälkeen kaikki toimi kuitenkin ihan hyvin. 2) OwnCloudin versio Löysin uusimman versionumeron näin: Osoitteessa: http://owncloud.org/install/ klikkasin "install", ja sen jälkeen "unix", jonka jäkleen avautui download ikkuna, josta sain selville että uusin versionumero ei ole 6.0, kuten etusivulla sanotaan. Tällä kertaa se oli sitten 6.0.2 ja sillä nimellä oikea tiedosto sitten vihdoin löytyi. Niin ja tuosta versiosta puheen ollen: Miksi kaikissa ohjeissa owncloud haetaan wgetillä, eikä sitä asenneta repoista? En ole nähnyt yhtäkään ohjetta, jossa se asennettaisiin raspbianin repoista pakettienhallinnan kautta. Eikö olisi kätevää että ohjelmat päivittyisivät helposti? Erityistä plussaa: Ulkoisen kiintolevyn asetusten kertominen oli tarpeen. Jatkossa toivotaan: Entäs jos omistan jonkun dommun haluaisin purkin nettiin, jotta pääsisin tiedostoihini käsiksi mistä päin maailmaa hyvänsä? Mitäs kaikkea se edellyttäisi?

Vastaa

fmatic

about 5 vuotta ago

Kiitos arvokkaasta palautteestasi. Täytyypä korjata tuo mainitsemasi ongelmallinen konffitiedosto, sillä siihen on jäänyt muutamaan kohtaan tyhjä merkki. Reposta asentaminen on ilman muuta parempi vaihtoehto. Tämä wgetillä imaisu on lähinnä tottumiskysymys joka vaan on juurtunut takaraivoon, vaikka helpompiakin vaihtoehtoja on tarjolla :) Kiitokset vielä kerran palautteestasi. Näitä on aina mukava vastaanottaa! Artikkeliin on piakkoin tulossa jatko-osa, jossa koetan valottaa tuota domain-osuutta.

Vastaa

Kommentoi kirjoitusta:

Please be polite. We appreciate that.
Your email address will not be published and required fields are marked