Nextcloud · 1 min read · Sep 26, 2025

Ubuntu 24.04サーバーにNextcloudをインストールする方法

Nextcloudは、公共およびプライベートファイルストレージのためのオープンソースソフトウェアです。Dropbox、Google Drive、またはMega.nzのような自己ホスト型サービスを作成することができます。最初は、元のOwncloud開発者であるフランク・カールリッチェクによって作成されました。2016年に、彼はOwncloudプロジェクトをフォークし、「Nextcloud」という新しい名前の新しいプロジェクトを作成しました。

Nextcloudプロジェクトは急速に成長しており、ファイルホスティングソフトウェア以上のものになっています。ファイル同期およびコンテンツコラボレーションプラットフォームのようなものです。多くのプラグインに支えられ、Nextcloudは非常に強力なコラボレーションソフトウェアとなりました。プロジェクト管理、ビデオ会議、共同編集、ノート取り、メールクライアントなどのプラグインをインストールできます。

このチュートリアルでは、Ubuntu 24.04サーバーにNextcloudをインストールする方法を説明します。LAMPスタックを使用してNextcloudをインストールし、次にCertbotとLetsencryptを通じてHTTPSでNextcloudを保護します。

前提条件

始める前に、以下のものを用意してください:

  • Ubuntu 24.04サーバー
  • 管理者権限を持つ非ルートユーザー
  • サーバーIPアドレスにポイントされたドメイン名
  • UFW(Uncomplicated Firewall)が稼働中であること

依存関係のインストール

このセクションでは、Nextcloudのためのパッケージ依存関係をインストールします。LAMPスタックを使用してNextcloudを実行し、curlを使用してNextcloudのソースコードをダウンロードし、次にCertbotとLetsencryptを使用してNextcloudをHTTPSで保護します。

始める前に、以下のコマンドを実行してUbuntuパッケージインデックスを更新してください。

sudo apt update

update repo

次に、以下のapt installコマンドを使用してNextcloudの依存関係をインストールします。これにより、LAMPスタック(Linux、Apache、MySQL/MariaDB、PHP)、curl、unzip、ImageMagick、およびcertbotがインストールされます。

sudo apt install apache2 mariadb-server php php-curl php-cli php-mysql php-gd php-common php-xml php-json php-intl php-pear php-imagick php-dev php-common php-mbstring php-zip php-soap php-bz2 php-bcmath php-gmp php-apcu libmagickcore-dev php-redis php-memcached curl unzip imagemagick certbot python3-certbot-apache

インストールを確認するためにYを入力します。

install deps

インストール後、以下のコマンドを使用してApacheウェブサーバーの状態を確認します。Apacheウェブサーバーが実行中で有効になっていることがわかります。

sudo systemctl is-enabled apache2  
sudo systemctl status apache2

test apache2

次に、以下のコマンドを使用してMariaDBサーバーの状態を確認します。MariaDBが実行中であることがわかります。

sudo systemctl is-enabled mariadb  
sudo systemctl status mariadb

test mariadb

最後に、以下のコマンドを実行してシステムのPHPバージョンを確認します。PHP 8.3がインストールされていることがわかります。

php -v

test php

PHPの設定

依存関係をインストールした後、php.iniファイルを編集してPHPを設定します。最大メモリ制限や最大アップロードサイズなど、必要に応じてPHP設定を調整できます。

nanoエディタでファイル/etc/php/8.3/apache2/php.iniを開きます。

sudo nano /etc/php/8.3/apache2/php.ini

以下のようにデフォルト設定を変更し、memory_limitを最大メモリに、date.timezoneをサーバーの場所/タイムゾーンに調整してください。

date.timezone = Europe/Amsterdam  
memory_limit = 512M  
upload_max_filesize = 500M  
post_max_size = 600M  
max_execution_time = 300  
file_uploads = On  
allow_url_fopen = On  
display_errors = Off  
output_buffering = Off

完了したら、ファイルを保存してエディタを終了します。

次に、以下のsystemctlコマンドを実行してApacheウェブサーバーを再起動し、新しいPHP設定を適用します。

sudo systemctl restart apache2

MariaDBサーバーの設定

PHPを設定したら、MariaDBサーバーを設定し、Nextcloud用の新しいデータベースとユーザーを作成します。mariadb-secure-installationユーティリティを使用してMariaDBを保護し、次にmariadbクライアントを通じて新しいデータベースとユーザーを作成します。

MariaDBサーバーを保護するために、以下のmariadb-secure-installationコマンドを実行します。

sudo mariadb-secure-installation

このプロセス中に、以下のMariaDBサーバー設定について尋ねられます:

  • MariaDBのルートパスワードを尋ねられたらENTERを押します。
  • unix_socket認証方法について尋ねられたらnを入力します。
  • MariaDBのルートユーザーの新しいパスワードを設定するためにYを入力します。次に、新しいパスワードを入力し、繰り返します。
  • MariaDBからデフォルトの匿名ユーザーを削除するためにYを入力します。
  • 次に、MariaDBのルートユーザーのリモートログインを無効にするためにYを再度入力します。
  • MariaDBからデフォルトのデータベーステストを削除するためにYを入力します。
  • 最後に、テーブル権限を再読み込みして変更を適用するためにYを再度入力します。

次に、以下のmariadbクライアントコマンドを実行してMariaDBサーバーにログインします。プロンプトが表示されたらルートパスワードを入力します。

sudo mariadb -u root -p

以下のクエリを実行して、新しいデータベースnextclouddb、ユーザーnextcloud@localhost、パスワードpassw0rdを作成します。データベースの詳細は自分の情報に合わせて調整できます。

CREATE DATABASE nextclouddb;  
CREATE USER nextcloud@localhost IDENTIFIED BY 'passw0rd';  
GRANT ALL PRIVILEGES ON nextclouddb.* to nextcloud@localhost;  
FLUSH PRIVILEGES;

create datbase and user

次に、以下のクエリを実行してユーザーnextcloud@localhostがデータベースnextclouddbにアクセスできることを確認します。

SHOW GRANTS FOR nextcloud@localhost;

以下のような出力が表示されます:

show user privileges

quitと入力してMariaDBサーバーから退出します。

HTTPおよびHTTPSポートの開放

このセクションでは、Nextcloudへのアクセスを許可するためにHTTPおよびHTTPSポートを開放します。したがって、UFWがUbuntuサーバーで構成され、有効になっていることを確認する必要があります。

UbuntuでHTTPおよびHTTPSポートの両方を開放するには、以下のufwコマンドを実行します。Apache Fullプロファイルを使用して、HTTPおよびHTTPSポートへの接続を許可します。

sudo ufw allow 'Apache Full'  
sudo ufw reload

次に、以下のコマンドを使用してUFWのルールリストを確認します。Apache FullプロファイルがUbuntuサーバーで有効になっていることを確認します。

sudo ufw status

setup ufw

Nextcloudのダウンロード

PHP、MariaDB、およびUFWを設定したら、Nextcloudのソースコードをダウンロードし、Nextcloudインストールのためのドキュメントルートディレクトリを設定します。

/var/wwwディレクトリに移動し、以下のcurlコマンドを使用してNextcloudのソースコードをダウンロードします。

cd /var/www/  
sudo curl -o nextcloud.zip https://download.nextcloud.com/server/releases/latest.zip

ダウンロードが完了したら、以下のunzipコマンドを実行してNextcloudを抽出します。これにより、Nextcloudのルートディレクトリが/var/www/nextcloudに設定されます。

sudo unzip nextcloud.zip

次に、以下のコマンドを実行して/var/www/nextcloudディレクトリの所有権をユーザーwww-dataに変更します。

sudo chown -R www-data:www-data /var/www/nextcloud

NextcloudのためのApache仮想ホストの設定

Nextcloudをダウンロードした後、Nextcloudのための新しいApache仮想ホストを作成します。次に、SSL証明書を生成し、NextcloudをHTTPSで保護します。

以下のnanoエディタで新しいApache仮想ホスト設定/etc/apache2/sites-available/nextcloud.confを作成します。

sudo nano /etc/apache2/sites-available/nextcloud.conf

以下の設定を挿入し、ドメイン名nextcloud.howtoforge.localを変更してください。

  
 ServerName nextcloud.howtoforge.local  
 DocumentRoot /var/www/nextcloud/  
  
 # log files  
 ErrorLog /var/log/apache2/nextclouds.howtoforge.local-error.log  
 CustomLog /var/log/apache2/nextcloud.howtoforge.local-access.log combined  
  
   
 Options +FollowSymlinks  
 AllowOverride All  
  
   
 Dav off  
   
  
 SetEnv HOME /var/www/nextcloud  
 SetEnv HTTP_HOME /var/www/nextcloud  
   

完了したら、ファイルを保存してエディタを終了します。

次に、以下のコマンドを実行して仮想ホストファイルnextcloud.confを有効にし、Apacheの構文を確認します。正しいApache構文であれば、Syntax is OKという出力が得られます。

sudo a2ensite nextcloud.conf  
sudo apachectl configtest

次に、以下のsystemctlコマンドを実行してApacheウェブサーバーを再起動し、変更を適用します。

sudo systemctl restart apache2

setup apache

Apacheが再起動したら、以下のcertbotコマンドを実行してSSL証明書を生成し、NextcloudインストールをHTTPSで保護します。ドメイン名とメールアドレスを自分の情報に変更してください。

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d nextcloud.howtoforge.local

Nextcloudのインストール

ウェブブラウザを開き、https://nexcloud.howtoforge.local/にアクセスします。設定が成功していれば、Nextcloudインストールページが表示されます。

Nextcloudインストールページで、以下の設定を行います:

  • Nextcloudの管理ユーザーとパスワードを入力します
  • ストレージパスをデフォルトディレクトリとして選択します
  • 作成したNextcloudデータベースの詳細を入力します
  • Installをクリックしてインストールを開始します。

install nextcloud

いくつかのNextcloudアプリケーションをインストールするか、Skipをクリックできます。

skip apps installation

プロセスが完了すると、以下のページが表示されます:

nextcloud dashboard

結論

おめでとうございます!Ubuntu 24.04サーバーにNextcloudのインストールが完了しました。NextcloudはLAMPスタックで稼働し、CertbotとLetsencryptを通じてHTTPSで保護されています。新しいユーザーを作成し、Nextcloudにファイルをアップロードすることができます。また、パフォーマンスを向上させるために新しいキャッシング方法を追加することもできます。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。