2021年10月10日
CentOS8のポリシー変更で、継続使用が難しくなり、CentOS版のPACSはCentOS7のままでした。
新なプロジェクトAlma Linux 8.4(RHELクローン)がリリースされましたので、その上でdcm4chee2.18.3の構築を試行中です。
とりあえず、成功したところまで記載する。
Alma Linux 8.4はHPからDVDイメージをダウンロードして、イメージモードでブータブルUSBを作ってください(メモリ16G)。イメージモードじゃないとローカルインストールできません。後は普通にインストールです。「ワークステーション、ソフトウエアは全部」でインストールします。
この状態では、OpneJAVA 8とMariaDBの一部が入っているようです。JAVAはそのままで進めます。
MariaDBはMySQL5.7と競合するので削除します。
新なプロジェクトAlma Linux 8.4(RHELクローン)がリリースされましたので、その上でdcm4chee2.18.3の構築を試行中です。
とりあえず、成功したところまで記載する。
Alma Linux 8.4はHPからDVDイメージをダウンロードして、イメージモードでブータブルUSBを作ってください(メモリ16G)。イメージモードじゃないとローカルインストールできません。後は普通にインストールです。「ワークステーション、ソフトウエアは全部」でインストールします。
この状態では、OpneJAVA 8とMariaDBの一部が入っているようです。JAVAはそのままで進めます。
MariaDBはMySQL5.7と競合するので削除します。
インストールが終わったら、まずは、以下のことを行いました。
########## コマンドはルートで実行すること ##############
1)まずはNTFSマウントに必要なコマンドから。まず標準リポジトリを追加してから、
yum -y install epel-release
yum -y install ntfs-3g
exFAT形式のUSBメモリをマウント
wget https://forensics.cert.org/cert-forensics-tools-release-el7.rpm
rpm -Uvh cert-forensics-tools-release*rpm
yum --enablerepo=forensics install exfat-utils
2)SELinuxの無効化
あまり良くはないのでしょうが、大抵のシステムでSELinuxの無効化を要求されるので初めから無効化しておくことにします。
cp -p /etc/selinux/config /etc/selinux/config.default
sed -i -e 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
reboot
3)ファイアウォールの停止
SELinuxと同じくあまり良くはないのでしょうが大抵のシステムでファイアウォールの無効化を要求されるので、こちらも初めから無効化しておくことにします。
systemctl stop firewalld
systemctl disable firewalld
4)基本ツールのインストール
dnf -y groupinstall base
dnf -y groupinstall development
dnf -y groupinstall network-tools
*インストール済みのパッケージを、最新版にアップデートします。
dnf -y update
5)アイコンを小さく
ファイラーの設定で一括小さくできる
6)フォルダ名を英語に
デフォルトでは各ユーザーごとに日本語
ユーザーで
LANG=C xdg-user-dirs-gtk-update
7)他のソフトウエハお好みで入れてくださいね。
8)IcedTea-Web
理由は知らないが、JAVAに同梱されなくなった。JAWAWS(JPLNファイル実行)関連ファイルのインストールを行う。コレをいれないとJNLPファイルが実行されない
dnf install icedtea-web
9)VLC
# dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
# dnf -y install https://download1.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm
# dnf -y install vlc --enablerepo=epel
###################################################
########## JAVA編 ####################
###################################################
「ワークステーション」「All」でインストールすると OpneJAVA 8 がインストールされるので、そのままでよい。
############################################################
############ MySQL編 ######################
############################################################
###### リポジトリをインストールする方法(今回はこれで作成した) ########
MySQL5.7のパッケージはCentOS7までにしか配布されていません。
その為、CentOS7の配布先にあるパッケージを参照してインストールします。
今回は、現時点で提供されているMySQL5.7用の最新のリポジトリを追加してインストールしてみます。
https://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/
ここからMySQL5.7のパッケージとリポジトリファイルがダウンロードできます。
リポジトリは以下のものです。
https://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/mysql57-community-release-el7-10.noarch.rpm
では、実際にサーバでリポジトリを追加してみます。
dnf install https://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/mysql57-community-release-el7-10.noarch.rpm
repoファイルを確認してみます。
cat /etc/yum.repos.d/mysql-community.repo
抜粋
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
ちゃんとMySQL5.7の参照先が記載されています。
あとはインストールするだけなのですが、先にMySQLのモジュールを無効化します。
CentOS8からパッケージのインストールがモジュール単位で管理されており、デフォルトのままだとMySQL8がインストールされてしまいます
dnf module disable mysql
dnf module list mysql
ちなみにモジュールの無効化を実施しないと、以下のようにインストールする事が出来ません。
dnf install mysql-community-server
メタデータの期限切れの最終確認: 0:02:28 時間前の 2020年12月13日 11時56分07秒 に実施しました。
すべての検出結果は引数のモジュラーフィルタリングに一致しません(filter out): mysql-community-server
エラー: 一致するものが見つかりません: mysql-community-server
別法としてリポジトリの無効化という方法もあるようです
Disable MySQL 8 repository:
sudo dnf config-manager --disable mysql80-community
Then enable channel for MySQL 5.7.
sudo dnf config-manager --enable mysql57-community
dnf install mysql-community-server
メタデータの期限切れの最終確認: 0:02:01 時間前の 2020年12月13日 11時56分07秒 に実施しました。
依存関係が解決しました。
=============================================================================
パッケージ アーキテクチャー バージョン リポジトリー サイズ
=============================================================================
インストール:
mysql-community-server x86_64 5.7.32-1.el7 mysql57-community 173 M
依存関係のインストール:
mysql-community-client x86_64 5.7.32-1.el7 mysql57-community 25 M
mysql-community-common x86_64 5.7.32-1.el7 mysql57-community 308 k
mysql-community-libs x86_64 5.7.32-1.el7 mysql57-community 2.3 M
ncurses-compat-libs x86_64 6.1-7.20180224.el8 baseos 331 k
トランザクションの概要
============================================================================
インストール 5 パッケージ
ダウンロードサイズの合計: 201 M
インストール済みのサイズ: 876 M
これでよろしいですか? [y/N]:
エラー: トランザクションテストエラー:
ファイル /etc/my.cnf (パッケージ mysql-community-server-5.7.35-1.el7.x86_64 から) は、パッケージ mariadb-connector-c-config-3.1.11-2.el8_3.noarch からのファイルと競合しています。
と出て、MariaDBと競合している模様。
MariaDBのインストール状態をチェック
yum list installed | grep -i mariadb
[root@localhost kondou]# yum list installed | grep -i mariadb
mariadb-connector-c.x86_64 3.1.11-2.el8_3 @AppStream
mariadb-connector-c-config.noarch 3.1.11-2.el8_3 @AppStream
MariaDBを削除する
systemctl status mariadb.service
systemctl stop mariadb.service
yum remove mariadb-connector-c.x86_64 mariadb-connector-c-config.noarch
これで削除されるので、もう一度インストール。
dnf install mysql-community-server
インストール済み:
mysql-community-client-5.7.35-1.el7.x86_64
mysql-community-common-5.7.35-1.el7.x86_64
mysql-community-libs-5.7.35-1.el7.x86_64
mysql-community-server-5.7.35-1.el7.x86_64
ncurses-compat-libs-6.1-7.20180224.el8.x86_64
これでようやくMySQL5.7をインストールする事が出来ました
systemctl enable --now mysqld.service
初期パスワードは MySQL のログファイルに出力されています。 ログファイルは、CentOS だと /var/log/mysqld.log
# cat /var/log/mysqld.log | grep 'temporary password'
cat /var/log/mysqld.log | grep 'temporary password'
2021-10-10T07:21:57.605802Z 1 [Note] A temporary password is generated for root@localhost: Oh,tu3kgus>h
mysql_secure_installation
今の段階ではパスワードレベルが上がっているので一応「英大小文字記号数字」として、先に進む。
mysql -u root -p
# パスワードレベル変更
mysql> SHOW VARIABLES LIKE 'validate_password%';
mysql> SET GLOBAL validate_password_length=4;4文字以内でOK
mysql> SET GLOBAL validate_password_policy=LOW;文字種制限ゆるめる
rootのパスワードを簡単なものに変えておくと使い易い
上のコマンドでパスワードのルールを弱めてから
mysql> set password for root@localhost=password('分かり易い4文字');
で、変更する。
ここでついでにdcm4chee-2.18.3用のデータベースとユーザーを作っておく
mysql> create database pacsdb;
mysql> grant all on pacsdb.* to 'pacs'@'localhost' identified by 'pacs';
このパスワードポリシーは作成時だけで、一時的にコマンドでパスワード制限を緩くして作っておけは、再起動後の使用時には、再度強化されるが、使う上では問題ない。
恒久的にパスワードを弱体化したければ、設定ファイル /etc/my.cnf を以下のように編集、MySQL パスワードの軟弱化
次の2項目を最終行に追記。3,4行目はパスワードの軟弱化の呪文です。rootのパスワードはデフォルトで4種類の文字を含まないといけないため、その規約を外し、4文字で良いようにします)
# gedit /etc/my.cnf
character_set_server=utf8
skip-character-set-client-handshake
validate_password_policy=LOW
validate_password_length=4
パスワードポリシーも確認します。
mysql> SHOW VARIABLES LIKE 'validate_password%';
+------------------------------------------------------+----------+
| Variable_name | Value |
+------------------------------------------------------+----------+
| validate_password_check_user_name | OFF |
| validate_password_dictionary_file | |
| validate_password_length | 4 |
| validate_password_mixed_case_count | 1 |
| validate_password_number_count | 1 |
| validate_password_policy | LOW |
| validate_password_special_char_count | 1 |
+-----------------------------------------------------+-----------+
7 rows in set (0.00 sec)
mysql> SELECT VERSION();
mysql> CREATE DATABASE test_db;
mysql> CREATE USER 'test_user'@'localhost' IDENTIFIED BY "Strong34S;#";
mysql> GRANT ALL PRIVILEGES ON test_db.* TO 'test_user'@'localhost';
mysql> FLUSH PRIVILEGES;
mysql> show databases;
mysql> DROP DATABASE test_db;
mysql> DROP USER 'test_user'@'localhost';
########## install mysql-workbench
yum install mysql-workbench
エラー:
問題: cannot install the best candidate for the job
- nothing provides libzip.so.2()(64bit) needed by mysql-workbench-community-8.0.22-1.el7.x86_64
(インストール不可のパッケージをスキップするには、'--skip-broken' を追加してみてください または、'--nobest' を追加して、最適候補のパッケージのみを使用しないでください)
yum install mysql-workbench --skip-broken
yum install mysql-workbench --nobest
いずれもインストールできない。
仕方ないので、ダウンロードしたファイルをインストールする。
起動すると「このバージョンのOSはサポートしてない」と言われるが、見るだけ、データベースをドロップするだけなので気にしない。
ファイヤーウォールが生きてるなら
firewall-cmd --add-service=mysql --permanent
firewall-cmd --reload
を行っておく。
###### ローカルファイルをインストールする方法(今回は使用せず) ##############
旧バージョンのMySQLをインストールしたい
ダウンロードページから自分の希望するバージョンのRPM Bundleファイルをダウンロード
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.34-1.el7.x86_64.rpm-bundle.tar
ローカルに落としてきたRPMパッケージをローカルインストールします。
→下記をyumでlocalinstallしてください。
・mysql-community-server
・mysql-community-client
・mysql-community-common
・mysql-community-devel
・mysql-community-libs
・mysql-community-libs-compat
yum localinstall mysql-community-server-5.7.24-1.el7.x86_64.rpm mysql-community-client-5.7.34-1.el7.x86_64.rpm mysql-community-common-5.7.34-1.el7.x86_64.rpm mysql-community-devel-5.7.34-1.el7.x86_64.rpm mysql-community-libs-5.7.34-1.el7.x86_64.rpm mysql-community-libs-compat-5.7.34-1.el7.x86_64.rpm
確認(今回はやってない)
[root@localhost src]# mysql --version
mysql Ver 14.14 Distrib 5.7.24, for Linux (x86_64) using EditLine wrapper
##########################################################################
########## 以上 ##################################
##########################################################################
########## コマンドはルートで実行すること ##############
1)まずはNTFSマウントに必要なコマンドから。まず標準リポジトリを追加してから、
yum -y install epel-release
yum -y install ntfs-3g
exFAT形式のUSBメモリをマウント
wget https://forensics.cert.org/cert-forensics-tools-release-el7.rpm
rpm -Uvh cert-forensics-tools-release*rpm
yum --enablerepo=forensics install exfat-utils
2)SELinuxの無効化
あまり良くはないのでしょうが、大抵のシステムでSELinuxの無効化を要求されるので初めから無効化しておくことにします。
cp -p /etc/selinux/config /etc/selinux/config.default
sed -i -e 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
reboot
3)ファイアウォールの停止
SELinuxと同じくあまり良くはないのでしょうが大抵のシステムでファイアウォールの無効化を要求されるので、こちらも初めから無効化しておくことにします。
systemctl stop firewalld
systemctl disable firewalld
4)基本ツールのインストール
dnf -y groupinstall base
dnf -y groupinstall development
dnf -y groupinstall network-tools
*インストール済みのパッケージを、最新版にアップデートします。
dnf -y update
5)アイコンを小さく
ファイラーの設定で一括小さくできる
6)フォルダ名を英語に
デフォルトでは各ユーザーごとに日本語
ユーザーで
LANG=C xdg-user-dirs-gtk-update
7)他のソフトウエハお好みで入れてくださいね。
8)IcedTea-Web
理由は知らないが、JAVAに同梱されなくなった。JAWAWS(JPLNファイル実行)関連ファイルのインストールを行う。コレをいれないとJNLPファイルが実行されない
dnf install icedtea-web
9)VLC
# dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
# dnf -y install https://download1.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm
# dnf -y install vlc --enablerepo=epel
###################################################
########## JAVA編 ####################
###################################################
「ワークステーション」「All」でインストールすると OpneJAVA 8 がインストールされるので、そのままでよい。
############################################################
############ MySQL編 ######################
############################################################
###### リポジトリをインストールする方法(今回はこれで作成した) ########
MySQL5.7のパッケージはCentOS7までにしか配布されていません。
その為、CentOS7の配布先にあるパッケージを参照してインストールします。
今回は、現時点で提供されているMySQL5.7用の最新のリポジトリを追加してインストールしてみます。
https://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/
ここからMySQL5.7のパッケージとリポジトリファイルがダウンロードできます。
リポジトリは以下のものです。
https://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/mysql57-community-release-el7-10.noarch.rpm
では、実際にサーバでリポジトリを追加してみます。
dnf install https://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/mysql57-community-release-el7-10.noarch.rpm
repoファイルを確認してみます。
cat /etc/yum.repos.d/mysql-community.repo
抜粋
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
ちゃんとMySQL5.7の参照先が記載されています。
あとはインストールするだけなのですが、先にMySQLのモジュールを無効化します。
CentOS8からパッケージのインストールがモジュール単位で管理されており、デフォルトのままだとMySQL8がインストールされてしまいます
dnf module disable mysql
dnf module list mysql
ちなみにモジュールの無効化を実施しないと、以下のようにインストールする事が出来ません。
dnf install mysql-community-server
メタデータの期限切れの最終確認: 0:02:28 時間前の 2020年12月13日 11時56分07秒 に実施しました。
すべての検出結果は引数のモジュラーフィルタリングに一致しません(filter out): mysql-community-server
エラー: 一致するものが見つかりません: mysql-community-server
別法としてリポジトリの無効化という方法もあるようです
Disable MySQL 8 repository:
sudo dnf config-manager --disable mysql80-community
Then enable channel for MySQL 5.7.
sudo dnf config-manager --enable mysql57-community
dnf install mysql-community-server
メタデータの期限切れの最終確認: 0:02:01 時間前の 2020年12月13日 11時56分07秒 に実施しました。
依存関係が解決しました。
=============================================================================
パッケージ アーキテクチャー バージョン リポジトリー サイズ
=============================================================================
インストール:
mysql-community-server x86_64 5.7.32-1.el7 mysql57-community 173 M
依存関係のインストール:
mysql-community-client x86_64 5.7.32-1.el7 mysql57-community 25 M
mysql-community-common x86_64 5.7.32-1.el7 mysql57-community 308 k
mysql-community-libs x86_64 5.7.32-1.el7 mysql57-community 2.3 M
ncurses-compat-libs x86_64 6.1-7.20180224.el8 baseos 331 k
トランザクションの概要
============================================================================
インストール 5 パッケージ
ダウンロードサイズの合計: 201 M
インストール済みのサイズ: 876 M
これでよろしいですか? [y/N]:
エラー: トランザクションテストエラー:
ファイル /etc/my.cnf (パッケージ mysql-community-server-5.7.35-1.el7.x86_64 から) は、パッケージ mariadb-connector-c-config-3.1.11-2.el8_3.noarch からのファイルと競合しています。
と出て、MariaDBと競合している模様。
MariaDBのインストール状態をチェック
yum list installed | grep -i mariadb
[root@localhost kondou]# yum list installed | grep -i mariadb
mariadb-connector-c.x86_64 3.1.11-2.el8_3 @AppStream
mariadb-connector-c-config.noarch 3.1.11-2.el8_3 @AppStream
MariaDBを削除する
systemctl status mariadb.service
systemctl stop mariadb.service
yum remove mariadb-connector-c.x86_64 mariadb-connector-c-config.noarch
これで削除されるので、もう一度インストール。
dnf install mysql-community-server
インストール済み:
mysql-community-client-5.7.35-1.el7.x86_64
mysql-community-common-5.7.35-1.el7.x86_64
mysql-community-libs-5.7.35-1.el7.x86_64
mysql-community-server-5.7.35-1.el7.x86_64
ncurses-compat-libs-6.1-7.20180224.el8.x86_64
これでようやくMySQL5.7をインストールする事が出来ました
systemctl enable --now mysqld.service
初期パスワードは MySQL のログファイルに出力されています。 ログファイルは、CentOS だと /var/log/mysqld.log
# cat /var/log/mysqld.log | grep 'temporary password'
cat /var/log/mysqld.log | grep 'temporary password'
2021-10-10T07:21:57.605802Z 1 [Note] A temporary password is generated for root@localhost: Oh,tu3kgus>h
mysql_secure_installation
今の段階ではパスワードレベルが上がっているので一応「英大小文字記号数字」として、先に進む。
mysql -u root -p
# パスワードレベル変更
mysql> SHOW VARIABLES LIKE 'validate_password%';
mysql> SET GLOBAL validate_password_length=4;4文字以内でOK
mysql> SET GLOBAL validate_password_policy=LOW;文字種制限ゆるめる
rootのパスワードを簡単なものに変えておくと使い易い
上のコマンドでパスワードのルールを弱めてから
mysql> set password for root@localhost=password('分かり易い4文字');
で、変更する。
ここでついでにdcm4chee-2.18.3用のデータベースとユーザーを作っておく
mysql> create database pacsdb;
mysql> grant all on pacsdb.* to 'pacs'@'localhost' identified by 'pacs';
このパスワードポリシーは作成時だけで、一時的にコマンドでパスワード制限を緩くして作っておけは、再起動後の使用時には、再度強化されるが、使う上では問題ない。
恒久的にパスワードを弱体化したければ、設定ファイル /etc/my.cnf を以下のように編集、MySQL パスワードの軟弱化
次の2項目を最終行に追記。3,4行目はパスワードの軟弱化の呪文です。rootのパスワードはデフォルトで4種類の文字を含まないといけないため、その規約を外し、4文字で良いようにします)
# gedit /etc/my.cnf
character_set_server=utf8
skip-character-set-client-handshake
validate_password_policy=LOW
validate_password_length=4
パスワードポリシーも確認します。
mysql> SHOW VARIABLES LIKE 'validate_password%';
+------------------------------------------------------+----------+
| Variable_name | Value |
+------------------------------------------------------+----------+
| validate_password_check_user_name | OFF |
| validate_password_dictionary_file | |
| validate_password_length | 4 |
| validate_password_mixed_case_count | 1 |
| validate_password_number_count | 1 |
| validate_password_policy | LOW |
| validate_password_special_char_count | 1 |
+-----------------------------------------------------+-----------+
7 rows in set (0.00 sec)
mysql> SELECT VERSION();
mysql> CREATE DATABASE test_db;
mysql> CREATE USER 'test_user'@'localhost' IDENTIFIED BY "Strong34S;#";
mysql> GRANT ALL PRIVILEGES ON test_db.* TO 'test_user'@'localhost';
mysql> FLUSH PRIVILEGES;
mysql> show databases;
mysql> DROP DATABASE test_db;
mysql> DROP USER 'test_user'@'localhost';
########## install mysql-workbench
yum install mysql-workbench
エラー:
問題: cannot install the best candidate for the job
- nothing provides libzip.so.2()(64bit) needed by mysql-workbench-community-8.0.22-1.el7.x86_64
(インストール不可のパッケージをスキップするには、'--skip-broken' を追加してみてください または、'--nobest' を追加して、最適候補のパッケージのみを使用しないでください)
yum install mysql-workbench --skip-broken
yum install mysql-workbench --nobest
いずれもインストールできない。
仕方ないので、ダウンロードしたファイルをインストールする。
起動すると「このバージョンのOSはサポートしてない」と言われるが、見るだけ、データベースをドロップするだけなので気にしない。
ファイヤーウォールが生きてるなら
firewall-cmd --add-service=mysql --permanent
firewall-cmd --reload
を行っておく。
###### ローカルファイルをインストールする方法(今回は使用せず) ##############
旧バージョンのMySQLをインストールしたい
ダウンロードページから自分の希望するバージョンのRPM Bundleファイルをダウンロード
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.34-1.el7.x86_64.rpm-bundle.tar
ローカルに落としてきたRPMパッケージをローカルインストールします。
→下記をyumでlocalinstallしてください。
・mysql-community-server
・mysql-community-client
・mysql-community-common
・mysql-community-devel
・mysql-community-libs
・mysql-community-libs-compat
yum localinstall mysql-community-server-5.7.24-1.el7.x86_64.rpm mysql-community-client-5.7.34-1.el7.x86_64.rpm mysql-community-common-5.7.34-1.el7.x86_64.rpm mysql-community-devel-5.7.34-1.el7.x86_64.rpm mysql-community-libs-5.7.34-1.el7.x86_64.rpm mysql-community-libs-compat-5.7.34-1.el7.x86_64.rpm
確認(今回はやってない)
[root@localhost src]# mysql --version
mysql Ver 14.14 Distrib 5.7.24, for Linux (x86_64) using EditLine wrapper
##########################################################################
########## 以上 ##################################
##########################################################################
※このブログではブログの持ち主が承認した後、コメントが反映される設定です。