tencent cloud

Cloud Object Storage

最新情報とお知らせ
製品アップデート情報
製品のお知らせ
製品概要
製品概要
機能概要
応用シナリオ
製品の優位性
基本概念
リージョンとアクセスドメイン名
仕様と制限
製品の課金
課金概要
課金方式
課金項目
無料利用枠
記帳例
請求書の確認とダウンロード
お支払い遅れについて
よくある質問
クイックスタート
コンソールクイックスタート
COSBrowserクイックスタート
ユーザーガイド
リクエストの作成
バケット
オブジェクト
データ管理
バッチ処理
グローバルアクセラレーション
監視とアラーム
運用管理センター
データ処理
インテリジェントツールボックス使用ガイド
データワークフロー
アプリ統合
ツールガイド
ツール概要
環境のインストールと設定
COSBrowserツール
COSCLIツール
COSCMDツール
COS Migrationツール
FTP Serverツール
Hadoopツール
COSDistCpツール
HDFS TO COSツール
オンラインツール (Onrain Tsūru)
セルフ診断ツール
実践チュートリアル
概要
アクセス制御と権限管理
パフォーマンスの最適化
AWS S3 SDKを使用したCOSアクセス
データディザスタリカバリバックアップ
ドメイン名管理の実践
画像処理の実践
COSオーディオビデオプレーヤーの実践
データセキュリティ
データ検証
COSコスト最適化ソリューション
サードパーティアプリケーションでのCOSの使用
移行ガイド
サードパーティクラウドストレージのデータをCOSへ移行
データレークストレージ
クラウドネイティブデータレイク
メタデータアクセラレーション
データアクセラレーター GooseFS
データ処理
データ処理概要
画像処理
メディア処理
コンテンツ審査
ファイル処理
ドキュメントプレビュー
トラブルシューティング
RequestId取得の操作ガイド
パブリックネットワーク経由でのCOSへのファイルアップロード速度の遅さ
COSへのアクセス時に403エラーコードが返される
リソースアクセス異常
POST Objectの一般的な異常
セキュリティとコンプライアンス
データ災害復帰
データセキュリティ
クラウドアクセスマネジメント
よくある質問
よくあるご質問
一般的な問題
従量課金に関するご質問
ドメインコンプライアンスに関するご質問
バケット設定に関する質問
ドメイン名とCDNに関するご質問
ファイル操作に関するご質問
権限管理に関するご質問
データ処理に関するご質問
データセキュリティに関するご質問
署名付きURLに関するご質問
SDKクラスに関するご質問
ツール類に関するご質問
APIクラスに関するご質問
Agreements
Service Level Agreement
プライバシーポリシー
データ処理とセキュリティ契約
連絡先
用語集

NextCloud + COSを使用した個人オンラインストレージの構築

PDF
フォーカスモード
フォントサイズ
最終更新日: 2024-11-20 15:51:40

まえがき

NextCloudはオンラインストレージの作成に用いられるオープンソースクライアントおよびサーバーソフトウェアです。このソフトウェアを利用することで、誰でも個人のオンラインストレージサービスを構築することができます。
NextCloudのサーバーはPHPで作成し、基盤ストレージはデフォルトでサーバーのローカルディスクに保存されます。NextCloudの構成を変更することで、Tencent Cloud Object Storage(COS)を基盤ストレージとして使用することができ、COSのより安価なストレージコスト、より高い信頼性と障害復旧機能、ならびに無限のストレージスペースを利用することが可能になります。
ここではNextCloudのサーバーが依存する環境についてご説明するとともに、ローカルストレージとCOSの違いについて分析比較し、最後に個人オンラインストレージ構築の実践について解説します。
注意:
既存のNextCloudサーバーインスタンスをローカルストレージからTencent Cloud COSの使用に切り替えると、既存のファイルが見えなくなる可能性があります。既存のインスタンスのストレージ方式を変更したい場合は、このチュートリアルに従って新しいNextCloudサーバーを構築し、Tencent Cloud COSを使用するよう設定した後、古いインスタンスのデータを新しいインスタンスに移行することをお勧めします。

NextCloudサーバー環境の概要

NextCloudサーバーはPHPで作成し、データベースはSQLite、MySQL、MariaDB、PostgreSQLを使用できます。このうちSQLiteはパフォーマンス上の制限があるため、通常実際のユースケースで使用することはお勧めしません。PHP、MySQLおよび関連のサーバーソフトウェアにはすべてWindows版がありますが、NextCloudコミュニティからのフィードバックによると、WindowsでNextCloudサーバーを実行すると文字コードなどの問題が生じることがあるため、公式はWindowsでのNextCloudサーバーのデプロイをサポートしていないとアナウンスしています。

サーバーの設定

Tencent Cloud Virtual Machine(CVM)には現在複数のインスタンスファミリーがあり、各インスタンスファミリーはそれぞれ複数のサブタイプに分かれています。インスタンスファミリーごとに特化する点(例えば大容量メモリや高IOなど)が異なります。NextCloudの位置づけは個人、家庭、中小企業ユーザー向けであり、各ハードウェアリソースへの要件はどれも高くないため、各リソースのバランスの取れた標準型を選択することでニーズに対応できます。通常、最新のサブタイプはよりコストパフォーマンスが高いため、一般的には最新のサブタイプを選択するとよいでしょう。
インスタンスファミリーとサブタイプを決定した後、具体的なvCPUとメモリ仕様も選択する必要があります。vCPUとメモリ仕様ごとに、対応するプライベートネットワーク帯域幅とネットワーク送受信パケットが異なります。PHPはOPcacheによってパフォーマンスを向上させることができ、NextCloudサーバーもAPCuメモリキャッシュの使用によるパフォーマンス向上をサポートしています。このため、仕様を選択する際は容量が大きめのメモリを選択することをお勧めします。
CVMは購入後に構成の調整が可能なため、例えばvCPU1コアとメモリ4GBなどの比較的低構成の仕様をまず購入し、構築完了後に実際にオンラインで使用する際に、ユーザー数、ファイル数、CVMの関連モニタリングデータなどに基づいて、パフォーマンス向上のための仕様アップグレードが必要かどうかを判断することができます。例えばご家庭または中小企業などの複数ユーザーによる使用を想定している場合は、複数ユーザーでの使用に足る十分なパフォーマンスを提供するため、2コア8GBから4コア16GBの構成の購入をお勧めします。

サーバーOS

主要なLinuxディストリビューションであれば、どれもNextCloudサーバーを問題なく実行できます。ソフトウェアパッケージインストールをする際に使用するコマンド(パッケージ管理ツール)がシステムによって異なる点を除き、設定作業に違いはありません。
説明:
ここではCentOS OS 7.7のCVMを例として説明します。

データベース

上記で述べたとおり、実際のユースケースでは通常MySQLとPHPをセットで使用します。MariaDBはMySQLの「復刻」版であり、MySQLとの間で高度な互換性を有します。このためMySQL 5.7+またはMariaDB 10.2+はどちらも問題なくNextCloudサーバーと組み合わせて使用することができます。
Tencent CloudがホストするTencentDB for MySQLとTencentDB for MariaDBは、CVM上の自作データベースと異なり、デフォルトで1マスター1スレーブの高可用性モードを採用し、より高い信頼性を有するほか、自動バックアップなどの便利な運用保守操作をご提供します。このため、実際のユースケースではこちらのクラウドデータベースのご使用を強く推奨します。
説明:
ここではTencentDB for MySQL 5.7を例として説明します。

WebサーバーとPHPランタイム

NextCloudサーバーは.htaccessによって一部の設定を指定するため、Apacheサーバーソフトウェアを使用する際、NextCloudサーバー自体の設定項目をそのまま使用することができます。Nginxは近年急成長中のWebサーバーソフトウェアであり、Apacheに比べてインストール設定が簡単、リソース占有が少ない、ロードバランシング機能がより強力であるなどのメリットがあります。NextCloudサーバー内の.htaccess設定をNginxの設定として移行しても、NextCloudサーバーの実行は問題なくサポートされます。ここではNginxサーバーソフトウェアを使用するとともに、完全なNginx設定の例を参考までに示します。
PHPランタイムは現在PHP 7にバージョンアップしています。保守されている主なバージョンは7.2、7.3、7.4であり、この3バージョンはすべてNextCloudサーバーをサポートしています。最新の7.4の使用をお勧めします。また、NextCloudはPHPの一部拡張モジュールにも依存しています。続いて拡張モジュール要件の詳細についてご説明します。

Tencent Cloudネットワーク環境

Tencent Cloudでは現在、基幹ネットワークとVirtual Private Cloud(VPC)環境をご提供しています。基幹ネットワークとはTencent Cloud上のすべてのユーザーのための公共のネットワークリソースプールです。すべてのCVMのプライベートIPアドレスはTencent Cloudが一元的に割り当てており、ネットワークセグメントの区分、IPアドレスのカスタマイズは行えません。VPCとは、ユーザーがTencent Cloud上に構築した、論理的に隔離されているネットワークスペースです。VPC内では、ユーザーはネットワークセグメントの区分、IPアドレスおよびルーティングポリシーを自由に定義できます。現在基幹ネットワークは、リソース不足かつ機能の拡張ができないなどの理由により、新規登録アカウントおよび一部の新規アベイラビリティーゾーンでは今後サポートを行わないことになっています。このため、これ以降の説明はVPCを例として行います。
説明:
VPCに関するより詳しい説明については、Virtual Private Cloud製品概要をご参照ください。

CBSとCOSの比較

CVMでは、Cloud Block Storage(CBS)をCVM内のローカルディスクの形式でOSにマウントします。NextCloudはデフォルトでファイルシステムを使用してオンラインストレージのデータを保存するため、NextCloudのデータはそのままOS内のCBSに保存することができます。CBSと比較した、COSを使用する上でのメリットについて、次のいくつかの点から解説します。

ユースケース

CBS

CBSはブロックストレージの一種であり、CVMのOSに直接マウントしてハードディスクとして使用することができます。通常はOSによって専有されるため、1台のCVMにしかマウントできませんが、読み取り書き込みパフォーマンスが高いため、高IO、低遅延かつ他のCVMとの共有が必要ないケースに適しています。

COS

COSはHTTPプロトコルによって外部に提供される読み取り書き込みインターフェースであり、プログラミング方式でCOSのストレージオブジェクト(ファイル)にアクセスする必要があります。COSはオブジェクトキー(Key、ファイルパスであると理解できます)をインデックスとして使用するもので、ストレージ容量の制限がありません。ネットワーク伝送を使用するため、速度と遅延は比較的大きくなりますが、操作がオブジェクトレベルのため、1つのソフトウェアで1つのオブジェクトの操作を行った後、別のソフトウェアですぐに同じオブジェクトの操作を行えることから、パフォーマンスに対する要件が厳しくなく、低コストで大容量のストレージが必要な場合、または共有アクセスが必要なケースに適しています。オンラインストレージの使用自体はネットワーク伝送を通じて行われるため、遅延に対する要件は厳しくなく、かつオンラインストレージクライアントからオンラインストレージサーバーを経由してCOSに至るリンクにおいて、速度と遅延に影響する要因は主にクライアントのネットワーク環境にあり、COS自体の速度制限ではないことから、COSの方がよりオンラインストレージとの併用に適していると言えます。

メンテナンス

CBS

CBSは容量が固定であり、コンソールまたはTencent Cloud APIによるスケーリングが必要です。スケーリング後はOSでパーティションの拡張も行わなければならず、かつパーティションの拡張時にパーティションエラーが発生するリスクも一定程度あり、ある程度のメンテナンスコストがかかります。

COS

COSは必要に応じて使用でき、総容量の制限がなく、オブジェクト数(ファイル数)の制限もありません。完全メンテナンスフリーです。

データセキュリティ

CBSとCOSはどちらもマルチレプリカなどの手段を使用してデータの信頼性を保証しています。

NextCloudサーバー実行環境の構築

NextCloudサーバーが依存するクラウド製品の準備

CVM

スタート操作については、Cloud Virtual Machine(CVM)クイックスタートをご参照ください。

TencentDB for MySQL

スタート操作については、TencentDB for MySQLクイックスタートをご参照ください。

COS

1. COSコンソールを開いてログインし(初回使用前にCOSサービスをアクティブ化する必要があります)、バケットリストに進み、バケットの作成をクリックし、下表の説明に従って設定します。
設定項目
名前
カスタマイズしたバケット名(例:nextcloud)を入力します。この名前は決定すると変更できませんのでご注意ください
所属リージョン
購入したCVMの所属リージョンと同じものにします
その他
デフォルトを維持します
2. 上記の設定完了後、OKをクリックして作成を完了します。

WebサーバーおよびPHPランタイムのインストールと設定

Nginxのインストール

1. SSHツールを使用して新規購入サーバーにログインします。
2. 次のコマンドを実行してNginxをインストールします。
yum install nginx
次のメッセージが表示された場合は、Yを入力してエンターを押し、インストールを確認します(以下同様)。
Is this ok [y/d/N]:
3. 次のメッセージが表示された場合、インストールは完了しています。
Complete!
[root@VM-0-10-centos ~]#
4. 続いて次のコマンドを実行し、Nginxのバージョンが正常に表示されるかどうかを検証します。
nginx -v
次のメッセージが表示された場合、インストールの完了が検証されました。
nginx version: nginx/1.16.1

PHPのインストール

1. SSHツールを使用して新規購入サーバーにログインします。
2. 次のコマンドを実行し、PHP 7.4のインストールを開始します。
yum install epel-release yum-utils
3. 次のコマンドを順に実行します。 コマンド1:
yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
説明:
上記のコマンドの実行時に、速度が遅すぎる、長時間進捗しないなどの問題があった場合は、Ctrl-Cでキャンセルし、再度このコマンドを実行することができます(以下同様)。
コマンド2:
yum-config-manager --enable remi-php74
コマンド3:
yum install php php-fpm
4. インストールの完了後に次のコマンドを実行し、PHPのバージョンが正常に表示されるかどうかを検証します。
php -v
次のメッセージが表示された場合、インストールの完了が検証されました。
PHP 7.4.8 (cli) (built: Jul 9 2020 08:57:23) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies

PHPモジュールのインストール

基本のPHP以外に、NextCloudは他のPHPモジュールにも依存して一部の機能を実装しています。NextCloudの依存するモジュールについての詳細情報は、NextCloud公式ドキュメントをご参照ください。
このチュートリアルではNextCloudに必須のPHPモジュールをインストールします。その後、NextCloudのその他のオプション機能を使用するご予定がある場合は、ご注意の上、依存する他のPHPモジュールをご自身でインストールしてください。
1. SSHツールを使用して新規購入サーバーにログインします。
2. 次のコマンドを実行し、PHPモジュールをインストールします。
yum install php-xml php-gd php-mbstring php-mysqlnd php-intl php-zip
3. インストールの完了後、次のコマンドを実行して、インストール済みのPHPモジュールを表示します。
php -m
4. 他のモジュールもインストールする必要がある場合は、yum install <php-module-name>を繰り返し実行します。

NextCloudサーバーコードのアップロードと解凍

1. NextCloud公式サイトからNextCloudサーバーの最新版のインストールパッケージをダウンロードし、サーバーの/var/www/ディレクトリ下にアップロードします。アップロードは以下の方法で行うことができます。
1. wgetコマンドを使用して、インストールパッケージのダウンロードとサーバーへのアップロードを直接行います。例えば/var/www/ディレクトリに進んだ後、コマンドwget https://download.nextcloud.com/server/releases/nextcloud-19.0.1.zipを実行します。
2. ローカルコンピュータにダウンロードした後、SFTPまたはSCPなどのソフトウェアによって、インストールパッケージを/var/www/ディレクトリにアップロードします。
3. ローカルコンピュータにダウンロードした後、lrzszを使用してアップロードします。方法は次のとおりです。
3.1 SSHツールを使用して新規購入サーバーにログインします。
3.2 yum install lrzszを実行してlrzszをインストールします。
3.3 cd /var/www/を実行して目的のディレクトリに進みます。
3.4 rz -byeを実行し、続いてSSHツールから、ローカルにダウンロードするNextCloudサーバーインストールパッケージを選択します(この操作はSSHツールによって多少異なります)。
4. SSHツールを使用して新規購入サーバーにログインします。
5. unzip nextcloud-<version>.zipを実行してインストールパッケージを解凍します。例えばunzip nextcloud-19.0.1.zipなどとします。

PHPの設定

1. SSHツールを使用して新規購入サーバーにログインします。
2. vim /etc/php-fpm.d/www.confを実行してPHP-FPMの設定ファイルを開き、設定項目を順に変更します(vimの具体的な使用方法については関連資料をご参照ください。この設定ファイルの変更は他の方法でも行うことができます)。
1. user = apacheuser = nginxに変更します。
2. group = apachegroup = nginxに変更します。
3. 変更完了後、:wqを入力してファイルを保存して終了します(vimの詳細な操作ガイドについては関連ドキュメントをご参照ください)。
4. 次のコマンドを実行してディレクトリ所有者を変更し、PHPをNginxで使用できるようにします。
chown -R nginx:nginx /var/lib/php
5. 次のコマンドを順に実行し、PHP-FPMサービスを起動します。 コマンド1:
systemctl enable php-fpm # コマンド1
コマンド2:
systemctl start php-fpm # コマンド2

Nginxの設定

1. SSHツールを使用して新規購入サーバーにログインします。
2. 次のコマンドを実行し、ウェブサイトのディレクトリ所有者を変更します。
chown -R nginx:nginx /var/www
3. 現在のNginx設定ファイル/etc/nginx/nginx.confをバックアップします。次の方法で行うことができます。
1. cp /etc/nginx/nginx.conf ~/nginx.conf.bakを実行し、現在の設定ファイルをホーム(HOME)ディレクトリにバックアップします。
2. SFTPまたはSCPなどのソフトウェアを使用して、現在の設定ファイルをローカルコンピュータにダウンロードします。
3. /etc/nginx/nginx.confを変更するか、または次の内容に置き換えます。
# For more information on configuration, see:
# * Official English Documentation: http://nginx.org/en/docs/

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;

events {
worker_connections 1024;
}

http {
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';

access_log /var/log/nginx/access.log main;

sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;

include /etc/nginx/mime.types;
default_type application/octet-stream;

# Load modular configuration files from the /etc/nginx/conf.d directory.
# See http://nginx.org/en/docs/ngx_core_module.html#include
# for more information.
include /etc/nginx/conf.d/*.conf;

server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
root /var/www/nextcloud;

add_header Referrer-Policy "no-referrer" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-Download-Options "noopen" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Permitted-Cross-Domain-Policies "none" always;
add_header X-Robots-Tag "none" always;
add_header X-XSS-Protection "1; mode=block" always;

client_max_body_size 512M;
fastcgi_buffers 64 4K;

gzip on;
gzip_vary on;
gzip_comp_level 4;
gzip_min_length 256;
gzip_proxied expired no-cache no-store private no_last_modified no_etag auth;
gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy;

# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;

location / {
try_files $uri $uri/ =404;
index index.php;
}

location ~ ^\\/(?:build|tests|config|lib|3rdparty|templates|data)\\/ {
deny all;
}
location ~ ^\\/(?:\\.|autotest|occ|issue|indie|db_|console) {
deny all;
}

location ~ ^\\/(?:index|remote|public|cron|core\\/ajax\\/update|status|ocs\\/v[12]|updater\\/.+|oc[ms]-provider\\/.+)\\.php(?:$|\\/) {
fastcgi_split_path_info ^(.+?\\.php)(\\/.*|)$;
set $path_info $fastcgi_path_info;
try_files $fastcgi_script_name =404;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $path_info;
fastcgi_param modHeadersAvailable true;
fastcgi_pass 127.0.0.1:9000;
fastcgi_intercept_errors on;
fastcgi_request_buffering off;
}

location ~ ^\\/(?:updater|oc[ms]-provider)(?:$|\\/) {
try_files $uri/ =404;
index index.php;
}

location ~ \\.(css|js|svg|gif)$ {
add_header Cache-Control "max-age=15778463";
}

location ~ \\.woff2?$ {
add_header Cache-Control "max-age=604800";
}
}

# Settings for a TLS enabled server.
#
# server {
# listen 443 ssl http2 default_server;
# listen [::]:443 ssl http2 default_server;
# server_name _;
# root /usr/share/nginx/html;
#
# ssl_certificate "/etc/pki/nginx/server.crt";
# ssl_certificate_key "/etc/pki/nginx/private/server.key";
# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 10m;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
#
# # Load configuration files for the default server block.
# include /etc/nginx/default.d/*.conf;
#
# location / {
# }
#
# error_page 404 /404.html;
# location = /40x.html {
# }
#
# error_page 500 502 503 504 /50x.html;
# location = /50x.html {
# }
# }

}
4. 次のコマンドを順に実行し、Nginxサービスを起動します。 コマンド1:
systemctl enable nginx
コマンド2:
systemctl start nginx

NextCloudサーバーでのCOS使用設定

COS関連情報の取得

1. COSコンソールにログインします。
2. 作成済みのバケットを見つけ、バケット名をクリックします。


3. 左側ナビゲーションバーで概要タブを選択し、基本情報バケット名所属リージョンの中の英語部分をメモします。



APIキーの取得

サブアカウントキーを使用し、最小権限ガイドに従うことで、使用上のリスクを低減させることをお勧めします。サブアカウントキーの取得については、サブアカウントのアクセスキー管理をご参照ください。

NextCloudサーバー設定ファイルの変更

1. テキスト編集ツールを使用してconfig.phpを作成し、次の内容を入力して、メモの内容に基づいて関連の値を変更します。
<?php
$CONFIG = array(
'objectstore' => array(
'class' => '\\\\OC\\\\Files\\\\ObjectStore\\\\S3',
'arguments' => array(
'bucket' => 'nextcloud-1250000000', // バケット名(スペース名)
'autocreate' => false,
'key' => 'AKIDxxxxxxxx', // ユーザーのSecretIdに置き換えます
'secret' => 'xxxxxxxxxxxx', // ユーザーのSecretKeyに置き換えます
'hostname' => 'cos.<Region>.myqcloud.com', // <Region>を所属リージョンに変更します(ap-shanghaiなど)
'use_ssl' => true,
),
),
);
下図に示すように:

2. このファイルを保存し、/var/www/nextcloud/config/ディレクトリ下にアップロードします(ファイル名はconfig.phpのままにしておきます)。SFTPまたはSCPソフトウェアでファイルをアップロードするか、またはrz -byeコマンドによってアップロードすることができます。 3. 次のコマンドを実行し、設定ファイルの所有者を変更します。
chown nginx:nginx /var/www/nextcloud/config/config.php

ドメイン名の設定

ご自身のNextCloudサーバーにアクセスするのに、IPアドレスではなくご自身のドメイン名の使用を予定している場合は、各ドメイン名登録プロバイダの説明ドキュメントをご参照の上、新しいドメイン名を登録してCVMのIPアドレスに解決し、ICP登録を完了してください。
NextCloudサーバーはインストールの過程で、インストール時に使用したドメイン名またはIPアドレスを記録するため、インストールの開始前にドメイン名の登録、解決、ICP登録を完了しておくとともに、ドメイン名を使用してNextCloudサーバーのセキュリティ画面にアクセスすることをお勧めします。
NextCloudサーバーの完成後にドメイン名またはIPアドレスを変更したい場合は、ご自身で/var/www/nextcloud/config/config.php設定ファイル内のtrusted_domainsを変更することができます。詳細については、NextCloud公式ドキュメントをご参照ください。

NextCloudサーバーのインストール

1. ブラウザを使用してNextCloudサーバーにアクセスし、管理者ユーザー名とパスワードを作成して忘れないように記憶しておきます。
2. ストレージとデータベースを開き、下表の説明に従って設定します。
設定項目
データディレクトリ
/var/www/nextcloud/data(デフォルトを維持)
データベース設定
MySQL/MariaDB
データベースユーザー
root
データベースパスワード
TencentDB for MySQLを初期化した際に入力したrootパスワード
データベース名
nextcloud(またはその他の使用されていないデータベース名)
データベースホスト(デフォルトではlocalhostと表示)
TencentDB for MySQLのプライベートネットワークアドレス
3. **インストール完了**をクリックし、NextCloudサーバーのインストールが完了するまで待ちます。4. インストール中に504 Gateway Timeoutなどのエラーメッセージが表示された場合は、そのまま更新してリトライします。5. インストール完了後、管理者アカウントを使用してNextCloudサーバーにログインすると、Web版NextCloudの使用を開始できます。

NextCloudサーバーのチューニング

バックエンドタスク

NextCloudサーバーは、ユーザーとのインタラクションが必要ないときに、一部のバックエンドタスク(例えばデータベースのクリーンアップ操作など)を実行しなければならない場合があります。PHPには、PHPベースのプログラムが内部で独立した作業プロセスまたはスレッドを維持できないように制限する実行特性があるため、 バックエンドタスクのようなケースでは、対応するPHPプログラムを外部から能動的に呼び出して実行する必要があります。
NextCloudサーバーは3種類のバックエンドタスクの呼び出しメソッドを提供しています。デフォルトは、ウェブページ側のログインユーザーに、ブラウザからAJAXリクエストを自動送信してサーバーのバックエンドタスクを実行するようリマインドする方法です。このメソッドはユーザーのログイン状態に強く依存し、ユーザーがログインしていないとこれらのバックエンドタスクが実行できないため、信頼性が最も低くなっています。
AJAXをベースにしたバックエンドタスクの低信頼性の問題を回避するためには、Linuxのcronを使用してバックエンドタスクを設定する方法を推奨します。Linuxのcronはタスクがリマインドされる時間を正確に制御でき、例えば5分ごと(分数は5の整数倍)や毎時10分などとすることができます。定義できる時間粒度には分、時間、1か月のうちの特定の日、月、特定の曜日などがあり、一部のOSでは秒と年もサポートされているため、高い柔軟性を有します。cronと関連説明および設定については、関連の資料をご参照ください。
cronを設定してNextCloudサーバーのバックエンドタスクを行えるようにする方法について、以下でご説明します。
1. SSHツールを使用して新規購入サーバーにログインします。
2. 次のコマンドを実行し、PHPモジュールをインストールします。
yum install php-posix
3. 次のコマンドを実行し、Nginxアカウントで使用するcronの設定を開くか、または作成します。
crontab -u nginx -e
4. 続いての編集画面はvi/vimです。iキーを押して編集モードに入り、次の内容の1行を挿入します。
*/5 * * * * php -f /var/www/nextcloud/cron.php
その後、ESCを押して編集モードを終了し、:wqを入力して保存し、終了します(vi/vimの詳細な操作ガイドについては関連ドキュメントをご参照ください)。 上記の設定ではNextCloud公式が推奨する5分に1回の実行を使用しています(分数は5の整数倍)。5分後にバックエンドタスクの実行が完了すると、ブラウザを開いてNextCloudサーバーにログインできるようになります。右上隅にあるユーザー名のイニシャルのアイコンをクリックし、設定に進み、左側メニューから基本設定に進むと、バックエンドタスクのところにデフォルトでCronが選択されていることを確認できます。

メモリキャッシュ

PHPはOPcacheによってパフォーマンスを向上させることができ、NextCloudサーバーもAPCuメモリキャッシュの使用によるパフォーマンス向上をサポートしています。関連の操作フローを以下でご説明します。
1. SSHツールを使用して新規購入サーバーにログインします。
2. 次のコマンドを実行し、PHPモジュールをインストールします。
yum install php-pecl-apcu
3. 次のコマンドを順に実行し、Nginx とPHP-FPMを再起動します。 コマンド1:
systemctl restart nginx
コマンド2:
systemctl restart php-fpm
4. vim /var/www/nextcloud/config/config.phpを実行し、NextCloudサーバーの設定ファイルを開き、$CONFIG = array ( の中に'memcache.local' => '\\OC\\Memcache\\APCu',という1行を追加します。その後ファイルを保存して終了します。


5. cronを設定してバックエンドタスクを最適化した場合は、PHPのapc設定も変更する必要があります。vim /etc/php.d/40-apcu.iniを実行し、PHP APCuの設定ファイルを開き、;apc.enable_cli=0apc.enable_cli=1に変更し(同時に前のセミコロンを削除する必要があることにご注意ください)、保存して終了します。パス/etc/php.d/40-apcu.iniが存在しない場合は、apcまたはapcuの文字がある.ini設定ファイルをご自身で/etc/php.d/ディレクトリから見つけて編集してください。



クライアントアクセス設定

NextCloud公式はデスクトップ同期クライアントとモバイルクライアントを提供しており、NextCloud公式サイトまたは各大手アプリストアからダウンロードできます。NextCloudを設定する際には、NextCloudのサーバーアドレス(ドメイン名またはIP)を入力し、その後ご自身のユーザー名とパスワードを入力してログインすると、クライアントの使用を開始できます。

ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック