Oracle Autonomous Linuxでwordpressサーバを建ててみた

2021/04/25追記: この手順はOracle Autonomouse Linuxが通常のOracle Linuxとは異なるレポジトリで運用されていた2020年12月以前のものです。

2020年12月にOracle Autonomous Linuxでレポジトリ仕様の変更があった がありましたので、現状は普通のOracle Linux環境として設定できますので「CentOS 7 / Oracle Linux 7でWordPressサーバを建てる」を参照ください。

WebサーバをApacheではなくnginxで構成したい、という場合はこの記事を参照してもいいかもしれません。

2023/09/07追記: 2022年ごろ以降のOracle CloudではFree TierでOracle Autonomouse Linuxを使う事ができなくなっています。


Oracle CloudのTOKYOリージョンでFree tierのOracle Autonomouse Linux 7.8環境の作成が出来た。

できたんだけど、標準で提供されているレポジトリの範囲が狭く、通常のOracle Linux 7.8の標準レポジトリにも足りていない。

このため、wordpressサーバを建ててみるかと思っても、要求されるphpおよびmariadbのバージョンに足りていない。

Oracle Autonomous Linuxとしてのマニュアルがなく、ソフトウェア追加に関する制限事項等が分からないが、他に使い道も無いので、通常のOracle Linux 7.8で設定されているレポジトリとかを追加してみることにした。

注意:普通のOracle Linux 7.8やCentOS7にWordpressをインストールする場合は「CentOS 7 / Oracle Linux 7でWordPressサーバを建てる」を参照してください。

php 7.4追加編

いろいろある中、Oracle自身が出していてOracle Linux 7.8でも追加できるPHP Packages for Oracle Linuxかな、と追加してみる。

Oracle Linuxのレポジトリ設定の中からphp7.4部分を抜き出して /etc/yum.repos.d/oracle-php.repo というファイルを作成。

[ol7_developer_php74]
name=Oracle Linux $releasever PHP 7.4 Packages for Development and test ($basearch)
baseurl=https://yum$ociregion.oracle.com/repo/OracleLinux/OL7/developer/php74/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=1

そしてphpをインストール

# yum install php
<略>
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package         Arch       Version               Repository               Size
================================================================================
Installing:
 php             x86_64     7.4.7-1.0.1.el7       ol7_developer_php74     3.4 M
Installing for dependencies:
 apr             x86_64     1.4.8-5.el7           al7                     103 k
 apr-util        x86_64     1.5.2-6.0.1.el7       al7                      91 k
 httpd           x86_64     2.4.6-93.0.1.el7      al7                     1.2 M
 httpd-tools     x86_64     2.4.6-93.0.1.el7      al7                      92 k
 mailcap         noarch     2.1.41-2.el7          al7                      30 k
 php-cli         x86_64     7.4.7-1.0.1.el7       ol7_developer_php74     5.1 M
 php-common      x86_64     7.4.7-1.0.1.el7       ol7_developer_php74     1.1 M

Transaction Summary
================================================================================
Install  1 Package (+7 Dependent packages)

Total download size: 11 M
Installed size: 47 M
Is this ok [y/d/N]: y
<略>
Installed:
  php.x86_64 0:7.4.7-1.0.1.el7

Dependency Installed:
  apr.x86_64 0:1.4.8-5.el7              apr-util.x86_64 0:1.5.2-6.0.1.el7
  httpd.x86_64 0:2.4.6-93.0.1.el7       httpd-tools.x86_64 0:2.4.6-93.0.1.el7
  mailcap.noarch 0:2.1.41-2.el7         php-cli.x86_64 0:7.4.7-1.0.1.el7
  php-common.x86_64 0:7.4.7-1.0.1.el7

Complete!
#

httpdも一緒にインストールされました。

また、wp-cliで使うphp-jsonとサイトヘルスで表示されるエラー対応としてphp-bcmath を追加します。

# yum install php-json php-bcmath
<略>
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package        Arch       Version                Repository               Size
================================================================================
Installing:
 php-bcmath     x86_64     7.4.7-1.0.1.el7        ol7_developer_php74      56 k
 php-json       x86_64     7.4.7-1.0.1.el7        ol7_developer_php74      58 k

Transaction Summary
================================================================================
Install  2 Packages

Total download size: 114 k
Installed size: 160 k
Is this ok [y/d/N]: y
<略>
#

しかし、AMP pluginで使うphp-pear-Net-Curlとサイトヘルスのphp-pecl-imagick はepel系パッケージ、サイトヘルスのphp-gd は依存パッケージのlibvpx(Oracle Linuxでは標準パッケージに含まれる)がなくインストールできなかった。

MariaDB追加編

SQLサーバのmariadb-serverパッケージについては、MariaDB Foundationからmariadb 10.5を導入することにした。

「/etc/yum.repos.d/mariadb.repo」というファイルを作り、以下の内容を入力

# MariaDB 10.5 RedHat repository list - created 2020-06-26 04:54 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.5/rhel7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
#

そののち「yum install MariaDB-server MariaDB-client」を実行してmariadb-serverをインストール

# yum install MariaDB-server MariaDB-client
<中略>
---> Package perl-Compress-Raw-Zlib.x86_64 1:2.061-4.el7 will be installed
--> Finished Dependency Resolution
Error: Package: MariaDB-client-10.5.4-1.el7.centos.x86_64 (mariadb)
           Requires: libpcre2-8.so.0()(64bit)
Error: Package: galera-4-26.4.5-1.el7.centos.x86_64 (mariadb)
           Requires: socat
Error: Package: MariaDB-server-10.5.4-1.el7.centos.x86_64 (mariadb)
           Requires: libpcre2-8.so.0()(64bit)
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest
#

どうやら「pcre2」と「socat」がOracle Autonomous Linuxでは提供されていないパッケージであるようだ。(標準のOralce Linux 7.8ではol7_latestレポジトリに含まれている)

先ほど指定したmariadbレポジトリはRedHat Enterprise Linux 7用だったので、CentOS7用(baseurl=http://yum.mariadb.org/10.5/centos7-amd64 )に変更しても状況は変わらず。

では、とバージョンを10.4に下げてみると成功。成功時のmariadb.repoは以下

# MariaDB 10.4 RedHat repository list - created 2020-06-26 06:01 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.4/rhel7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
# yum install MariaDB-server MariaDB-client
<略>
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package                   Arch     Version                     Repository
                                                                           Size
================================================================================
Installing:
 MariaDB-client            x86_64   10.4.13-1.el7.centos        mariadb    12 M
 MariaDB-compat            x86_64   10.4.13-1.el7.centos        mariadb   2.2 M
     replacing  mariadb-libs.x86_64 1:5.5.65-1.el7
 MariaDB-server            x86_64   10.4.13-1.el7.centos        mariadb    26 M
Installing for dependencies:
 MariaDB-common            x86_64   10.4.13-1.el7.centos        mariadb    81 k
 boost-program-options     x86_64   1.53.0-28.el7               al7       156 k
 galera-4                  x86_64   26.4.4-1.rhel7.el7.centos   mariadb   9.5 M
 perl-Compress-Raw-Bzip2   x86_64   2.061-3.el7                 al7        32 k
 perl-Compress-Raw-Zlib    x86_64   1:2.061-4.el7               al7        57 k
 perl-DBI                  x86_64   1.627-4.el7                 al7       801 k
 perl-Data-Dumper          x86_64   2.145-3.el7                 al7        47 k
 perl-IO-Compress          noarch   2.061-2.el7                 al7       259 k
 perl-Net-Daemon           noarch   0.48-5.el7                  al7        50 k
 perl-PlRPC                noarch   0.2020-14.el7               al7        35 k

Transaction Summary
================================================================================
Install  3 Packages (+10 Dependent packages)

Total download size: 51 M
Is this ok [y/d/N]: y
<略>

Installed:
  MariaDB-client.x86_64 0:10.4.13-1.el7.centos
  MariaDB-compat.x86_64 0:10.4.13-1.el7.centos
  MariaDB-server.x86_64 0:10.4.13-1.el7.centos

Dependency Installed:
  MariaDB-common.x86_64 0:10.4.13-1.el7.centos
  boost-program-options.x86_64 0:1.53.0-28.el7
  galera-4.x86_64 0:26.4.4-1.rhel7.el7.centos
  perl-Compress-Raw-Bzip2.x86_64 0:2.061-3.el7
  perl-Compress-Raw-Zlib.x86_64 1:2.061-4.el7
  perl-DBI.x86_64 0:1.627-4.el7
  perl-Data-Dumper.x86_64 0:2.145-3.el7
  perl-IO-Compress.noarch 0:2.061-2.el7
  perl-Net-Daemon.noarch 0:0.48-5.el7
  perl-PlRPC.noarch 0:0.2020-14.el7

Replaced:
  mariadb-libs.x86_64 1:5.5.65-1.el7

Complete!
#

MariaDB設定編

まず、現在のMariaDBサーバの自動起動設定を確認。

# systemctl list-unit-files|grep mariadb
mariadb.service                               disabled
mariadb@.service                              disabled
#

自動起動しない設定になっているので、自動起動するように変更する

# systemctl enable mariadb.service
Created symlink from /etc/systemd/system/mysql.service to /usr/lib/systemd/system/mariadb.service.
Created symlink from /etc/systemd/system/mysqld.service to /usr/lib/systemd/system/mariadb.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
#

続いてMariaDBの起動状況を確認

# systemctl status mariadb
● mariadb.service - MariaDB 10.4.13 database server
   Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
  Drop-In: /etc/systemd/system/mariadb.service.d
           mqmigrated-from-my.cnf-settings.conf
   Active: inactive (dead)
     Docs: man:mysqld(8)
           https://mariadb.com/kb/en/library/systemd/
#

「Active: inactive (dead)」なので起動していないので「systemctl start mariadb」で起動する。

# systemctl start mariadb
# systemctl status mariadb -l
● mariadb.service - MariaDB 10.4.13 database server
   Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
  Drop-In: /etc/systemd/system/mariadb.service.d
           mqmigrated-from-my.cnf-settings.conf
   Active: active (running) since Fri 2020-06-26 15:08:58 JST; 37s ago
     Docs: man:mysqld(8)
           https://mariadb.com/kb/en/library/systemd/
  Process: 9464 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
  Process: 9419 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`cd /usr/bin/..; /usr/bin/galera_recovery`; [ $? -eq 0 ]   && systemctl set-environment _WSREP_START_POSITION=$VAR || exit 1 (code=exited, status=0/SUCCESS)
  Process: 9417 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
 Main PID: 9430 (mysqld)
   Status: "Taking your SQL requests now..."
   CGroup: /system.slice/mariadb.service
           mq9430 /usr/sbin/mysqld

Jun 26 15:08:57 oci.adosakana.local mysqld[9430]: 2020-06-26 15:08:57 0 [Note] InnoDB: 10.4.13 started; log sequence number 60972; transaction id 21
Jun 26 15:08:57 oci.adosakana.local mysqld[9430]: 2020-06-26 15:08:57 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool
Jun 26 15:08:57 oci.adosakana.local mysqld[9430]: 2020-06-26 15:08:57 0 [Note] InnoDB: Buffer pool(s) load completed at 200626 15:08:57
Jun 26 15:08:57 oci.adosakana.local mysqld[9430]: 2020-06-26 15:08:57 0 [Note] Plugin 'FEEDBACK' is disabled.
Jun 26 15:08:57 oci.adosakana.local mysqld[9430]: 2020-06-26 15:08:57 0 [Note] Server socket created on IP: '::'.
Jun 26 15:08:58 oci.adosakana.local mysqld[9430]: 2020-06-26 15:08:58 0 [Note] Reading of all Master_info entries succeeded
Jun 26 15:08:58 oci.adosakana.local mysqld[9430]: 2020-06-26 15:08:58 0 [Note] Added new Master_info '' to hash table
Jun 26 15:08:58 oci.adosakana.local mysqld[9430]: 2020-06-26 15:08:58 0 [Note] /usr/sbin/mysqld: ready for connections.
Jun 26 15:08:58 oci.adosakana.local mysqld[9430]: Version: '10.4.13-MariaDB'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  MariaDB Server
Jun 26 15:08:58 oci.adosakana.local systemd[1]: Started MariaDB 10.4.13 database server.
#

MariaDB上にWordpress用のデータベースを作成する。

# mysql -u root
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 8
Server version: 10.4.13-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> create database DB名 character set utf8;
Query OK, 1 row affected (0.000 sec)

MariaDB [(none)]> grant all on DB名.* to wordpress@localhost identified by 'w@rdpress';
Query OK, 0 rows affected (0.002 sec)

MariaDB [(none)]> quit
Bye
#

firewall設定

まずfirewallを開ける。

現状のポート開放状況を確認するため「firewall-cmd –list-all」を実行

# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens3
  sources:
  services: dhcpv6-client ssh
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
#

httpとhttpsを追加して、設定を再読込して反映

# firewall-cmd --permanent --zone=public --add-service=http
success
# firewall-cmd --permanent --zone=public --add-service=https
success
# firewall-cmd --reload
success
# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens3
  sources:
  services: dhcpv6-client http https ssh
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
#

Webサーバ設定

nginxへの切り替え

最初はApacheを使おうとしたのですが、Mozilla SSL Configuration Generators推奨設定を行うにはmod_rewriteやmod_headersが含まれていませんでした。

Apache関連の追加レポジトリを探すよりはWebサーバをnginxに切り替えてnginx公式レポジトリを使った方が良いのでは?ということで「nginx: Linux packages」を元に追加

/etc/yum.repos.d/nginx.repo に下記を記載

[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
# yum install nginx
<略>
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package      Arch          Version                   Repository           Size
================================================================================
Installing:
 nginx        x86_64        1:1.18.0-1.el7.ngx        nginx-stable        772 k

Transaction Summary
================================================================================
Install  1 Package

Total download size: 772 k
Installed size: 2.7 M
Is this ok [y/d/N]: y
<略>
#

また、あとで確認したところphp-fpmも必要だったのでインストールします。これはサービスとしても起動します。

# yum install php-fpm
Loaded plugins: langpacks
Resolving Dependencies
--> Running transaction check
---> Package php-fpm.x86_64 0:7.4.7-1.0.1.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package      Arch        Version                Repository                Size
================================================================================
Installing:
 php-fpm      x86_64      7.4.7-1.0.1.el7        ol7_developer_php74      1.7 M

Transaction Summary
================================================================================
Install  1 Package

Total download size: 1.7 M
Installed size: 6.1 M
Is this ok [y/d/N]: y
<略>
# systemctl list-unit-files|grep php
php-fpm.service                               disabled
# systemctl enable php-fpm.service
Created symlink from /etc/systemd/system/multi-user.target.wants/php-fpm.service to /usr/lib/systemd/system/php-fpm.service.
# systemctl start php-fpm.service
#

現在のApacheとnginxの自動起動設定を確認するため「systemctl list-unit-files|grep -e http -e nginx」を実行

# systemctl list-unit-files|grep -e http -e nginx
httpd.service                                 disabled
nginx-debug.service                           disabled
nginx.service                                 disabled
#

どちらも起動状態にないことを確認。

nginxを自動起動にしてから起動

# ystemctl enable nginx.service
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.
# systemctl start nginx.service
# systemctl status nginx.service -l
● nginx.service - nginx - high performance web server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
   Active: active (running) since Fri 2020-06-26 15:58:01 JST; 5s ago
     Docs: http://nginx.org/en/docs/
  Process: 10409 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS)
 Main PID: 10410 (nginx)
   CGroup: /system.slice/nginx.service
           tq10410 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.con
           mq10411 nginx: worker process

Jun 26 15:58:01 oci.adosakana.local systemd[1]: Starting nginx - high performance web server...
Jun 26 15:58:01 oci.adosakana.local systemd[1]: Can't open PID file /var/run/nginx.pid (yet?) after start: No such file or directory
Jun 26 15:58:01 oci.adosakana.local systemd[1]: Started nginx - high performance web server.
#

ブラウザからアクセスできるか確認

Let’s encryptを利用したSSLアクセス有効化

Oracle Autonomous Linuxにはcertbotもdehydratedもありません。

certbotはpython環境を使い大がかりになってしまうので、dehydratedの方を使用します。

githubのdehydratedからダウンロードします。

# wget https://github.com/dehydrated-io/dehydrated/archive/master.tar.gz
# tar xfz master.tar.gz
# ls -l
total 88
drwxrwxr-x. 4 root root  4096 Apr 29 04:36 dehydrated-master
-rw-r--r--. 1 root root 82951 Jun 26 16:32 master.tar.gz 
# 

dehydrated と config を配置します。

# cp dehydrated-master/dehydrated /usr/local/sbin/
# ls -l /usr/local/sbin/dehydrated
-rwxr-xr-x. 1 root root 69787 Jun 26 16:35 /usr/local/sbin/dehydrated
# mkdir /usr/local/etc/dehydrated
# cp dehydrated-master/docs/examples/config /usr/local/etc/dehydrated
# ls -l /usr/local/etc/dehydrated
total 8
-rw-r--r--. 1 root root 4656 Jun 26 16:36 config
#

/usr/local/etc/dehydrated/domains.txt にSSL証明書を取得するドメイン名を列挙します。

dehydratedがSSL証明書取得の際に使用する作業用Web公開ディレクトリ /var/www/dehydrated に関する設定をnginxに行います。

まず、ディレクトリを作成

# mkdir /var/www/dehydrated
#

次にnginx側の設定 を /etc/nginx/conf.d/default.conf のlisten 80に関するlocaltionに下記を追加。

location ^~ /.well-known/acme-challenge {
        alias /var/www/dehydrated;
        break;
}

そして、nginx再起動

# systemctl restart nginx
#

準備が出来たのでdehydratedで登録を開始。

# dehydrated --register
# INFO: Using main config file /usr/local/etc/dehydrated/config

To use dehydrated with this certificate authority you have to agree to their terms of service which you can find here: https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf

To accept these terms of service run `/usr/local/sbin/dehydrated --register --accept-terms`.
#  /usr/local/sbin/dehydrated --register --accept-terms
# INFO: Using main config file /usr/local/etc/dehydrated/config
+ Generating account key...
+ Registering account key with ACME server...
+ Fetching account URL...
+ Done!
# 

前処理が完了したので、実際のSSL証明書発行処理を実施。

# /usr/local/sbin/dehydrated --cron
# INFO: Using main config file /usr/local/etc/dehydrated/config
Processing oci.adosakana.local
 + Creating new directory /usr/local/etc/dehydrated/certs/oci.adosakana.local ...
 + Signing domains...
 + Generating private key...
 + Generating signing request...
 + Requesting new certificate order from CA...
 + Received 1 authorizations URLs from the CA
 + Handling authorization for oci.adosakana.local
 + 1 pending challenge(s)
 + Deploying challenge tokens...
 + Responding to challenge for oci.adosakana.local authorization...
 + Challenge is valid!
 + Cleaning challenge tokens...
 + Requesting certificate...
 + Checking certificate...
 + Done!
 + Creating fullchain.pem...
 + Done!
#

SSL証明書は /usr/local/etc/dehydrated/certs/FQDN名ディレクトリ に作成されます。

nginx側の設定はMozilla SSL Configuration Generator を元に /etc/nginx/conf.d/default.conf を書き換えます。

# generated 2020-06-26, Mozilla Guideline v5.4, nginx 1.17.7, OpenSSL 1.0.1e, intermediate configuration, no OCSP
# https://ssl-config.mozilla.org/#server=nginx&version=1.17.7&config=intermediate&openssl=1.0.1e&ocsp=false&guideline=5.4
server {
    listen 80 default_server;
    listen [::]:80 default_server;

    location ^~ /.well-known/acme-challenge {
        alias /var/www/dehydrated;
    }
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;

    ssl_certificate /usr/local/etc/dehydrated/certs/FQDN名ディレクトリ/fullchain.pem;
    ssl_certificate_key /usr/local/etc/dehydrated/certs/FQDN名ディレクトリ/privkey.pem;
    ssl_session_timeout 1d;
    ssl_session_cache shared:MozSSL:10m;  # about 40000 sessions

    # curl https://ssl-config.mozilla.org/ffdhe2048.txt > /path/to/dhparam
    ssl_dhparam /usr/local/etc/dehydrated/certs/dhparam;

    # intermediate configuration
    ssl_protocols TLSv1.2;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
    ssl_prefer_server_ciphers off;

    # HSTS (ngx_http_headers_module is required) (63072000 seconds)
    add_header Strict-Transport-Security "max-age=63072000" always;
}

Mozilla的にはffdhe2048.txtの配置を推奨するようなので、下記でダウンロードして配置します。

# curl https://ssl-config.mozilla.org/ffdhe2048.txt > /usr/local/etc/dehydrated/certs/dhparam
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   423  100   423    0     0    680      0 --:--:-- --:--:-- --:--:--   681
#

そして、nginxを再起動します。

# systemctl restart nginx
#

ブラウザからhttpアクセスすると、httpsアクセスに変換された上で404 Not Found表示となることを確認します。

Let’s のSSL証明書は定期的に更新処理を実行する必要があります。

/etc/cron.d/dehydrated に下記の内容のファイルを作成します。(EPEL収録のdehydratedパッケージの内容を参考にした)

45 1 * * 4 root test -s /usr/local/etc/dehydrated/domains.txt && /usr/local/sbin/dehydrated --cron

WordPress設定

/var/www/html/wordpress にtar.gzの中身を展開

# tar xfz latest.tar.gz
# ls -l
total 11956
-rw-r--r--. 1 root   root      12238031 Jun 11 06:49 latest.tar.gz
drwxr-xr-x. 5 nobody nfsnobody     4096 Jun 11 06:48 wordpress
# chown -R apache:apache wordpress/
# ls -l
total 11956
-rw-r--r--. 1 root   root   12238031 Jun 11 06:49 latest.tar.gz
drwxr-xr-x. 5 apache apache     4096 Jun 11 06:48 wordpress
#

WordPress用のnginx設定は「nginx WordPress recipe」 を参考に作成した。元はphp-cgiを使用していたが、php-cgiパッケージはないためphp-fpm使用に切り替えている。

# Upstream to abstract backend connection(s) for php
upstream php {
    server unix:/tmp/php-fpm.socket;
    server 127.0.0.1:9000;
}

# generated 2020-06-26, Mozilla Guideline v5.4, nginx 1.17.7, OpenSSL 1.0.1e, intermediate configuration, no OCSP
# https://ssl-config.mozilla.org/#server=nginx&version=1.17.7&config=intermediate&openssl=1.0.1e&ocsp=false&guideline=5.4
server {
    listen 80 default_server;
    listen [::]:80 default_server;

    location ^~ /.well-known/acme-challenge {
        alias /var/www/dehydrated;
    }
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;

    ssl_certificate /usr/local/etc/dehydrated/certs/FQDN名ディレクトリ/fullchain.pem;
    ssl_certificate_key /usr/local/etc/dehydrated/certs/FQDN名ディレクトリ/privkey.pem;
    ssl_session_timeout 1d;
    ssl_session_cache shared:MozSSL:10m;  # about 40000 sessions

    # curl https://ssl-config.mozilla.org/ffdhe2048.txt > /path/to/dhparam
    ssl_dhparam /usr/local/etc/dehydrated/certs/dhparam;

    # intermediate configuration
    ssl_protocols TLSv1.2;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
    ssl_prefer_server_ciphers off;

    # HSTS (ngx_http_headers_module is required) (63072000 seconds)
    add_header Strict-Transport-Security "max-age=63072000" always;

    root /var/www/html/wordpress;

    index index.php;
    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }
    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }
    location / {
        try_files $uri $uri/ /index.php?$args;
    }
    location ~ \.php$ {
        #NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
        include fastcgi_params;
        fastcgi_intercept_errors on;
        fastcgi_pass php;
        #The following parameter can be also included in fastcgi_params file
        fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
    location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
        expires max;
        log_not_found off;
    }
}

phpにMySQLアクセス用パッケージを入れていなかった・・・

またphpの日本語処理に必要なやつもなかったので「yum install php-mysql php-mbstring」でインストールして、php-fpmを再起動

# yum install php-mysql php-mbstring
<略>
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package          Arch       Version              Repository               Size
================================================================================
Installing:
 php-mbstring     x86_64     7.4.7-1.0.1.el7      ol7_developer_php74     497 k
 php-mysqlnd      x86_64     7.4.7-1.0.1.el7      ol7_developer_php74     228 k
Installing for dependencies:
 php-pdo          x86_64     7.4.7-1.0.1.el7      ol7_developer_php74     121 k

Transaction Summary
================================================================================
Install  2 Packages (+1 Dependent package)

Total download size: 845 k
Installed size: 3.2 M
Is this ok [y/d/N]: y
<略>
# systemctl restart php-fpm.service
#

成功

wp-config.php については手動で/var/www/html/wordpress/wp-config.php に作成する必要があったが、それ以外は問題無く実行された。

また、Wordpress上のプラグインインストールや更新についても特に問題なく実行できた。


2020/06/30追記

WordPressのAMPプラグインを動かそうとしたら「dom」が有効にできない、と言われた。

これはphp-xmlに含まれるので「yum install php-xml」で追加したあと「systemctl restart php-fpm.service」を実行した。


2020/07/14追記

wordpressのインポートを行おうとしたらファイルが大きくて「413 Request Entity Too Large」とエラーになった。

まず、 /etc/php.ini の「post_max_size」と「upload_max_filesize」の値を変更して、「systemctl restart php-fpm」を実行

; Maximum size of POST data that PHP will accept.
; Its value may be 0 to disable the limit. It is ignored if POST data reading
; is disabled through enable_post_data_reading.
; http://php.net/post-max-size
;post_max_size = 8M
post_max_size = 10M
; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
;upload_max_filesize = 2M
upload_max_filesize = 20M

また、「/etc/nginx/conf.d/default.conf」のポート443に関するserver定義内で「client_max_body_size」の設定を追加し、「systemctl restart nginx」で再起動します。

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;

    client_max_body_size 20M;
<略>
}

これでアップロードが成功するようになりました。

ONTAP 9.5でsambaドメインに参加できない & ONTAP 9.7で失敗

samba 4.11.6で作ったActive DirectoryにONTAP 9.5を参加させようとするとエラーになる。

ONTAP API が失敗しました: Failed to create the Active Directory machine account "ファイルサーバ名". Reason: LDAP Error: Strong authentication is required Details: Error: Machine account creation procedure failed [ 136] Loaded the preliminary configuration. [ 215] Successfully connected to ip ADサーバIP, port 88 using TCP [ 284] Successfully connected to ip ADサーバIP, port 389 using TCP [ 308] Unable to connect to LDAP (Active Directory) service on ADサーバホスト名 (Error: Strong(er) authentication required) **[ 308] FAILURE: Unable to make a connection (LDAP (Active ** Directory):AD名), result: 7609 . (エラー:13001)

調べたところ、sambaのglobal設定で「ldap server require strong auth = no」を設定する、とのこと。

これを設定し、sambaを再起動したところ、参加できた。


ONTAP 9.7にて、上記手順を実施した上で参加を試みたところ「Unable to connect to NetLogon service on」というエラーになった。

netapp::> vserver cifs create -vserver ファイルサーバ名 -cifs-server ファイルサーバ名 -domain AD名 -ou CN=Computers -default-site "" -status-admin up -comment "" -netbios-aliases ファイルサーバ名

In order to create an Active Directory machine account for the CIFS server, you
must supply the name and password of a Windows account with sufficient
privileges to add computers to the "CN=Computers" container within the
"AD名" domain.

Enter the user name: administrator

Enter the password:

Warning: An account by this name already exists in Active Directory at
         CN=ファイルサーバ名,CN=Computers,DC=xx,DC=xx.
         If there is an existing DNS entry for the name ファイルサーバ名, it must be
         removed. Data ONTAP cannot remove such an entry.
         Use an external tool to remove it after this command completes.
         Ok to reuse this account? {y|n}: y

Error: Machine account creation procedure failed
  [    31] Loaded the preliminary configuration.
  [   107] Created a machine account in the domain
  [   108] SID to name translations of Domain Users and Admins
           completed successfully
  [   113] Modified account 'cn=ファイルサーバ名,CN=Computers,dc=xx
           =CO,dc=JP'
  [   114] Successfully connected to ip xx.xx.xx.xx, port 88 using
           TCP
  [   129] Successfully connected to ip xx.xx.xx.xx, port 464
           using TCP
  [   216] Kerberos password set for 'ファイルサーバ名$@AD名'
           succeeded
  [   216] Set initial account password
  [   223] Successfully connected to ip xx.xx.xx.xx, port 445
           using TCP
  [   274] Successfully connected to ip xx.xx.xx.xx, port 88 using
           TCP
  [   297] Successfully authenticated with DC
           adserver.AD名
  [   322] Unable to connect to NetLogon service on
           adserver.AD名 (Error:
           RESULT_ERROR_GENERAL_FAILURE)
**[   322] FAILURE: Unable to make a connection
**         (NetLogon:AD名), result: 3
  [   322] Unable to make a NetLogon connection to
           adserver.AD名 using the new machine account

Error: command failed: Failed to create the Active Directory machine account
       "ファイルサーバ名". Reason: general failure.

netapp::>

このとき「vserver cifs security show -vserver ファイルサーバ名」で確認する「SMB? Enabled for DC Connections」は下記の通り。

netapp::> vserver cifs security show -vserver ファイルサーバ名

Vserver: ファイルサーバ名

                            Kerberos Clock Skew:                   - minutes
                            Kerberos Ticket Age:                   - hours
                           Kerberos Renewal Age:                   - days
                           Kerberos KDC Timeout:                   - seconds
                            Is Signing Required:                   -
                Is Password Complexity Required:                   -
           Use start_tls for AD LDAP connection:               false
                      Is AES Encryption Enabled:               false
                         LM Compatibility Level:  lm-ntlm-ntlmv2-krb
                     Is SMB Encryption Required:                   -
                        Client Session Security:                none
                SMB1 Enabled for DC Connections:               false
                SMB2 Enabled for DC Connections:      system-default
  LDAP Referral Enabled For AD LDAP connections:               false
               Use LDAPS for AD LDAP connection:               false

netapp::>

「SMB1 Enabled for DC Connections」をtrueに変更しても状況は変わらず。

Sambaサーバの /usr/local/samba/var/log.samba を確認すると、以下の出力があった。

[2020/08/07 14:26:55.226653,  0] ../../source4/rpc_server/netlogon/dcerpc_netlogon.c:284(dcesrv_netr_ServerAuthenticate3_helper)
  dcesrv_netr_ServerAuthenticate3_helper: schannel required but client failed to offer it. Client was ファイルサーバ名$

「schannel」というオプションが必要らしい。

Netlogon Issue “schannel required”」を参考に設定してみたところ、schannelというオプションはないというエラー…「Bug 13464 – smb.conf-configuration “server schannel = auto” needed in future versions」を見ると「server schannel = auto」が正しい模様。

/usr/local/samba/etc/smb.conf を下記の様に修正して、sambaを再起動したところ、ONTAP 9.7でのActive Directoryの参加が可能になった。

# Global parameters
[global]
        netbios name = ADサーバ名
        realm = AD名
        server role = active directory domain controller
        workgroup = AD名
        idmap_ldb:use rfc2307 = yes
        ldap server require strong auth = no
        server schannel = auto

[netlogon]
        path = /usr/local/samba/var/locks/sysvol/AD名/scripts
        read only = No

[sysvol]
        path = /usr/local/samba/var/locks/sysvol
        read only = No

Ubuntu 20.04でIPアドレスを設定する

なんか嘘の設定方法がはびこっているので正しい手法をメモ書き

まず、Ubuntu 20.04をIPアドレスをdhcp取得でインストールすると、「/etc/netplan/00-installer-config.yaml」に下記のような内容の設定ファイルを作成される。

# This is the network config written by 'subiquity'
network:
  ethernets:
    ens160:
      dhcp4: true
  version: 2

上記の「ens160」はNICのデバイス名なので使用するNICによって名称が変化する。

で、この /etc/netplan/00-installer-config.yaml とか /etc/netplan/50-cloud-init.yaml とか /etc/netplan/01-netcfg.yaml を変更する、という手順は「誤り」です。

正しい手法はUbuntuの公式ドキュメント「Network Configuration」の「Dynamic IP Address Assignment (DHCP Client)」と「Static IP Address Assignment」に記載されているように「/etc/netplan/99_config.yaml」というファイルを新規作成して、そこで設定します。

これは、netplanコマンドは/etc/netplan/にある数字で始まるファイルを00から順に読み込み99を一番最後に読み込むので、99_config.yamlで記載した内容で上書きされて設定される、という動作になっているためです。

Ubuntu公式サイト上では固定IPアドレス設定時に「dhcp4:false」を設定する、なんてことは書いてありません(2020/05/18時点)が、初期インストール時にdhcp取得を選択していると00-installer-config.yaml上では「dhcp4:true」が設定されているため、ens160に対してdhcpで取得したIPアドレスと固定IPアドレスの双方が割り当てられるという状況になってしまいます。

それを防ぐためには下記の様に「dhcp4:false」を設定した上で、固定IPアドレスの設定を入れる、ということが必要になります。

network:
    version: 2
    renderer: networkd
    ethernets:
        ens160:
            dhcp4: false
            addresses:
                - 172.17.44.240/16
            gateway4: 172.17.0.1
            nameservers:
                search: [adosakana.local]
                addresses: [172.17.44.49]

また、ホスト名については、「hostnamectl」コマンドを使用します。(追加で/etc/hostsのエントリ修正も必要です)

まず「hostnamectl」を実行して現在の値を確認します。

osakanataro@ubuntu:~$ hostnamectl
   Static hostname: ubuntu
         Icon name: computer-vm
           Chassis: vm
        Machine ID: adcd0e151d91412581407a94fc19a4c5
           Boot ID: 1ca98f3699d34707b58595e059708d0a
    Virtualization: vmware
  Operating System: Ubuntu 20.04 LTS
            Kernel: Linux 5.4.0-29-generic
      Architecture: x86-64
osakanataro@ubuntu:~$

ホスト名は「hostnamectl set-hostname 新しいホスト名」で設定します。

osakanataro@ubuntu:~$ sudo hostnamectl set-hostname ubuntu20
[sudo] password for osakanataro:
osakanataro@ubuntu:~$ hostnamectl
   Static hostname: ubuntu20
         Icon name: computer-vm
           Chassis: vm
        Machine ID: adcd0e151d91412581407a94fc19a4c5
           Boot ID: 1ca98f3699d34707b58595e059708d0a
    Virtualization: vmware
  Operating System: Ubuntu 20.04 LTS
            Kernel: Linux 5.4.0-29-generic
      Architecture: x86-64
osakanataro@ubuntu:~$

なお、hostnamectlだけだと/etc/hostsの127.0.1.1に記載されているホスト名が書き換わらないので、こちらは手動で変更します。


2021/12/13追記

bondingとtag vlanを設定する場合

NIC 2個使ってLACP(802.3ad)を組んで、そこにタグでVLAN ID 139を作りたい場合、下記の様になる。

network:
    version: 2
    renderer: networkd
    ethernets:
        ens160:
            dhcp4: false
            optional: true
        ens192:
            dhcp4: false
            optional: true
    bonds:
        bond1:
            interfaces:
              - ens160
              - ens192
            parameters:
              mode: 802.3ad
              transmit-hash-policy: layer3+4
              mii-monitor-interval: 1
            dhcp4: false
    vlans:
        vlan.139:
            id: 139
            link: bond1
            dhcp4: false
            addresses:
                - 172.17.44.240/16
            gateway4: 172.17.0.1
            nameservers:
                search: [adosakana.local]
                addresses: [172.17.44.49]

リンク速度固定にしたい場合は「Ubuntu 20.04 でリンク速度固定をする」を参照のこと

LTOテープをファイルシステムとして使うLTFSについて 2025/02/25版

前回LTFSの現状についてまとめた記事から2年が経過した。
(「LTOテープをファイルシステムとして使うLTFSについて 2018/01/04版」)

LTO-8のテープメディアに関して発生していた特許騒動も解決し、ようやくLTO-8が普通に使える状況になりました。最近の状況について調査した。

2020/05/11 初回投稿
2020/11/11 部分修正
2021/02/04 LTFS 2.5.1対応
2021/03/10 IBM版の更新を反映
2022/04/11 ISOに関して追記。細々修正
2022/10/14 HPEとOracleの記述修正
2022/11/09 HPE StoreOpenがテープチェンジャ非対応ということが確定。オープンソース版追加
2025/02/25 最近の状況を追加


過去のLTFS関連記事
 「LTOテープをファイルシステムとして使うLTFS(2012/11/28)
 「テープ装置メーカ純正のLTFS一覧(2013/12/20更新)
 「IBM版LTFSをRHEL5で使ってみた(2013/05/20)
 「LTOテープをファイルシステムとして使うLTFSについて 2014/06/09版
 「LTOテープをファイルシステムとして使うLTFSについて 2015/11/18版
 「LTOテープをファイルシステムとして使うLTFSについて 2018/01/04版


LTFSとは?

LTO-5/LTO-6からは、メディアを2つの領域に分割して利用することが可能になった。
その機能を活かし、1本のテープメディアの中に、メディア内データの管理情報と、実データを分割して保存することを可能とした。
これにより、これまで実現出来なかった、1本のテープメディアだけで可搬性のあるファイルシステム構築、というものが可能となり、その実装として、LTFS(Linear Tape File System)というのがある。

使用用途としては、バックアップ用ではなく、長期保存のためのアーカイブ用や、大容量データの持ち運び用として使用されている。

LTFSを実現するためのソフトウェアについては、基本的には、IBMが大本のベースを作り、それを各LTOドライブメーカが、自社ドライブ向けにカスタマイズして提供しているような形となっている。

LTFSのバージョン(フォーマット)

LTFSには、バージョンがいくつかあり、現状の最新バージョンはLTFS v2.5
・LTFS 1.0
・LTFS 2.0 : ファイルインデックス関連で機能をいろいろ追加
・LTFS 2.1 : 2012/05/18リリース。LTFS2.0+シンボリックリンク
・LTFS 2.2 : 2013/12/21リリース。管理情報の改良。2016年4月にISO/IEC 20919:2016として登録
・LTFS 2.3 : 2016/03/08リリース。各ファイルのハッシュ情報とファイル名のエンコーディングを追加
・LTFS 2.4 : 2017/12/01リリース。ボリュームのロックなどの追加
・LTFS 2.5 : 2019/05/19リリース。(Revision Historyが規格書に書かれていない…)Incremental Indexの追加
・LTFS 2.5.1: 2020/08/18リリース。細かい修正。2021年7月にISO/IEC 20919:2021 として登録

「LTFSのバージョン」と「LTFSソフトウェアのバージョン」は別物なので注意が必要。
たとえば、OracleのLTFSソフトウェアは「ver1.2.7」だが、「LTFS 2.2」に対応している。

LTFS2.2対応は重要だが、LTFS2.3対応はそれほど重要ではないので、とりあえず、現行リリースされているLTFSソフトウェアはほぼLTFS2.2以降対応なので、あまり心配しなくてもよさそう。2022/11/09時点でもLTFS v2.5対応はまだ無い模様。

LTFSv2.5の規格書はSNIAの「Linear Tape File System (LTFS)」の「Linear Tape File System (LTFS) Format Specification」にてpdfで公開されている。
LTFS v2.5で追加された「Incremental Backup」というのは、いままでは「フルバックアップ」と「前のバックアップとの増加分のバックアップ(Diff)」という2つの概念だったものが、「前のフルバックアップからの増加分のバックアップ(Incr)」が追加されたというもので、バックアップソフト側の概念としては昔からあるものになる。

その他、いろんな情報は、LTOの規格団体の「LTFS Overview」にある。

LTFSソフトウェアの種類

LTFSの公式認証を取得しているLTFSソフトウェアについては、「LTFS Compliance Verification」にて紹介されていたが、2021/03/10現在では該当ページが消滅している。

2020/05/11時点では以下の8個が登録されていた・・・「Date tested」の最新が2016年というあたりメンテナンスされていないのがわかるページだったので消滅も仕方がない感じである。

CompanyProductVersionLTFS VersionLTO GenerationDate tested
QuantumQuantum Scalar LTFS Appliance2.0.22.0.1LTO5 & 69/11/13
HPHP StoreOpen Standalone2.1.02.1.0LTO5 & 69/11/13
IBMIBM Single Drive Version1.3.02.1.0LTO5 & 69/11/13
IBMIBM LTFS Library EditionV1R32.1.0LTO5 & 610/2/13
QuantumQuantum LTFS2.1.02.1.0LTO5 & 611/29/13
HPHP StoreOpen Automation1.2.02.0.1LTO5 & 611/29/13
Spectra LogicSpectra Logic Black Pearl1.12.2LTO5 & 69/11/15
MT-ConsultingNODEUM1.12.1.0LTO5 & 67/05/16

なお、LTFSソフトウェアのバージョンと、対応しているLTFSフォーマットのバージョンに直接の関連性は無いので注意が必要。

また、LTOの規格団体の「LTFS Overview」のページに「Get Started Using LTFS」として紹介されているものは「HPE LTFS」「IBM LTFS」「Quantum LTFS (リンクは死んでいる)」の3種類である。


現状開発が継続していると思われるLTFSソフトウェアについて

・オープンソース版

よく探したらgithubにオープンソース版の開発ツリーがあった

公式: https://github.com/LinearTapeFileSystem/ltfs

単体ドライブ用で、IBM,HP,Quantumドライブに対応している

v2.4.0.0リリースからgithubに移動したらしい。

IBM Storage Archive SDE(Single Drive Edition)相当の機能を持っていて、2025/02/25時点では、IBM Storage Archive 2.4.7.1 (10515)  相当のバージョンが提供されている。

・IBM

公式: IBM Storage Archive

IBMのLTFSは2025年2月時点では「IBM Storage Archive」という製品名となっている。「IBM Spectrum Archive」という商品名になっている。テープベンダのSpectra Logicとは関係がない。

サポートURLは以前は各プロダクト用ページがあったが、2022/11/09現在は見当たらず「IBM Support」から検索、という感じのようだ。それぞれ「IBM Spectrum Archive Single Drive Edition (SDE)」「IBM Spectrum Archive Library Edition (LE)」「IBM Spectrum Archive Enterprise Edition (EE)」となる。

ドキュメントはIBM Documentation productsページから探す

最近のバージョン(2.4.7と2.4.6)は「IBM Storage Archive Single Drive Edition (SDE) documentation」「IBM Storage Archive Library Edition (LE) documentation」「IBM Storage Archive Enterprise Edition (EE) documentation

旧バージョンは「IBM Spectrum Archive Single Drive Edition (SDE) documentation」「IBM Spectrum Archive Library Edition (LE) documentation」「IBM Spectrum Archive Enterprise Edition (EE) documentation」。

また、アップデート用ファイルの入手は、「Fix Central」にて「製品グループ:System Storage」-「Tape Systems」-「Tape drives and software」の下にある「IBM Spectrum Archive Single Drive Edition(SDE) (旧名:LTFS Single Drive Edition)」や「IBM Spectrum Archive Library Edition(LE)(旧名:LTFS Library Edition)」「IBM Spectrum Archive Enterprise Edition(EE)」を選択することで入手する。

2025/02/25時点ではFix Central上の登録は旧名のSpectrum Archiveになっているが、ちゃんとIBM Storage Archiveとしてのアップデートが表示される。

なお、LEとEEの方はアップデータのみの配布で、元になるソフトウェアについては、IBMから別途入手する必要がある。
基本的には、Single Drive Edition(SDE)が、他の全てのLTFSソフトウェアの原型になっているもの・・・という感じである。

2025/02/25時点での最新は、
IBM Spectrum Archive Enterprise Edition: ver1.3.5.1(2025/02/13) LTO-9対応/LTFS2.4対応
IBM Spectrum Archive Library Edition : ver2.4.7.1(2025/02/13) LTO-9対応/LTFS2.4対応
IBM Spectrum Archive Single Drive Edition: ver2.4.7.1(2025/02/13) LTO-9対応/LTFS2.4対応

・HP

公式: HPE StoreOpen and Linear Tape File System (LTFS) Software
公式2: HPE StoreOpen and Linear Tape File System (LTFS) Software
日本語情報: HP LTFS (Linear Tape File System) 2025/02/25時点での日本語ページを発見できず
HPEサポートセンター: HPE LTFS Software / 日本語

以前は単体ドライブ向けの「日本語の導入マニュアル」が公開されていたがアクセスできなくなっている。

ソフトウェア関連は「HPE LTFS Software」からたどる事になる。

ソフトウェアの入手は、以前は単体ドライブ向けの「HP StoreOpen Standalone」とチェンジャー向け「HP StoreOpen Automation」が分かれていたが、現在は「HPE StoreOpen Software(LTFS)」に統合されているに統合されたことになっているのだが、試してみた感じでは単体ドライブ用の機能しかなかった。

この件について「HPE StoreOpen Software Linux and Mac 3.5 User Guide Frequently asked questions」にWindows向けStoreOpen については ver 3.4.0 以降ではライブラリ/チェンジャーに対応しているが、Linux向けについては単体ドライブしかサポートしない、との記載があることを確認した

Q: Can I use LTFS with tape libraries?
A: From v3.4, the Windows version of StoreOpen Software does offer support for HPE’s range of tape libraries; however the Linux & Mac versions do not provide such support. Tape drives located in tape libraries can be used, but there is no support for listing or changing cartridges. It may be possible to use other third party utilities for such purposes but that is beyond the scope of StoreOpen Software and HPE is unable to support customers experimenting with such configurations.

2025/02/25でも2022/11/09時点での最新は、
HP StoreOpen Software : ver3.5.0(2022/01/24) LTO-9対応/LTFS 2.4対応
また、ソースコードもダウンロードできる。

・Quantum

公式: Linear Tape File System

ソフトウェア入手は上記の公式ページの「Software」タブから行う。
ソースコードについては、LTFS Open Source Filesから。どちらも2019年から更新されていない。

2025/02/25時点での最新は下記
Linux/Mac : ver2.4.6.1(2024/06) LTO-9/LTFS2.4対応
Windows Model Bドライブ向け: ver3.0(2016/04) LTO-6以降という曖昧な記述のみ
Windows Model Cドライブ向け: ver2.4.5.0(2023/07) LTO-9/LTFS2.4対応。Windows向けの最終版

Linux版のReleasenoteには、Quantum LTOドライブのほか、IBM LTOドライブにも対応という記述がある。

・Spectra Logic

公式:Linear Tape File System (LTFS)

LTFSを紹介するページはあるものの、LTFSを利用するソフトウェアに関するページが見当たらない。
「Spectra libraries are compatible with LTFS software and hardware solutions from a range of providers.」とあるので自社では直接提供していないようだ。

・MT-C NODEUM

公式:NODEUM

リストには「MT-Consulting」とあるが「MT-C」と改称した模様。
階層型ストレージとして、ディスクとテープなどを組み合わせて使用できるようにする、ソフトウェアのみを販売している?



リストに載っていないか死んだLTFS

・Quantum Scalar LTFS Appliance

公式:Scalar LTFSアプライアンス

ハードウェアがセットになったアプライアンス。
これの下にFC経由などでテープチェンジャーを繋いで使うもの。

バックアップアプライアンスに統合されたんだと思われる。

・TANDBERG DATA

2022/04/11時点のメーカWebには掲載が無くなっていたが、2022/11/09に再確認したら、「LTO Ultrium LTFS」でページは復帰していた。しかし、LTFS Softwareの入手先として「IBM SPECTRUM ARCHIVE SINGLE DRIVE EDITION」とIBM版を直接示すようになっているため、独自開発からは撤退した模様。

公式: LTFS for Archive

以前は「LTFS for Big Data」という扱いだったが、「Archive」にかえたようだ。

ソフトウェアの入手は「LTFS Downloads for LTO-5/6(legacy drive)」か「LTFS Downloads for OV-TAD LTO(LTO-7/8)」から行う。

2021/03/10時点での最新は
LTO-5/6向け: ver 3.3.0
LTO-7/8向け: ver 2.4.1.2

ページは英語表記だが、ドキュメントアイコンが日の丸になってるとおり、ダウンロードできるドキュメントはLinux用/Windows用が日本語化されている。
一部TANBERGカスタマイズが入っているようだが、基本的にはIBM Archive Single Drive Edition相当品。

・Oracle

2022/04/11時点ではメーカWebから記載が消えた。ossサイトにあったものも消えた。
2022/10/14時点では、https://lb-oss.oracle.com/projects/ltfs/ から単体ドライブ用のltfs-1.2.7が入手可能となっていた。

公式: Oracle’s StorageTek Linear Tape File System, Open Edition
以前はOracle製品としてのページ: Oracle StorageTek Linear Tape File System (LTFS), Open Edition and Library Edition があったが2021/03/10現在では消滅しているので基本は自社提供はしていないようだ。

現状でも、Oracle版のLTFSソフトウェアのうち単体ドライブ向けの入手は「https://oss.oracle.com/projects/ltfs/files/」から行うことはできる。(ライブラリ向けLTFS-LEは入手不可)

2021/03/10時点での最新は2015年時点と変わらず
ltfs-1.2.7(2015/10/07)

IBM LTFS 2.2.0.2とHP LTFS 2.2.1を組み合わせ、Oracle/StorageTek用の設定を入れたもの。
Oracle LTOドライブ,IBM LTOドライブ,HP LTOドライブに対応している。

LTFS For Dummies」という51ページのPDFを公開しているのが興味深い。
??? For Dummiesは、アメリカで販売されているいろんな分野の初心者向け書籍シリーズ。「ダミー人形向けの」→「バカでも分かる」というものなんだけど・・・このLFS for Dummies、解説具合が微妙過ぎるなぁ・・・

StorageTek Linear Tape File System, Library Edition Japanese Online Documentation」にて日本語ドキュメント群がhtml/pdfで公開されている。以下の4種類がすべてちゃんとした日本語なのは貴重。

StorageTek Linear Tape File System, Library Edition 計画およびインストールガイド
StorageTek Linear Tape File System, Library Edition 管理ガイド
StorageTek Linear Tape File System, Library Edition Web サービスアプリケーションプログラミングインタフェースプログラマーズガイド
StorageTek Linear Tape File System, Library Edition セキュリティーガイド


LTFS関連のツール紹介

・LTOpers

公式: https://github.com/amiaopensource/ltopers

LTFSを使いやすくするためのBASHスクリプトのフロントエンドプログラム
Quantum LTFS 2.4向けで、Homebrewでインストールし、ということなので、MacOSX向けとして作られているようだが、スクリプトを読むと.linuxbrewディレクトリがあった場合の条件分岐があるので、Linuxでも使えそう。


ドキュメント紹介

・富士通のドキュメント

富士通のWebにいくつか日本語解説ページがある。

カートリッジテープに記録されているデータをファイル形式で扱える LTFSオプション

書庫探(しょこたん) > ストレージ技術用語解説 > LTFSとは

マニュアル一覧にて「テープライブラリ (ETERNUS LT)」で検索して出てくる「ETERNUS LT series 用 LTFSオプション ユーザーズガイド

とくに「LTFSオプション ユーザーズガイド」はLTFS全般に関して日本語で解説されているよい文章と言える

コマンド操作についてはチェンジャー/オートローダー利用時の使い方がメインであるが、単体ドライブの場合についてもだいたい同じである。

・Oracleのドキュメント

いまは更新が停止しているがOracle版ltfsについては日本語マニュアルが完備している。

StorageTek Linear Tape File System, Library Edition Japanese Online Documentation Library
Release 1.0

 ・Planning and Installation Guide
 ・Administration Guide
 ・Application Programming Interface Guide
 ・Security Guide

無償系アンチウイルスソフト 2020/04/14

Windows10だと標準のままでいっかぁ、という感じも強いですが、いまも生きてる無償系アンチウイルスソフトって何があるのかな、と探した結果です。

前回は2019/03/19付け調査でした。

2022/11/08追記

なんかNortonがさらに強大になってNorton, Avast, LifeLock, Avira, AVG, CCleaner, ReputationDefenderが同じ会社になっていました。そして新社名「Gen Digital Inc」になっていました。ただ、ソフトウェアの統合については未定のようです

AVAST!とAVG

2016年7月にAvastがAVGを買収(「無償ウイルス対策のAvastがAVGを買収へ。買収額は13億米ドル」)したのですが、2020年4月になってもプロダクトも会社も並行稼働しています。

Avast Free Antivirus」と「AVG Free

有名どころだから今回インストール実験はしていない。

2021/08/13追記: NortonがAvastを買収するという(アンチウイルスのAvastとNortonが合併)
 今後はどうなっていくのやら?

COMODO

COMODOはプロダクトがよく分からない。

探すと「Comodo Free Antivirus 2020(free-cav)」「Comodo Antivirus for Windows 10 Free(cloud-antivirus)」「Comodo Cloud Antivirus(cloud-antivirus)」の3種類のページが出てくるが、「FREE ANTIVURS」のリンク先は「free-cav」と「cloud-antivurs」の2種類があるように見える。

COMODOのBest Free Antivirus Program (Updated List of 2020)というページでお薦めのフリーアンチウイルスを教えると言うページがあるのだが、冒頭のリンクはfree-cav、ページ半ばではcloud-antivirusと一貫性がなくほんとよく分からなかった。

実際にインストールして確認してみたところ、どれをインストールしても結局 Comodo Antivirusでした。→検証「Comodo AntiVirusをインストールしてみた
日本語UIなのはいいんだけど、パターンファイルが自動的にアップデートされなかったのが気にかかるところ。

Comodo Antivirus for Linux」が同じくFreeでもリリースされており、Debian/Ubuntu/Mint,RHEL/CentOS/Fedora,SuSEなどで使用できる。

ただ、2019年3月時点でサポートOSが「Ubuntu 12.04 / Red Hat Enterprise Linux Server 5.9, 6.3 / Fedora 17 / SUSE Linux Enterprise Server 11 / OpenSUSE Linux 12.1 / Debian 6.0 / CentOS 5.9, 6.2 / Mint 13 / CentOS 5.8, 6.2」と古めだったのだが、2020年4月になっても変わっておらず、お亡くなり気味な感じですね。

サポートメールシステムとして「Sendmail 8.14.4 / qmail 1.06 / Postfix 2.5.x or higher / Exim 4.x / Amavis 2.6.4」とあるが、メールサーバで使ってもよいのだろうか?

Avira

Avira Free Security」「Avira Free Antivirus」の2種類があるようにみえるが、インストールしてみるとどちらも「Avira Antivirus」だった。日本語UIあり→検証「Aviraをインストールしてみた

panda

クラウド型をうたう「panda antivirus

一時期日本の代理店があったようだけど2019年の段階でなくなっており、2020年になると日本語ページも消えてしまった。

インストールしてみたところ、日本語UIは用意されていなかった。→検証「Panda Free Antivirusをインストールしてみた

2022/08/12追記: 2020年6月にPanda SecurityがWatchguard社に買収されてた

Rising Antivirus

日本ではウイルスキラーという名前で販売されたこともある商品。

ウイルスキラーは2013年1月に終了し、英語版のRising Antivirusも2013年9月に終了した。

中国版の「瑞星杀毒软件」は2020年も稼働中だが、無料版は無くなっている。

2023/05/10時点の中国版販売ページは瑞星杀毒软件V17商城で、Windowsサーバ向け(39元/month)とWindowsクライアント向け(19元/month)の2種類が販売されていた

Immunet Protect

Immunet」は元々ClamAVを元に独自エンジンも搭載したものとして開発されたもの。ClamAVごと2011年にSourcefireという会社に買収。2014年にSourcefireがCiscoに買収されたため、現在はCisco傘下のプロダクトになっている。

gredアンチウイルスとして日本語版が公開されていたがこちらは2017年に提供は終了。

インストールしたところ日本語UIは無かった→検証「Immunetをインストールしてみた

2022/08/12追記:Ciscoでの有償プロダクト名は「Cisco Secure Endpoint(旧Cisco Advanced Malware Protection for Endpoints / サポートページ)」

adaware

adaware antivirus free

今回試していない。

Bitdefender

Bitdefender Antivirus Free Edition

Bitdefenderの日本語ページからはアクセスできない場所にあるようで、検索しないとたどり着けなかった。

インストールしてみたところ、ユーザ登録が必須だったので、それ以上進めていない→検証「Bitdefenterをインストールしてみた

eScan

Free eScan Anti-Virus Toolkit (MWAV)」常駐型ではない単なるウイルス検査のソフトウェア。

300MB弱のmwav.exeをダウンロードし、管理者権限で実行するとテンポラリに展開してから実行される。意外にも日本語でUIが表示された。


2020/06/14 追記

Kaspersky

2017年に登場した「Kaspersky Security Cloud – Free」、死んだと思ってたら、実はまだ生きていた模様。

Kasperskyの会員登録は必要となるようだ。

インストールした所、日本語UIは無かった→検証「Kaspersky Security Cloudをインストールしてみた

2023/02/25追加分

Malwarebytes

アメリカでのアンチウイルスソフトのシェア調査「2023 Antivirus Market Annual Report 」に、有料ソフトのシェアと無料ソフトのシェアが記載されていた。

無料ソフトとして「Malwarebytes」が掲載されていた。