もともとあったDLNAサーバ用のラズパイにクラウド機能を追加.
環境
- Raspbian Stretch lite 2019.04.08
- NextCloud 15.0.0
- ieServer
- Apache/2.4.25 (Raspbian)
- PHP 7.0.33-0+deb9u5 (cli)
- MariaDB 10.1.38-0+deb9u1
ラスパイセットアップ
割愛. 参考[1]などで調べれば出てくる.
- SDイメージ書き込み
sudo raspi-config
でパスワード, ホスト名, ロケーションの変更. ssh有効化.
固定IPアドレス割当
有線接続のためDHCPではじめから勝手にネットに繋がるが, SSHやらいろいろするためには固定IPアドレスにするべき. そのままなので参考[2]を見てくれ(なげやり).
外付けドライブのマウント
事前に外付けドライブをexFATでフォーマットしておく.
ntfs-3g
が必要らしいのでインストール. インストールしたら再起動が必要らしい.
sudo apt install -y ntfs-3g
sudo reboot
認識されているデバイスの確認.
sudo fdisk -l
sudo blkid /dev/sdb*
おそらく/dev/sdb*
として認識されているはず.
絶対に/dev/sdb*
が変わらない自信があるならディレクトリ指定してマウント. /mnt/exthdd
にマウントした.
sudo mkdir /mnt/exthdd
sudo mount /dev/sdb* /mnt/exthdd
普通はUUIDを指定してマウントする.
sudo mount UUID="*" /mnt/exthdd
df
でマウントできたか確認.
起動時自動マウント
起動時の自動マウントには普通/etc/fstab
を使うが, 失敗して起動できなくなるのがトラウマなのでsystemd
でマウントする. 参考[5]そのままなので割愛. /etc/rc.local
でmount
する前に念のためsleep 10
を追記してる.
NextCloud導入
NextCloudをローカルで動かすまで. まんま参考[6]なので割愛.
NextCloudの17.0.0を使う場合はPHP7.1が必要. Raspbian Busterからは普通にインストールできるんだろうか? Raspbian Stretchではaptのリポジトリを追加すれば使える[7].
sudo sh -c 'echo "deb http://mirrordirector.raspbian.org/raspbian/ buster main contrib non-free rpi" >> /etc/apt/sources.list'
PHPのツールが足りない場合はhttp://localhost/nextcloud
にアクセスした画面で教えてくれるのでそれに従えばうまくいくはず.
WAN設定
ポート開放
ポートフォワーディングでポート開放. 使用しているルータ環境によるので割愛.
- プロトコル:TCP
- 外部ポート:80
- 内部IPアドレス:ラズパイのIPアドレス
を設定.
Apache確認
ラズパイが接続しているLANとは別のネットワークからグローバルIPアドレスを指定してアクセスする. グローバルIPアドレスの確認は以下.
curl inet-ip.info
アクセスするとApacheの初期画面「It works!」が見れるはず.
/etc/apache2/sites-available/000-default.conf
を編集してNextCloudにアクセスできるようにする.
/etc/apache2/sites-available/000-default.conf
#ServerAdmin webmaster@localhost
ServerAdmin dbpi@localhost
#DocumentRoot /var/www/html
DocumentRoot /var/www/html/nextcloud
もう一度グローバルIPアドレスからアクセスすると, NextCloudの画面が出るはず(ドメインで拒否されるはず).
ドメインの取得
参考[8]. ieSever.Netでドメインの取得. ユーザー登録してログインし, グローバルIPアドレスと取得したドメインを紐付ける. 表示されているグローバルIPアドレスが
curl inet-ip.info
で表示される値と一致するか確認.
ラズパイでのグローバルIPアドレスとドメインの紐づけは参考[9].
/var/www/html/nextcloud/config/config.php
を編集してドメインを追記すると外部からもNextCloudにログインできるようになる.
/var/www/html/nextcloud/config/config.php
'trusted_domains' =>
array (
0 => 'mynextcloud.local',
1 => '<取得したドメイン>',
),
以上. イメージのバックアップを忘れずに.
参考
[1] 第4回: 最低限の設定を行う – Blue-black.ink
[2] 固定IPアドレスの設定(有線LANの場合) – hiramine.com
[3] RaspberryPi 3 にUSBの外付けHDD(NTFSフォーマット)を接続する - min117の日記
[4] LinuxでUUIDでHDDをマウントする - プログラミングとかLinuxとかの備忘録
[5] systemdで起動時にmountする方法 - Qiita
[6] NextcloudとRaspberry Pi 3B+で作る自分専用クラウド - ラズパイダ
[7] [raspberry pi] PHP7.1-fpmをapt-getでインストールする - Qiita
[8] IT活用日記 自宅のWebサーバーをDDNSを使って外部に公開する【Debian】
[9] Raspberry Piで自宅ウェブサーバ立て直した話 - shuto_log.aep
0 件のコメント:
コメントを投稿