Raspberry Pi 3 に ownCloud 9.1 をインストール

RaspberryPi に ownCloud をインストールする手順を記載します。
ownCloud は Dropbox の様なオンラインストレージが構築できるオープンソースのソフトウェアです。
今回は USB接続のハードディスクを接続してownCloudのデータフォルダーとして利用します。

最新版 ownCloud X (10.0)の記事も作成しました。

用意するもの

  • Raspberry Pi 3 本体
  • microSDカード:4GB以上のもの
  • USB接続のハードディスク:容量はお好みで、USB2.0対応のもの。USBメモリでもOKです。
  • OS:RASPBIAN JESSIE LITE

ハードディスクを接続するとこのような配線になります。USBポートは4つあるうちどこに差し込んでも構いません。

事前準備

OSイメージを用意します。
Raspbian Jessie Lite のOSイメージファイルを入手する

microSDカードに上記のOSイメージを書き込みます。
microSDカードにOSイメージを書き込む方法

Raspberry PiのIPアドレスは192.168.10.124に設定します。
Raspberry Pi 3 でIPアドレスを固定にする方法

インストール

rootに切り替え

sudo su

既存ソフトウェアのアップデート

apt-get update
apt-get upgrade

必要なパッケージをインストール

apt-get -y install nginx openssl ssl-cert php5-cli php5-sqlite php5-gd 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 php5-curl varnish

ユーザーを作成

groupadd www-data
usermod -a -G www-data www-data

nginxの設定

nano /etc/nginx/sites-available/default

中身を以下に差し替えます。server_nameはowncloud.localとしていますが任意のものに変更してください。

upstream php-handler {
        server 127.0.0.1:9000;
}

server {
        listen 80;
        server_name owncloud.local;
        return 301 https://$server_name$request_uri;
}

server {
        listen 443 ssl;
        server_name owncloud.local;
        ssl_certificate /etc/nginx/cert.crt;
        ssl_certificate_key /etc/nginx/cert.key;
        root /var/www/owncloud;
        client_max_body_size 1000M;
        fastcgi_buffers 64 4K;
        fastcgi_connect_timeout 60;
        fastcgi_send_timeout 180;
        fastcgi_read_timeout 360;
        rewrite ^/caldav(.*)$ /remote.php/caldav$1 redirect;
        rewrite ^/carddav(.*)$ /remote.php/carddav$1 redirect;
        rewrite ^/webdav(.*)$ /remote.php/webdav$1 redirect;
        index index.php;
        error_page 403 /core/templates/403.php;
        error_page 404 /core/templates/404.php;

        location = /robots.txt {
                allow all;
                log_not_found off;
                access_log off;
        }

        location ~ ^/(?:\.htaccess|data|config|db_structure\.xml|README) {
                deny all;
        }

PHPの設定
nanoエディタで編集する場合はCTRL+Wキーで検索すると便利です。

nano /etc/php5/fpm/php.ini

ファイルアップロードの上限を1000M(1G)バイトに設定
upload_max_filesize = 1000M
post_max_size = 1000M
nano /etc/php5/fpm/pool.d/www.conf

以下項目を修正
listen = /var/run/php5-fpm.sock
↓
listen = 127.0.0.1:9000
nano /etc/dphys-swapfile

以下項目を修正
CONF_SWAPSIZE=100
↓
CONF_SWAPSIZE=512
nano /etc/php5/fpm/pool.d/www.conf

以下項目を修正
;clear_env = no
↓
clear_env = no

自己証明書を作成

cd /etc/nginx/
openssl genrsa 2048 > cert.key
openssl req -new -key cert.key > cert.csr
openssl x509 -days 3650 -req -signkey cert.key < cert.csr > cert.crt
chmod 600 cert.*

nginx再起動

systemctl restart nginx.service

外付けディスクの接続状況を確認

fdisk -l

一番下に表示される/dev/sda1がUSB接続した機器になります。

Device     Start        End    Sectors   Size Type
/dev/sda1   2048 1953523711 1953521664 931.5G Microsoft basic data

外付けディスクを初期化

fdisk /dev/sda1

次の順で実行
p パーティションの表示
d パーティションの削除 → pで表示されたものをすべて削除
n パーティションの作成 → 後はすべてデフォルト(エンターキーを押すだけ)
p パーティションの表示 → Type=Linux のパーティションが表示されればOK
w 設定を反映
q メニューを抜ける

ext4形式でフォーマット

mkfs.ext4 /dev/sda1

ディスクをマウント

mkdir /mnt/usb1
mount /dev/sda1 /mnt/usb1

接続したディスクのUUIDを調べる。fstabに記載するので控えておいてください。

blkid /dev/sda1

自動起動の設定

nano /etc/fstab

次の1行を一番最後に追記します。UUIDはblkidの実行結果を記載。
UUID="4672bf21-7fca-45dc-8337-8df5e23189c5"     /mnt/usb1       ext4    defaults 0 0

再起動

reboot

マウントされていればfstabの設定はOK

df

表示例
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/root       15448336 1660204  13130600  12% /
devtmpfs          469532       0    469532   0% /dev
tmpfs             473864       0    473864   0% /dev/shm
tmpfs             473864    6364    467500   2% /run
tmpfs               5120       4      5116   1% /run/lock
tmpfs             473864       0    473864   0% /sys/fs/cgroup
/dev/mmcblk0p1     63503   20756     42747  33% /boot
/dev/sda1      961301832   73368 912374040   1% /mnt/usb1 →マウントしたUSBハードディスク

USBハードディスクにowncloudのデータフォルダーを作成します。

cd /mnt/usb1
mkdir owncloud
chown -R www-data:www-data owncloud

ownCloudのインストール。2017/4/1時点での最新である9.1.4を使います。

mkdir -p /var/www/owncloud
cd /var/www
wget https://download.owncloud.org/community/owncloud-9.1.4.tar.bz2
tar xvf owncloud-9.1.4.tar.bz2
chown -R www-data:www-data /var/www/owncloud
rm owncloud-9.1.4.tar.bz2

ブラウザでRaspberry Pi のIPアドレスを開きます。SSLで保護されていないと警告が出ますが無視してください。

http://192.168.10.124/owncloud

ブラウザから開くとこんな画面が表示されます。

以下を入力して「セットアップを完了します」をクリックします。

  • ユーザー名:任意のものを入力
  • パスワード:任意のものを入力
  • データフォルダー:/mnt/usb1/owncloud

セットアップが完了すると設定ファイルが生成されます。ここにmemcachedの設定を追加します。

nano /var/www/owncloud/config/config.php

最後の行「);」の上に1行追加
<?php
 ~
 中略
 ~
 'memcache.local' => '\OC\Memcache\APCu'
);

再起動

reboot

これでインストールは完了です。
ブラウザからRaspberryPiのIPアドレスを入力すればログイン画面が開きます。

PAGE TOP