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

yum install -y yum-utils

#jdk1.8.0-242
yum install -y jdk

 

#tomcat9.0.33
cd /tmp
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 -O
tar zxf apache-tomcat-9.0.33.tar.gz -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
もしくは、
firewall-cmd --add-port=8080/tcp --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

 

#jenkins 2.230
cd /usr/local/tomcat/webapps
curl http://ftp.yz.yamagata-u.ac.jp/pub/misc/jenkins/war/2.230/jenkins.war -O
ミラーサイトcurl http://mirrors.jenkins.io/war/latest/jenkins.war で確認

あるいは他に8080ポートを利用しないのであれば、パッケージからインストールする
curl https://pkg.jenkins.io/redhat/jenkins.repo -o /etc/yum.repos.d/jenkins.repo
rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
yum install -y jenkins
systemctl start jenkins

 

#mysql8.0.19
yum install -y https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
yum install -y mysql-server
systemctl start mysqld
初期パスワードを /var/log/mysqld.log で確認して、mysqlに接続する
set password = '****';
パスワードポリシーに限らず設定したい場合、show variables like 'validate_password%'; で項目を確認する
set global validate_password.policy=LOW;
set password = '****';
set global validate_password.policy=MEDIUM;
※ポリシーを戻さなくても再起動したら戻る
ポリシーを戻したくない場合は、/etc/my.cnfの[mysqld]ブロックに次のを追加して、再起動する
validate_password.policy=LOW

 

#そのほか
yum install -y git

 

 

感想

お遊び環境なので、すべて最新にしたくて、Tomcat10を入れようとしたが、Jenkinsが起動しなかった。

catalina.out

情報 [http-nio-8080-exec-56] org.apache.jasper.servlet.TldScanner.scanJars 少なくとも1つのJARが、まだTLDを含んでいないTLDについてスキャンされました。 スキャンしたが、そこにTLDが見つからなかったJARの完全なリストについ ては、このロガーのデバッグログを有効にしてください。 スキャン中に不要なJARをスキップすると、起動時間とJSPコンパイル時間が改善されます。
重大 [http-nio-8080-exec-56] org.apache.catalina.core.StandardContext.startInternal 1つまたは複数のリスナーが開始に失敗しました。 完全な詳細は適切なコンテナログファイルにあります。
重大 [http-nio-8080-exec-56] org.apache.catalina.core.StandardContext.startInternal 以前のエラー のためにコンテキストの起動が失敗しました [/jenkins]

Tomcat10はJakartaEE9(旧JavaEE)対応で、Servletがjavax.servletからjakarta.servletになって、変換が必要だとか。

https://tomcat.apache.org/

The Apache Tomcat Project is proud to announce the release of version 10.0.0-M3 of Apache Tomcat. This release is a milestone release and is targeted at Jakarta EE 9.

Users of Tomcat 10 onwards should be aware that, as a result of the move from Java EE to Jakarta EE as part of the transfer of Java EE to the Eclipse Foundation, the primary package for all implemented APIs has changed from javax.* to jakarta.*. This will almost certainly require code changes to enable applications to migrate from Tomcat 9 and earlier to Tomcat 10 and later. A migration tool is under development to aid this process.