Ubuntu 22.04に Nextcloud をインストールする方法

概要

クラウドストレージサーバー NextCloud をインストールを解説します。

最新の状態にする

apt-get update
apt-get upgrade

必要なパッケージのインストール/設定

パッケージのインストール

sudo apt -y install php php8.1-fpm php-pear php-mbstring php-intl php-gd php-zip php-mysql php-bcmath php-gmp php-opcache php-imagick php-curl php-apcu wget unzip libmagickcore-6.q16-6-extra

PHPの設定

Nextcloudにアップロード出来るファイルのサイズを設定します。

vi /etc/php/8.1/cli/php.ini


メモリ使用量の上限、最大ファイルサイズは環境により適宜設定してください

;メモリ使用量の上限
memory_limit = -1
 
;POSTデータの最大サイズ ※合計サイズ
post_max_size = 100M
 
;1ファイルあたりの最大アップロードサイズ
upload_max_filesize = 100M

apache をリスタートします。

systemctl restart apache2

MySQLの設定

データベースの設定をしていきます。

Nextcloud で使用するデータベースをMySQLに事前に作成します。
ここでは、以下の値を設定します。

データベース名 : nextcloud
ユーザ名 : nextcloud
パスワード : password

$ mysql -u root -h localhost
 
mysql> CREATE DATABASE nextcloud;
Query OK, 1 row affected (0.00 sec)
 
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
 
mysql> USE mysql;
Database changed
 
mysql> ALTER USER 'nextcloud '@'localhost' IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.06 sec)
 
mysql> exit
Bye

一度再起動します。

reboot

SSL/TLSの設定

SSL/TLS サーバー証明書をお持ちの方は設定してください。

SSLストア とかでも安く買えるので興味があるかたはどうぞ。

SSLの設定

vi /etc/apache2/sites-available/default-ssl.conf
# 3行目:管理者アドレス変更
ServerAdmin webmaster@srv.world
 
# 32,33行目:[1] で取得した証明書に変更
SSLCertificateFile      /etc/letsencrypt/live/www.srv.world/cert.crt
SSLCertificateKeyFile   /etc/letsencrypt/live/www.srv.world/privkey.key
 
# 42行目:コメント解除して [1] で取得したチェインファイルに変更
SSLCertificateChainFile /etc/letsencrypt/live/www.srv.world/chain.crt
a2enmod ssl
systemctl reload apache2

HTTPS へリダイレクト

HTTP リクエストも全て HTTPS へリダイレクトして Always on SSL とする場合はホスト定義にリダイレクトの設定を追記します。

vi /etc/apache2/sites-available/000-default.conf

<VirtualHost *:80>内に下記の3行を追記

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
<VirtualHost *:80>
    DocumentRoot /var/www/virtual.host
    ServerName www.virtual.host
    ServerAdmin webmaster@virtual.host
    ErrorLog /var/log/apache2/virtual.host.error.log
    CustomLog /var/log/apache2/virtual.host.access.log combined
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</VirtualHost>
a2enmod rewrite
systemctl restart apache2

NextCloudのインストール

最新の Nextcloud は、https://nextcloud.com/install/#instructions-server よりダウンロードします。
ダウンロードしたファイルを展開して、Apache のドキュメントルートに 展開した Nextcloud を置き、ディレクトリのオーナーとグループをApache(www-data)に変更します。

wget https://download.nextcloud.com/server/releases/latest.zip
unzip latest.zip -d /var/www/html/
sudo mv nextcloud /var/www/
sudo chown -R www-data:www-data /var/www/html/nextcloud/

WebブラウザでセットアップしたサーバにアクセスするとNextcloudの設定画面が現れます。

https://サーバのIPアドレス or ホスト名/nextcloud/

下記の画面が表示されたらインストールは成功です。

NextCloudの初期設定

下記の情報を画面に入力します。

ユーザ名 : 任意
パスワード : 任意
データフォルダー : /var/www/html/nextcloud/
データベースのユーザ名 : nextcloud 
データベースのパスワード : password
データベース名 : nextcloud
データベースのホスト名: localhost (デフォルト)

入力が完了したら「セットアップを完了します」を押下します。

下記の画面が表示されたらインストール完了です。