お遊び環境をつくる(CentOS8)

yumコマンド(Python2)がdnfコマンド(Python3)に変わった。yumはdnfにリンクされている(正確には、yumとdnfはdnf-3にリンクしている)のでyumコマンドを使い続けられるが、慣れるためにdnfコマンドを使う。

 

CentOS8マシンの作成はVMWare Workstationを利用しているが、まずここで躓く。マシンの設定画面を開くと、「CD/DVD」が2つあり、一つ目が「autoinst.iso」、二つ目がOSのISOになっているため、一つ目を削除しなければ、インストールできない。

 

#java11
yum install -y java-11
java-11のリポジトリがCentOS7ではupdatesだったが、AppStreamになった
/etc/yum.repos.d/CentOS-Base.repoを見ると、baseだけになっており、CentOS-AppStream.repoやCentOS-Extras.repoなどが追加された

 

#tomcat9.0.33
curl https://ftp.yz.yamagata-u.ac.jp/pub/network/apache/tomcat/tomcat-9/v9.0.33/bin/apache-tomcat-9.0.33.tar.gz | tar zx -C /usr/local/src
ln -s /usr/local/src/apache-tomcat-9.0.33 /usr/local/tomcat
vi /etc/systemd/system/tomcat.service

[Unit]
Description=Apache Tomcat
After=network.target

[Service]
User=root
Group=root
Type=oneshot
PIDFile=/usr/local/tomcat/tomcat.pid
RemainAfterExit=yes

ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/tomcat/bin/shutdown.sh
ExecRestart=/usr/local/tomcat/bin/shutdown.sh;/usr/local/tomcat/bin/startup.sh

[Install]
WantedBy=multi-user.target

chmod ug+x /etc/systemd/system/tomcat.service
systemctl enable tomcat

vi /usr/lib/firewalld/services/tomcat.xml

<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>Apache Tomcat</short>
  <description>Apache Tomcat</description>
  <port protocol="tcp" port="8080"/>
</service>

firewall-cmd --add-service=tomcat --zone=public --permanent
firewall-cmd --reload

vi /usr/local/tomcat/conf/tomcat-users.xml

<?xml version="1.0" encoding="UTF-8"?>
  <tomcat-users xmlns="http://tomcat.apache.org/xml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
version="1.0">
  <role rolename="manager-gui"/>
  <role rolename="admin-gui"/>
  <user username="tomcat" password="****" roles="manager-gui,admin-gui"/>
</tomcat-users>

次の2ファイルの該当箇所をコメントアウトする(可能ならIPに書き換える)
/usr/local/tomcat/webapps/manager/META-INF/context.xml
/usr/local/tomcat/webapps/host-manager/META-INF/context.xml

<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />

systemctl start tomcat

 

#jenkins2.230
curl http://ftp.yz.yamagata-u.ac.jp/pub/misc/jenkins/war/2.230/jenkins.war -o /usr/local/tomcat/webapps/jenkins.war

 

#mysql8.0.19
dnf install -y https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm
yum module disable mysql
dnf install mysql-server
yum module enable mysql

/var/log/mysqld.logで初期パスワードを確認して変更する
mysql -uroot -p
set password='****'

 

※AppStreamにmysql-server-8.0.17-3.module_el8.0.0+181+899d6349があり、AppStreamが優先される。DNFにはpriorityプラグインが同梱されているので、repoファイルにpriority=1~98(デフォルト99)を記述すれば良いと思ったが、AppStreamが優先された。
※AppStreamとmysql80-communityで依存関係が異なる

mysql関連パッケージの違い(名前違いを含む)
・ AppStreamからインストールした場合(mysqlモジュール)
mysql-server
mecab
mysql
mysql-common
mysql-errmsg

・mysql80-communityからインストールした場合
mysql-community-server
mysql-community-client
mysql-community-common
mysql-community-libs

 依存関係の違い
・ AppStreamからインストールした場合
mariadb-connector-c-config
protobuf-lite
checkpolicy
policycoreutils-python-utils
python3-audit
python3-libsemanage
python3-policycoreutils
python3-setools
・mysql80-communityからインストールした場合
net-tools

 

※参考: dnf module info mysql

Name : mysql
Stream : 8.0 [d][a]
Version : 8000020191007200700
Context : 55190bc5
Architecture : x86_64
Profiles : client, server [d]
Default profiles : server
Repo : AppStream
Summary : MySQL Module
Description : MySQL is a multi-user, multi-threaded SQL database server. MySQL is a client/server implementation consisting of a server daemon (mysqld) and many different client programs and libraries. The base package contains the standard MySQL client programs and generic MySQL files.
Artifacts : mecab-0:0.996-1.module_el8.0.0+41+ca30bab6.9.src
: mecab-0:0.996-1.module_el8.0.0+41+ca30bab6.9.x86_64
: mecab-debuginfo-0:0.996-1.module_el8.0.0+41+ca30bab6.9.x86_64
: mecab-debugsource-0:0.996-1.module_el8.0.0+41+ca30bab6.9.x86_64
: mecab-ipadic-0:2.7.0.20070801-16.module_el8.0.0+41+ca30bab6.src
: mecab-ipadic-0:2.7.0.20070801-16.module_el8.0.0+41+ca30bab6.x86_64
: mecab-ipadic-EUCJP-0:2.7.0.20070801-16.module_el8.0.0+41+ca30bab6.x86_64
: mysql-0:8.0.17-3.module_el8.0.0+181+899d6349.src
: mysql-0:8.0.17-3.module_el8.0.0+181+899d6349.x86_64
: mysql-common-0:8.0.17-3.module_el8.0.0+181+899d6349.x86_64
: mysql-debuginfo-0:8.0.17-3.module_el8.0.0+181+899d6349.x86_64
: mysql-debugsource-0:8.0.17-3.module_el8.0.0+181+899d6349.x86_64
: mysql-devel-0:8.0.17-3.module_el8.0.0+181+899d6349.x86_64
: mysql-devel-debuginfo-0:8.0.17-3.module_el8.0.0+181+899d6349.x86_64
: mysql-errmsg-0:8.0.17-3.module_el8.0.0+181+899d6349.x86_64
: mysql-libs-0:8.0.17-3.module_el8.0.0+181+899d6349.x86_64
: mysql-libs-debuginfo-0:8.0.17-3.module_el8.0.0+181+899d6349.x86_64
: mysql-server-0:8.0.17-3.module_el8.0.0+181+899d6349.x86_64
: mysql-server-debuginfo-0:8.0.17-3.module_el8.0.0+181+899d6349.x86_64
: mysql-test-0:8.0.17-3.module_el8.0.0+181+899d6349.x86_64
: mysql-test-debuginfo-0:8.0.17-3.module_el8.0.0+181+899d6349.x86_64

 

※mysql80-communityリポジトリを使うとnet-toolsがインストールされるけど要らないのでは(ただしifconfig他は最初からインストールされている。廃止予定とは)

 

※CentOS8用のmysqlは8のみ、mysql5.7はCentOS7までしか提供していない
http://repo.mysql.com/yum/mysql-5.7-community/el/
mysql80-communityレポジトリのbaseurlのOSバージョンを7に書き換えてインストール&起動は確認したが、どんな問題が発生するかわからないので、ソースからビルドするか、だれかビルドして提供している人を探すか
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/

 

※どうでもいいけど、CentOS7+mysql5.7の時はmysqld.serviceファイルに「Alias=mysql.service」があったけど、なくなった