Menu

Własna chmura plików na malinie, czyli raspberry pi + owncloud + nginx

2 listopada 2014 - Linux, Raspberry Pi, Raspbian, Server

Jako, że udało mi się zmienić prędkość internetu na taką, która posiada już jakiś w miarę sensowny upload, postanowiłem w końcu zająć się własną chmurą na pliki. Jako, że wstępnie miałem już postawiony serwer www w postaci nginx oraz bazę danych, więc tego nie będę opisywał. No to bierzemy się do roboty.

Zaczynamy od pobrania potrzebnej paczki

wget http://download.owncloud.org/community/owncloud-7.0.2.tar.bz2

Rozpakowujemy

sudo tar -xjf owncloud-7.0.2.tar.bz2

Kopiujemy katalog do naszego katalogu głównego, w którym trzymamy swoje strony www, w moim przypadku

sudo cp -r owncloud /var/www

Ustawiamy odpowiedniego właściciela dla katalogu

sudo chown -R www-data:www-data /var/www/owncloud/

Pora na edycję kilka plików, zaczynamy od .htaccess i edytujemy w nim kilka linijek. Wielkość plików musi być taka sama jak konfigu php

sudo nano /var/www/owncloud/.htaccess

php_value upload_max_filesize 2000M – ustawiamy maksymalny rozmiar pliku

php_value post_max_size 2000M – j/w

sudo mcedit /etc/php5/fpm/php.ini

upload_max_filesize = 2000M

post_max_size = 2000M

Następnie dodajemy wpis do naszego configa nginx

server {
listen 80;
server_name cloud.mati-ck.pl www.cloud.mati-ck.pl;
rewrite ^ https://$server_name$request_uri? permanent;
}

server {

listen 443 ssl;

server_name cloud.mati-ck.pl;

ssl_certificate /etc/nginx/cert.pem;

ssl_certificate_key /etc/nginx/cert.key;

root /var/www/owncloud;

index index.html index.htm index.php;

location ~ [^/]\.php(/|$) {

fastcgi_split_path_info ^(.+?\.php)(/.*)$;

if (!-f $document_root$fastcgi_script_name) {

return 404;

}

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

include fastcgi_params;

fastcgi_buffer_size 128k;

fastcgi_buffers 256 4k;

fastcgi_busy_buffers_size 256k;

fastcgi_temp_file_write_size 256k;

fastcgi_read_timeout 240;

fastcgi_param HTTPS on;

include fastcgi_params;

}
}

Przy okazji, aby nie okazało się że nginx nam coś mieszka w przesyłaniu plików zmienimy sobie linijkę

client_max_body_size 2000M;

Z racji tego, że będziemy korzystać z https wypadałoby wygenerować własny certyfikat

sudo apt-get install openssl

sudo openssl req $@ -new -x509 -days 730 -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

Resetujemy nginx oraz php

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

sudo service nginx restart

Jeżeli tak jak ja, macie zamiar trzymać swoje pliki na dysku zewnętrznym, a dopiero teraz planujecie podłączyć do rpi, wypadałoby dodać odpowiedni wpis do fstab

/dev/sda1 /media/dysk ntfs-3g auto,users,permissions 0 0

następnie tworzymy na dysku katalog i nadajemy mu odpowiednie uprawnienia

mkdir /media/dysk/owncloud

sudo chown -R www-data:www-data /media/dysk/owncloud/

sudo chmod 770 /media/dysk/owncloud

Teraz pozostaje nam tylko przejść na stronę naszej chmurki, tj www.chmura.twój-serwer.pl oraz wypełnić wymagane dane.

oc_config

 

 

 

 

 

 

 

 

 

Zalecane jest żeby dla każdej tworzonej bazy danych, wcześniej został utworzony użytkownik z uprawnieniami tylko do tej jednej bazy. Można to zrobić za pomocą konsoli, albo phpmyadmin.

W następnym poście opiszę jak szybko skonfigurować telefon, żeby automatycznie synchronizował katalogi, które chcemy z naszą chmurą.

2 thoughts on “Własna chmura plików na malinie, czyli raspberry pi + owncloud + nginx

sloniupl

Nice, a jak z wydajnością maliny przy dużych plikach?

Reply
    mati-ck

    Kiepsko, praktycznie wszystko staje. Niestety procesor nie daje rady. Jak wykonujesz tylko jedną czynność jest ok, ale nie daj boże chciałbyś jeszcze bloga otworzyć itp to trzeba się uzbroić w cierpliwość.

    Reply

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *