RaspberryPiでNextCloud構築

RaspberryPi3 Model B のRaspbianというOSを利用してNextCloudを立てる方法です。

ここでは、RaspberryPi(以下ラズパイ)にすでにOSがインストールされ初期設定が終わっている前提での解説とします。

下準備

これは暗黙のルールといっても過言では無いでしょう。

$ sudo apt-get update
$ sudo apt-get upgrade

これで最新にできました。

No Cloud No Life

まずはApache2とPHP7のインストールです。

$ sudo apt-get install apache2

インストールが成功しましたか?では次。

$ sudo apt-get install php7.0 php7.0-cli php7.0-gd php7.0-pgsql php7.0-mysqlnd php7.0-mcrypt php7.0-dev php7.0-curl php7.0-zip php7.0-mbstring

これでPHP7.0のインストールができます。足りてないモジュールがあると後から怒られます。

ではとりあえずApache2を再起動しましょう。

$ sudo service apache2 restart

 

NextCloudのインストール

まずはディレクトリ移動しましょう。
cdコマンドで移動できます。

$ cd /var/www/html

移動したらcURLコマンドでネットからNextCloudをダンロードして展開します。

$ curl https://download.nextcloud.com/server/releases/nextcloud-11.0.2.tar.bz2 | sudo tar -jxv

少々時間がかかりますが待ちましょう。

終わったらまた移動します。

$ cd /var/www/html/nextcloud

mkdirコマンドでフォルダを生成します。

$ sudo mkdir -p /var/www/html/nextcloud/data

できたそのフォルダへのアクセス権限を変更して行きます。。

$ sudo chown www-data:www-data /var/www/html/nextcloud/data
$ sudo chmod 750 /var/www/html/nextcloud/data
$ sudo chown www-data:www-data config apps

これでNextCloudのインストールは完了です。

MariaDBをインストールしよう

RaspbianStretchではMySQLよりMariaDBの方が推奨されています。これはMySQLインストール時にrootパスワードを聞かれずに進んでしまい、rootパスワードがわからずアクセスできないからです。(致命的)なのでMariDBを利用しましょう。

$ sudo apt-get install mariadb-client mariadb-server

それではMariDBのモニター画面に入ります。

$ sudo mysql -u root -p

するとコマンド入力する場所がpi@username:~ $からMariaDB [(none)]>になったと思います。
次にNextCloud用のデーターベースを作成します。データーベース名はなんでも構いません。ここではncdbとします。

CREATE DATABASE ncdb;

そしてそのデーターベースを利用する際のユーザー名とパスワードを設定します。
ここではユーザー名をpi パスワードをtusbian とします。

CREATE USER 'pi'@'localhost' IDENTIFIED BY 'tusbian';

そしてpiユーザーにデーターベース管理の権限を与えます。

GRANT ALL PRIVILEGES ON newdb.* to 'pi'@'localhost';

次にコンソールから権限をフラッシュさせます。

FLUSH PRIVILEGES;

次のコマンドを打って終了させます。

quit

 

USBメモリにデータ保存できるようにさせよう

この章は飛ばしても構いません。
このままの状態だとRaspbianの入ったMicroSDカード内にクラウドデータが入ってしまうので、
USBメモリにクラウドデータを保存させるやり方を紹介します。
外付けHDDは試していませんが、できるかもしれません。

まずはUSBメモリを接続して以下のコマンド打ちます。

$ sudo disk -l

するとコンソールの一番下の方に

Device     Boot Start      End  Sectors  Size Id Type
/dev/sda1        2048 60594431 60592384 28.9G 83 Linux

のように出ているはずです。
/dev/sda1のディレクトリにLinuxフォーマットでマウントされているよということです。
しかしこのままでは使えないので初期化します。(USBメモリ内全データ削除)
※初期マウント場所が/dev/sda1であることを前提に進めます。ご自身のディレクトリに合わせて設定してください。

$ sudo fdisk /dev/sda1

するとCommand (m for help):と出てくるのでそのあとに以下の順番で打ちます。

Command (m for help): d
Command (m for help): n
Select (default p): p
Partition number (1-4, default 1): 1

今のコマンドで表示された情報でよければ次に進みます。

Command (m for help): w

これでパーティーションの設定は終わりです。

次にext4でフォーマットします。

$ sudo mkfs.ext4 /dev/sda1

※Windowsに挿しても認識しなくなります。

マウント先のフォルダを作ります。

$ sudo mkdir /media/usb0

そしてマウント先を変更します。

$ sudo mount /dev/sda1 /media/useb0

とりあえずディスクの容量を確認します。

$ df

ここで、「Filesystem」の/dev/sda1が「Mounted on」の/media/usb0になってればOKです。

次に自動マウントされるように設定します。

$ sudo blkid /dev/sda1

今のコマンドで出てきたUUIDを控えておいてください。

$ cd /etc
$ sudo cp fstab fstab_backup

バックアップを取ったらファイルを書き換えます。

$ sudo nano fstab

そして最後の行に次の文を追加してください。

#/dev/sda1       /media/usb0     ext4    defaults,noatime  0       0
UUID=uuid /media/usb0     ext4    defaults,noatime  0       0

uuidの部分を先ほど控えたものに置き換えて、Ctrl+Oで保存し、Ctrl+Xで閉じます。

とりあえずラズパイを再起動させます。

$ sudo reboot

そして自動マウントされているか確認しましょう。

$ df

「Filesystem」の/dev/sda1が「Mounted on」の/media/usb0になっていれば成功です。

※アンマウントさせるときは以下のコマンドを打ちましょう。

$ sudo unmount /media/usb0

 

マウントさせたUSBメモリにクラウドデータ保存環境の構築

このままでは、「.ocdata」ファイルがないよぉって怒られるのでいじります。
以下の順にコマンドを打ってください。

$ sudo chown www-data.www-data /media/usb0
$ sudo touch /media/usb0/.ocdata
$ sudo chown www-data.www-data /media/usb0/.ocdata

これでOKです。

NextCloud設定しよう

http://localhost/nextcloud

等でラズパイのNextCloudフォルダにアクセスすると初期設定画面がでます。

UserName:管理者のユーザー名
Password:管理者ログイン時のパスワード

クラウドデータ格納ディレクトリには先ほど作ったUSBメモリのフォルダを入力しましょう。

/media/usb0

※任意です。初期では/var/www/html/nextcloud/dataになっています。

そしてデーターベースにはMariDBを選択し、先ほど作ったNextCloud用のデーターベース情報を打ち込みます。
localhostはほっといて大丈夫です。

そしてFinish setupを押しましょう!
これでセットアップ完成です。
お疲れ様でした。

このままだとSSL化されていないのでしてもいいでしょう。
また、NextCloudにアクセスするときはlocalhost/nextcloudなのを忘れないように。
Apache2のconf設定でnextcloudに誘導してもいいでしょう。

何かミスっていたら教えてください。
では。

4 Responses to “ RaspberryPiでNextCloud構築 ”

  1. こんにちは.良記事をありがとうございます.

    さて,PHPのインストールコマンドの中に
    php7.0-pqsql
    がありますが,
    php7.0-pgsql
    の間違いだと思われますので,ご確認をお願いします.

  2. こんにちは.良記事をありがとうございます.

    さて,PHPのインストールコマンドの中に
    php7.0-pqsql
    がありますが,
    php7.0-pgsql
    の間違いだと思われますので,ご確認をお願いします.

コメントを残す

*
*

%d人のブロガーが「いいね」をつけました。