流 れ
- Apahe のインストール
- MariaDB のインストール
- PHP のインストール
- NextCloud24.0.1 のインストール
1.Apache ウェブサーバーのインストール
Ubuntu 22.04にApacheWebServerをインストールするには、次の手順で行います。
1.Ubuntuパッケージを更新およびアップグレードします。
sudo apt update && sudo apt upgrade
2.aptコマンドを使用して Apache ウェブサーバーをインストールします。
sudo apt install apache2
3.ファイアウォールを構成します。これにより、HTTP および HTTPS 接続が許可され、Web アクセスが可能になります。
sudo ufw allow OpenSSH
sudo ufw allow in "Apache Full"
sudo ufw enable
4.次のコマンドを使用してファイアウォール設定を確認します。
sudo ufw status
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
Apache Full ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Apache Full (v6) ALLOW Anywhere (v6)
5.Apacheモジュールにてmpm_preforkを有効化し、mpm_eventを無効化する
sudo a2dismod mpm_event
sudo a2enmod mpm_prefork
6.systemctl
を使用してApacheを再起動します
sudo systemctl restart apache2
systemctl
を使用して、Web サーバーのステータスを確認します。
sudo systemctl status apache2
WebサーバーのIPアドレスにアクセスし、サーバーが正しく機能していることを確認します。
http://your_IP_address/
デフォルトのUbuntu / Apache2ウェルカムページがブラウザに表示されます。このページには「動作します」というメッセージが表示され、サーバーに関するいくつかの基本情報が詳しく説明されています。

2.MariaDB RDBMS のインストール
Ubuntu 22.04にMariaDBをインストールするには、この例の手順に従います。
1.apt
コマンドを使用してMariaDBをインストールします。
sudo apt install mariadb-server
2.MariaDBが正しくインストールされていることをステータス表示で確認します。
sudo systemctl status mariadb
3.MariaDBをsystemctl
コマンドを使い有効にする。サーバーの起動時に自動的にアクティブになります。
sudo systemctl enable mariadb
4.mysql_secure_installation
を使用してMariaDBを構成し、ユーティリティを保護します。
sudo mysql_secure_installation
パスワードを入力します。
次の質問への回答:Y
Remove anonymous users?
Disallow root login remotely?
Remove test database and access to it?
Reload privilege tables now?
MariaDBでのネクストクラウドデータベースの作成
ネクストクラウドが使用する新しいデータベースを作成。
データベースのユーザーを作成し、このユーザーに追加の権限を付与する。
データベースを構成するには、次の手順に従います。
1.root ユーザーとしてMariaDBにログインします。
root パスワードを追加した場合は、要求に応じて入力します。
sudo mysql -u root
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 37
Server version: 10.6.7-MariaDB-2ubuntu1.1 Ubuntu 22.04
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
2.データベースを作成します。
MariaDB [(none)]> CREATE DATABASE nextcloud;
3.次のコマンドを使用して、データベースが正しく作成されていることを確認します。
MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| nextcloud |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.001 sec)
4.ユーザーを作成し、データベースにアクセスするためのすべての権限を付与します。
パスワードを入力します。
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost' IDENTIFIED BY 'password';
5.最近の変更を適用するための権限をフラッシュします。
MariaDB [(none)]> FLUSH PRIVILEGES;
6.データベースを終了します。
MariaDB [(none)]> quit
3.PHPおよびその他のコンポーネントのインストール
NextCloudはPHPプログラミング言語を使用しています。
NextCloud ver.24 はPHP 8.1 をサポートしています。
PHPおよびその他の必要なパッケージをインストールするには、次のコマンドを使用します。
1.apt
を使用してコアPHPパッケージをインストールします。
sudo apt install php
2.PHPのリリース番号を確認します。
php -v
PHP 8.1.2-1ubuntu2.6 (cli) (built: Sep 15 2022 11:30:49) (NTS)
3.残りのPHPコンポーネントをインストールします。
sudo apt install php-apcu php-bcmath php-cli php-common php-curl php-gd php-gmp php-imagick php-intl php-mbstring php-mysql php-zip php-xml
4.必要な PHP 拡張機能を有効にします。
sudo phpenmod bcmath gmp imagick intl
5.unzip
をインストールします。(システムに既にインストールされている可能性があります。)
sudo apt install unzip
6.libmagic
のパッケージをインストールします。
sudo apt install libmagickcore-6.q16-6-extra
4.ネクストクラウドのダウンロード、インストール、設定
wget を使用してネクストクラウドをダウンロードします。
ダウンロードしたファイルを解凍した後、Nextcloud用の仮想ホストを作成する必要があります。
ネクストクラウドのダウンロードとインストール
1.wget を使用してネクストクラウドをダウンロードします。
Nextcloudの最新の安定版リリースは、Nextcloudのインストールページにアクセスしてください。
wget https://download.nextcloud.com/server/releases/nextcloud-24.0.1.zip
2.アーカイブを解凍します。zipファイルと同じディレクトリにフォルダが作成されます。
unzip nextcloud-24.0.1.zip
3.ディレクトリのフォルダ権限を変更します。
sudo chown -R www-data:www-data nextcloud
4.新しいディレクトリをサーバー ディレクトリに移動します。/var/www/html
sudo mv nextcloud /var/www/html
5.デフォルトのApacheランディングページを無効にします。
sudo a2dissite 000-default.conf
この時点で Apache をリロードするためのアドバイザリは無視してください。すべての設定が完了したら、後でApacheをリロードする必要があります。
ネクストクラウド用の仮想ホストファイルの作成
Nextcloudアプリケーションの仮想ホストファイルを設定する方法について説明します。
仮想ホストは、Nextcloud ドメインへのリクエストの処理方法と処理方法を Apache に指示します。
1.ディレクトリに新しいファイルを作成し、ファイルに名前を付けます
sudo nano /etc/apache2/sites-available/nextcloud.conf
2.ファイルには、次の情報が含まれている必要があります。これは、サーバーディレクトリの名前の後に続きます。属性には、代わりにドメインの実際の名前を入力します。すべての変更が完了したら、ファイルを保存します。DocumentRoot
/nextcloud
ServerName
example.com
nano /etc/apache2/sites-available/nextcloud.conf
<VirtualHost *:80>
DocumentRoot "/var/www/html/nextcloud"
ServerName example.com
<Directory "/var/www/html/nextcloud/">
Options MultiViews FollowSymlinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
TransferLog /var/log/apache2/nextcloud_access.log
ErrorLog /var/log/apache2/nextcloud_error.log
</VirtualHost>
3.サイトを有効にします。
※まだ Apache をリロードしないでください。
sudo a2ensite nextcloud.conf
sudo a2ensite nextcloud.conf
ネクストクラウドのためのPHPの最適化
1.ファイルを編集し、次の変更を行います。
場合によっては、パラメーターのコメントアウト箇所の解除をする必要があります。
パラメータのコメントを解除するには、行の先頭にある文字「#」を削除します。残りの行は変更しないでください。
sudo nano /etc/php/8.1/apache2/php.ini
max_execution_time = 360
memory_limit = 512M
post_max_size = 200M
upload_max_filesize = 200M
date.timezone = Europe/London
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.revalidate_freq=1
opcache.save_comments=1
2.いくつかの追加の Apache モジュールを有効にします。
sudo a2enmod dir env headers mime rewrite ssl
3.Apacheサーバーを再起動します。
sudo systemctl restart apache2
4.Apacheサーバーのステータスを確認し、それが静止していることを確認します。サーバーが障害状態にある場合は、サーバー・エラー・ログを調べて、ファイルに必要な変更を加えます。
sudo systemctl status apache2