自宅サーバー ≫ Linux Server ≫ CentOS Stream 8 ≫ クラウド型ファイルサーバー(nextcloud)

 
前提条件
WebサーバーWebサーバー バーチャルドメイン (apache)SQLサーバーが稼働していることが前提条件
nextcloud用データベース作成
 
 [root@centos]#
mysql -u root -p******   <--- ****** = パスワード
 
 
データベースにユーザー cloudusr 追加    ****** = パスワード
 MariaDB [(none)]
create user cloudusr@localhost identified by '******';
 
 
ユーザー確認
 MariaDB [(none)]>
select host,user from mysql.user;
 +-----------+----------+
 | host      | user     |
 +-----------+----------+
 | 127.0.0.1 | root     |
 | ::1       | root     |
 | localhost | root     |
 | localhost | cloudusr |  
<--- ユーザー cloudusr を確認
 +-----------+----------+
 4 rows in set (0.00 sec)

 
データベース cloud 新規作成
 MariaDB [(none)]
create database cloud;

 
データベース確認
 MariaDB [(none)]>
show databases;
 +--------------------+
 | Database           |
 +--------------------+
 | information_schema |
 | mysql              |
 | cloud              |  
<--- データベース cloud を確認
 | performance_schema |
 +--------------------+
 4 rows in set (0.03 sec)

 
データベースへのユーザー cloudusr のアクセス権設定    ****** = パスワード
 MariaDB [(none)]>
grant all prlvileges on cloud.* to cloudusr@localhost identified by '******';
 
Epel-Release と Remi リポジトリをインストール
既にインストールされている場合は不要
 
 [root@centos]#
dnf -y install epel-release yum-utils unzip curl wget bash-completion 
                                                     
 policycoreutils-python-utils mlocate bzip2
 [root@centos]#
dnf -y install https://rpms.remirepo.net/enterprise/remi-release-8.rpm
 
Redis のインストール・自動起動設定
 
 
Redis のインストール
 [root@centos]#
dnf -y install redis

 
Redis の自動起動設定
 [root@centos]#
systemctl enable redis
 
 
Redis の自動起動設定の確認
 [root@centos]#
systemctl is-enabled redis
 enabled    
<--- enabled になっていればOK

 
Redis の開始
 [root@centos]#
systemctl start redis
 
nextcloud のダウンロード・展開
 
 
nextcloud のダウンロード
 [root@centos]#
wget https://download.nextcloud.com/server/releases/latest.zip

 
nextcloud の展開
 [root@centos]#
unzip latest.zip -d /home/****/www/     <--- インストールする場所
 
nextcloudのデータ格納フォルダ作成及びディレクトリ所有者・アクセス権変更
 
 
nextcloudのデータ格納フォルダ作成
 [root@centos]#
mkdir /home/****/www/nextcloud/data     <--- インストールした場所の直下

 
ディレクトリ所有者変更
 [root@centos]#
chown -R apache:apache /home/****/www/nextcloud/*
 [root@centos]#
chown -R apache:apache /home/****/www/nextcloud/data

 
ディレクトリアクセス権変更
 [root@centos]#
chmod 770 /home/****/www/nextcloud/data
 
バーチャルドメイン・バーチャルホスト設定
バーチャルホスト cloud.conf の 作成と設定
 
 [root@centos]vi /etc/httpd/conf.d/cloud.conf

 
以下新規作成

 
<VirtualHost *:80>

 DocumentRoot /home/****/www/cloud
 ServerName www.papa-net.info
 ErrorLog logs/cloud-error_log
 CustomLog logs/cloud-access_log combined env=!no_log

 <Directory "/home/****/www/nextcloud">
     Options ExecCGI FollowSymLinks
     AllowOverride All
     Require all granted
 </Directory>

 </VirtualHost>

 
httpd ファイルの構文チェック
 
 [root@centos]#
httpd -t
 Syntax OK           
<--- Syntax OK になっていればOK
 
PHP の変更
CentOS 8 の dnf でそのままインストールすると PHP7.2 になる
現在の nextcloud では PHP7.3 以上が必須
インストールできる PHP のバージョン確認
 
 [root@centos]#
dnf module list php
 CentOS Stream 8 - AppStream
 Name Stream Profiles Summary
 php 7.2 [d]  common [d],     devel, minimal PHP scripting language
 php 7.3 [e]  common [d] [i], devel, minimal PHP scripting language
 php 7.4      common [d],     devel, minimal PHP scripting language

 Remi's Modular repository for Enterprise Linux 8 - x86_64
 Name Stream Profiles Summary
 php remi-7.2 common [d],     devel, minimal PHP scripting language
 php remi-7.3 common [d],     devel, minimal PHP scripting language
 php remi-7.4 common [d],     devel, minimal PHP scripting language
 php remi-8.0 common [d],     devel, minimal PHP scripting language
 
PHP7.3 以上のバージョンをインストールできる事を確認
現在の PHP7.2 の停止
 
 [root@centos]#
dnf module reset php:remi-7.2
 メタデータの期限切れの最終確認: **:**:** 時間前の 2021年**月**日 **時**分**秒 に実施しました。
 モジュール名のみが必要です。引数で不必要な情報を無視します: 'php:remi-7.2'
 依存関係が解決しました。
 =============================================================================================
 パッケージ     アーキテクチャー     バージョン     リポジトリー     サイズ
 =============================================================================================
 モジュールプロファイルの無効化中:
 php/common
 モジュールの再設定中:
 php

 トランザクションの概要
 =============================================================================================

 これでよろしいですか? [y/N]:
y
 完了しました!
 
PHP7.2のアンインストール

 
 [root@centos]# dnf -y remove php*
 

PHP7.4のインストール
   
 [root@papa-net]#
dnf module install php:7.4
 
関連モジュールのインストール
   
 [root@papa-net]#
dnf -y install php-mysqlnd
 
[root@papa-net]# dnf -y install php-pecl-zip php-gd
 
バージョン確認
   
 [root@papa-net
]# php -v
 
PHP 7.4.6 (cli) (built: May 12 2020 08:09:15) ( NTS )
 Copyright (c) The PHP Group
 Zend Engine v3.4.0, Copyright (c) Zend Technologies

 
無事 PHP7.4 がインストールされた事を確認
apache を再起動
 
 
[root@papa-net# systemctl restart httpd
 
nextcloud にアクセス
http://<.サーバのアドレス・URL>/nextcloud/ にアクセス

“管理者アカウントを作成してください”の『ユーザー名』・『パスワード』を入力し『ストレージとデータベース』をクリック

データフォルダーが上記で作成したデータ格納フォルダである事を確認し“データベースを設定してください”の『MySQL/ManaDB』をクリック

『データベースのユーザー名』・『データベースのパスワード』・『データベース名』に上記で設定したものを入力

『localhost』には下部に表示されるポート番号を追記(ここでは localhost:5432)

『セットアップを完了します』をクリック
nextcloud にログイン

前画面で設定した管理者のユーザー名・パスワードを入力し『ログイン』をクリック

イントロダクションが開始されるので『×』で終了するか『>』で次を見るか選択

『カスタマイズ』をクリックして各設定を行う

戻る