1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

CORESERVER V2 CORE-XでNextcloud Hubのワンクリックインストールに失敗したので公式Webインストーラで構築した話

1
Posted at

はじめに

自宅で家族用Nextcloudを構築する記録を執筆中ですが、別の用途でもNextcloudが必要になりました。
せっかくなので、今回はVPSではなくレンタルサーバー上にNextcloudを構築できるか試してみることにしました。
レンタルサーバーをいくつか検討した結果、クリックするだけでNextcloudをインストールできるという説明があったため、CORESERVERを契約しました。

CORESERVER V2(CORE-Xプラン) には、CMSやオンラインクラウドストレージなどのアプリケーションをクリック操作だけでインストールしてくれる機能があります。
公式サポートマニュアルにもNextcloud Hubのインストール手順が公開されていたため、まずはその手順を試しました。

しかし、自分の環境(2026年5月時点)ではどうしてもインストールに失敗しました。
マニュアルに記載された手順以外にも、事前にDBを作成するなどいくつか試しましたが、何をやってもエラーになってしまい、ワンクリックインストールではNextcloudを導入できませんでした。

そこで今回は、CORESERVERのワンクリックインストール機能は使わず、Nextcloud公式サイトのCommunity Projectsから入手できるWebインストーラ setup-nextcloud.php を使ってNextcloudをインストールしました。

この記事では、その手順をまとめます。

この記事でやること

この記事では、CORESERVER V2プラン(CORE-X)にワンクリックインストール機能は使わずにNextcloudを構築し、ブラウザからログインできる状態にするところまでを扱います。
具体的には、以下を行います。

  • CORESERVERでドメインを設定する
  • SSLを設定する
  • PHPバージョンを8.4に変更する
  • MySQL / MariaDBのDBを作成する
  • Nextcloud公式Webインストーラ setup-nextcloud.php を配置する
  • ブラウザからNextcloudの初期セットアップを行う
  • Nextcloudへログインできることを確認する

対象読者

この記事は、以下のような人を対象にしています。

  • レンタルサーバーを今までに契約したことがない人
  • CORESERVERでNextcloudを使いたい人
  • CORESERVERのワンクリックインストールでNextcloud Hubの導入に失敗した人
  • VPSではなくレンタルサーバーでNextcloudを試したい人
  • SSH、FTP、PHP、DBの基本用語は何となく分かる人

前提環境

今回の環境は以下のとおりです。

項目 内容
サーバー CORESERVER
プラン V2プラン CORE-X
PHPバージョン 8.4
DB MySQL / MariaDB
Nextcloudバージョン 33.0.3
インストール方法 Nextcloud公式Webインストーラ setup-nextcloud.php

注意事項

この記事は、私の環境で実施した手順をまとめたものです。
CORESERVERの管理画面、PHPバージョン、Nextcloudの対応バージョン、インストーラの仕様は変更される可能性があります。
そのため、実際に作業する場合は、必ず公式マニュアルや公式サイトの最新情報も確認してください。

また、この記事ではワンクリックインストールの失敗原因を断定しません。
あくまで 「私の環境ではワンクリックインストールに失敗したため、公式Webインストーラを使って回避した」 という内容です。
環境によっては、CORESERVERのワンクリックインストールで問題なくNextcloud Hubを導入できる可能性もあります。

CORESERVERを選んだ理由

今回、CORESERVERを選んだ理由は、Nextcloudを簡単にインストールできそうだったからです。
CORESERVERのV2プランには、CMSやオンラインクラウドストレージなどのアプリケーションをクリック操作でインストールできる機能があります。
Nextcloud Hubもその対象になっており、サポートマニュアルにもインストール手順が公開されています。

VPSでNextcloudを構築する場合、Webサーバー、PHP、DB、証明書、cronなどを自分で設定する必要があります。
一方、レンタルサーバーでワンクリックインストールが使えるなら、かなり手軽にNextcloudを試せるのではないかと考えました。

ワンクリックインストールで失敗した

まずはCORESERVERのサポートマニュアルに従って、Nextcloud Hubのワンクリックインストールを試しました。
しかし、私の環境ではインストールが完了しませんでした。
試したことは以下のような内容です。

  • マニュアルどおりにインストールを実行
  • インストール先ディレクトリを変更して実行
  • 事前にDBを作成して、DB情報を変えて再実行
  • PHPバージョンを8.3に変更して実行

それでもインストール時に次のようなエラーとなり、Nextcloudのログイン画面まで進めませんでした。

インストール: A database query has failed. Is the entered database information correct? Does the account have available disk space? type = mysql host = localhost database = [DB名] username = [DBユーザー] password = **HIDDEN** Technical information: method =

DBを構築する際のテーブル作成でエラーが発生しており、このエラーが解消できませんでした。
エラーの原因は環境依存の可能性もあるため、この記事では詳細な原因調査までは行いません。
最終的には、CORESERVERのワンクリックインストール機能は使わず、Nextcloud公式のWebインストーラを使う方針に切り替えました。

今回の方針

今回は、Nextcloud公式サイトから入手できるWebインストーラ setup-nextcloud.php を使います。
setup-nextcloud.php は、ブラウザからアクセスすることでNextcloud本体をダウンロードし、インストール画面へ進めてくれるPHPファイルです。
CORESERVERのワンクリックインストールではなく、以下の流れで手動インストールします。

  1. SSLを設定する
  2. SSHを設定する
  3. PHPバージョンを8.4にする
  4. MySQL / MariaDBのDBを作成する
  5. setup-nextcloud.php を取得する
  6. CORESERVERの公開ディレクトリへアップロードする
  7. ブラウザから setup-nextcloud.php にアクセスする
  8. Nextcloudの初期設定を行う
  9. ログインできることを確認する

事前準備

まず、Nextcloudをインストールする前に以下を設定します。

  1. SSLを設定する
  2. SSHを設定する

1. SSLを設定する

Nextcloudはファイルやログイン情報を扱うため、HTTPSで利用するのが前提です。
CORESERVERの管理画面から、対象ドメインにSSLを設定します。
作業の流れは以下です。

  1. CORESERVERのコントロールパネルにログインする
  2. コントロールパネルのドメインメニューから「ドメイン管理」を選択する
  3. 対象のドメインを選択する
    1-3.png
  4. SSLが有効になっていることを確認する
  5. 有効になっていない場合は、SSLを有効にする
  6. HTTPSへの強制リダイレクトを有効にして「変更」をクリックする
    1-4.png
  7. 同じくドメインメニューから「SSL証明書設定」を選択する
  8. 「無料SSL証明書を取得」をアクティブにする
  9. 以下の項目を設定して「保存」ボタンをクリックする
    1-8.png
    入力項目は、以下のような内容です。
項目 設定値
キーサイズ(ビット) EC-384
証明書の種類 SHA256
エントリ 元のドメイン名と www 付きのドメイン名を指定

エントリには、証明書に対して有効な名称を指定します。
たとえば、以下のように元のドメイン名と www 付きのドメイン名が設定されていれば問題ありません。

example.com
www.example.com

保存するとSSL証明書がインストールされ、https:// でのアクセスが可能になります。
ただし、この時点では http:// でもアクセスできる場合があります。
そのため、一番下にある「HTTPSリダイレクトでSSLを強制」をONにして、常に https:// で暗号化通信されるようにしておきます。
最後に、以下のURLでアクセスできることを確認します。

https://example.com/

SSL設定が反映されるまで、少し時間がかかる場合があります。

2. SSHを設定する

次に、SSH接続できるように設定します。
Nextcloudのインストーラ取得やファイル操作はFTPでもできますが、SSHが使えると作業が楽になります。
作業の流れは以下です。

  1. CORESERVERのコントロールパネルにログインする
  2. 左メニューの「ツール」をクリックする
  3. 左ナビの「SSH設定」をクリックする
  4. 「キーを作成」ボタンをクリックする
    2-4.png
  5. 必要な項目を入力して「作成」ボタンをクリックする
    2-5.png
    キー作成時の入力項目は、以下のような内容です。
項目 内容
キー名 任意の文字列を入力
承認 チェックを入れる
キーサイズ 通常は 2048 のままで問題なし
パスワード 任意のパスワードを入力

SSHキーを作成したら、秘密鍵をダウンロードします。
手順は以下です。

  1. 左メニューの「ツール」をクリックする
  2. 左ナビの「ファイルマネージャー」をクリックする
  3. .SSH ディレクトリを開く
  4. .SSH ディレクトリ内にある キーID_rsa ファイルを右クリックする
  5. 「ダウンロード」をクリックする
    2-2-5.png
  6. 秘密鍵ファイルをローカルPCに保存する

ダウンロードした秘密鍵を使って、PowerShellからSSH接続します。

ssh -i .\キーID_rsa ユーザー名@サーバー名

たとえば、秘密鍵ファイルが id_rsa、ユーザー名が example_user、サーバー名が example.coreserver.jp の場合は以下のようになります。

ssh -i .\id_rsa example_user@example.coreserver.jp

初回接続時には、接続を続行するか確認されることがあります。
問題なければ yes を入力します。

yes

SSH接続できれば、事前準備は完了です。

Windows PowerShellでSSH接続時に秘密鍵の権限エラーが出る場合

WindowsのPowerShellからSSH接続する際、秘密鍵ファイルの権限が広すぎると以下のようなエラーが出ることがあります。

WARNING: UNPROTECTED PRIVATE KEY FILE!
Permissions for 'C:\\example\\id_rsa' are too open.
This private key will be ignored.

この場合、秘密鍵ファイルの権限を修正します。

icacls "C:\example\id_rsa" /inheritance:r
icacls "C:\example\id_rsa" /remove "BUILTIN\Users"
icacls "C:\example\id_rsa" /remove "Users"
icacls "C:\example\id_rsa" /remove "Authenticated Users"
icacls "C:\example\id_rsa" /grant "$($env:USERNAME):(R)"

その後、権限を確認します。

icacls "C:\example\id_rsa"

BUILTIN\UsersAuthenticated Usersが残っていなければOKです。

構築

ここからNextcloudを構築していきます。
作業の流れは以下です。

  1. PHPバージョンを8.4にする
  2. MySQL / MariaDBのDBを作成する
  3. setup-nextcloud.php を取得する
  4. CORESERVERの公開ディレクトリへアップロードする
  5. ブラウザから setup-nextcloud.php にアクセスする
  6. Nextcloudの初期設定を行う
  7. ログインできることを確認する

1. PHPバージョンを8.4にする

次に、CORESERVERの管理画面にてPHPバージョンを確認します。
今回は PHP 8.4 を使用しました。

  1. 左メニューから「ウェブ管理」をクリックする
  2. 左ナビの「標準PHPバージョン」をクリックする
  3. 「Current PHP version」から「8.4」を選択し、「Apply」をクリックする
    2-1-3.png
    作業後、SSHで接続できる場合は以下のように確認します。
php -v

PHP 8.4系が表示されればOKです。

ただし、SSH上で表示されるPHPバージョンと、Webサーバー経由で実行されるPHPバージョンが異なる場合があります。

不安な場合は、phpinfo() を使ってWeb側のPHPバージョンも確認します。

確認用のPHPファイルを作成します。

<?php
phpinfo();

このファイルを公開ディレクトリに配置して、ブラウザからアクセスします。

確認が終わったら、セキュリティのため必ず削除してください。

2. DBを作成する

NextcloudではDBが必要です。

今回はMariaDBを使用します。

CORESERVERの管理画面から、Nextcloud用のDBを作成します。

作成時に、以下の情報を控えておきます。

  • DB名
  • DBユーザー名
  • DBパスワード
  • DBホスト名

Nextcloudの初期設定画面で、これらの情報を入力します。

例として、以下のような情報を使う想定です。

項目
DBユーザー example_user
DBパスワード example_password
DB名 example_nextcloud
DBホスト localhost

実際の値は、自分のCORESERVER管理画面で表示されたものを使ってください。

【重要】作成後、phpMyAdminから文字セットを変更する

CORESERVERの管理画面からDBを作成した直後は、デフォルトの文字セット(utf8 など)になっています。
このままだと、Nextcloud内で絵文字(😀 や 🚀 など)や一部の複雑な漢字を保存しようとした際にエラーが発生したり、文字化けしてしまいます。

Nextcloudの公式ドキュメントでも utf8mb4 の使用が必須とされているため、セットアップ前にphpMyAdminから文字セットを変更しておきます。

手順:

  1. CORESERVER管理画面からphpMyAdminにログインする
  2. 左メニューから、先ほど作成したNextcloud用のデータベース名を選択する
  3. 上部メニューの 「操作」 (または「Operations」)タブをクリックする
  4. 画面下部にある「照合順序(Collation)」のドロップダウンから utf8mb4_general_ci を選択する。
  5. 「実行」 ボタンをクリックして保存する。

💡 照合順序に utf8mb4_general_ci を選ぶ理由
Nextcloud公式が強く推奨している設定です。大文字・小文字を厳密に区別して正しくデータを扱うために必要となります。
image.png

3. setup-nextcloud.phpを取得する

Nextcloud公式サイトのCommunity Projectsから、Webインストーラ setup-nextcloud.php を取得します。
以下のサイトからダウンロードすることができます。

今回は一度、PCにダウンロードしてからCORESERVERのコントロールパネルを使用してアップロードします。

SSHが使える場合は、サーバー上で直接取得してもよいです。

wget https://download.nextcloud.com/server/installer/setup-nextcloud.php

FTPを使う場合は、ローカルPCにダウンロードしてから、FTPクライアントでアップロードします。

4. CORESERVERの公開ディレクトリへアップロードする

今回は例としてNextcloud専用のディレクトリとして「cloud」を使う形にします。
Nextcloudにアクセスする場合は以下のようなURLになります。

https://example.com/cloud/

setup-nextcloud.php を配置イメージは以下です。

public_html/
└── cloud/
    └── setup-nextcloud.php

CORESERVERの管理画面でNextcloudを公開するディレクトリを設定します。
※実際には、自分のドメインに読み替えてください。

  1. 左メニューの「ツール」をクリックする
  2. 左ナビの「ファイルマネージャー」をクリックする
  3. domains ディレクトリ内にある Nextcloud を公開するドメインをクリックする
  4. public_html ディレクトリをクリックする
  5. 「新しいフォルダ」をクリックする
  6. 「フォルダ名」に「cloud」と入力して「作成」をクリックする

これでNextcloud専用のディレクトリ「cloud」が作成できました。
次にsetup-nextcloud.php をアップロードします。

  1. cloud ディレクトリをクリックする
  2. 「アップロード」をクリックする
  3. ダウンロードしておいたsetup-nextcloud.php を選択する
  4. 「アップロードを開始」をクリックする

CORESERVERの実際のディレクトリ構成は、契約内容やドメイン設定によって異なる可能性があります。
自分の環境に合わせて、対象ドメインの公開ディレクトリを確認してください。

5. Webインストーラを実行する

ブラウザで以下にアクセスします。

https://example.com/cloud/setup-nextcloud.php

NextcloudのWebインストーラ画面が表示されます。

画面の案内に従って、Nextcloud本体をインストールします。

インストール先ディレクトリを聞かれた場合、今回はドメイン直下にインストールしたいため、. を指定します。

.

もし nextcloud ディレクトリ配下にインストールしたい場合は、以下のように指定します。

nextcloud

この場合、アクセスURLは以下のようになります。

https://example.com/cloud/nextcloud/

今回は https://example.com/cloud/ で使いたいため、. を指定しました。
image.png

Nextcloudの初期設定を行う

Webインストーラが完了すると、Nextcloudの初期設定画面に進みます。

ここで、管理者アカウントとDB情報を入力します。

管理者アカウント

まず、Nextcloudの管理者ユーザーを作成します。

入力する内容は以下です。
image.png

  • 管理者ユーザー名
  • 管理者パスワード

管理者ユーザーはNextcloud全体を管理できるため、推測されにくいユーザー名と強力なパスワードを設定します。

データディレクトリ

次に、データディレクトリを指定します。

データディレクトリは、Nextcloudにアップロードしたファイルが保存される場所です。

可能であれば、Web公開領域の外に置くのが望ましいです。

ただし、レンタルサーバーではディレクトリ構成や権限に制限があるため、CORESERVERの環境に合わせて指定します。

例として、以下のような指定になります。

/home/ユーザー名/domains/example.com/public_html/cloud/data

実際のパスは環境によって異なるため、自分のサーバー上のパスを確認してください。

DB情報

DBはMySQL / MariaDBを選択します。
image.png

入力する内容は以下です。

  • DBユーザー名
  • DBパスワード
  • DB名
  • DBホスト名

例です。

DBユーザー名: example_nextcloud
DBパスワード: example_password
DB名: example_nextcloud
DBホスト名: localhost

入力後、インストールを実行します。

問題がなければ、Nextcloudの初期セットアップが開始されます。

ログイン確認

インストールが完了したら、以下のURLにアクセスします。

https://example.com/cloud/

ログイン画面が表示されたら、初期設定で作成した管理者ユーザーでログインします。

ログインできれば、Nextcloud本体のインストールは完了です。

インストール後に確認したいこと

Nextcloudにログインできたら、管理画面を確認します。

管理者ユーザーでログインし、以下を確認します。

  • HTTPSでアクセスできているか
  • 管理画面の概要に警告が出ていないか
  • PHPメモリ制限に問題がないか
  • アップロード可能な最大ファイルサイズ
  • cronの設定状況
  • データディレクトリの警告
  • セキュリティ関連の警告

Nextcloudはインストール直後にいくつかエラーや警告が出ることがあります。
これらを1つ1つ解消していきます。
特に、cronやPHPメモリ制限、HTTPS、データディレクトリ周りは確認しておいた方がよいです。

エラーその1. PHPのメモリー制限

image.png
原因: PHPが使えるメモリがNextcloudの推奨値(512MB)より低いため。
対策: Nextcloudの最上位ディレクトリにある .htaccess ファイルに追記します。
1. ファイルマネージャー等で .htaccess をテキストエディタで開きます。
2. ァイルの最下部(または適切な場所)に、以下のコードを追記して保存します。

# PHPのメモリ制限を512MBに引き上げる
php_value memory_limit 512M

なお、コアサーバーのPHP設定にて設定項目があるのですが、設定しても効果はなく解消できませんでした。

警告その1. メンテナンスウィンドウ開始

image.png
原因:重い定期処理(Cron)を「何時に実行するか」が決まっていないため。
対策:Nextcloudの config.php に設定を追記します。

1. ファイルマネージャーやFTPで、Nextcloudの設置ディレクトリにある config/config.php を編集します。
2. 配列( $CONFIG = array (...); )の中に、以下の行を追加します。

'maintenance_window_start' => 1,

※ 1 は「午前1時〜5時の間に重い処理を行う」という意味です(ユーザーが少ない時間帯を推奨)。

警告その2. Mimetypeの移行が可能

image.png
原因: 新しいファイル形式に対応するためのデータベース更新を行っていないため。
対策: 本来はSSHでログインして occ コマンドを叩く必要があります。

1. SSHログインしてNextcloudのディレクトリに移動し、警告文にある通り以下のコマンドを実行します。

php occ maintenance:repair --include-expensive

警告その3. .well-known URLs & HTTP ヘッダー

image.png
image.png

原因: Webサーバー(ApacheやNGINX)のセキュリティ・転送設定が足りていないため。
対策: Nextcloudの最上位ディレクトリにある .htaccess ファイルに追記します。

1. ファイルマネージャー等で .htaccess をテキストエディタで開きます。
2. IfModule mod_rewrite.c のブロック内に、以下を追記します。

<IfModule mod_rewrite.c>
  RewriteEngine on

  # .well-knownのリダイレクト設定
  # ブラウザがドメイン直下の/.well-known/を探しに来た際、
  # 自動的に /cloud/ フォルダ内のNextcloudへ誘導します。
  RewriteRule ^\.well-known/webfinger /cloud/index.php/.well-known/webfinger [R=301,L]
  RewriteRule ^\.well-known/nodeinfo /cloud/index.php/.well-known/nodeinfo [R=301,L]
</IfModule>

3. IfModule mod_headers.c のブロック内に、以下を追記して保存します。

# HSTSの設定(ドメイン全体に適用)
<IfModule mod_headers.c>
  Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
</IfModule>

警告その4. PHP opcache

image.png
原因: PHPのキャッシュ機能(OPcache)のバッファ設定が足りないため。
対策: コアサーバーではOPcacheなどの個別のモジュールを設定することができません。そのため、この警告だけ消せずにいます。

cronについて

Nextcloudでは、バックグラウンドジョブの実行方式を設定できます。

小規模な検証であればAJAXでも動作しますが、継続利用するならcronの設定を検討します。

CORESERVERでcronを使う場合は、コントロールパネルからcronを設定します。

Nextcloudの cron.php を定期的に実行する形になります。

例としては、以下のようなコマンドになります。

/home/ユーザー名/domains/example.com/public_html/cloud/cron.php

ただし、CORESERVERではPHPのパスや実行方法が環境によって異なる可能性があります。

そのため、実際にはCORESERVERのマニュアルを確認して、自分の環境に合ったPHP CLIのパスを指定してください。

setup-nextcloud.phpは勝手に削除される

インストールが完了したら、setup-nextcloud.php は不要になるので、勝手に削除されます。

つまずいた点

今回つまずいた点は、CORESERVERのワンクリックインストールでNextcloud Hubを導入できなかったことです。

公式マニュアルに沿って試しましたが、自分の環境ではインストールが完了しませんでした。

また、事前にDBを作成するなど試行錯誤しましたが、それでも解決しませんでした。

最終的には、Nextcloud公式のWebインストーラ setup-nextcloud.php を使うことで、ブラウザからログインできる状態まで進めることができました。

セキュリティ上の注意

Nextcloudはファイルを扱うアプリケーションなので、最低限以下は確認しておきたいです。

  • HTTPSでアクセスできること
  • 管理者パスワードを強力にすること
  • 管理画面の警告を確認すること
  • 定期的にバックアップを取ること
  • Nextcloud本体やアプリを更新すること
  • 不要なアプリを入れすぎないこと

特に、家族用や個人用であっても、インターネット上に公開する以上はセキュリティ設定を確認しておく必要があります。

最終確認チェックリスト

最後に、今回の作業で確認したい項目をまとめます。

  • CORESERVERで対象ドメインを設定した
  • SSLを設定した
  • HTTPSでアクセスできる
  • PHPバージョンを8.4にした
  • MariaDBのDBを作成した
  • DB名、DBユーザー、DBパスワード、DBホストを控えた
  • setup-nextcloud.php を取得した
  • 公開ディレクトリに setup-nextcloud.php を配置した
  • ブラウザからWebインストーラを実行した
  • インストール先ディレクトリを指定した
  • 管理者ユーザーを作成した
  • DB情報を入力した
  • Nextcloudにログインできた
  • 管理画面の警告を確認した
  • cron設定を確認した

まとめ

CORESERVER V2 CORE-Xには、Nextcloud Hubをワンクリックでインストールできる機能があります。

しかし、私の環境ではワンクリックインストールがうまくいかず、マニュアルどおりに試してもインストールできませんでした。

そこで、Nextcloud公式のWebインストーラ setup-nextcloud.php を使ったところ、CORESERVER上にNextcloudを構築し、ブラウザからログインできる状態まで進めることができました。

レンタルサーバーではVPSのように自由にサーバー設定を変更できませんが、PHP、DB、SSL、cronなどの条件が合えば、Nextcloudを試すことは可能です。

CORESERVERのワンクリックインストールでNextcloud Hubの導入に失敗した場合は、公式Webインストーラを使う方法も選択肢になると思います。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?