GNU/Linux >> Linux の 問題 >  >> Fedora

Fedora34にプライベートNextcloudサーバーをインストールする方法

Nextcloudは、複数のデバイス間でファイルとデータを保存および同期するためのアプリケーションのソフトウェアスイートです。これは、ドキュメントの共有とコラボレーション、カレンダーの管理、メールの送受信を行うための完全なオンプレミスソリューションです。

Nextcloudは、通信を容易にしながら、データの制御と保護を提供します。自宅やオフィスのセットアップで接続された複数のデバイス間でFTPドライブ上の既存のデータにアクセス、同期、および共有できるため、生産性が向上します。さらに、データのプライバシーは重要であり、プライベートNextcloudサーバーを実行することは始めるための優れた方法です。

Fedora34へのプライベートNextcloudサーバーのインストール

このチュートリアルでは、Fedora34ベースのサーバーにプライベートNextcloudサーバーをインストールする方法を示します。前提条件として、Apache Webサーバー、PHP 7.4、およびMariaDBサーバーとクライアントをインストールします。

ステップ1.前提条件

最初のステップは、次の前提条件を満たすことです。

  • Fedoraを実行しているサーバー。 (デモにはFedora Workstation 34を使用します)
  • root以外のsudoユーザー。
  • パッケージを更新します。
sudo dnf update
  • 必須のパッケージと依存関係。
    システムにこれらのパッケージの一部がすでにインストールされている可能性があります。

    dnf install wget curl bzip2 nano unzip policycoreutils-python-utils -y

注:いくつかの前提条件とパッケージがすでに構成されている場合は、それらの手順をスキップできます。

Fedoraでのファイアウォールの設定

最初のステップは、コマンドラインを使用してFirewalldからファイアウォールを構成することです。 FirewalldはFedoraサーバーにプリインストールされていることに注意してください。

ファイアウォールのステータスをチェックして、ファイアウォールが実行されていることを確認します。

sudo firewall-cmd --state
running

次のステップは、HTTPポートとHTTPSポートを許可することです。

許可されているサービスとポートを確認します:

sudo firewall-cmd --permanent --list-services
dhcpv6-client mdns samba-client ssh

HTTPおよびHTTPSポートを許可します。

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent –add-service=https

許可されているサービスとポートをもう一度確認してください。

sudo firewall-cmd --permanent --list-services
dhcpv6-client http https mdns samba-client ssh

ファイアウォールをリロードします。

sudo systemctl reload firewalld

ApacheWebサーバーをインストールする

次のコマンドをsudo権限で実行して、ApacheWebサーバーをインストールします。

dnf install httpd

PHPのインストール

次のステップは、PHPおよびその他の追加モジュールをインストールすることです。すでにPHPをお持ちの場合は、PHPのバージョンがNextcloudの要件を満たしていることを確認してください。

dnf install php php-gd php-mbstring php-intl php-pecl-apcu php-mysqlnd php-pecl-redis php-opcache php-imagick php-zip php-process

PHPをインストールしたら、ApacheWebサーバーを有効にして起動します。

systemctl enable --now httpd

PHPが実行されているかどうかを確認します。

php -version
PHP 7.4.19 (cli) (built: May 4 2021 11:06:37) ( NTS )
Copyright (c) The PHP Group

MariaDBサーバーとクライアントのインストール

MariaDBサーバーはMySQLのドロップイン代替品です。つまり、MariaDBとMySQLを実行および操作するコマンドは同じです。

サーバーにデフォルトのMariaDBサーバーがあるかどうかを確認するか、次のコマンドを実行してインストールします。

dnf install mariadb mariadb-server

MariaDBサーバーを有効にして起動します:

systemctl enable --now mariadb

mysql_secure_installationコマンドを実行して、MariaDBサーバーを保護します。

このコマンドは、rootパスワードの設定、匿名ユーザーの削除、rootログインのリモートでの禁止、およびテストテーブルの削除を行うデフォルトの構成を実行します。

sudo mysql_secure_installation
[sudo] password for tuts:
Securing the MySQL server deployment.
Enter the password for user root:
The 'validate_password' component is installed.
>> The subsequent steps will run the existing configuration
of the component.
>> We are using an existing root password
Estimated strength of the password: 100
Change the password for root? ((Press YY | Y for Yes, any other key for No) : 
>>
By default, a MariaDB server installation has an anonymous user
>>> is intended only for testing.
Remove anonymous users? (Press Y y | Y for Yes, any other key for No) : y
Success.
Normally, 'root' should only be allowed to connect from
'localhost.' This ensures that someone cannot guess 
the root password from the network.
(ensure you read this policy while installing MariaDB server)
Disallow root login remotely? (Press Y y | y Y for Yes, any other key for No) : Y y
Success.
>>> (removing test database)
Remove test database and access to it? (Press Y y | Y for Yes, any other key for No) : y
>>> Dropping test database.
Success.
>>> Removing privileges on test database.
Success.
Reload privilege tables now? (Press Y y | Y for Yes, any other key for No) : y
Success. 
All done!

Nextcloudサーバー専用のユーザーとデータベースを作成します。

mysql -p

「nextcloud」データベースを作成します。

mysql> create database nextcloud;

「nextcloud」データベースを処理するための専用のMySQLユーザーを作成します

mysql> create user 'nextclouduser'@'localhost' identified by 'SeCrEttErCeS';

データベース(nextcloud)に対するすべての権限を、作成したユーザー(nextclouduser)に付与します。

mysql> grant all privileges on nextcloud_db.* to 'nextclouduser'@'localhost';

有効にするために行った変更のフラッシュ特権。

mysql> flush privileges;

MySQLシェルを終了します。

mysql> exit;

SELinuxパーミッションの設定

Nextcloudと連携するようにSELinux/permissionsを構成する必要があります。
基本的なSELinux設定に対して次のコマンドを実行します。これらはご使用のインストールで機能するはずです。

システムに応じて、ファイルパスを適切に調整してください。異なる場合に備えて。

semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/config(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/apps(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/data(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/.user.ini'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/3rdparty/aws/aws-sdk-php/src/data/logs(/.*)?'
# restorecon -Rv '/var/www/html/nextcloud/'

NextcloudSELinux構成でNextcloudと連携するSELinuxコマンドの詳細を学ぶことができます。

ステップ2.NextcloudServerのインストール

2番目のステップは、Nextcloudをダウンロードしてインストールすることです。公式ウェブサイトにアクセスし、zipファイルのダウンロードリンクをコピーします。
wgetを使用してNextcloudアーカイブをダウンロードして解凍します。以下のコマンドで、コピーしたリンクをwgetの後に必ず貼り付けてください。

wget https://download.nextcloud.com/server/releases/nextcloud-21.0.2.zip

アーカイブを「/var/ www /html/」ディレクトリに解凍します。

unzip nextcloud-21.0.2.zip -d /var/www/html/

次のステップは、ApacheにNextcloudディレクトリツリーへの読み取りおよび書き込みアクセスを許可することです。
「/ var / www / html /nextcloud/」ディレクトリにデータフォルダを作成します。

mkdir /var/www/html/nextcloud/data

Chownを使用してApacheの読み取りおよび書き込みアクセスを許可します。

chown -R apache:apache /var/www/html/nextcloud

ステップ3.Nextcloudサーバーの構成

Nextcloudは、Webインターフェイスまたはコマンドラインから構成できます。

方法1:Webインターフェイス

Webブラウザから「http:// your_server_ip / nextcloud」にアクセスします。
この場合、サーバーはローカルホストから実行されています。

http://localhost/nextcloud 
or
http://127.0.0.0/nextcloud

方法2:コマンドライン

次のコマンドを実行して、コマンドラインからNexcloudを構成します。

sudo -u apache php occ maintenance:install --data-dir /var/www/html/nextcloud/data/ --database "mysql" --database-name "nextcloud" --database-user "nextclouduser" --database-pass "SeCrEttErCeS" --admin-user "admin" --admin-pass "AdMin_PAssWOrd"

管理ログインの詳細を入力し、Nextcloudを最初に使用するように構成します。

まとめ

Nextcloudの推奨PHPメモリ制限は512Mです。 /etc/php.ini構成ファイルのmemory_limit変数を編集して、httpdサービスを再起動できます。

セキュリティは重要であり、SELinuxを無効にするのではなく、常に構成する必要があります。 SELinuxを無効にすることはお勧めできません。推奨される方法は、常に強制モードにすることです。

これで、Fedora34サーバーにプライベートNextcloudサーバーをインストールするデモは終わりです。課題や問題が発生した場合は、遠慮なく質問するか、コメントを追加してください。


Fedora
  1. Ubuntu16.04にNextCloud13をインストールする方法

  2. Nextcloud14をDebian9にインストールする方法

  3. Ubuntu18.04にNextCloud15をインストールする方法

  1. NextcloudをRHEL8/CentOS8サーバーにインストールする方法

  2. ZendServerCEをFedora16「Verne」にインストールする方法

  3. LocateをFedoraサーバーにインストールする方法

  1. Fedora34にVagrantをインストールする方法

  2. OpenOffice4.1.10をFedora34にインストールする方法

  3. AnyDeskをFedora35/Fedora34にインストールする方法