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ウェブサーバーをインストールします。
- 以下のdnfコマンドを実行してhttpdウェブサーバーをインストールします。
sudo dnf install httpd「y」と入力して「Enter」を押してhttpdパッケージを確認し、インストールします。

- インストールが完了したら、以下のコマンドを使用してhttpdサービスを有効にし、開始します。
sudo systemctl enable httpd
sudo systemctl start httpd「systemctl enable」コマンドは、サービスが毎回起動時に開始されるようにします。
- その後、以下のコマンドを実行してhttpdサービスを確認します。
sudo systemctl status httpdそして、以下のような結果が得られます。

上のスクリーンショットに見られるように、httpdはアクティブで実行中です。
Rocky LinuxにPHPをインストール
現在、NextcloudはインストールのためにPHP 7.4以上が必要です。今からremiリポジトリからPHP 7.4をインストールします。
- 以下のコマンドを実行して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リポジトリが表示されます。

- 次に、デフォルトのリポジトリモジュールPHPをリセットします。その後、remiリポジトリからPHP 7.4のモジュールを有効にします。
デフォルトのphpモジュールリポジトリをリセットするために以下のコマンドを実行します。
sudo dnf module reset phpその過程で、「y」と入力して「Enter」を押してgpgキーremiリポジトリを追加します。

その後、以下のコマンドを実行してremiリポジトリからphpモジュールを有効にします。
sudo dnf module enable php:remi-7.4「y」と入力して「Enter」を押して続行します。これでPHPとWordPressインストールのためのすべての拡張機能をインストールする準備が整いました。

- 以下のコマンドを実行して、必要な拡張機能を持つ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- 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」を増加させます。
- 次に、作業ディレクトリを「/etc/php.d/」に変更し、nanoエディタを使用して設定「10-opcache.ini」を編集します。
cd /etc/php.d/
nano 10-opcache.iniPHP 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」と入力して設定を保存し、終了します。
- 新しいPHP設定を適用するために、以下のコマンドを使用してhttpdサービスを再起動します。
sudo systemctl restart httpdMariaDBのインストールと設定
この段階では、mariadbデータベースサーバーをインストールし、mariadbの展開を保護し、Nextcloud用の新しいデータベースとユーザーを作成します。
- mariadbデータベースサーバーをインストールするには、以下のコマンドを実行します。
sudo dnf install mariadb mariadb-servermariadbのインストールを待ちます。

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

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

Nextcloudソースコードのダウンロード
- 作業ディレクトリを「/var/www」に変更し、以下のwgetコマンドを使用してNextcloudソースコードの最新バージョンをダウンロードします。
cd /var/www/
wget https://download.nextcloud.com/server/releases/nextcloud-22.1.0.zip- 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を有効にする必要があります。
- 以下のdnfコマンドを使用して「mod_ssl」パッケージをインストールします。
sudo dnf install mod_ssl mod_http2- その後、以下の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を押すだけで済みます。

- 次に、以下のコマンドを実行してmod_sslがhttpdウェブサーバーで利用可能であることを確認します。
apachectl -M | grep ssl「ssl」のような出力が得られた場合、mod_sslは有効になっています。そうでない場合は、空の出力が得られます。

Certbotを使用したSSL Letsencryptの生成
この段階では、cerbotツールをインストールし、WordPressインストール用のSSL証明書を生成します。webrootプラグインを使用してSSL Letsencryptを生成します。
- 以下のコマンドを実行してSSL Letsencryptを生成するためのcertbotツールをインストールします。
sudo dnf install certbotインストールプロセスを待ちます。
- インストールが完了したら、以下のコマンドを使用してletsencrypt認証のための新しいディレクトリを作成します。
sudo mkdir -p /var/lib/letsencrypt/.well-known
sudo chgrp apache /var/lib/letsencrypt
sudo chmod g+s /var/lib/letsencrypt- 次に、作業ディレクトリを「/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」と入力して保存して終了します。
- 次に、以下のコマンドを実行してhttpd設定を確認し、httpdサービスを再起動します。
apachectl configtest
sudo systemctl restart httpdエラーがなければ、webrootプラグインを使用してSSL Letsencryptを生成する準備が整いました。

- 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仮想ホスト設定を追加します。
- 作業ディレクトリを「/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」と入力して設定を保存し、終了します。
- 次に、以下のコマンドを実行してhttpd設定を確認します。
sudo apachectl configtestエラーがなければ、以下のコマンドを使用してhttpdサービスを再起動します。
sudo systemctl restart httpdこれで、ウェブブラウザを通じてNextcloudのインストールの準備が整いました。

Nextcloudのインストール
関連するすべてのサーバー設定が完了したら、ウェブブラウザでNextcloudのインストールにアクセスできます。
- ウェブブラウザを開き、NextcloudインストールのURLアドレスを入力します。
今、あなたは安全なHTTPS接続にリダイレクトされ、以下のページが表示されます。

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

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

- 管理ページにアクセスするには、上部のユーザープロフィールをクリックし、「設定」を選択します。
「管理者」セクションで、デフォルトのNextcloud設定を変更できます。

- 新しいプラグインやアプリを追加するには、上部のユーザープロフィールをクリックし、「アプリ」を選択します。
今、以下のページが表示されます。

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

Nextcloudのパフォーマンス調整
Nextcloudをインストールした後、ローカルメモリキャッシュを有効にし、Nextcloud自体のcronジョブを設定することで、Nextcloudのパフォーマンスを向上させるためのいくつかの手順を実行できます。
- 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」と入力して設定を保存し、終了します。
- 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設定が成功していれば、出力の最上部に設定が表示されます。そうでない場合は、空の結果が得られます。

結論
おめでとうございます!Rocky Linux 8.4にNextcloudを正常にインストールしました。NextcloudサーバーはLAMPスタックの下で実行され、SSLが有効になっています。また、NextcloudインストールはPHP APCおよびopcache拡張機能を使用してメモリキャッシングが有効になっています。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。