システム奮闘記:その113

Nextcloudのインストール



Tweet

(2021年12月16日に掲載)

はじめに  オンラインストレージのオープンソースのNextcloud。  インターネット上に自分のデータを格納したり取り出せたら便利だ。  今回は自社のサーバーと、さくらインターネットのレンタルサーバーにインストールした話を書きます。

Nextcloudに決めた理由

 営業員が外出中でもファイルを見れるようにしたい。  ファイルサーバーの代表はSambaだが・・・  ネットワークの外には開放はできへん!!  なのだ。  セキュリティー上、よろしくない。  googleがworkspace(旧・G-suite)を提供しているのだが  金がかかる  だった。  そこで色々探した結果、見つけたのが  Nextcloudなのらー!!  

自社サーバーにインストール

 金をかけずに行う方法は自社のサーバーにインストールする事だ。  VMwareESXiで仮想化しているので、最初にゲストOSとして  CentOS7のインストール  を行った。  SELinuxを無効にする。  SELinuxの設定ファイルがあるディレクトリーに移動する。
SELinuxの設定ファイルがあるディレクトリーに移動
[root@cloud]# cd /etc/selinux/
[root@cloud selinux]# ls
config  final  semanage.conf  targeted  tmp
[root@cloud]#

 設定ファイル config の記述の変更を行う。

SELinuxを無効にする方法
初期状態
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=enforcing
# SELINUXTYPE= can take one of three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
変更後
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disable
# SELINUXTYPE= can take one of three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted


 次にファイヤーウォール機能を無効にする必要がある。

ファイヤーウォール機能を停止にする方法
現状のファイヤーウォールのデーモンの停止
[root@cloud]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@cloud]#
CentOS7の起動時にファイヤウォールを起動しないようにする措置
[root@cloud]# systemctl stop firewalld
[root@cloud]# 

 SELinuxとファイヤウォールの停止をし忘れるとハマって抜けらへんようになるのらー!!


 ここから先はNextcloudのインストールなのだが

 自力でできるわけ、あらへんやろ!!

 という事で、この連載を始めて20年に達しようとしても、
進歩のない私は、相変わらず

 忍法・ネットの丸写しの術

 を使うのだ。

 (参考ならぬ丸写ししたサイト)
 Nextcloud18.0.4 を CentOS7 にインストールしてお手軽に体験してみる


 まずはCentOS7にインストールするライブラリーだ。

Nextcloudを動かすのに必要なライブラリーのインストール
[root@cloud]# yum install -y epel-release yum-utils unzip curl wget bash-completion bzip2
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: ftp.riken.jp
 * extras: ftp.riken.jp
 * updates: ftp.riken.jp
パッケージ yum-utils-1.1.31-54.el7_8.noarch はインストール済みか最新バージョンです
パッケージ wget-1.14-18.el7_6.1.x86_64 はインストール済みか最新バージョンです
パッケージ 1:bash-completion-2.1-8.el7.noarch はインストール済みか最新バージョンです
パッケージ bzip2-1.0.6-13.el7.x86_64 はインストール済みか最新バージョンです
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ curl.x86_64 0:7.29.0-59.el7 を 更新
---> パッケージ curl.x86_64 0:7.29.0-59.el7_9.1 を アップデート
--> 依存性の処理をしています: libcurl = 7.29.0-59.el7_9.1 のパッケージ: curl-7.29.0-59.el7_9.1.x86_64
---> パッケージ epel-release.noarch 0:7-11 を インストール
---> パッケージ unzip.x86_64 0:6.0-21.el7 を 更新
---> パッケージ unzip.x86_64 0:6.0-22.el7_9 を アップデート
--> トランザクションの確認を実行しています。
---> パッケージ libcurl.x86_64 0:7.29.0-59.el7 を 更新
---> パッケージ libcurl.x86_64 0:7.29.0-59.el7_9.1 を アップデート
--> 依存性解決を終了しました。

依存性を解決しました

=======================================================================================
 Package              アーキテクチャー
                                     バージョン                  リポジトリー     容量
=======================================================================================
インストール中:
 epel-release         noarch         7-11                        extras           15 k
更新します:
 curl                 x86_64         7.29.0-59.el7_9.1           updates         271 k
 unzip                x86_64         6.0-22.el7_9                updates         171 k
依存性関連での更新をします:
 libcurl              x86_64         7.29.0-59.el7_9.1           updates         223 k

トランザクションの要約
=======================================================================================
インストール  1 パッケージ
更新          2 パッケージ (+1 個の依存関係のパッケージ)

合計容量: 680 k
総ダウンロード容量: 15 k
Downloading packages:
epel-release-7-11.noarch.rpm                                    |  15 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  更新します              : libcurl-7.29.0-59.el7_9.1.x86_64                       1/7 
  更新します              : curl-7.29.0-59.el7_9.1.x86_64                          2/7 
  インストール中          : epel-release-7-11.noarch                               3/7 
  更新します              : unzip-6.0-22.el7_9.x86_64                              4/7 
  整理中                  : curl-7.29.0-59.el7.x86_64                              5/7 
  整理中                  : libcurl-7.29.0-59.el7.x86_64                           6/7 
  整理中                  : unzip-6.0-21.el7.x86_64                                7/7 
  検証中                  : curl-7.29.0-59.el7_9.1.x86_64                          1/7 
  検証中                  : unzip-6.0-22.el7_9.x86_64                              2/7 
  検証中                  : epel-release-7-11.noarch                               3/7 
  検証中                  : libcurl-7.29.0-59.el7_9.1.x86_64                       4/7 
  検証中                  : unzip-6.0-21.el7.x86_64                                5/7 
  検証中                  : libcurl-7.29.0-59.el7.x86_64                           6/7 
  検証中                  : curl-7.29.0-59.el7.x86_64                              7/7 

インストール:
  epel-release.noarch 0:7-11                                                           

更新:
  curl.x86_64 0:7.29.0-59.el7_9.1              unzip.x86_64 0:6.0-22.el7_9             

依存性を更新しました:
  libcurl.x86_64 0:7.29.0-59.el7_9.1                                                   

完了しました!
[root@cloud]# 

 次にシステムの状態を最新にする。

システムの状態を最新にする
[root@cloud]# yum update -y
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: ftp.riken.jp
 * epel: ftp.riken.jp
 * extras: ftp.riken.jp
 * updates: ftp.riken.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ NetworkManager.x86_64 1:1.18.8-1.el7 を 更新
---> パッケージ NetworkManager.x86_64 1:1.18.8-2.el7_9 を アップデート

(途中、省略)

  xorg-x11-drv-ati.x86_64 0:19.0.1-3.el7_7                                             
  xorg-x11-server-Xorg.x86_64 0:1.20.4-16.el7_9                                        
  xorg-x11-server-common.x86_64 0:1.20.4-16.el7_9                                      
  xterm.x86_64 0:295-3.el7_9.1                                                         
  zlib.x86_64 0:1.2.7-19.el7_9                                                         

完了しました!
[root@cloud]# 

 次にhttpdのインストール。

httpdのインストール
[root@cloud]# yum install -y httpd
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: ftp.riken.jp
 * epel: ftp.riken.jp
 * extras: ftp.riken.jp
 * updates: ftp.riken.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ httpd.x86_64 0:2.4.6-97.el7.centos.2 を インストール
--> 依存性の処理をしています: httpd-tools = 2.4.6-97.el7.centos.2 のパッケージ: httpd-2.4.6-97.el7.centos.2.x86_64
--> 依存性の処理をしています: /etc/mime.types のパッケージ: httpd-2.4.6-97.el7.centos.2.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ httpd-tools.x86_64 0:2.4.6-97.el7.centos.2 を インストール
---> パッケージ mailcap.noarch 0:2.1.41-2.el7 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

=======================================================================================
 Package            アーキテクチャー
                                  バージョン                      リポジトリー    容量
=======================================================================================
インストール中:
 httpd              x86_64        2.4.6-97.el7.centos.2           updates        2.7 M
依存性関連でのインストールをします:
 httpd-tools        x86_64        2.4.6-97.el7.centos.2           updates         94 k
 mailcap            noarch        2.1.41-2.el7                    base            31 k

トランザクションの要約
=======================================================================================
インストール  1 パッケージ (+2 個の依存関係のパッケージ)

総ダウンロード容量: 2.8 M
インストール容量: 9.6 M
Downloading packages:
(1/3): mailcap-2.1.41-2.el7.noarch.rpm                          |  31 kB  00:00:00     
(2/3): httpd-tools-2.4.6-97.el7.centos.2.x86_64.rpm             |  94 kB  00:00:00     
(3/3): httpd-2.4.6-97.el7.centos.2.x86_64.rpm                   | 2.7 MB  00:00:00     
---------------------------------------------------------------------------------------
合計                                                      3.2 MB/s | 2.8 MB  00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : httpd-tools-2.4.6-97.el7.centos.2.x86_64               1/3 
  インストール中          : mailcap-2.1.41-2.el7.noarch                            2/3 
  インストール中          : httpd-2.4.6-97.el7.centos.2.x86_64                     3/3 
  検証中                  : httpd-2.4.6-97.el7.centos.2.x86_64                     1/3 
  検証中                  : mailcap-2.1.41-2.el7.noarch                            2/3 
  検証中                  : httpd-tools-2.4.6-97.el7.centos.2.x86_64               3/3 

インストール:
  httpd.x86_64 0:2.4.6-97.el7.centos.2                                                 

依存性関連をインストールしました:
  httpd-tools.x86_64 0:2.4.6-97.el7.centos.2       mailcap.noarch 0:2.1.41-2.el7      

完了しました!
[root@cloud]# 

 ふと思った。

 Apacheとhttpdは何が違うねん!!

 だった。

 近年、システムを触る機会が減ったので用語の変化やソフトの違いについて
全くついていけてない。
 そんな時は

 わからへんけど、前に勧めよう

 という忍法・先送りの術なのだ。20年間、全く進歩してない。

 あとでわかった話として、ここでのhttpdはApacheのhttpdを使っているのだ。


 httpd(Apacheのデーモン)の設定を行う。
 設定ファイルの記述変更というよりも、新しく記述ファイルを追加するのだ。

/etc/httpd/conf.d/nextcloud.confファイルを追加
該当のディレクトリに移動してファイルの編集準備
[root@cloud]# cd /etc/httpd/
[root@cloud]# emacs nexcloud.conf
nextcloud.confの記述内容
<VirtualHost *:80>
DocumentRoot /var/www/html
ServerName サーバーのIPアドレス

<Directory "/var/www/html/">
Require all granted
AllowOverride All
Options FollowSymLinks MultiViews



 ここではemacsを使ってファイルの記述を行ったのだが、viでも構わない。
 emacsを使うか、viを使うかは好みの問題であって・・・

 emacs 対 vi の宗教戦争をする気はあらへんのら-!!

 こんなネタを書く事自体・・・

 昔を知っているオッサンの証拠

 なのだ。

 次にhttpd(Apacheのデーモン)を起動させる必要がある

httpdデーモンを起動させる方法
現状のhttpdデーモンの起動させる
[root@cloud]# systemctl enable httpd.service
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
[root@cloud]#
CentOS7の起動時にhttpdを起動させるための措置
[root@cloud]# systemctl start httpd.service
[root@cloud]# 


 次にNexcloudを動かすのに必要なPHPをモジュールのインストールだ。
 
PHPをモジュールのインストール
その1
[root@cloud]# yum install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm -y
読み込んだプラグイン:fastestmirror, langpacks
remi-release-7.rpm                                              |  23 kB  00:00:00     
/var/tmp/yum-root-bz4mzj/remi-release-7.rpm を調べています: remi-release-7.9-2.el7.remi.noarch
/var/tmp/yum-root-bz4mzj/remi-release-7.rpm をインストール済みとして設定しています
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ remi-release.noarch 0:7.9-2.el7.remi を インストール
--> 依存性解決を終了しました。

依存性を解決しました

=======================================================================================
 Package             アーキテクチャー
                                   バージョン             リポジトリー            容量
=======================================================================================
インストール中:
 remi-release        noarch        7.9-2.el7.remi         /remi-release-7         32 k

トランザクションの要約
=======================================================================================
インストール  1 パッケージ

合計容量: 32 k
インストール容量: 32 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : remi-release-7.9-2.el7.remi.noarch                     1/1 
  検証中                  : remi-release-7.9-2.el7.remi.noarch                     1/1 

インストール:
  remi-release.noarch 0:7.9-2.el7.remi                                                 

完了しました!
[root@cloud]#
その2
[root@cloud]# yum install --enablerepo=remi,remi-php74 php php-fpm php-cli php-common php-curl php-gd php-mbstring php-mysqlnd php-process php-xml php-opcache php-pecl-apcu php-intl php-pecl-redis php-pecl-zip php-pear -y
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: ftp.riken.jp
 * epel: ftp.riken.jp
 * extras: ftp.riken.jp
 * remi: ftp.riken.jp
 * remi-php74: ftp.riken.jp
 * remi-safe: ftp.riken.jp
 * updates: ftp.riken.jp
remi                                                            | 3.0 kB  00:00:00     
remi-php74                                                      | 3.0 kB  00:00:00     
(1/2): remi-php74/primary_db                                    | 253 kB  00:00:01     
(2/2): remi/primary_db                                          | 3.2 MB  00:00:02     
パッケージ php-pecl-redis は php-pecl-redis5 によって不要になりました。代わりに php-pecl-redis5-5.3.4-1.el7.remi.7.4.x86_64 のインストールを試みています。
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ php.x86_64 0:7.4.26-1.el7.remi を インストール
--> 依存性の処理をしています: php-sodium(x86-64) = 7.4.26-1.el7.remi のパッケージ: php-7.4.26-1.el7.remi.x86_64
---> パッケージ php-cli.x86_64 0:7.4.26-1.el7.remi を インストール
---> パッケージ php-common.x86_64 0:7.4.26-1.el7.remi を インストール
--> 依存性の処理をしています: php-json(x86-64) = 7.4.26-1.el7.remi のパッケージ: php-common-7.4.26-1.el7.remi.x86_64
---> パッケージ php-fpm.x86_64 0:7.4.26-1.el7.remi を インストール
---> パッケージ php-gd.x86_64 0:7.4.26-1.el7.remi を インストール
--> 依存性の処理をしています: gd-last(x86-64) >= 2.1.1 のパッケージ: php-gd-7.4.26-1.el7.remi.x86_64
--> 依存性の処理をしています: libgd.so.3()(64bit) のパッケージ: php-gd-7.4.26-1.el7.remi.x86_64
---> パッケージ php-intl.x86_64 0:7.4.26-1.el7.remi を インストール
--> 依存性の処理をしています: libicudata.so.69()(64bit) のパッケージ: php-intl-7.4.26-1.el7.remi.x86_64
--> 依存性の処理をしています: libicui18n.so.69()(64bit) のパッケージ: php-intl-7.4.26-1.el7.remi.x86_64
--> 依存性の処理をしています: libicuio.so.69()(64bit) のパッケージ: php-intl-7.4.26-1.el7.remi.x86_64
--> 依存性の処理をしています: libicuuc.so.69()(64bit) のパッケージ: php-intl-7.4.26-1.el7.remi.x86_64
---> パッケージ php-mbstring.x86_64 0:7.4.26-1.el7.remi を インストール
--> 依存性の処理をしています: libonig.so.105()(64bit) のパッケージ: php-mbstring-7.4.26-1.el7.remi.x86_64
---> パッケージ php-mysqlnd.x86_64 0:7.4.26-1.el7.remi を インストール
--> 依存性の処理をしています: php-pdo(x86-64) = 7.4.26-1.el7.remi のパッケージ: php-mysqlnd-7.4.26-1.el7.remi.x86_64
---> パッケージ php-opcache.x86_64 0:7.4.26-1.el7.remi を インストール
---> パッケージ php-pear.noarch 1:1.10.13-1.el7.remi を インストール
---> パッケージ php-pecl-apcu.x86_64 0:5.1.21-1.el7.remi.7.4 を インストール
---> パッケージ php-pecl-redis5.x86_64 0:5.3.4-1.el7.remi.7.4 を インストール
--> 依存性の処理をしています: php-igbinary(x86-64) のパッケージ: php-pecl-redis5-5.3.4-1.el7.remi.7.4.x86_64
--> 依存性の処理をしています: php-msgpack(x86-64) のパッケージ: php-pecl-redis5-5.3.4-1.el7.remi.7.4.x86_64
--> 依存性の処理をしています: liblzf.so.1()(64bit) のパッケージ: php-pecl-redis5-5.3.4-1.el7.remi.7.4.x86_64
--> 依存性の処理をしています: libzstd.so.1()(64bit) のパッケージ: php-pecl-redis5-5.3.4-1.el7.remi.7.4.x86_64
---> パッケージ php-pecl-zip.x86_64 0:1.20.0-1.el7.remi.7.4 を インストール
--> 依存性の処理をしています: libzip5(x86-64) >= 1.8.0 のパッケージ: php-pecl-zip-1.20.0-1.el7.remi.7.4.x86_64
--> 依存性の処理をしています: libzip.so.5()(64bit) のパッケージ: php-pecl-zip-1.20.0-1.el7.remi.7.4.x86_64
---> パッケージ php-process.x86_64 0:7.4.26-1.el7.remi を インストール
---> パッケージ php-xml.x86_64 0:7.4.26-1.el7.remi を インストール
--> トランザクションの確認を実行しています。
---> パッケージ gd-last.x86_64 0:2.3.3-2.el7.remi を インストール
--> 依存性の処理をしています: libraqm.so.0()(64bit) のパッケージ: gd-last-2.3.3-2.el7.remi.x86_64
--> 依存性の処理をしています: libwebp.so.7()(64bit) のパッケージ: gd-last-2.3.3-2.el7.remi.x86_64
---> パッケージ libicu69.x86_64 0:69.1-2.el7.remi を インストール
---> パッケージ liblzf.x86_64 0:3.6-7.el7 を インストール
---> パッケージ libzip5.x86_64 0:1.8.0-2.el7.remi を インストール
---> パッケージ libzstd.x86_64 0:1.5.0-1.el7 を インストール
---> パッケージ oniguruma5php.x86_64 0:6.9.7.1-1.el7.remi を インストール
---> パッケージ php-json.x86_64 0:7.4.26-1.el7.remi を インストール
---> パッケージ php-pdo.x86_64 0:7.4.26-1.el7.remi を インストール
---> パッケージ php-pecl-igbinary.x86_64 0:3.2.6-1.el7.remi.7.4 を インストール
---> パッケージ php-pecl-msgpack.x86_64 0:2.1.2-1.el7.remi.7.4 を インストール
---> パッケージ php-sodium.x86_64 0:7.4.26-1.el7.remi を インストール
--> 依存性の処理をしています: libsodium.so.23()(64bit) のパッケージ: php-sodium-7.4.26-1.el7.remi.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ libraqm.x86_64 0:0.7.0-4.el7 を インストール
---> パッケージ libsodium.x86_64 0:1.0.18-1.el7.remi を インストール
---> パッケージ libwebp7.x86_64 0:1.0.3-1.el7.remi を インストール
--> 依存性解決を終了しました。

依存性を解決しました

=======================================================================================
 Package                アーキテクチャー
                                    バージョン                   リポジトリー     容量
=======================================================================================
インストール中:
 php                    x86_64      7.4.26-1.el7.remi            remi-php74      3.4 M
 php-cli                x86_64      7.4.26-1.el7.remi            remi-php74      5.2 M
 php-common             x86_64      7.4.26-1.el7.remi            remi-php74      1.2 M
 php-fpm                x86_64      7.4.26-1.el7.remi            remi-php74      1.8 M
 php-gd                 x86_64      7.4.26-1.el7.remi            remi-php74       89 k
 php-intl               x86_64      7.4.26-1.el7.remi            remi-php74      237 k
 php-mbstring           x86_64      7.4.26-1.el7.remi            remi-php74      525 k
 php-mysqlnd            x86_64      7.4.26-1.el7.remi            remi-php74      255 k
 php-opcache            x86_64      7.4.26-1.el7.remi            remi-php74      332 k
 php-pear               noarch      1:1.10.13-1.el7.remi         remi            363 k
 php-pecl-apcu          x86_64      5.1.21-1.el7.remi.7.4        remi-php74       76 k
 php-pecl-redis5        x86_64      5.3.4-1.el7.remi.7.4         remi-php74      258 k
 php-pecl-zip           x86_64      1.20.0-1.el7.remi.7.4        remi-php74       63 k
 php-process            x86_64      7.4.26-1.el7.remi            remi-php74       92 k
 php-xml                x86_64      7.4.26-1.el7.remi            remi-php74      209 k
依存性関連でのインストールをします:
 gd-last                x86_64      2.3.3-2.el7.remi             remi            138 k
 libicu69               x86_64      69.1-2.el7.remi              remi            9.6 M
 liblzf                 x86_64      3.6-7.el7                    epel             22 k
 libraqm                x86_64      0.7.0-4.el7                  epel             15 k
 libsodium              x86_64      1.0.18-1.el7.remi            remi            148 k
 libwebp7               x86_64      1.0.3-1.el7.remi             remi            266 k
 libzip5                x86_64      1.8.0-2.el7.remi             remi             64 k
 libzstd                x86_64      1.5.0-1.el7                  epel            370 k
 oniguruma5php          x86_64      6.9.7.1-1.el7.remi           remi            205 k
 php-json               x86_64      7.4.26-1.el7.remi            remi-php74       73 k
 php-pdo                x86_64      7.4.26-1.el7.remi            remi-php74      138 k
 php-pecl-igbinary      x86_64      3.2.6-1.el7.remi.7.4         remi-php74      157 k
 php-pecl-msgpack       x86_64      2.1.2-1.el7.remi.7.4         remi-php74       61 k
 php-sodium             x86_64      7.4.26-1.el7.remi            remi-php74       85 k

トランザクションの要約
=======================================================================================
インストール  15 パッケージ (+14 個の依存関係のパッケージ)

総ダウンロード容量: 25 M
インストール容量: 95 M
Downloading packages:
(1/29): libraqm-0.7.0-4.el7.x86_64.rpm                          |  15 kB  00:00:00     
(2/29): liblzf-3.6-7.el7.x86_64.rpm                             |  22 kB  00:00:00     
warning: /var/cache/yum/x86_64/7/remi/packages/libsodium-1.0.18-1.el7.remi.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID 00f97f56: NOKEY
libsodium-1.0.18-1.el7.remi.x86_64.rpm の公開鍵がインストールされていません
(3/29): libsodium-1.0.18-1.el7.remi.x86_64.rpm                  | 148 kB  00:00:00     
(4/29): libzstd-1.5.0-1.el7.x86_64.rpm                          | 370 kB  00:00:00     
(5/29): libzip5-1.8.0-2.el7.remi.x86_64.rpm                     |  64 kB  00:00:00     
(6/29): gd-last-2.3.3-2.el7.remi.x86_64.rpm                     | 138 kB  00:00:01     
(7/29): oniguruma5php-6.9.7.1-1.el7.remi.x86_64.rpm             | 205 kB  00:00:00     
php-common-7.4.26-1.el7.remi.x86_64.rpm の公開鍵がインストールされていません:00:06 ETA 
(8/29): php-common-7.4.26-1.el7.remi.x86_64.rpm                 | 1.2 MB  00:00:00     
(9/29): php-fpm-7.4.26-1.el7.remi.x86_64.rpm                    | 1.8 MB  00:00:00     
(10/29): php-cli-7.4.26-1.el7.remi.x86_64.rpm                   | 5.2 MB  00:00:01     
(11/29): php-gd-7.4.26-1.el7.remi.x86_64.rpm                    |  89 kB  00:00:00     
(12/29): php-intl-7.4.26-1.el7.remi.x86_64.rpm                  | 237 kB  00:00:00     
(13/29): php-json-7.4.26-1.el7.remi.x86_64.rpm                  |  73 kB  00:00:00     
(14/29): php-mbstring-7.4.26-1.el7.remi.x86_64.rpm              | 525 kB  00:00:00     
(15/29): php-mysqlnd-7.4.26-1.el7.remi.x86_64.rpm               | 255 kB  00:00:00     
(16/29): php-opcache-7.4.26-1.el7.remi.x86_64.rpm               | 332 kB  00:00:00     
(17/29): php-pdo-7.4.26-1.el7.remi.x86_64.rpm                   | 138 kB  00:00:00     
(18/29): php-pecl-apcu-5.1.21-1.el7.remi.7.4.x86_64.rpm         |  76 kB  00:00:00     
(19/29): php-pecl-igbinary-3.2.6-1.el7.remi.7.4.x86_64.rpm      | 157 kB  00:00:00     
(20/29): libicu69-69.1-2.el7.remi.x86_64.rpm                    | 9.6 MB  00:00:03     
(21/29): php-pecl-msgpack-2.1.2-1.el7.remi.7.4.x86_64.rpm       |  61 kB  00:00:00     
(22/29): php-pecl-zip-1.20.0-1.el7.remi.7.4.x86_64.rpm          |  63 kB  00:00:00     
(23/29): php-process-7.4.26-1.el7.remi.x86_64.rpm               |  92 kB  00:00:00     
(24/29): php-pecl-redis5-5.3.4-1.el7.remi.7.4.x86_64.rpm        | 258 kB  00:00:00     
(25/29): php-sodium-7.4.26-1.el7.remi.x86_64.rpm                |  85 kB  00:00:00     
(26/29): php-xml-7.4.26-1.el7.remi.x86_64.rpm                   | 209 kB  00:00:00     
(27/29): php-pear-1.10.13-1.el7.remi.noarch.rpm                 | 363 kB  00:00:00     
(28/29): php-7.4.26-1.el7.remi.x86_64.rpm                       | 3.4 MB  00:00:03     
(29/29): libwebp7-1.0.3-1.el7.remi.x86_64.rpm                   | 266 kB  00:00:07     
---------------------------------------------------------------------------------------
合計                                                      3.4 MB/s |  25 MB  00:07     
file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi から鍵を取得中です。
Importing GPG key 0x00F97F56:
 Userid     : "Remi Collet "
 Fingerprint: 1ee0 4cce 88a4 ae4a a29a 5df5 004e 6f47 00f9 7f56
 Package    : remi-release-7.9-2.el7.remi.noarch (@/remi-release-7)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-remi
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : php-json-7.4.26-1.el7.remi.x86_64                     1/29 
  インストール中          : php-common-7.4.26-1.el7.remi.x86_64                   2/29 
  インストール中          : php-cli-7.4.26-1.el7.remi.x86_64                      3/29 
  インストール中          : libzstd-1.5.0-1.el7.x86_64                            4/29 
  インストール中          : libzip5-1.8.0-2.el7.remi.x86_64                       5/29 
  インストール中          : php-pecl-msgpack-2.1.2-1.el7.remi.7.4.x86_64          6/29 
  インストール中          : php-process-7.4.26-1.el7.remi.x86_64                  7/29 
  インストール中          : php-pecl-igbinary-3.2.6-1.el7.remi.7.4.x86_64         8/29 
  インストール中          : php-pdo-7.4.26-1.el7.remi.x86_64                      9/29 
  インストール中          : php-xml-7.4.26-1.el7.remi.x86_64                     10/29 
  インストール中          : liblzf-3.6-7.el7.x86_64                              11/29 
  インストール中          : libwebp7-1.0.3-1.el7.remi.x86_64                     12/29 
  インストール中          : libicu69-69.1-2.el7.remi.x86_64                      13/29 
  インストール中          : libraqm-0.7.0-4.el7.x86_64                           14/29 
  インストール中          : gd-last-2.3.3-2.el7.remi.x86_64                      15/29 
  インストール中          : oniguruma5php-6.9.7.1-1.el7.remi.x86_64              16/29 
  インストール中          : libsodium-1.0.18-1.el7.remi.x86_64                   17/29 
  インストール中          : php-sodium-7.4.26-1.el7.remi.x86_64                  18/29 
  インストール中          : php-7.4.26-1.el7.remi.x86_64                         19/29 
  インストール中          : php-mbstring-7.4.26-1.el7.remi.x86_64                20/29 
  インストール中          : php-gd-7.4.26-1.el7.remi.x86_64                      21/29 
  インストール中          : php-intl-7.4.26-1.el7.remi.x86_64                    22/29 
  インストール中          : php-pecl-redis5-5.3.4-1.el7.remi.7.4.x86_64          23/29 
  インストール中          : 1:php-pear-1.10.13-1.el7.remi.noarch                 24/29 
  インストール中          : php-mysqlnd-7.4.26-1.el7.remi.x86_64                 25/29 
  インストール中          : php-pecl-zip-1.20.0-1.el7.remi.7.4.x86_64            26/29 
  インストール中          : php-fpm-7.4.26-1.el7.remi.x86_64                     27/29 
  インストール中          : php-pecl-apcu-5.1.21-1.el7.remi.7.4.x86_64           28/29 
  インストール中          : php-opcache-7.4.26-1.el7.remi.x86_64                 29/29 
  検証中                  : libsodium-1.0.18-1.el7.remi.x86_64                    1/29 
  検証中                  : php-pecl-msgpack-2.1.2-1.el7.remi.7.4.x86_64          2/29 
  検証中                  : php-process-7.4.26-1.el7.remi.x86_64                  3/29 
  検証中                  : php-fpm-7.4.26-1.el7.remi.x86_64                      4/29 
  検証中                  : php-pecl-redis5-5.3.4-1.el7.remi.7.4.x86_64           5/29 
  検証中                  : php-cli-7.4.26-1.el7.remi.x86_64                      6/29 
  検証中                  : php-sodium-7.4.26-1.el7.remi.x86_64                   7/29 
  検証中                  : php-mbstring-7.4.26-1.el7.remi.x86_64                 8/29 
  検証中                  : php-intl-7.4.26-1.el7.remi.x86_64                     9/29 
  検証中                  : php-pecl-apcu-5.1.21-1.el7.remi.7.4.x86_64           10/29 
  検証中                  : php-pecl-igbinary-3.2.6-1.el7.remi.7.4.x86_64        11/29 
  検証中                  : libzip5-1.8.0-2.el7.remi.x86_64                      12/29 
  検証中                  : 1:php-pear-1.10.13-1.el7.remi.noarch                 13/29 
  検証中                  : php-pdo-7.4.26-1.el7.remi.x86_64                     14/29 
  検証中                  : libzstd-1.5.0-1.el7.x86_64                           15/29 
  検証中                  : oniguruma5php-6.9.7.1-1.el7.remi.x86_64              16/29 
  検証中                  : php-7.4.26-1.el7.remi.x86_64                         17/29 
  検証中                  : libraqm-0.7.0-4.el7.x86_64                           18/29 
  検証中                  : php-pecl-zip-1.20.0-1.el7.remi.7.4.x86_64            19/29 
  検証中                  : php-mysqlnd-7.4.26-1.el7.remi.x86_64                 20/29 
  検証中                  : php-opcache-7.4.26-1.el7.remi.x86_64                 21/29 
  検証中                  : php-gd-7.4.26-1.el7.remi.x86_64                      22/29 
  検証中                  : libicu69-69.1-2.el7.remi.x86_64                      23/29 
  検証中                  : gd-last-2.3.3-2.el7.remi.x86_64                      24/29 
  検証中                  : php-xml-7.4.26-1.el7.remi.x86_64                     25/29 
  検証中                  : php-common-7.4.26-1.el7.remi.x86_64                  26/29 
  検証中                  : libwebp7-1.0.3-1.el7.remi.x86_64                     27/29 
  検証中                  : liblzf-3.6-7.el7.x86_64                              28/29 
  検証中                  : php-json-7.4.26-1.el7.remi.x86_64                    29/29 

インストール:
  php.x86_64 0:7.4.26-1.el7.remi                                                       
  php-cli.x86_64 0:7.4.26-1.el7.remi                                                   
  php-common.x86_64 0:7.4.26-1.el7.remi                                                
  php-fpm.x86_64 0:7.4.26-1.el7.remi                                                   
  php-gd.x86_64 0:7.4.26-1.el7.remi                                                    
  php-intl.x86_64 0:7.4.26-1.el7.remi                                                  
  php-mbstring.x86_64 0:7.4.26-1.el7.remi                                              
  php-mysqlnd.x86_64 0:7.4.26-1.el7.remi                                               
  php-opcache.x86_64 0:7.4.26-1.el7.remi                                               
  php-pear.noarch 1:1.10.13-1.el7.remi                                                 
  php-pecl-apcu.x86_64 0:5.1.21-1.el7.remi.7.4                                         
  php-pecl-redis5.x86_64 0:5.3.4-1.el7.remi.7.4                                        
  php-pecl-zip.x86_64 0:1.20.0-1.el7.remi.7.4                                          
  php-process.x86_64 0:7.4.26-1.el7.remi                                               
  php-xml.x86_64 0:7.4.26-1.el7.remi                                                   

依存性関連をインストールしました:
  gd-last.x86_64 0:2.3.3-2.el7.remi                                                    
  libicu69.x86_64 0:69.1-2.el7.remi                                                    
  liblzf.x86_64 0:3.6-7.el7                                                            
  libraqm.x86_64 0:0.7.0-4.el7                                                         
  libsodium.x86_64 0:1.0.18-1.el7.remi                                                 
  libwebp7.x86_64 0:1.0.3-1.el7.remi                                                   
  libzip5.x86_64 0:1.8.0-2.el7.remi                                                    
  libzstd.x86_64 0:1.5.0-1.el7                                                         
  oniguruma5php.x86_64 0:6.9.7.1-1.el7.remi                                            
  php-json.x86_64 0:7.4.26-1.el7.remi                                                  
  php-pdo.x86_64 0:7.4.26-1.el7.remi                                                   
  php-pecl-igbinary.x86_64 0:3.2.6-1.el7.remi.7.4                                      
  php-pecl-msgpack.x86_64 0:2.1.2-1.el7.remi.7.4                                       
  php-sodium.x86_64 0:7.4.26-1.el7.remi                                                

完了しました!
[root@cloud]# 


 これで準備が整った。
 ようやくNextcloudのインストールを行う。

 まずはnextcloudを以下のURLからダウンロードする。

 Nextcloudのサイト

Nextcloudのサイトからダウンロード・その1
NextcloudのサイトでGet Nextcloudを選ぶ
赤く囲んだ「Get Nextcloud」を押す

 次の画面に移る。

Nextcloudのサイトからダウンロード・その2
Nextcloudのサイトで「Server packages」を選ぶ
赤く囲んだ「Server packages」を選ぶ。
 
 次の画面に移る

Nextcloudのサイトからダウンロード・その3
Nextcloudのサイトからダウンロード
赤く囲んだ「Download Nextcloud」を選ぶ。

 これでNextcloudのプログラムソースをダウンロードができた。
 そしてプログラムソースの展開を行う。

nextcloudのソースを展開
[root@cloud]# tar xf nextcloud-22.1.0.tar.bz2 

(途中、省略)

[root@cloud]# ls
nextcloud  nextcloud-22.1.0.tar.bz2
[root@cloud]# mv -f nextcloud /var/www/html/
[root@cloud]# 
nextcloudを展開した後、まるごと /var/www/htmlのディレクトリに移動させる。

 そしてnextcloudを使う際、アップロードさせるファイルを格納させるための
ディレクトリーの作成を行う。

ファイルを格納させるディレクトリーの作成
[root@cloud]# cd /var/www/html/
[root@cloud]# mkdir data
[root@cloud]# chown -R apache:apache /var/www/html/nextcloud
dataというディレクトリを作成した後、ユーザー権限、グループ権限をapacheに変更する。

 そしてhttpd(Apacheのデーモン)を再起動させる。


httpd(Apacheのデーモン)を再起動
systemctl restart httpd.service


 次に以下のURLでブラウザを開いて設定を行う。

 http://(サーバーのIPアドレス)/nextcloud/


管理者のIDとパスワードの設定画面
nextcloudの管理者のIDとパスワードの設定画面
管理者のIDとパスワードの部分

 ここで目ざとい人は

 なんでhttpsでなくhttpやねん!

 となる。

httpにしている理由
非SSLのhttpにしているのは、単に社内サーバーで実験的にインストールしただけです。
外向けに平文パスワード入力だと危険なので、それは行わないようにしています。

 一応、説明責任を果たした所で話を進めます。

管理者のIDとパスワードの設定
nextcloudの管理者のIDとパスワードの設定
パスワードは長めがお勧め。

 ここでデータベースの選択に注意が必要なのだ。

データベースの選択を行う方法
nextcloudのデータベースの選択を行う方法
赤く囲んだ部分を押す。

 するとデータベースの選択画面が出てくる。

データベースの選択画面
nextcloudのデータベースの選択画面
SQLiteかMySQLの選択を行う。

 MySQLは触った事があらへん!!

 2001年にPostgreSQLを触り始めて20年。20年間、PostgreSQLばかり触っていたため
MySQLに関する知識はないのだ。
 そして

 SQLiteっと何やねん!!

 なのだ。知識がないどころか名称も知らないのだ。
 でも、これを使うと、特にデータベースのインストールをする必要はない。

 そこで忍法・先送りの術を使って

 とりあえずSQLiteを使ってしまえ!!

 となった。

 小規模ならSQLiteでも全く問題はないようだ。
 初期設定ではSQLiteになっている。

 このまま先に進めると・・・

 エラーがでてもうた

 なのだ。

エラーの画面

 でも、全く気にする事はない。もう一度・・・

 http://(サーバーのIPアドレス)/nextcloud/

 で接続すると

nextcloudにログインした画面
nextcloudにログインした画面
nexrcloudにログインした画面が出てくる。

 先に進める。

トップ画面。初期状態
nextcloudのトップ画面。初期状態
トップ画面にはお勧めファイルが出てくる。

 そしてファイルを保管しているフォルダーを見る。

ファイルを保管しているフォルダー
ファイルを保管しているnextcloudのフォルダー
フォルダーを開くと初期設定の時に保存されているファイルを見る事ができる。

 見事、インストールに成功!!

 なのだ。


さくらインターネットにnextcloudをインストール

 20年間、何も変わらずネットの丸写しで対応する私。  だが、喜んではいられない。  社内だけで使う分には、ファイヤーウォール内の社内向けサーバーに設置すれば データを平文でやりとりしても問題はない。  しかし営業員が外から利用と考えると  平文でのやりとりはアカンやろ  となる。  だが、ここで問題が出てきた。  自力で自社サーバーをSSL対応する事ができへん!!  自分の名誉のために書くが  技術的にできへんのではない。金がかかるからだ  一応、オレオレ認証局の設定はした事があるのだ。  「システム奮闘記:その64」(LinuxとApacheでSSL通信の設定)をご覧ください。  オレオレ認証局だと具合が悪いかもしれない。  でも、きちんと認証局を使うと金がかかる。

さくらインターネットにインストール

 ここで思いついたのは  さくらインターネットにある  共用SSLを使えばエエやん!!  だった。  ただ、さくらインターネットにnextcloudをインストールする際の注意点は  WebDAVを使うため・・・  さくらのマネージドサーバ  で契約する必要がある。  うちの会社はマネージドサーバで契約していたので、この点は問題なかった。  だがNextcloudのソースコードをどうやって、さくらインターネットのサーバ―上に もっていくかが問題だった。  そもそも、さくらインターネット上にNextcloudがインストールできるのか。  そんな疑問を持ちながら検索サイトを調べてみると、インストール方法が見つかった。  さくらのレンタルサーバ にNextcloudをインストールしてプライベートクラウドを構築する  ここでもやっぱり  忍法・丸写しの術  を行う事にした。  ソースファイルをダウンロードするのではなく、ブラウザを使ってインストールを行うという。  そのためのPHP言語で記述されたインストール用のファイルをダウンロードするという。
Nextcloudのサイトからダウンロード・その4
NextcloudのサイトからWebインストールを選択
赤く囲んだ「Web installer」を選ぶ。

 次の画面になる。

Nextcloudのサイトからダウンロード・その5
NextcloudのサイトからWebインストール用のファイルをダウンロード
赤く囲んだ部分で「here」の所を押す。

 するとWebインストール用のPHPファイルのダウンロードが始まる。

Webインストール用のPHPファイルのダウンロードが始まる
Webインストール用のPHPファイルのダウンロードが始まる
setup-nextcloud.phpファイルをダウンロードする。

 次にダウンロードしたsetup-nextcloud.phpファイルを、さくらインターネットの
Web公開用のフォルダーへアップロードさせる。

さくらインターネットのWeb公開用のフォルダーへアップロードした様子
さくらインターネットのWeb公開用のフォルダーへアップロード

 次にsetup-nextcloud.phpファイルをWebページとして表示させる。

ファイルをWebページとして表示させる様子
ファイルをWebページとして表示させる様子
さくらインターネットのツールは便利で、マウス操作だけでWebページとしてファイルを表示させる事ができる。

 だが・・・

 うまくいかへん!!

インストール失敗の画面
インストール失敗の画面
エラー内容を見るが、原因がよくわからない。

 気を取り直して、同じ事をすると

 インストール成功!!

 全く同じ事をしているのにインストールに失敗したかと思うと今度は成功。

 何が何だか、さっぱりわからへん!!

 なのだ。

インストール成功の画面
インストール成功の画面
そのまま迷わず「Next」を押す。

 設定を進めていく。


データを格納するディレクトリの設定
データを格納するディレクトリの設定
データを格納するディレクトリの設定を行う。
インストールファイルはどこのディレクトリに置こうが良いと言わんばかりだ。

 次にIDとパスワード、データベースの設定の画面になる。

IDとパスワード、データベースの設定の画面
IDとパスワード、データベースの設定の画面
データベースを選択する際は、赤く囲んだ部分を選ぶ。

 ここで思った。

 MySQLを使ってみよう

 なぜなら・・・

 ネットの丸写しで設定できるやろ

 と思ったからだ。

さくらインターネットのMySQLの設定
さくらインターネットのMySQLの設定
さくらインターネットに付いているMySQLでデータベースを作成。

 さくらインターネットでMySQLでデータベースを作成した。
 そのデータベースに関する値を入力する。

データベースの設定
データベースの設定
作成したMySQLのデータベースに接続できるように、データベースに関する入力を行う。

 その結果・・・

 MySQLに接続できへん

 だった。

データベースへの接続失敗の画面
データベースへの接続失敗の画面
原因を調べたがわからなかった。

 20年間、同じ事の繰り返しで進歩のない私。
 なのでここは

 忍法先送りの術

 という事でMySQLの導入を諦めて、SQLiteを使う事にした。

 先に進めると

 なんでコケるねん

 だった。

アクセスするサイトがあらへんという表示
アクセスするサイトがあらへんという表示
自社サーバーでインストールした時と同じ現象だった。

 ここでURLを入力すると

 ログイン画面がでてきた

ログイン画面
ログイン画面
とりあえず、これでインストールは終わった。

 めでたくNextcloudがインストールできたのだ。

 共用SSLの設定も問題なくできた。


最後に  20年前は素人だったため小さいプログラムでも解読する力量がなかったため 本の丸写し、ネットの丸写しにならざる得なかった。  現在はプログラムが大型化しているため、20年前と違って、多少は実力がついても 大型プログラムのソースコードが読めないため、最初から解読は諦めて、 本の丸写し、ネットの丸写しにならざる得ない。  進歩しているのか相変わらずなのか、わからない。  2001年12月21日にシステム奮闘記をはじめてから、あっという間の20年だと思った。

次章:「Zabbix入門。Zabbixのインストール」を読む
前章:「SMB1.0とWindows10の問題。Sambaが見れない問題発生」を読む
目次:システム奮闘記に戻る