Nextcloudインストール · 4 min read · Oct 30, 2025

Rocky LinuxにNextcloudをインストールする方法

Nextcloudは、Dropbox、Google Drive、またはMega.nzのようなファイルホスティングサービスを作成するための無料でオープンソースのソフトウェアです。これは、元のowncloud開発者であるFrank Karlitschekによって作成されました。2016年、彼はOwncloudプロジェクトをフォークし、「Nextcloud」という名前の新しいプロジェクトを作成しました。

この時点で、Nextcloudプロジェクトは急速に成長し、単なるファイルホスティングソフトウェア以上のものになりました。多くのプラグインのサポートにより、Nextcloudはコラボレーションソフトウェアとなります。プロジェクト管理、ビデオ会議、共同編集、ノート取り、メールクライアントなどのプラグインをインストールできます。

このガイドでは、Rocky Linux 8.4にNextcloudをインストールする方法を学びます。LAMPスタック(Linux、Apache2/httpd、MySQL/MariaDB、PHP)の下でNextcloudをインストールします。

前提条件

  • Rocky Linuxサーバー。すべてのパッケージが最新バージョンに更新されていることを確認してください。
  • root権限を持つユーザー。このユーザーはsudoコマンドを通じてroot権限を取得します。

Apache/Httpdウェブサーバーのインストール

最初に、Rocky LinuxサーバーにApacheまたはhttpdウェブサーバーをインストールします。

  1. 以下のdnfコマンドを実行してhttpdウェブサーバーをインストールします。
sudo dnf install httpd

y」と入力して「Enter」を押してhttpdパッケージを確認し、インストールします。

Apache/Httpdウェブサーバーのインストール

  1. インストールが完了したら、以下のコマンドを使用してhttpdサービスを有効にし、開始します。
sudo systemctl enable httpd  
sudo systemctl start httpd

systemctl enable」コマンドは、サービスが毎回起動時に開始されるようにします。

  1. その後、以下のコマンドを実行してhttpdサービスを確認します。
sudo systemctl status httpd

そして、以下のような結果が得られます。

Apacheウェブサーバーサービスのステータス

上のスクリーンショットに見られるように、httpdはアクティブで実行中です。

Rocky LinuxにPHPをインストール

現在、NextcloudはインストールのためにPHP 7.4以上が必要です。今からremiリポジトリからPHP 7.4をインストールします。

  1. 以下のコマンドを実行してepelおよびremiリポジトリを追加します。
sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm  
sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm

y」と入力して「Enter」を押してepelおよびremiリポジトリを追加します。

インストールが完了したら、以下のコマンドを使用してepelおよびRemiリポジトリを確認します。

sudo dnf repolist

リポジトリリストにepelおよびremiリポジトリが表示されます。

EPELおよびREMIリポジトリの確認

  1. 次に、デフォルトのリポジトリモジュールPHPをリセットします。その後、remiリポジトリからPHP 7.4のモジュールを有効にします。

デフォルトのphpモジュールリポジトリをリセットするために以下のコマンドを実行します。

sudo dnf module reset php

その過程で、「y」と入力して「Enter」を押してgpgキーremiリポジトリを追加します。

GPGキーremiリポジトリの追加

その後、以下のコマンドを実行してremiリポジトリからphpモジュールを有効にします。

sudo dnf module enable php:remi-7.4

y」と入力して「Enter」を押して続行します。これでPHPとWordPressインストールのためのすべての拡張機能をインストールする準備が整いました。

PHP 7.4のためのremiリポジトリの有効化

  1. 以下のコマンドを実行して、必要な拡張機能を持つphpをインストールします。
sudo dnf install php php-ctype php-curl php-gd php-iconv php-json php-libxml php-mbstring php-openssl php-posix php-session php-xml php-zip php-zlib php-pdo php-mysqlnd php-intl php-bcmath php-gmp php-imagick php-apcu
  1. PHPのインストールが完了したら、nanoエディタを使用して設定「php.ini」を編集します。
nano /etc/php.ini

デフォルトの値を以下の設定に変更します。

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

Ctrl+x」を押して「Y」と入力して設定を保存し、終了します。

知っておくべき重要な設定:

  • Nextcloudの本番環境では、「memory_limit」は512MB以上が必要です。
  • upload_max_filesize」オプションは、Nextcloudサーバーへの最大サイズのアップロードを設定することを許可します。
  • post_max_size」オプションは「upload_max_filesize」オプションよりも大きい必要があります。
  • date.timezone」オプションはシステムのローカル時間「/etc/localtime」と一致する必要があります。
  • サーバーの負荷に応じて「max_execution_time」を増加させます。
  1. 次に、作業ディレクトリを「/etc/php.d/」に変更し、nanoエディタを使用して設定「10-opcache.ini」を編集します。
cd /etc/php.d/  
nano 10-opcache.ini

PHP opecacheプラグインを有効にするために、以下の設定を追加します。

opcache.enable = 1  
opcache.interned_strings_buffer = 8  
opcache.max_accelerated_files = 10000  
opcache.memory_consumption = 128  
opcache.save_comments = 1  
opcache.revalidate_freq = 1

Ctrl+x」ボタンを押して「Y」と入力して設定を保存し、終了します。

  1. 新しいPHP設定を適用するために、以下のコマンドを使用してhttpdサービスを再起動します。
sudo systemctl restart httpd

MariaDBのインストールと設定

この段階では、mariadbデータベースサーバーをインストールし、mariadbの展開を保護し、Nextcloud用の新しいデータベースとユーザーを作成します。

  1. mariadbデータベースサーバーをインストールするには、以下のコマンドを実行します。
sudo dnf install mariadb mariadb-server

mariadbのインストールを待ちます。

MariaDBデータベースサーバーのインストール

  1. インストールが完了したら、以下のコマンドを使用してmariadbサービスを有効にし、開始します。
sudo systemctl enable mariadb  
sudo systemctl start mariadb
  1. mariadbがアクティブで実行中になります。以下のコマンドを実行してmariadbサービスを確認します。
sudo systemctl status mariadb

mariadbサービスが実行中であれば、以下のような出力が得られます。

mariadbサービスのステータスの確認

  1. 次に、mariadbの展開を保護するために、mariadbのrootパスワードを設定し、いくつかのデフォルト設定を削除する必要があります。そのためには、デフォルトのmariadbインストールに含まれているコマンドラインツール「mysql_secure_installation」を使用できます。

以下の「mysql_secure_installation」コマンドを実行します。

mysql_secure_installation

最初に、mariadbのrootパスワードを設定するように求められます。

強力なmariadbのrootパスワードを入力し、再度入力してから「Enter」を押して続行します。

Setting the root password ensures that nobody can log into the MariaDB  
root user without the proper authorisation.  
  
Set root password? [Y/n] Y  
New password:  
Re-enter new password:  
Password updated successfully!  
Reloading privilege tables..  
 ... Success!

次に、「Y」と入力して「Enter」を押して、mariadbサーバーからデフォルトの匿名ユーザーを削除します。

By default, a MariaDB installation has an anonymous user, allowing anyone  
to log into MariaDB without having to have a user account created for  
them.  This is intended only for testing, and to make the installation  
go a bit smoother.  You should remove them before moving into a  
production environment.  
  
Remove anonymous users? [Y/n] Y  
 ... Success!

その後、デフォルトユーザー「root」のリモートログインを無効にします。「Y」と入力して「Enter」を押して続行します。

Normally, root should only be allowed to connect from 'localhost'.  This  
ensures that someone cannot guess at the root password from the network.  
  
Disallow root login remotely? [Y/n] Y  
 ... Success!

再度「Y」と入力して、デフォルトデータベース「test」を削除し、「Enter」を押します。

By default, MariaDB comes with a database named 'test' that anyone can  
access.  This is also intended only for testing, and should be removed  
before moving into a production environment.  
  
Remove test database and access to it? [Y/n] Y  
- Dropping test database...  
 ... Success!  
- Removing privileges on test database...  
 ... Success!

最後に、すべてのテーブルの権限を再読み込みして新しい設定を適用するために「Y」と入力します。

Reloading the privilege tables will ensure that all changes made so far  
will take effect immediately.  
  
Reload privilege tables now? [Y/n] Y  
 ... Success!

これでプロセスは完了し、以下の出力が表示されます。

Cleaning up...  
  
All done!  If you've completed all of the above steps, your MariaDB  
installation should now be secure.  
  
Thanks for using MariaDB!

Nextcloud用のデータベースの作成

  1. 以下のmysqlコマンドを使用してmariadbシェルにログインします。
mysql -u root -p
  1. 次に、以下のmysqlクエリを実行して新しいデータベース「nextcloud_db」を作成します。
CREATE DATABASE netxcloud_db;
  1. 以下のクエリを実行して新しいデータベースユーザー「nextuser」を作成します。「strongpassword」を強力なパスワードに変更します。
CREATE USER nextuser@localhost IDENTIFIED BY 'StrongPassword';
  1. ユーザー「nextuser」が「nextcloud_db」にアクセスし、書き込むことを許可します。
GRANT ALL PRIVILEGES ON netxcloud_db.* TO nextuser@localhost;
  1. 新しいデータベース設定を適用するために、すべてのテーブルの権限を再読み込みします。
FLUSH PRIVILEGES;

その後、「quit」と入力して「Enter」を押してmariadbシェルから退出できます。

Nextcloud用の新しいデータベースの作成

Nextcloudソースコードのダウンロード

  1. 作業ディレクトリを「/var/www」に変更し、以下のwgetコマンドを使用してNextcloudソースコードの最新バージョンをダウンロードします。
cd /var/www/  
wget https://download.nextcloud.com/server/releases/nextcloud-22.1.0.zip
  1. Nextcloudソースコード「nextcloud-xx.zip」を抽出し、新しいディレクトリ「nextcloud」を取得します。その後、「nextcloud」ディレクトリの所有者を「apache」ユーザーに変更します。
unzip nextcloud-22.1.0.zip  
chown -R apache:apache nextcloud

これでNextcloudのhttpd仮想ホストを設定する準備が整いました。

Apache/Httpd mod_sslモジュールの有効化

このチュートリアルでは、Nextcloudをインストールし、LetsencryptからSSLで保護します。そのため、Rocky Linuxのhttpdサーバーでmod_sslを有効にする必要があります。

  1. 以下のdnfコマンドを使用して「mod_ssl」パッケージをインストールします。
sudo dnf install mod_ssl mod_http2
  1. その後、以下のopensslコマンドを使用してlocalhostのデフォルトSSLを生成します。ただし、すでに「/etc/pki/tls/private/localhost.key」および「/etc/pki/tls/certs/localhost.crt」の証明書がある場合は、このステージをスキップできます。
openssl req -newkey rsa:2048 -nodes -keyout /etc/pki/tls/private/localhost.key -x509 -days 365 -out /etc/pki/tls/certs/localhost.crt

この証明書はlocalhost専用に使用されるため、すべての質問にはEnterを押すだけで済みます。

ローカルホスト用のSSLを生成するRocky Linux

  1. 次に、以下のコマンドを実行してmod_sslがhttpdウェブサーバーで利用可能であることを確認します。
apachectl -M | grep ssl

ssl」のような出力が得られた場合、mod_sslは有効になっています。そうでない場合は、空の出力が得られます。

Rocky Linuxでmod_sslとmod_http2を有効にする

Certbotを使用したSSL Letsencryptの生成

この段階では、cerbotツールをインストールし、WordPressインストール用のSSL証明書を生成します。webrootプラグインを使用してSSL Letsencryptを生成します。

  1. 以下のコマンドを実行してSSL Letsencryptを生成するためのcertbotツールをインストールします。
sudo dnf install certbot

インストールプロセスを待ちます。

  1. インストールが完了したら、以下のコマンドを使用してletsencrypt認証のための新しいディレクトリを作成します。
sudo mkdir -p /var/lib/letsencrypt/.well-known  
sudo chgrp apache /var/lib/letsencrypt  
sudo chmod g+s /var/lib/letsencrypt
  1. 次に、作業ディレクトリを「/etc/httpd/conf.d/」に変更し、nanoエディタを使用して新しい設定「well-known.conf」を作成します。
cd /etc/httpd/conf.d/  
nano well-known.conf

以下の設定を追加します。

Alias /.well-known/acme-challenge/ "/var/lib/letsencrypt/.well-known/acme-challenge/"  
  
    AllowOverride None  
    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec  
    Require method GET POST OPTIONS  

Ctrl+x」を押して「y」と入力して保存して終了します。

  1. 次に、以下のコマンドを実行してhttpd設定を確認し、httpdサービスを再起動します。
apachectl configtest  
sudo systemctl restart httpd

エラーがなければ、webrootプラグインを使用してSSL Letsencryptを生成する準備が整いました。

letsencrypt webroot認証のためのapache httpdの設定

  1. SSL Letsencryptを生成する前に、ドメイン名がサーバーのIPアドレスに解決されていることを確認します。その後、以下のcertbotコマンドを実行してwebrootプラグインでSSL Letsencryptを生成できます。また、メールアドレスとドメイン名を自分のものに変更してください。
sudo certbot certonly --agree-tos --email [email protected] --webroot -w /var/lib/letsencrypt/ -d files.domain.com -d 

プロセスが完了すると、SSL証明書は「/etc/letsencrypt/live/files.domain.com/」ディレクトリに利用可能になります。

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

このステップでは、Nextcloudのための新しいapache/httpd仮想ホスト設定を追加します。

  1. 作業ディレクトリを「/etc/httpd/conf.d」に変更し、nanoエディタを使用して新しい設定「nextcloud.conf」を作成します。
cd /etc/httpd/conf.d/  
nano nextcloud.conf

詳細なドメイン名とSSLパスディレクトリを自分のものに変更し、設定を「nextcloud.conf」ファイルに貼り付けます。

  
    ServerName files.domain.com  
    ServerAlias www.files.domain.com  
  
    # auto redirect HTTP to HTTPS  
    Redirect permanent / https://files.domain.com/  
  
  
  
    ServerName files.domain.com  
    ServerAlias www.files.domain.com  
   
    DocumentRoot /var/www/nextcloud/  
  
    Protocols h2 http/1.1  
  
    # auto redirect www to non-www  
      
        Redirect permanent / https://files.domain.com/  
      
  
    # log files  
    ErrorLog /var/log/httpd/files.domain.com-error.log  
    CustomLog /var/log/httpd/files.domain.com-access.log combined  
  
    SSLEngine On  
    SSLCertificateFile /etc/letsencrypt/live/files.domain.com/fullchain.pem  
    SSLCertificateKeyFile /etc/letsencrypt/live/files.domain.com/privkey.pem  
  
    # HSTS  
      
        Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"  
      
  
      
        Options +FollowSymlinks  
        AllowOverride All  
  
          
            Dav off  
          
  
        SetEnv HOME /var/www/nextcloud  
        SetEnv HTTP_HOME /var/www/nextcloud  
      

Ctrl+x」を押して「Y」と入力して設定を保存し、終了します。

  1. 次に、以下のコマンドを実行してhttpd設定を確認します。
sudo apachectl configtest

エラーがなければ、以下のコマンドを使用してhttpdサービスを再起動します。

sudo systemctl restart httpd

これで、ウェブブラウザを通じてNextcloudのインストールの準備が整いました。

Nextcloudのためのapache/httpd仮想ホストの設定

Nextcloudのインストール

関連するすべてのサーバー設定が完了したら、ウェブブラウザでNextcloudのインストールにアクセスできます。

  1. ウェブブラウザを開き、NextcloudインストールのURLアドレスを入力します。

http://files.domain.com

今、あなたは安全なHTTPS接続にリダイレクトされ、以下のページが表示されます。

Nextcloudのインストール

  • 「管理者アカウントの作成」セクションで、新しいユーザー名とパスワードを入力します。
  • 「データフォルダー」セクションは、今のところデフォルトのままにします。
  • 「データベースの設定」セクションで、「MySQL/MariaDB」を選択し、データベース設定の詳細を入力します。
  • さらに、推奨アプリをインストールするには、ボックスオプションにチェックを入れます。インストールしたくない場合は、ボックスオプションのチェックを外します。

その後、「セットアップを完了」ボタンをクリックできます。

  1. インストールプロセスが完了すると、以下のようなデフォルトのNextcloudダッシュボードが表示されます。

Nextcloudダッシュボード

  1. 今、メニュー「ファイル」をクリックすると、ユーザーダッシュボードのファイルとフォルダーのリストが表示されます。

Nextcloudユーザーファイルダッシュボード

  1. 管理ページにアクセスするには、上部のユーザープロフィールをクリックし、「設定」を選択します。

管理者」セクションで、デフォルトのNextcloud設定を変更できます。

Nextcloud管理設定

  1. 新しいプラグインやアプリを追加するには、上部のユーザープロフィールをクリックし、「アプリ」を選択します。

今、以下のページが表示されます。

Nextcloudアプリとプラグインのインストール

自分に合ったプラグインカテゴリを選択し、「ダウンロードして有効にする」ボタンをクリックします。その後、「有効にする」をクリックしてアプリまたはプラグインをアクティブにします。

以下は、Nextcloud Breeze Darkテーマを有効にした後のスクリーンショットです。

Nextcloud Breezeによるダークテーマ

Nextcloudのパフォーマンス調整

Nextcloudをインストールした後、ローカルメモリキャッシュを有効にし、Nextcloud自体のcronジョブを設定することで、Nextcloudのパフォーマンスを向上させるためのいくつかの手順を実行できます。

  1. PHPインストールセクションの最上部で、キャッシュ用にPHPを設定しました。Nextcloudでキャッシュを有効にするには、Nextcloud設定「config.php」を編集します。

作業ディレクトリを「/var/www/nextcloud/config」に変更し、nanoエディタを使用して設定「config.php」を編集します。

cd /var/www/nextcloud/config/  
nano config.php

以下の設定を「array ( .. );」の括弧内に追加します。

 'OCMemcacheAPCu',  
);

Ctrl+x」ボタンを押して「y」と入力して設定を保存し、終了します。

  1. Nextcloudシステムは、定期的にバックグラウンドタスクを実行する必要があります。これを行うには、Nextcloudタスクのスケジューラとしてcronジョブを使用できます。

Rocky Linuxでは、デフォルトのhttpdユーザーは「apache」です。「apache」ユーザーのために新しいcronジョブを作成するには、以下のコマンドを使用します。

crontab -u apache -e

以下の設定を追加します。

*/5  *  *  *  * php -f /var/www/nextcloud/cron.php

設定についての注意事項を記入し、終了します。

cronジョブ設定について知っておくべきこと:

  • このcronジョブ設定により、「apache」ユーザーがPHPスクリプト「/var/www/nextcloud/cron.php」を5分ごとに実行できるようになります。

cronジョブ設定を確認するには、以下のコマンドを実行できます。

crontab -u apache -l

設定が成功していれば、出力の最上部に設定が表示されます。そうでない場合は、空の結果が得られます。

Nextcloudのメモリキャッシングを有効にし、Cronを設定する

結論

おめでとうございます!Rocky Linux 8.4にNextcloudを正常にインストールしました。NextcloudサーバーはLAMPスタックの下で実行され、SSLが有効になっています。また、NextcloudインストールはPHP APCおよびopcache拡張機能を使用してメモリキャッシングが有効になっています。

Share: X/Twitter LinkedIn

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

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