MENU
アーカイブ
INGSTE YouTubeチャンネル

NextcloudをWindowsで構築する手順【自宅LAN用】

スマホで撮った写真をiCloudやGoogleフォトなどのクラウドに保存している方が多いと思います。

ただ、クラウド容量の限界を超えてしまうと、写真を消したりお金を払って容量を増やす必要が出てきます。

そこで前回の記事では、iCloudやGoogleフォトのようなサービスを自前で作る方法をLinux Ubuntuで解説しましたが、今回はWindows 11での方法を紹介します。

大まかな流れは以下のとおりです。順を追って操作できるようにしています。

目次

今回使う環境の確認

Windows 11を用います。ProでもHomeでもかまいません。また、最近登場したWindows 11 ARMを使うこともできます。

設定済みの方も多いと思いますが、同じWiFiルーターに接続したいPCやスマホ等が全て繋がっていることを確認してください。

同じルーターに繋がっていなくても、例えば外出先でも同じことを行うためには追加の機能が必要で、今後の記事で紹介します。

Docker Desktopのインストール

今回はDockerという機能に助けてもらいながらNextcloudを動かします。

なお、複雑な手順はないのですが、PCの性能によりインストールに時間がかかることがあります。

まず次のサイトからDockerを使いやすくするDocker Desktopをインストールします。

https://www.docker.com/products/docker-desktop/

[ Download Docker Desktop ]という部分にマウスを合わせると、いくつかの選択肢が表示されます。
お使いのPCに合わせて[Download for Windows – AMD64]、もしくは[Download for Windows – ARM64]をクリックします。

この記事ではWindows – AMD64を用いて解説します。

ファイルの保存が終わると以下のようになるので、ファイルを開くをクリックしてインストールします。

インストーラーの開始まで何も表示されず数分待たされることがあります。

インストーラーが開いたら、チェックされている部分はそのままにしてOKボタンをクリックして続⾏します。お使いのPC環境によりチェック項目が複数ある場合がありますがそのままにしておきます。

インストールが始まります。ここでしばらく時間がかかります。

待たされたあとPCの再起動を求められるので、問題なければ[ Close and restart ]をクリックします。

再起動後に使用条件への同意を尋ねられるので、Accept(受け⼊れる)をクリックします。

このような⽂字だらけのウインドウが表示されますが、1分以内にエンターなどの任意のキーを押して続⾏します。

数分かけて必要な機能のインストールが⾏われるので、そのまま待ちます。

必要な機能のインストールが終わると以下の画⾯になるので、書かれている通り任意のキーを押します。

Docker Desktopのウエルカムが表示されますが、ここでは⼩さい字で書かれている[ Skip ]をクリックしてください。

このあと次のように表示されることがありますが、[ Restart ]ボタンを押せば正常に使用できます。

それでも再び上の図のメッセージが出る場合は以下のようにしてください。
そうでない場合は次の章に進んでください。

まずPowerShellを起動します。スタートメニューの検索ボックスに「powe」ぐらいまで打つと[ Windows PowerShell ]が⾒つかります。
それを右クリックすると[ 管理者として実⾏ ]という選択肢が出るのでクリックして開きます。

ユーザーアカウント制御の警告が表示されるので[ はい ]をクリックすると以下のウインドウが表示されます。

Docker Desktopのメッセージにあるように、以下のコマンドを打ってエンターキーを押します。

wsl --update

しばらく待つとアップデートが終わるので、もういちど先ほどのDocker Desktop画⾯の[ Restart ]ボタンをクリックして準備完了です。

Nextcloudインストールの下準備

フォルダ作成とエクスプローラーの設定

まず、C:ドライブに[ Nextcloud ]フォルダを作ります。


以下のようにエクスプローラーでC:ドライブを開き、何もないところで右クリックするとメニューが表示されるので[新規作成]→[フォルダ]と選び、できたフォルダの名前をNextcloudに変更します。

次に、エクスプローラーでファイルの拡張⼦が表示されるように設定します。

拡張⼦というのはファイル名の末尾にあるドット ( . )より右側の⽂字で、例えばテキストファイルならexemple.txtのtxt、 ⾳声なら song.mp3のmp3の部分のことです。

Windowsの初期設定では拡張子が表示されず今後の作業に支障が出るので表示されるようにします。

下の図にあるようにエクスプローラーのアドレスバー下にある[…]と表示されている部分をクリックし、出てきたメニューの[オプション]をクリックします。

オプション設定が表示されるので、左上の[表示]タブを選びます。

下のほうにスクロールし[登録されている拡張⼦は表示しない]のチェックを外し[OK]を押します。

これでエクスプローラーに戻るので、DockerにNextcloudをインストールさせるための定義ファイルを作ります。

Nextcloudインストール用定義ファイルの作成

Nextcloudフォルダ内で右クリックして[テキストドキュメント]をクリックし作成します。

できたテキストファイルの名前を以下のものに変更します。ファイルを右クリックするとメニューが表示されファイル名を変更できます。

docker-compose.yml

ドット( . )以降のtxtという部分も含めて変更します。警告が表示されるので、[はい]で続⾏します。

では、メモ帳でファイルを開き以下のように記述します。
パスワードを決めて書く」の部分は自分で決めたパスワードを書きます。半角の記号・アルファベット・数字を用いて12⽂字以上が良いでしょう。

services:
  db:
    image: postgres:15
    container_name: nc-db
    restart: always
    volumes:
      - db:/var/lib/postgresql/data
    environment:
      POSTGRES_DB: nextcloud
      POSTGRES_USER: nextcloud
      POSTGRES_PASSWORD: パスワードを決めて書く

  app:
    image: nextcloud:apache
    container_name: nc-app
    restart: always
    ports:
      - "8080:80"
    volumes:
      - nextcloud:/var/www/html
    environment:
      POSTGRES_HOST: db
      POSTGRES_DB: nextcloud
      POSTGRES_USER: nextcloud
      POSTGRES_PASSWORD: パスワードを決めて書く
    depends_on:
      - db

volumes:
  db:
  nextcloud:

以下のようになります。

上記のファイルを保存したら、Nextcloud本体をインストールしていきます。

Nextcloudのインストール

まず、ターミナルを開きます。スタートボタンを右クリックすると出てくるメニューから起動できます。

開いたターミナルで以下のようにコマンドを打ってエンターキーを押します。
お使いのPC環境によって\の表示が¥となる場合もあります。⼊⼒も¥キーで⾏います。

cd \Nextcloud

次に以下のコマンドを実⾏。(実⾏とはコマンドを打ってエンターを押すことです)

docker compose up -d

これだけでインストールが始まります。

セキュリティの確認があるので許可をクリック。

筆者のPCでは5分ほどでインストールが終わりました。
下図の⼀番下にあるような待機状態になればインストール完了です。

アカウント作成などの初期設定

NextcloudをインストールしたPCのブラウザから以下のページにアクセスしてみましょう。

http://localhost:8080/

次のようなページが表示されます。

管理者アカウント名(admin等)とパスワードを決めて記⼊します。パスワードは半角の大文字・小文字・数字・記号を混ぜて複雑にしましょう。忘れないようにしてください。筆者のPC環境では書き始めると画面の表示が⽇本語になりました。

記⼊したら[インストール]ボタンを押します。

インストールが進みます。

インストールが終わると以下の画⾯が表示されます。筆者は推奨アプリを全てインストールしました。これを前提として記事を進めます。他にもカレンダーやビデオ会議など豊富な機能をあとから追加できます。

ハイライト部分の右上、閉じるボタン[×]を押すとNextcloudホーム画⾯になります。

これでインストールと初期設定ができました。

現時点ではLAN内の他のPCやスマホからアクセスできないので設定していきます。

自宅で使っているLAN内IPアドレスの固定

まずローカルIPアドレスと呼ばれるものを固定します。これはWiFiルーターが自動的に割り当てており、PCを再起動したときに勝手に変わってしまうことがあります。

アドレス(住所)がころころ変わるとNextcloudをインストールしたPCの場所が他の機器から分からなくなってしまうので必要な作業です。

ご自⾝でローカルIPアドレスを固定している方はこの章は⾶ばして次に進み、以降の設定ではそのアドレスを使ってください。

この章は、Wi-Fi(ワイファイ)で繋いでいるか、有線のケーブルで繋いでいるかで少し確認する場所が違うので、都度説明しています。

アドレスの固定にネットワークのデフォルトゲートウェイの値が必要なので、コントロールパネルの[ネットワークとインターネット]を開き、[ネットワークの詳細設定]をクリックします。

次に開いた画面の[ハードウェアと接続のプロパティ]をクリック。

Wi-Fi接続なら名前がWi-Fiから始まるの項目を、有線接続ならEthernetから始まる項目を探し、その中の(数行下)の [IPv4デフォルトゲートウェイ]の値をどこかに書いておきます。

192.168.で始まるこの数字を後ほどの設定で使います。

Wi-fi接続の場合

有線接続の場合

再びコントロールパネルの[ネットワークとインターネット] を開き

有線接続であれば [イーサネット]、Wi-Fi接続であれば[WiFi]→[○○○(自分のWiFi名) プロパティ]を選びます。

[ IP 割り当て:自動(DHCP) ]と書かれている部分の右端、[編集]をクリック。

選択するボックスが現れるので[手動]を選びます。

IPv4が[オフ]になっているので[オン]にし、表示される項目に記⼊していきます。

次に以下の図のように順に入力します。
[IP アドレス]には上で調べたIPv4デフォルトゲートウェイの4つ目の数字を222と変えて使います。

例:お使いのPCのIPv4デフォルトゲートウェイ値が

192.168.2.○の場合 →192.168.2.222
192.168.1.○の場合 →192.168.1.222

[サブネットマスク]には255.255.255.0を、[ゲートウェイ]には先ほどの[IPv4デフォルトゲートウェイ]の値をそのまま入力します。

[優先 DNS]には、8.8.8.8 を記⼊しましょう。これはGoogleが用意しているもので、インターネット上の住所を調べるためのサービスです。


保存を押すとローカルIPアドレスの固定が完了です。次にこの設定を有効にするためNextcloudの設定を⾏います。

ローカルIPアドレスの[ 192.168.×.○○○ ]の○○○の部分は、⼀般的に2〜255までの数字が使えます。

これはWiFiルーターが自動で割り当てる数字ですが、自分で指定する場合はまだ使われていない番号を指定します。この記事では、まだ割り当てられている可能性が低い大きい数字である222を例として使用しています。

ただ、192.168.×.222も使われていたり、今後ルーターが別機器に割り当てる可能性が全くない訳ではありません。機種によっての違いがあるので記事では触れませんが、ルーターで割り当てるのが最も確実な方法です。

LAN内の端末からアクセスするための設定

先ほど固定したローカルIPアドレスをNextcloudに教えてあげましょう。
192.168.x.222 でしたね。xの部分は環境によって異なりますので前の章で設定した数字を使います。

ただし、既にローカルIPアドレスを固定されている方は、以降そのアドレスに読み替えてください。
Docker Desktopを開き左側の[Containers]を選び表示された[Name]下のnextcloudをクリックします。

以下が表示されるので[app]右側の[⁝]をクリックします。

メニューが表示されるので[View files]をクリック。

たくさんのファイルが表示されるのでスクロールして[var]→[www]→→[config]の中にある[config.php]を右クリックし[ Edit file ]を選びます。

config.phpが開くので ‘trusted_domains’ => を探します。

この部分に、安全に接続するための設定を書きます。

array の次の行が 0 => ‘localhost:8080’, となっていますが、次の行に以下を追加します。

1 => '192.168.×.222:8080',

赤い⽂字の部分には先ほど設定したローカルIPアドレスを記⼊してください。
最後のカンマを忘れないようにしてください。以下のようになります。

これで「このアドレスからのアクセスは安全」とNextcloudに教えることができます。

さらに以下を最後のほうに追記します。詳細な記⼊箇所は下の図を参照してください。

'config_is_read_only' => true,

編集ボックスの右上にある保存ボタンを押してください。閉じるボタン[×]の左のフロッピーディスクのボタンです。

画⾯の右上の方にあるRestartボタンで再起動し、変更した箇所を有効にします。

追記した’config_is_read_only’ => true,の設定は、
Docker Desktopでconfig.phpを編集した場合に必要な設定です。

これで、LAN内のPCやスマホからアクセスできるようになりました。
設定したお使いのPCのローカルIPアドレスに「 :8080 」をつけてアクセスしてみましょう。

例: 192.168.1.222:8080


同⼀LANに接続されているスマホ等からもアクセスできるようになりました。

現時点でNextcloudはデータベースとともに動いており使い始めることができますが、この記事の終わりにキャッシュ機能のRedisをインストールします。
効率よくNextcloudを用いるために強く推奨される機能なので最後に説明します。

キャッシュ機能Redisのインストール

Nextcloudのデータもハードディスクに読み書きされるわけですが、よく使うデータは読み書きが速いメモリに置いたほうが全体の動きがスムーズになります。そのためにRedisという機能をインストールします。

また、クラウドということもあり、複数のPCやスマホから同時に同じデータにアクセスするとデータが壊れてしまうことがあるのですが、Redisはそれを防ぐ役割もあります。


先ほど作成した以下のファイルをメモ帳で開きます。
メモ帳のメニュー [ファイル]→[新着順]に残っている履歴からも簡単に開けます。

C:\Nextcloud\docker-compose.yml

以下の赤字の部分を追加します。
⾏の前のスペースの数にも意味があるのでずらさないようにしてください。例えばredis:の前にはスペースが2つ⼊っています。

services:
  db:
    image: postgres:15
    container_name: nc-db
    restart: always
    volumes:
      - db:/var/lib/postgresql/data
    environment:
      POSTGRES_DB: nextcloud
      POSTGRES_USER: nextcloud
      POSTGRES_PASSWORD:既に決めたパスワード

  redis:
    image: redis:7-alpine
    container_name: nc-redis
    restart: always

  app:
    image: nextcloud:apache
    container_name: nc-app
    restart: always
    ports:
      - "8080:80"
    volumes:
      - nextcloud:/var/www/html
    environment:
      POSTGRES_HOST: db
      POSTGRES_DB: nextcloud
      POSTGRES_USER: nextcloud
      POSTGRES_PASSWORD:既に決めたパスワード
    depends_on:
      - db
      - redis

volumes:
  db:
  nextcloud:

追記後は以下のようになります。

追記したら上書き保存します。


次に設定したRedisをNextcloudで使えるようにします。
Docker Desktop を開き、先ほどと同じように config.php を編集します。

まずconfig.phpの探し方のおさらいです。左側の[Containers]を選び、表示された[Name]下の[nextcloud]をクリック。

開いた画面の[app]右側の[⁝]をクリック。

メニューが表示されるので[View files]をクリック。

スクロールして/var/www/html/config/にあるconfig.phpを右クリックし[ Edit file ]をクリック。

⼀番下の ); の前に以下の赤字の部分を追記します。

'filelocking.enabled' => true,
'memcache.locking' => '\\OC\\Memcache\\Redis',
'redis' => [
'host' => 'redis',
'port' => 6379,
'timeout' => 1.5,
],
);

最後にもう⼀か所。 次のlocalhostの部分を、先ほど設定した192.168から始まるローカルIPアドレスに変更します。

まずこう書かれている部分を探します。
‘overwrite.cli.url’ => ‘http://localhost:8080′,

以下のように変更。繰り返しになりますが×の部分はお使いのPC環境によって異なります。
‘overwrite.cli.url’ => ‘http://192.168.×.222:8080′,

(筆者の環境の場合)

変更前

変更後

編集したら保存ボタンを押します。

右上のリスタートボタンを押して完了です。

これで、NextcloudがLAN内で動くようになりました。

次回以降はスマホ写真のバックアップ方法や他の便利機能、さらにどこにいても繋げられるようTailscaleとの連携を紹介予定です。

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

自称文系ながら気づけばLinuxを10年以上使っている少し変わり種。
寄り道しても結局はGNOMEに戻ってきてしまう習性あり。
のんびり派かつスタミナが続く限り試しながら理解していく実践派。

趣味はバイオリンと(自然)言語探究。コードより和音が好物!?
音楽もITも「背後で何が起きてるか」に興味津々

コメント

コメントする

CAPTCHA


目次