Nextcloudは、パブリックおよびプライベートファイルストレージを作成するためのオープンソースソフトウェアです。 Dropbox、Googleドライブ、Mega.nzなどのセルフホストサービスを作成できます。元々は、元のowncloud開発者であるFrankKarlitschekによって作成されました。 2016年に、彼はOwncloudプロジェクトをフォークし、「Nextcloud」という新しい名前で新しいプロジェクトを作成します
この時までに、Nextcloudプロジェクトは急速に成長し、ファイルホスティングソフトウェア以上のものになり、ファイル同期およびコンテンツコラボレーションプラットフォームのようになりました。多くのプラグインに支えられて、Nextcloudはそのような強力なコラボレーションソフトウェアになります。プロジェクト管理、ビデオ会議、協調編集、メモ取り、電子メールクライアントなどのプラグインをインストールできます。
このガイドでは、Nextcloudを最新のDebian11Bullseyeにインストールする方法を学びます。 NextcloudをLAMPスタック(Linux、Apache2 / httpd、MySQL / MariaDB、およびPHP)の下にインストールします。
- Debian11サーバー。すべてのパッケージが最新バージョンに更新されていることを確認してください。
- rootユーザーまたはroot権限を持つユーザー。このユーザーは、新しいパッケージのインストールとシステム構成の編集に使用されます。
まず、次のコマンドを実行してルート権限を取得します。
1.' sudoがある場合 'インストールされたら、以下のsudoコマンドを実行します。
sudo su
次に、ユーザーのパスワードログインを入力します。
2. sudoパッケージがない場合は、「 su」を実行します。 '以下のコマンド
su
次に、ルートを入力します パスワードを入力し、「 Enter」を押します '。
3.その後、以下のaptコマンドを使用してすべてのDebianリポジトリを更新します。
apt update
ApacheWebサーバーのインストール
Debianリポジトリを更新した後、Apache Webサーバーをインストールし、Nextcloud用にいくつかのApacheモジュールを有効にします。
1.以下のaptコマンドを実行して、apacheWebサーバーをインストールします。
apt install apache2
' yと入力します 'を押して'Enter 'インストールを続行します。
2.インストールが完了したら、次のコマンドを使用してapacheサービスを確認します。
systemctl is-enabled apache2
systemctl status apache2
出力が表示されます'有効 'は、apacheサービスがシステムの起動時に自動的に開始されることを意味します。そして、apacheサービスの現在の状態は、'アクティブ(実行中)です。 '。
3.次に、以下のa2enmodコマンドを実行して、Apacheモジュールの「ssl、rewrite、およびheaders」を有効にします。
a2enmodsslリライトヘッダー
以下は、取得する出力です。
4.その後、次のコマンドを実行してapacheサービスを再起動します。
systemctl restart apache2
新しいapacheモジュールが適用されます。以下のapachectlコマンドを使用してそれらのモジュールを確認してください。
apachectl -M | egrep "ssl | rewrite | headers"
以下のような出力が表示されます。
PHPのインストールと構成
このガイドでは、PHP8.0の最新の安定バージョンを使用してNextcloudをデプロイします。
デフォルトでは、DebianリポジトリはPHP8.0用のパッケージを提供します。ただし、Nextcloudには、サードパーティのリポジトリからインストールできる追加のPHPパッケージがいくつか必要です。そして、Debianシステムに新しいリポジトリを追加します。
1.以下のコマンドを実行して、Debianシステム用のPHPリポジトリを追加します。
echo "deb https://packages.sury.org/php/ $(lsb_release -sc)main" \
| sudo tee /etc/apt/sources.list.d/sury-php.list
' /etc/apt/trusted.gpg.dにGPGキーをダウンロードします 'ディレクトリ。
curl -o /etc/apt/trusted.gpg.d/sury-php8.gpg https://packages.sury.org/php/apt.gpg
次に、「apt update」コマンドを再度実行して、すべてのリポジトリを更新します。
apt update
2.以下のaptコマンドを使用して、Nextcloud用のPHPパッケージと追加のPHPモジュールをインストールします。
apt install -y php php-curl php-cli php-mysql php-gd php-common php-xml php-json php-intl php-pear php-imagick php-dev php-common php-mbstring php-zip php-soap php-bz2 php-bcmath php-gmp php-apcu
その後、aptコマンドを再度実行して、追加のパッケージをインストールします。
apt install -y libmagickcore-dev
' libmagickcore-dev 'パッケージは、NextcloudでのSVG画像処理のためにphp-imagickに必要です。
3.すべてのパッケージのインストールが完了したら、作業ディレクトリを' /etc/php/8.0/apache2に変更します。 'そして構成を編集します'php.ini 'nanoを使用しています。
cd /etc/php/8.0/apache2/
nano php.ini
基本的なnextcloudデプロイメントの場合、次の構成を使用してデフォルトのオプションを変更します。
file_uploads=オン
allow_url_fopen=オン
memory_limit=512M
upload_max_filesize =500M
post_max_size =600M
max_execution_time =300
display_errors=オフ
date.timezone=ヨーロッパ/アムステルダム
output_buffering=オフ
' zend_extension =opcacheのコメントを解除します 'opcache拡張機能をロードするオプション。
zend_extension =opcache
'[opcache]'セクションに移動し、次の構成を追加します。
[opcache]
...
....
.....
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と入力します '、次に' Enter '終了します。
4.次に、apacheサービスを再起動して、以下のコマンドを使用して新しい変更を適用します。
systemctl restart apache2
MariaDBのインストールと構成
この段階では、mariadbデータベースサーバーをインストールし、mariadbのデプロイを保護し、Nextcloud用の新しいデータベースとユーザーを作成します。
1. mariadbデータベースサーバーをインストールするには、以下のコマンドを実行します。
apt install mariadb-server mariadb-client
' yと入力します 'mariadbパッケージを確認してインストールします。
2.インストールが完了したら、次のコマンドを使用してmariadbサービスを確認します。
systemctl is-enabled mariadb
systemctl status mariadb
mariadbサービスはアクティブで実行されており、システムの起動時に自動的に開始できるようになっています。
3.次に、mariadbのルートパスワードを設定してmariadbのデプロイメントを保護し、いくつかのデフォルト構成を削除する必要があります。これを行うには、デフォルトのmariadbインストールに含まれているコマンドラインツール「mysql_secure_installation」を使用できます。
「mysql_secure_installation」を実行します "以下のコマンド。
mysql_secure_installation
最初に、mariadbrootパスワードを入力するように求められます。 ' Enterを押すだけです '続行します。
rootの現在のパスワードを入力してください(noneの場合は入力してください):
OK、正常に使用されたパスワード、次に進みます...
' Yと入力します ' unix_socketを有効にします 'ユーザーの認証'root '。
unix_socket認証に切り替えます[Y/n] Y
正常に有効になりました!
特権テーブルを再読み込みしています..
...成功!
強力なmariadbrootパスワードを入力して繰り返し、[ Enter]を押します。 「続行します。
ルートパスワードを変更しますか? [Y / n] Y
新しいパスワード:
新しいパスワードを再入力してください:
パスワードが正常に更新されました!
特権テーブルを再読み込みしています..
...成功しました!
ここで「Y」と入力します 」を押して「Enter」を押します "デフォルトの匿名ユーザーをmariadbサーバーから削除します。
デフォルトでは、MariaDBインストールには匿名ユーザーがあり、
ユーザーアカウントを作成しなくても誰でも
MariaDBにログインできます。
これはテストのみを目的としており、インストールを少しスムーズにすることを目的としています。
本番環境に移行する前に、それらを削除する必要があります。
匿名ユーザーを削除しますか? [Y / n] Y
...成功!
その後、デフォルトユーザーのリモートログインを無効にします' root '。 「Y」と入力します 」を押して「Enter」を押します 「続行します。
通常、rootは「localhost」からの接続のみを許可する必要があります。これにより、
誰かがネットワークからrootパスワードを推測できないようになります。
rootログインをリモートで禁止しますか? [Y / n] Y
...成功!
「Y」と入力します "もう一度デフォルトデータベースを削除します"テスト 」を押して「Enter」を押します "。
デフォルトでは、MariaDBには「test」という名前のデータベースが付属しており、誰でも
アクセスできます。これもテストのみを目的としているため、本番環境に移行する前に
削除する必要があります。
テストデータベースを削除してアクセスしますか? [Y / n] Y
-テストデータベースを削除しています...
...成功しました!
-テストデータベースの権限を削除しています...
...成功しました!
最後に、「 Y」と入力します "もう一度、すべてのテーブルの権限をリロードして、新しい構成を適用します。
特権テーブルをリロードすると、これまでに行ったすべての変更がすぐに有効になります。
特権テーブルを今すぐリロードしますか? [Y / n] Y
...成功!
これでプロセスが完了し、次の出力が表示されます。
クリーンアップ...
すべて完了です!上記のすべての手順を完了すると、MariaDBのインストールは安全になります。
MariaDBをご利用いただきありがとうございます!
1.以下のmysqlコマンドを使用してmariadbシェルにログインします。
mysql -u root -p
2.次に、次のmysqlクエリを実行して、新しいデータベース「 nextcloud_db」を作成します。 "。
CREATE DATABASE nextcloud_db;
3.次のクエリを実行して、新しいデータベースユーザー「 nextclouduser」を作成します。 "。"strongpasswordを変更します 「強力なパスワードを使用してください。
CREATE USER [email protected] IDENTIFIED BY'StrongPassword';
4.ユーザー「nextclouduser」を許可します 「nextcloud_dbにアクセスして書き込むには "次のクエリを使用します。
nextcloud_db。*のすべての特権を[メールで保護]に付与します;
5.次に、すべてのテーブル権限をリロードして、新しいデータベース構成を適用します。
FLUSH PRIVILEGES;
次に、「終了」と入力します 」を押して「Enter」を押します "mariadbシェルを終了します。
1.作業ディレクトリを「/var / www」に変更します "そして、以下のようにwgetコマンドを使用してNextcloudソースコードの最新バージョンをダウンロードします。
cd / var / www /
curl -o nextcloud.zip https://download.nextcloud.com/server/releases/nextcloud-22.1.1.zip
2.次のコマンドを使用して、解凍パッケージをインストールします。
apt install unzip
3.次に、Nextcloudソースコード「 nextcloud.zip」を抽出します "そしてあなたは新しいディレクトリ"nextcloud"を取得し、次に" nextcloud の所有者を変更します "ディレクトリから"www-data 「ユーザー。
unzip nextcloud-22.1.0.zip
chown -R www-data:www-data nextcloud
これで、SSL Letsencryptを生成し、Nextcloud用にapache仮想ホストを構成する準備が整いました。
SSLLetsencryptの生成
この段階では、certbotツールをインストールし、Nextcloudインストール用のSSL証明書を生成します。 webrootプラグインを使用してSSLLetsencryptsを生成します。
1.次のコマンドを実行して、SSLLetsencryptを生成するためのcertbotツールをインストールします。
apt install certbot
' yと入力します 'を押して'Enter 'インストールを続行します。
2.インストールが完了したら、次のコマンドを使用して、letsencrypt認証用の新しいディレクトリを作成します。
mkdir -p /var/lib/letsencrypt/.well-known
chgrp www-data / var / lib /letsencrypt
chmod g + s / var / lib /letsencrypt
3.次に、作業ディレクトリを「 / etc / apache2 / conf-available /」に変更します。 "そして新しい構成を作成します"well-known.conf 「nanoを使用しています。
cd / etc / apache2 / conf-available /
nano well-known.conf
次の構成をコピーして貼り付けます。
エイリアス/.well-known/acme-challenge/"/var/lib/letsencrypt/.well-known/acme-challenge/"
AllowOverrideなし
オプションMultiViewsインデックスSymLinksIfOwnerMatchIncludesNoExec
必須メソッドGETPOSTOPTIONS
「Ctrl+ x」を押します "と入力し、" y "と押して'Enter '構成を保存して終了します。
次に、「 well-known.conf 」のシンボリックリンクを作成して、新しい構成をアクティブにします。 'ディレクトリへのファイル'conf-enabled' ' lnを使用する '以下のコマンド。
ln -s /etc/apache2/conf-available/well-known.conf /etc/apache2/conf-enabled/
4.次に、次のコマンドを実行してapacheの構成を確認し、apacheサービスを再起動します。
apachectl configtest
systemctl restart apache2
エラーがなければ、webrootプラグインを使用してSSLLetsencryptを生成する準備ができています。
5. SSL Letsencryptを生成する前に、ドメイン名がサーバーのIPアドレスに解決されていることを確認してください。その後、以下のcertbotコマンドを実行して、webrootプラグインを使用してSSLLetsencryptを生成できます。また、メールアドレスとドメイン名を自分のものに変更してください。
sudo certbot certonly --agree-tos --email [email protected] --webroot -w /var/lib/letsencrypt/ -d files.domain-name.io
プロセスが完了すると、SSL証明書は「 /etc/letsencrypt/live/files.domain-name.io/」で利用できるようになります。 "ディレクトリ。
このステップでは、Nextcloud用の新しいapache/httpd仮想ホスト構成を追加します。
1.作業ディレクトリを「/etc / apache2 / sites-available /」に変更します "そして新しい構成を作成します"nextcloud.conf 「nanoを使用しています。
cd / etc / apache2 / sites-available /
nano nextcloud.conf
詳細ドメイン名とSSLパスディレクトリを独自のものに変更し、構成を「 nextcloud.conf」に貼り付けます "ファイル。
ServerName files.domain-name.io
ServerAlias www.files.domain-name.io
#HTTPをHTTPSに自動リダイレクト
リダイレクトパーマネント/https://files.domain-name.io/
ServerName files.domain-name .io
ServerAlias www.files.domain-name.io
DocumentRoot / var / www / nextcloud /
プロトコルh2http/ 1.1
#wwwをwww以外に自動リダイレクト
パーマネント/https://filesをリダイレクトします。 domain-name.io/
#ログファイル
ErrorLog /var/log/apache2/files.domain-name.io-error.log
CustomLog/var/log/apache2/files.domain-name.io-access.logの組み合わせ
SSLEngine On
SSLCertificateFile/etc/letsencrypt/live/files.domain-name。 io / fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/files.domain-name.io/privkey.pem
#HSTS
ヘッダーは常にStrict-Transport-Security"max-age=15552000; includeSubDomains "
オプション+FollowSymlinks
AllowOverride All
Dav off
SetEnv HOME / var / www / nextcloud
SetEnv HTTP_HOME / var / www / nextcloud
「Ctrl+x」を押します "Y"と入力します 、次に' Enterを押します '構成を保存して終了します。
2.次に、「 nextcloud.conf」をアクティブにします '次のコマンドを実行して仮想ホストを構成します。
a2ensite nextcloud.conf
3.ここで、新しいapache構成を確認し、エラーがないことを確認してから、apacheサービスを再起動します。
apachectl configtest
systemctl restart apache2
関連するすべてのサーバー構成が完了したら、Webブラウザーを使用してNextcloudインストールにアクセスできます。
1. Webブラウザーを開き、NextcloudインストールのURLアドレスを入力します。
https://files.domain-name.io
Nextcloudの最初の管理者ユーザーを作成すると、データディレクトリはユーザー' www-dataによって書き込み可能になります '。
2.ページを一番下までスクロールし、データベース名、ユーザー、およびパスワードの詳細を入力します。オプションの場合'推奨アプリのインストール '、チェックを外す インストールを高速化するためです。次に、[セットアップの完了]をクリックします 'Nextcloudをインストールするためのボタン。
3.インストールが成功すると、次のようなNextcloudダッシュボードが表示されます。
4.次に、右上のユーザーアイコンをクリックし、メニューの[設定]をクリックします。 '。 '管理で 'セクションで、'概要をクリックします '。
- [セキュリティとセットアップの警告]セクションでは、インストール環境に応じて、実行する必要のある推奨事項がいくつか表示されます。
- [バージョン]セクションに、Nextcloudインストールの現在のブランチが表示されます。
5.次に、メニューの[システム]をクリックします '管理の下部にある' 'セクション。
環境、システム負荷、ディスクスペースの状態、メモリの状態、ネットワークの状態などの詳細が表示されます。
6.前に述べたように、nextcloudは単なるファイル同期以上のものになりました。追加のアプリ/プラグインのサポートにより、コラボレーションスーツになりました。
右上のプロフィールアイコンで、メニューの[アプリ]をクリックします '、そしてあなたは以下のようにnextcloudアプリストアを見るでしょう。
インストールするアプリを選択し、[ダウンロードして有効にする]ボタンをクリックします。 '新しいアプリをインストールします。
7.以下は、Nextcloudユーザーダッシュボードのデフォルトビューです。追加のプラグインをインストールすることで、ダッシュボードの機能を拡張できます。
Nextcloud Performace Tuning
Nextcloudをインストールした後、ローカルメモリキャッシュを有効にし、Nextcloud自体のcronジョブを設定することで、Nextcloudのパフォーマンスを向上させるためのいくつかの手順を実行できます。
1.上部のPHPインストールセクションで、キャッシュ用にPHPを設定済みです。 Nextcloudでキャッシュを有効にするには、Nextcloud構成「config.php」を編集します。
作業ディレクトリを「/var / www / nextcloud / config」に変更します "と構成を編集します"config.php 「nanoエディターを使用しています。
cd / var / www / nextcloud / config /
nano config.php
'配列(..);内に次の構成を追加します '以下のブラケット
<?php
$ CONFIG =array(
....
#追加の構成
'memcache.local' =>'\ OC \ Memcache \ APCu'、
);
次に、「 Ctrl + x」を押します 「」ボタンを押して「y」と入力します "、次に' Enter '構成を保存して終了します。
2. Nextcloudシステムは、ユーザー/管理者の操作なしで、定期的にいくつかのバックグラウンドタスクを実行する必要があります。これを行うには、タスクスケジューラのNextcloudタスクにcronjobを使用できます。
Debian Linuxシステムでは、ユーザーの下で実行されているデフォルトのApacheインストールは「 www-data」です。 "。ユーザー"www-dataの新しいcronジョブを作成します 「以下のコマンドを使用してください。
crontab -u www-data -e
システムに複数のエディターがある場合は、使いやすいエディターを選択してください。このガイドでは、nanoエディターを使用します。
次の構成を追加します。
* / 5 * * * * php -f /var/www/nextcloud/cron.php
構成を保存して終了します。
知っておく必要のあるcronジョブの構成:
- このcronジョブ構成により、ユーザー " www-data "PHPスクリプトを実行するには"/var/www/nextcloud/cron.php 「5分ごと。
cronjobの構成を確認するには、次のコマンドを実行できます。
crontab -u www-data -l </ pre>構成が成功すると、出力として構成が一番上に表示されます。そうしないと、空白の結果が表示されます。
結論 おめでとうございます!これで、Debian11BullseyeにNextcloudが正常にインストールされました。 NextcloudサーバーはSSLが有効になっているLAMPスタックの下で実行されています。また、Nextcloudインストールは、PHPAPCおよびopcache拡張機能でメモリキャッシュを有効にして実行されています。
Debian