Nextcloud は無料のオープンソースソフトウェアで、Dropbox、Googleドライブ、Mega.nzなどのファイルホスティングサービスを作成できます。これは、元のowncloud開発者であるFrankKarlitschekによって作成されました。 2016年、彼は Owncloudをフォークします プロジェクトを作成し、「 Nextcloud」という名前の新しいプロジェクトを作成します "。
この時までに、<strong> Nextcloud プロジェクトは急速に成長し、ファイルホスティングソフトウェア以上のものになります。多くのプラグインのサポートにより、Nextcloudはそのようなコラボレーションソフトウェアになります。プロジェクト管理、ビデオ会議、協調編集、メモ取り、電子メールクライアントなどのプラグインをインストールできます。
このガイドでは、RockyLinux8.4にNextcloudをインストールする方法を学びます。 NextcloudをLAMPスタック(Linux、Apache2 / httpd、MySQL / MariaDB、およびPHP)の下にインストールします。
- RockyLinuxサーバー。すべてのパッケージが最新バージョンに更新されていることを確認してください。
- root権限を持つユーザー。このユーザーは、sudoコマンドを使用してroot権限を取得します。
Apache /HttpdWebサーバーのインストール
最初に、ApacheまたはhttpdWebサーバーをRockyLinuxサーバーにインストールします。
1.以下のdnfコマンドを実行して、httpdWebサーバーをインストールします。
sudo dnf install httpd
「y」と入力します 」を押して「Enter」を押します "httpdパッケージを確認してインストールします。
2.インストールが完了したら、次のコマンドを使用してhttpdサービスを有効にして開始します。
sudo systemctl enable httpd
sudo systemctl start httpd
「systemctlenable "コマンドを使用すると、起動するたびにサービスを開始できます。
3.その後、以下のコマンドを実行してhttpdサービスを確認します。
sudo systemctl status httpd
そして、以下と同様の結果が得られます。
上のスクリーンショットに見られるように、httpdはアクティブで実行中です。
RockyLinuxへのPHPのインストール
今のところ、NextcloudのインストールにはPHP7.4以降が必要です。次に、remiリポジトリからPHP7.4をインストールします。
1.次のコマンドを実行して、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のリポジトリが表示されます。
2.次に、デフォルトのリポジトリモジュールPHPをリセットします。次に、remiリポジトリからPHP7.4のモジュールを有効にします。
次のコマンドを実行して、デフォルトのphpモジュールリポジトリをリセットします。
sudo dnf module reset php
その過程で、「 y」と入力します 」を押して「Enter」を押します "gpgkeyremiリポジトリを追加します。
その後、以下のコマンドを実行して、remiリポジトリからphpモジュールを有効にします。
sudo dnf module enable php:remi-7.4
「y」と入力します 確認して「Enter」を押します 「続行します。これで、PHPとWordPressインストール用のすべての拡張機能をインストールする準備が整いました。
3.次のコマンドを実行して、必要な拡張機能を備えた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
4. PHPのインストールが完了したら、構成「 php.ini」を編集します 「nanoエディターを使用しています。
nano /etc/php.ini
以下の設定でデフォルト値を変更してください。
file_uploads=オン
allow_url_fopen=オン
memory_limit=512M
upload_max_filesize =500M
post_max_size =600M
max_execution_time =300
display_errors=オフ
date.timezone=ヨーロッパ/アムステルダム
「Ctrl+ x」を押します 「」と入力し、「 Y」と入力します "構成を保存して終了します。
知っておく必要のある重要な構成:
- Nextcloudの本番環境では、「 memory_limit」が必要です 「512MB以上。
- 「upload_max_filesize 「」オプションを使用すると、Nextcloudサーバーへの最大サイズのアップロードを設定できます。
- 「post_max_size "オプションは高くする必要があります 「upload_max_filesize」より "オプション。
- 「date.timezone 「オプションはシステムの現地時間と一致する必要があります」/etc / localtime "。
- 「max_execution_time」を増やします 「サーバーの負荷によって異なります。
5.次に、作業ディレクトリを「/etc/php.d/」に変更します。 "と構成を編集します"10-opcache.ini 「nanoエディターを使用しています。
cd /etc/php.d/
nano 10-opcache.ini
次の構成を追加して、PHPopecacheプラグインを有効にします。
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」と入力します "構成を保存して終了します。
6.新しいPHP構成を適用するには、次のコマンドを使用してhttpdサービスを再起動します。
sudo systemctl restart httpd
MariaDBのインストールと構成
この段階では、mariadbデータベースサーバーをインストールし、mariadbのデプロイを保護し、Nextcloud用の新しいデータベースとユーザーを作成します。
1. mariadbデータベースサーバーをインストールするには、以下のコマンドを実行します。
sudo dnf install mariadb mariadb-server
mariadbのインストールを待ちます。
2.インストールが完了したら、次のコマンドを使用してmariadbサービスを有効にして開始します。
sudo systemctl enable mariadb
sudo systemctl start mariadb
4. mariadbがアクティブで実行されます。次のコマンドを実行して、mariadbサービスを確認します。
sudo systemctl status mariadb
mariadbサービスが実行されている場合は、以下のような出力が得られます。
5.次に、mariadbのルートパスワードを設定してmariadbのデプロイメントを保護し、いくつかのデフォルト構成を削除する必要があります。これを行うには、コマンドラインツール' mysql_secure_installationを使用できます。 '、これはデフォルトのmariadbインストールに含まれています。
「mysql_secure_installation」を実行します "以下のコマンド。
mysql_secure_installation
最初に、mariadbルートパスワードを設定するように求められます。
強力なmariadbrootパスワードを入力して繰り返し、[ Enter]を押します。 「続行します。
rootパスワードを設定すると、適切な認証なしに誰もMariaDB
rootユーザーにログインできないようになります。
rootパスワードを設定しますか? [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 netxcloud_db;
3.次のクエリを実行して、新しいデータベースユーザー「 nextuser」を作成します。 "。"strongpasswordを変更します 「強力なパスワードを使用してください。
CREATE USER [email protected] IDENTIFIED BY'StrongPassword';
4.ユーザーに「nextuser」を許可します 「nextcloud_dbにアクセスして書き込むには "次のクエリを使用します。
netxcloud_db。*のすべての特権を[メールで保護]に付与します;
5.次に、すべてのテーブル権限をリロードして、新しいデータベース構成を適用します。
FLUSH PRIVILEGES;
次に、「終了」と入力します 」を押して「Enter」を押します "mariadbシェルを終了します。
1.作業ディレクトリを「/var / www」に変更します "そして、以下のようにwgetコマンドを使用してNextcloudソースコードの最新バージョンをダウンロードします。
cd / var / www /
wget https://download.nextcloud.com/server/releases/nextcloud-22.1.0.zip
2.Nextcloudソースコード「nextcloud-xx.zip」を抽出します "そしてあなたは新しいディレクトリ"nextcloud を取得します "、次に" nextcloud の所有者を変更します "ディレクトリから"apache 「ユーザー。
unzip nextcloud-22.1.0.zip
chown -R apache:apache nextcloud
これで、Nextcloud用にhttpd仮想ホストを構成する準備が整いました。
Apache /Httpdmod_sslモジュールを有効にする
このチュートリアルでは、Nextcloudをインストールし、LetsencryptからSSLで保護します。したがって、RockyLinux上のhttpdサーバーに対してmod_sslを有効にする必要があります。
1.パッケージ「mod_ssl」をインストールします "以下のdnfコマンドを使用します。
sudo dnf install mod_ssl mod_http2
2.その後、以下のopensslコマンドを使用してローカルホストのデフォルト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
この証明書はローカルホストにのみ使用され、WordPressドメイン名には使用されないため、すべての質問に対してEnterキーを押すだけです。
3.次に、次のコマンドを実行して、 mod_sslを確認します。 httpdWebサーバーで利用できます。
apachectl -M | grep ssl
「ssl」などの出力がある場合 "の場合、mod_sslが有効になります。有効にしないと、空白の出力が返されます。
Certbotを使用したSSLLetsencryptの生成
この段階では、cerbotツールをインストールし、WordPressインストール用のSSL証明書を生成します。 webrootプラグインを使用してSSLLetsencryptsを生成します。
1.次のコマンドを実行して、SSLLetsencryptを生成するためのcertbotツールをインストールします。
sudo dnf install certbot
インストールプロセスを待ちます。
2.インストールが完了したら、次のコマンドを使用して、letsencrypt認証用の新しいディレクトリを作成します。
sudo mkdir -p /var/lib/letsencrypt/.well-known
sudo chgrp apache / var / lib / letsencrypt
sudo chmod g + s / var / lib /letsencrypt
3.次に、作業ディレクトリを「/etc/httpd/conf.d/」に変更します。 "そして新しい構成を作成します"well-known.conf 「nanoエディターを使用しています。
cd /etc/httpd/conf.d/
nano well-known.conf
次の構成を追加します。
エイリアス/.well-known/acme-challenge/"/var/lib/letsencrypt/.well-known/acme-challenge/"
AllowOverrideなし
オプションMultiViewsインデックスSymLinksIfOwnerMatchIncludesNoExec
必須メソッドGETPOSTOPTIONS
「Ctrl+ x」を押します "と入力し、" y "保存して終了します。
4.次に、次のコマンドを実行してhttpd構成を確認し、httpdサービスを再起動します。
apachectl configtest
sudo systemctl restart httpd
エラーがなければ、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.com -d
プロセスが完了すると、SSL証明書は「/etc/letsencrypt/live/files.domain.com/」で利用できるようになります。 "ディレクトリ。
このステップでは、Nextcloud用の新しいapache/httpd仮想ホスト構成を追加します。
1.作業ディレクトリを「/etc/httpd/conf.d」に変更します "そして新しい構成を作成します"nextcloud.conf 「nanoエディターを使用しています。
cd /etc/httpd/conf.d/
nano nextcloud.conf
詳細ドメイン名とSSLパスディレクトリを独自のものに変更し、構成を「 nextcloud.conf」に貼り付けます "ファイル。
ServerName files.domain.com
ServerAlias www.files.domain.com
#HTTPをHTTPSに自動リダイレクト
リダイレクト永続的/https://files.domain.com/
ServerName files.domain.com
ServerAlias www .files.domain.com
DocumentRoot / var / www / nextcloud /
プロトコルh2http/ 1.1
#wwwを非に自動リダイレクトwww
リダイレクトパーマネント/https://files.domain.com/
#ログファイル
ErrorLog /var/log/httpd/files.domain.com-error.log
CustomLog /var/log/httpd/files.domain.com- access.logの組み合わせ
SSLEngine On
SSLCertificateFile /etc/letsencrypt/live/files.domain.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/files.domain .com / 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」と入力します "構成を保存して終了します。
3.次に、次のコマンドを実行してhttpd構成を確認します。
sudo apachectl configtest
エラーが発生しない場合は、以下のコマンドを使用してhttpdサービスを再起動します。
sudo systemctl restart httpd
これで、WebブラウザからNextcloudをインストールする準備が整いました。
関連するすべてのサーバー構成が完了したら、Webブラウザーを使用してNextcloudインストールにアクセスできます。
1. Webブラウザーを開き、NextcloudインストールのURLアドレスを入力します。
http://files.domain.com
これで、安全なHTTPS接続にリダイレクトされ、次のようなページが表示されます。
- [管理者アカウントの作成]セクションで、管理者の新しいユーザー名とパスワードを入力します。
- [データフォルダ]セクションは、デフォルトのままにしておきます。
- [データベースの構成]セクションで、[MySQL / MariaDB]を選択し、データベース構成の詳細を入力します
- さらに、チェックボックスのオプションをオンにすることで、推奨アプリをインストールできます。または、必要がない場合は、チェックボックスをオフにします。
その後、[セットアップの完了]をクリックします 「ボタン。
2.インストールプロセスが完了すると、以下のようなデフォルトのNextcloudダッシュボードが表示されます。
3.メニュー[ファイル]をクリックします "と、ファイルとフォルダのユーザーダッシュボードリストが表示されます。
4.管理ページにアクセスするには、上部のユーザープロファイルをクリックし、[設定]を選択します "。
[管理]の下 "セクションでは、デフォルトのNextcloud構成を変更できます。
5.新しいプラグインまたはアプリを追加するには、上部のユーザープロファイルをクリックして、[アプリ]を選択します。 "。
これで、次のようなページが表示されます。
自分に合ったプラグインカテゴリを選択し、[ダウンロードして有効にする]ボタンをクリックします。 "。その後、[有効にする]をクリックします "アプリまたはプラグインをアクティブ化します。
以下は、NextcloudBreezeDarkテーマを有効にした後のスクリーンショットです。
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」と入力します "構成を保存して終了します。
2. Nextcloudシステムは、ユーザー/管理者の操作なしで、定期的にいくつかのバックグラウンドタスクを実行する必要があります。これを行うには、タスクスケジューラのNextcloudタスクにcronjobを使用できます。
Rocky Linuxでは、デフォルトのhttpdユーザーは「 apache」です。 "。ユーザー"apacheの新しいcronジョブを作成します 「以下のコマンドを使用してください。
crontab -u apache -e
次の構成を追加します。
* / 5 * * * * php -f /var/www/nextcloud/cron.php
構成と終了についての注意。
知っておく必要のあるcronジョブの構成:
- このcronjob構成により、ユーザー " apache "PHPスクリプトを実行するには"/var/www/nextcloud/cron.php 「5分ごと 。
cronjobの構成を確認するには、次のコマンドを実行できます。
crontab -u apache -l </ pre>構成が成功すると、出力として構成が一番上に表示されます。そうしないと、空白の結果が表示されます。
結論 おめでとうございます!これで、RockyLinux8.4にNextcloudが正常にインストールされました。 NextcloudサーバーはSSLが有効になっているLAMPスタックの下で実行されています。また、Nextcloudインストールは、PHPAPCおよびopcache拡張機能でメモリキャッシュを有効にして実行されています。
Rocky Linux