多くの企業が Google Drive や Dropbox などの主流のオプションから離れ、自分の条件でデータを管理できるセルフホスト型ソリューションを支持しています。その確実なオプションの 1 つが Nextcloud です。
この記事では、Ubuntu および Debian システムに Nextcloud Docker をインストールする方法に関する完全なステップバイステップのチュートリアルを説明します。システムの更新と依存関係のインストールから、Web サーバーと PHP の構成、データベースのセットアップ、Nextcloud Docker Compose によるインストールの完了まで、すべてをカバーします。
Nextcloud をセルフホストする理由
セルフホスティング Nextcloud とは、Google Drive や Dropbox などの主流サービスに依存するのではなく、独自のクラウド ストレージ ソリューションを制御することを意味します。 Nextcloud を使用すると、条件に応じてファイルを自由に保存および共有できるため、データの完全な所有権が得られ、プライバシー設定を完全に制御できます。
多くのユーザーにとって、プラグインや統合を通じてプラットフォームを調整および強化できる機能は大きな魅力です。 Nextcloud docker と Nextcloud docker compose を使用すると、Nextcloud Ubuntu と Nextcloud Debian の両方が利用できるため、信頼性が高く安全なファイル共有システムを一般的なシステムに迅速にデプロイできます。
このセットアップは、サードパーティ サービスの制限に縛られずに Nextcloud をインストールする場合に実用的なソリューションです。 Nextcloud の Docker インストールのプロセスは簡単になるように設計されており、経験豊富なシステム管理者ではない人でもセルフホスティングに取り組むことができます。
Nextcloud Docker インストールを採用すると、主に独自のハードウェアまたはサーバー インスタンスの料金を支払うため、商用クラウド ソリューションと比較してコストを節約することもできます。さらに、PHP 設定の調整や MySQL データベースの統合などのカスタマイズ オプションが利用できるため、特定のニーズに合わせて環境を調整できます。
Nextcloud docker をインストールする方法がわからない場合は、Nextcloud docker compose サンプル ファイルを提供するコミュニティ サポートとリソースが多数あり、このプロセスが教育的でやりがいのあるものになります。
前提条件
インストールプロセスに入る前に、環境を良好な状態にしておくことが賢明です。このセクションでは、システム要件やサーバーのセットアップから、Nextcloud Docker をスムーズにインストールするためのソフトウェアの依存関係まで、基本について説明します。
| 成分 | 要件/オプション | 注意事項 |
| オペレーティング·システム | Ubuntu (22.04 LTS を強く推奨、24.04 LTS)、Red Hat Enterprise Linux 9/8、Debian 12 (Bookworm)、SUSE Linux Enterprise Server 15、openSUSE Leap 15.5、CentOS Stream、Alpine Linux | Nextcloud Ubuntuが人気です |
| CPUとOSのアーキテクチャ | 64ビット | CPU、OS、PHP が 64 ビットであることを確認してください |
| PHP | PHP 8.3 (または他のバージョン) | 互換性の問題を避けるために 64 ビット バージョンを使用してください |
| メモリ | 最小: プロセスごとに 128MB RAM。推奨: プロセスごとに 512MB。アップデーター: 256MB | 用途に応じて調整 |
| アクセス | root または sudo アクセス | システムレベルの調整に必要 |
| コンテナツール | ドッカー、ドッカーコンポーズ | インストールと管理を簡素化します |
| ウェブサーバー | Apache 2.4 (mod_php または php-fpm を推奨) または nginx (php-fpm を含む) | 個人または組織のニーズに基づいて選択してください |
| データベース | MySQL (8.0/8.4)、MariaDB (10.6/10.11 推奨、または 11.4)、または PostgreSQL | InnoDB および READ COMMITTED 分離レベルをサポートする必要がある |
ステップ 1: システムを更新して準備する
Nextcloud Docker インスタンスをセットアップする前に、システムを更新し、必要なツールをすべてインストールしてください。これは、楽しいプロジェクトに取り組む前にワークスペースを整理整頓することだと考えてください。 Nextcloud Ubuntu サーバーで次のコマンドに従います。
パッケージリストを更新してパッケージをアップグレードします。
次のコマンドを使用して、パッケージ リポジトリを更新し、インストールされているパッケージをアップグレードします。
| sudo aptアップデート sudo apt アップグレード -y |
Docker、Docker Compose、および便利なユーティリティをインストールします。
以下を実行して、Docker、Docker Compose、およびcurl、wget、build-essentialなどの便利なユーティリティを入手します。
| sudo apt install docker.io docker-composecurl wget build-essential -y |
(オプション) ユーザーを Docker グループに追加します。
この手順により、毎回 sudo を先頭に追加せずに Docker コマンドを実行できるようになります。
| sudo usermod -aG docker $USER |
このコマンドを実行した後、ログアウトして再度ログインし、変更を適用します。
インストールを確認します。
Docker と Docker Compose が正しくインストールされていることを確認します。
| docker –バージョン docker-compose –バージョン |
トラブルシューティングのために Docker ログに常に注目することも強くお勧めします。次のようにして確認および管理できます。 これらの手順.
システムが更新され、すべての依存関係が適切になったので、信頼できるホスティング ソリューションを選択することが必須です。 Cloudzy のオファー 超高速の VPS 最大 240 GB の NVMe SSD ストレージを備えたサービス (当社の場合は最大 2 TB) GPU VPS) と 99.95% の稼働時間なので、Nextcloud インスタンスをホストするのに最適です。
次に、Web サーバーをセットアップし、PHP 設定を調整して、Nextcloud Docker インスタンスですべてがスムーズに動作することを確認します。
ステップ 2: Apache/Nginx および PHP の構成
システムの設定がすべて完了したので、Web サーバーと PHP を構成して準備を整えます。このセクションでは、Apache と Nginx のセットアップと、Nextcloud を Docker でスムーズに実行するための PHP 調整について説明します。
Apacheの構成
Apache を使用している場合は、次の手順に従います。
構成ファイルを作成します。
- Nextcloud の新しいファイルを開きます。
| sudo nano /etc/apache2/sites-available/Nextcloud.conf |
- このファイル内に次のような内容を追加します。
| エイリアス /Nextcloud “/var/www/Nextcloud/”
<ディレクトリ /var/www/Nextcloud/> <IfModule mod_dav.c> |
サイトをアクティブ化します。
- 新しい構成を有効にします。
| sudo a2ensite Nextcloud.conf |
必要な Apache モジュールを有効にします。
- 次のコマンドを実行して、必要なモジュールをアクティブ化します。
| sudo a2enmod の書き換え sudo a2enmodヘッダー sudo a2enmod 環境 sudo a2enmod ディレクトリ sudo a2enmod mime |
Apache で PHP-FPM を使用する予定がある場合 (mod_fcgi を使用)、以下も有効にします。
| sudo a2enmod setenvif |
SSL を有効にする (オプション):
- 安全な接続を実現するには、次のコマンドを使用して SSL をアクティブにします。
| sudo a2enmod ssl sudo a2ensite デフォルト-ssl sudoサービスapache2リロード |
Nginxの構成
- Nginx ユーザーの場合、セットアップにはサーバー ブロックの作成が含まれます。
サーバー ブロック ファイルを作成します。
- 新しいファイルを開きます。
| sudo nano /etc/nginx/sites-available/Nextcloud |
- 次のようなサンプル構成を貼り付けます。
| サーバー { 80を聞いてください。 server_name your-server-ip または cloud.example.com;root /var/www/Nextcloud/; インデックスindex.phpインデックス.html /index.php$request_uri;location / { try_files $uri $uri/ /index.php?$args; }場所 ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/run/php/php8.3-fpm.sock; fastcgi_indexインデックス.php; fastcgi_params を含めます。 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } } |
構成をアクティブ化します。
- シンボリック リンクを作成してサイトを有効にします。
| sudo ln -s /etc/nginx/sites-available/Nextcloud /etc/nginx/sites-enabled/ |
Nginx をテストしてリロードします。
- 設定を確認してリロードします。
| sudo nginx -t sudo systemctlリロードnginx |
PHP設定の微調整
Nextcloud は、特定の設定で PHP に依存します。適切な PHP 構成ファイルを編集して、これらを調整します。
Apache と PHP の場合:
| sudo nano /etc/php/8.3/apache2/php.ini |
PHP-FPM を使用した Nginx の場合:
| sudo nano /etc/php/8.3/fpm/php.ini |
ファイル内で次のような設定を調整します。
- メモリ制限 (例: 512M)
- Upload_max_filesize (例: 100M)
- post_max_size (たとえば、100M)
- max_execution_time (例: 360)
変更を加えた後、それぞれのサービスを再起動します。
- アパッチ:
| sudoサービスapache2の再起動 |
- PHP-FPM:
| sudo systemctl 再起動 php8.3-fpm |
Web サーバーを構成し、PHP を微調整したら、次の段階、つまりすべての Nextcloud データを保持するデータベースをセットアップする準備が整いました。
ステップ 3: データベースのセットアップ
システムと Web サーバーを構成したら、次のステップは Nextcloud インストール用のデータベースをセットアップすることです。これには、データベースと適切な権限を持つ専用ユーザーの作成が含まれます。その方法は次のとおりです。
1. MariaDB サーバーをインストールする
まず、MariaDB サーバー パッケージをインストールします。
| sudo apt install mariadb-server -y |
2. MariaDB インストールを保護する
セキュリティ スクリプトを実行して、安全でないデフォルト設定を削除します。
| sudo mysql_secure_installation |
root パスワードを設定し、その他のセキュリティ関連の選択をするよう求められます。すべてのプロンプトに対して「Y」(はい)と答えることをお勧めします。
3. MariaDB シェルにログインします。
root ユーザーとして MariaDB シェルにアクセスします。
| sudo mysql -u root -p |
安全なインストール プロセス中に設定した root パスワードを入力します。
4. Nextcloud 用の新しいデータベースを作成する
MariaDB シェル内で次のコマンドを実行して、Nextcloud という名前のデータベースを作成します。
| CREATE DATABASE Nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; |
5. 専用のデータベース ユーザーを作成する
強力なパスワードを持つ新しいユーザー Nextclouduser を作成します。 your_password_here を、選択した安全なパスワードに置き換えます。
| ユーザー「Nextclouduser」@「localhost」を作成します。「your_password_here」で識別されます。 |
6. 必要な権限をユーザーに付与する
Nextcloud データベースに対するすべての権限を Nextclouduser に付与します。
| Nextcloud.* のすべての権限を「Nextclouduser」@「localhost」に付与します。 |
7. 変更を適用する
すべての変更が確実に有効になるように権限をフラッシュします。
| フラッシュ特権; |
8. MariaDB シェルを終了します。
次のように入力して、MariaDB シェルを終了します。
| 出口; |
データベースのセットアップと構成が完了したら、次のステップ、Nextcloud のインストールに進む準備が整いました。これには、Nextcloud ファイルをダウンロードし、作成したばかりのデータベースに接続するように構成することが含まれます。
ステップ 4: Nextcloud のダウンロードとインストール
この手順には、最新の Nextcloud リリースをシステムにインストールし、セットアップすることが含まれます。ここには 2 つのオプションがあります。1 つは Docker を使用する (コンテナー化されたセットアップに最適)、もう 1 つはより伝統的な手動インストールに従うものです。
方法 1: 公式 Docker イメージを使用する
コンテナ化されたアプローチを希望する場合は、次のコマンドに従います。
Nextcloud Docker イメージをプルします。
最新の Nextcloud Docker イメージを Docker Hub からダウンロードします。
| ドッカープル Nextcloud |
Docker Compose ファイルを作成します。
管理を容易にするために、次の内容を含む docker-compose.yml というファイルを作成します。
| バージョン:「3」
サービス: ボリューム: |
コンテナを起動します。
次のコマンドを実行して、Nextcloud とデータベース コンテナーをバックグラウンドで起動します。
| docker-compose up -d |
方法 2: Nextcloud アーカイブからの手動インストール
ファイルを直接処理したい場合の方法は次のとおりです。
最新リリースをダウンロードします。
最新の Nextcloud tar アーカイブを取得します。
| wget https://download.Nextcloud.com/server/releases/latest.tar.bz2 |
アーカイブを抽出します。
ダウンロードしたファイルを解凍します。
| tar -xjf 最新.tar.bz2 |
Nextcloud フォルダーを移動します。
抽出したフォルダーを Web ディレクトリに転送します。
| sudo mv Nextcloud /var/www/Nextcloud |
正しい権限を設定します。
Web サーバーがファイルにアクセスできるように所有権を調整します。
| sudo chown -R www-data:www-data /var/www/Nextcloud |
自分のスタイルに最適な方法を選択してください。 Docker アプローチでは Nextcloud docker compose を使用して簡単にセットアップできますが、手動方法ではファイルを直接制御できます。 Cloudzy を使用するとさらに良いです ドッカー VPS 計画では、Docker 経由で Nextcloud をデプロイするための効率的なプラットフォームを作成し、セットアップ プロセスを容易にします。
次に、セルフホステッド クラウド エクスペリエンスを完成させるために、Nextcloud 自体の構成 (仮想ホストのセットアップ、SSL の有効化など) について詳しく説明します。
ステップ 5: Nextcloud の構成
Nextcloud をダウンロードしてインストールしたので、Apache 仮想ホストを設定し、SSL でサイトを保護し、専用ドメインを介してセルフホスト型クラウド ストレージにアクセスできるようにします。
Apache 仮想ホスト ファイルの作成
Nextcloud の構成ファイルを作成します。
| sudo nano /etc/apache2/sites-available/Nextcloud.conf |
次の構成を貼り付けます。
設定に合わせて DocumentRoot と ServerName を調整します (たとえば、cloud.example.com をドメインまたはサーバー IP に置き換えます)。
| <仮想ホスト *:80> ドキュメントルート /var/www/Nextcloud/ サーバー名cloud.example.com<ディレクトリ/var/www/Nextcloud/> すべての付与を要求する すべてのオーバーライドを許可 オプション FollowSymLinks MultiViews<IfModule mod_dav.c> ダブオフ </Ifモジュール> </ディレクトリ> </仮想ホスト> |
新しい構成の有効化
新しい設定について Apache に伝えます。
| sudo a2ensite Nextcloud.conf |
Apacheをリロードします:
Apache をリロードして変更を適用します。
| sudo systemctlリロードapache2 |
SSL でサイトを保護する
安全なアクセスのために、SSL を設定できます。一般的なアプローチは 2 つあります。自己署名証明書を使用する方法と、Let’s Encrypt 経由で証明書を取得する方法です。
オプション 1: 自己署名証明書
SSL モジュールを有効にします。
| sudo a2enmod ssl |
デフォルトの SSL サイトを有効にします。
| sudo a2ensite デフォルト-ssl |
Apacheをリロードします:
| sudo systemctlリロードapache2 |
オプション 2: 証明書の暗号化 (パブリック サーバーに推奨)
Certbot と Apache プラグインをインストールします。
| sudo apt install certbot python3-certbot-apache -y |
- 証明書を取得してインストールします。
cloud.example.com を実際のドメインに置き換えます。
| sudo certbot –apache -d cloud.example.com |
プロンプトに従ってプロセスを完了します。
Apache Virtual Host が構成され、SSL が導入されると、Nextcloud インスタンスは選択したドメインからの安全な接続を提供するように設定されます。次に、Nextcloud データを保存するためのデータベースの設定に進みます。これにより、スムーズなセルフホスト型クラウド エクスペリエンスのためにすべてが連携されます。
ステップ 6: セットアップを完了する
Web サーバーと PHP の構成が完了したので、インストールを完了します。このステップは、プロジェクトを世界に公開する前に、プロジェクトに最後の仕上げを加えるようなものです。
ファイルのアクセス許可を調整します。
インストール ウィザードを起動する前に、次のコマンドを実行して、Web サーバーがすべての Nextcloud ファイルにアクセスできることを確認します。
| sudo chown -R www-data:www-data /var/www/Nextcloud/ |
ブラウザ経由で Nextcloud にアクセスします。
ブラウザを開いて、次のような Nextcloud インスタンスの URL を入力します。
| http://your-server-ip/Nextcloud |
これにより、Nextcloud インストール ウィザードが読み込まれます。これは、最終セットアップをガイドするフレンドリーなインターフェイスです。
インストール ウィザードを完了します。
ウィザードでは、次の入力を求められます。
- データベースの詳細 (ホスト、名前、ユーザー、パスワード)。 Docker セットアップでは、データベース ホストはコンテナ名またはローカルホストとして設定されることがよくあります。
- Nextcloud インスタンスの管理者のユーザー名とパスワード。
画面の指示に従い、完了したら「セットアップを完了する」ボタンをクリックしてください。
ウィザードが完了すると、Nextcloud サーバーのセットアップが完了し、新しい Nextcloud ダッシュボードが表示されます。次に、インスタンスをスムーズに実行し続けるための cron ジョブ、キャッシュ、セキュリティ調整などのインストール後の設定の構成に進みます。
ステップ 7: インストール後の構成
Nextcloud Web インストール ウィザードを完了した後、いくつかの最終調整を行うと、スケジュールされたタスク、パフォーマンス、セキュリティを微調整することができます。この部分は、バックグラウンド ジョブの設定、Redis とのキャッシュの統合、Nextcloud インスタンスの強化に関するものです。
スケジュールされたタスクの Cron ジョブの有効化
Nextcloud をスムーズに実行し続けるために、バックグラウンド タスクをスケジュールすることをお勧めします。 Nextcloud cron スクリプトを 5 分ごとに実行するように cron ジョブを設定します。 Web サーバー ユーザー (通常は www-data) の crontab を開きます。
| sudo crontab -u www-data -e |
次に、ファイルの最後に次の行を追加します。
| */5 * * * * php -f /var/www/Nextcloud/cron.php |
保存してエディタを閉じます。このジョブは、一時ファイルのクリーンアップ、通知の送信、その他のメンテナンス ルーチンなどのタスクを処理します。
キャッシュ用の Redis のインストールと構成
Redis を使用すると、データをキャッシュし、ファイル ロックのパフォーマンスを向上させることにより、Nextcloud インスタンスを高速化できます。初め、 Redisをインストールする Redis 用の PHP 拡張機能:
| sudo apt install redis-server php-redis -y |
次に、Nextcloud 構成ファイル (通常は /var/www/Nextcloud/config/config.php にあります) を更新して、キャッシュ設定を含めます。 $CONFIG 配列内に次の行を追加します。
| 「memcache.local」 => 「\\OC\\Memcache\\APCu」, 「memcache.locking」 => 「\\OC\\Memcache\\Redis」, 'redis' => 配列( 「ホスト」 => 「ローカルホスト」、 「ポート」 => 6379、 ), |
この構成により、Nextcloud はローカル キャッシュに APCu を使用し、ファイル ロックに Redis を使用するように指示され、パフォーマンスと信頼性の両方が向上します。
Nextcloud のセキュリティ設定の強化
いくつかの追加の対策を講じることで、インストールのセキュリティを強化できます。
- 正しいファイル権限を設定します。
Nextcloud ディレクトリの所有権と権限を調整して、アクセスを制限します。
| sudo chown -R www-data:www-data /var/www/Nextcloud sudo find /var/www/Nextcloud/ -type d -exec chmod 750 {} \; sudo find /var/www/Nextcloud/ -type f -exec chmod 640 {} \; |
- メンテナンス モード コマンドを実行します。
メンテナンス モードを一時的に有効にして、追加のセキュリティ チェックや構成の更新を実行します。
| sudo -u www-data php /var/www/Nextcloud/occ メンテナンス:モード –on # (必要なメンテナンスタスクをここで実行します) sudo -u www-data php /var/www/Nextcloud/occ メンテナンス:モード –off |
- Web サーバーの構成を確認します。
Apache または Nginx の設定で HTTPS が強制され、必要に応じて不正アクセスが制限されていることを確認します。
これらの最終ステップにより、Nextcloud インスタンスはバックグラウンド タスクを効率的に処理し、キャッシュを通じてパフォーマンスが向上し、潜在的なセキュリティ脅威からより適切に保護されるようになります。
最終的な考え
これで、Nextcloud Docker セットアップを空白のキャンバスから、完全に機能するセルフホスト型クラウド ストレージ ソリューションに移行しました。システムを更新し、依存関係をインストールし、Web サーバーと PHP を微調整すると、Nextcloud Ubuntu 環境は個人用ファイル共有ハブとして機能する準備が整います。
セットアップの微調整を続けたり、高度な構成を試したり、新しい Nextcloud アプリを探索したりする場合は、ホスティング プロバイダーを検討することが役立ちます。信頼性の高い、 手頃な価格の VPS Cloudzy のように、Nextcloud インスタンスの安全性と応答性が維持されることを保証し、クラウド ストレージのニーズに対する具体的な基盤となります。
さらに安心するには、次の URL で公式のセキュリティ ガイドラインを確認することが賢明です。 Nextcloud のセキュリティ強化 およびバックアップの推奨事項: Nextcloud バックアップ ガイド。これらのリソースは、データを安全に保ち、サーバーをスムーズに実行するのに役立ちます。