OSS Fan ~OSSでLinuxサーバ構築~

作成日: 2016/04/23
更新日: 2016/07/03

OSSでLinuxサーバ構築

WildFly 10.0.0をCentOS 7.2へインストール

トップページOSSでLinuxサーバ構築 > WildFly 10.0.0をCentOS 7.2へインストール
このエントリーをはてなブックマークに追加

概要

 オープンソースのJava EEアプリケーションサーバである WildFly 10.0.0 をCentOS 7.2へインストールします。 WildFlyは元は JBoss AS という名称でしたが、商用版の JBoss EAP と名前が紛らわしいので改名されたとか。 今回はOracle Java SEのJDK 8も併せてインストールします。

構成

サーバ構成

OSバージョン

CentOS 7.2.1511 x86_64

ソフトウェア・パッケージ一覧

  • jdk-8u92-linux-x64.rpm
  • wildfly-10.0.0.Final.tar.gz

クライアント構成

OSバージョン

Windows 7 Ultimate Service Pack 1 64bit

ソフトウェア・パッケージ一覧

  • Internet Explorer 11

サーバ構築

インストール

 WildFlyの動作前提となるOracle Java(JDK)のインストーラを各サイトからダウンロードします。 2016年4月23日時点での最新版は以下のサイトからダウンロードしました。

JDK 8u92のダウンロード(jdk-8u92-linux-x64.rpm)
WildFly 10.0.0.Finalのダウンロード(wildfly-10.0.0.Final.tar.gz)

 ダウンロードしたファイルはサーバの下記ディレクトリに格納してある前提とします。

/media/rpm/jdk-8u92/jdk-8u92-linux-x64.rpm
/media/rpm/wildfly-10.0.0/wildfly-10.0.0.Final.tar.gz

(1) JDK 8u92のインストール

 JDKのrpmパッケージをインストールします。

# cd /media/rpm/jdk-8u92/
# ls -l
合計 162068
-rw-r--r-- 1 root root 165953904  4月 23 00:15 jdk-8u92-linux-x64.rpm
# rpm -ihv jdk-8u92-linux-x64.rpm
準備しています...              ################################# [100%]
更新中 / インストール中...
   1:jdk1.8.0_92-2000:1.8.0_92-fcs    ################################# [100%]
Unpacking JAR files...
        tools.jar...
        plugin.jar...
        javaws.jar...
        deploy.jar...
        rt.jar...
        jsse.jar...
        charsets.jar...
        localedata.jar...

 JDKがインストールされたことを確認します。 また、複数バージョンのJDKが同時にインストールされている場合、 どのバージョンを利用するか選択して切り替える必要があります。 今回はインストールした1バージョンのJDKだけなので切替は必要ありませんが、一応確認しておきます。

# java -version
java version "1.8.0_92"
Java(TM) SE Runtime Environment (build 1.8.0_92-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.92-b14, mixed mode)
# alternatives --config java

1 プログラムがあり 'java' を提供します。

  選択       コマンド
-----------------------------------------------
*+ 1           /usr/java/jdk1.8.0_92/jre/bin/java ←JDK(javaコマンド)が1つのバージョンしかインストールされていないことを確認

Enter を押して現在の選択 [+] を保持するか、選択番号を入力します: ←[Enter]キーを押す
# alternatives --config javac

1 プログラムがあり 'javac' を提供します。

  選択       コマンド
-----------------------------------------------
*+ 1           /usr/java/jdk1.8.0_92/bin/javac ←JDK(javacコマンド)が1つのバージョンしかインストールされていないことを確認

Enter を押して現在の選択 [+] を保持するか、選択番号を入力します: ←[Enter]キーを押す

(2) WildFlyのインストール

 WildFlyをインストールします。インストールと言っても必要なファイルが .tar.gz 形式でアーカイブされているだけなので、/opt/ ディレクトリ配下に展開するだけです。

# cd /media/rpm/wildfly-10.0.0/
# ls -l
合計 133976
-rw-r--r-- 1 root root 137189474  4月 23 00:24 wildfly-10.0.0.Final.tar.gz
# tar zxvf wildfly-10.0.0.Final.tar.gz -C /opt/
wildfly-10.0.0.Final/
wildfly-10.0.0.Final/.installation/
wildfly-10.0.0.Final/appclient/
wildfly-10.0.0.Final/appclient/configuration/
wildfly-10.0.0.Final/bin/
(中略)
wildfly-10.0.0.Final/welcome-content/jbosscommunity_logo_hori_white.png
wildfly-10.0.0.Final/welcome-content/noconsole.html
wildfly-10.0.0.Final/welcome-content/noredirect.html
wildfly-10.0.0.Final/welcome-content/wildfly.css
wildfly-10.0.0.Final/welcome-content/wildfly_logo.png
# ls -l /opt/
合計 4
drwxr-xr-x.  2 root root    6  3月 26  2015 rh
drwxr-xr-x  10  505  505 4096  1月 30 07:12 wildfly-10.0.0.Final ←WildFlyのプログラムが展開された

設定

(1) WildFly用のOSグループ作成

 インストールしたWildFly関連のファイルはUID、GIDがいずれも505となっています。 CentOS 7.2にはデフォルトではそのようなOSユーザ、OSグループは存在していません。 そこで、WildFlyを管理するための専用OSユーザ、OSグループを作成します。 名前はいずれも wildfly とします。 まずはOSグループ wildfly を作成します。GIDは 1001 とします。

# groupadd -g 1001 wildfly
# tail -n 1 /etc/group
wildfly:x:1001: ←wildflyグループが作成された

(2) WildFly用のOSユーザ作成

 OSユーザ wildfly を作成します。UIDは 1001 とし、プライマリグループを 1001 とします。

# useradd -u 1001 -g 1001 wildfly
# tail -n 1 /etc/passwd
wildfly:x:1001:1001::/home/wildfly:/bin/bash ←wildflyユーザが作成された

(3) OSユーザのパスワード設定

 作成したOSユーザ wildfly のパスワードを設定します。

# passwd wildfly
ユーザー wildfly のパスワードを変更。
新しいパスワード: ←パスワードを入力
新しいパスワードを再入力してください: ←パスワードを再入力
passwd: すべての認証トークンが正しく更新できました。

(4) WildFlyのインストールファイルの所有者・所有グループ変更

 インストールしたWildFly関連のファイルの所有者・所有グループを wildflyユーザ、wildflyグループに設定します。

# cd /opt/
# chown -R wildfly:wildfly wildfly-10.0.0.Final

(5) WildFlyインスタンスのバインドアドレス変更

 WildFlyインストール後の初期状態では、バインドアドレスがループバックアドレス(127.0.0.1)に設定されているため、 サーバの外部から接続することができません。そこで、バインドアドレスをサーバのIPアドレスに変更します。 ここではサーバのIPアドレスが 192.168.0.104 である場合の設定例です。

# su - wildfly
$ cd /opt/wildfly-10.0.0.Final/standalone/configuration/
$ vi standalone.xml
ファイル名:/opt/wildfly-10.0.0.Final/standalone/configuration/standalone.xml
※以下、該当箇所のみ変更※
            <wsdl-host>${jboss.bind.address:127.0.0.1}</wsdl-host>
         ↓変更
            <wsdl-host>${jboss.bind.address:192.168.0.104}</wsdl-host>

            <inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
         ↓変更
            <inet-address value="${jboss.bind.address.management:192.168.0.104}"/>

            <inet-address value="${jboss.bind.address:127.0.0.1}"/>
         ↓変更
            <inet-address value="${jboss.bind.address:192.168.0.104}"/>

(6) WildFlyインスタンスの起動

 バインドアドレスを設定したらWildFlyインスタンスを起動します。 起動用のシェルスクリプトが準備されているので、それを利用します。 なお、起動用のシェルスクリプトはフォアグラウンドで動作するようになっており、 プロンプトが占有されるので、バックグラウンドで起動するようにします。

$ $ cd /opt/wildfly-10.0.0.Final/bin/
$ ./standalone.sh &
[1] 10595
$ =========================================================================

  JBoss Bootstrap Environment

  JBOSS_HOME: /opt/wildfly-10.0.0.Final

  JAVA: java

  JAVA_OPTS:  -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true

=========================================================================

05:03:25,859 INFO  [org.jboss.modules] (main) JBoss Modules version 1.5.1.Final
05:03:26,042 INFO  [org.jboss.msc] (main) JBoss MSC version 1.2.6.Final
05:03:26,107 INFO  [org.jboss.as] (MSC service thread 1-6) WFLYSRV0049: WildFly Full 10.0.0.Final (WildFly Core 2.0.10.Final) starting
05:03:27,226 INFO  [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0039: Creating http management service using socket-binding (management-http)
05:03:27,247 INFO  [org.xnio] (MSC service thread 1-8) XNIO version 3.3.4.Final
05:03:27,255 INFO  [org.xnio.nio] (MSC service thread 1-8) XNIO NIO Implementation Version 3.3.4.Final
05:03:27,340 INFO  [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 38) WFLYCLINF0001: Activating Infinispan subsystem.
05:03:27,344 INFO  [org.wildfly.extension.io] (ServerService Thread Pool -- 37) WFLYIO001: Worker 'default' has auto-configured to 8 core threads with 64 task threads based on your 4 available processors
05:03:27,364 INFO  [org.jboss.remoting] (MSC service thread 1-7) JBoss Remoting version 4.0.18.Final
05:03:27,375 INFO  [org.jboss.as.connector.subsystems.datasources] (ServerService Thread Pool -- 33) WFLYJCA0004: Deploying JDBC-compliant driver class org.h2.Driver (version 1.3)
05:03:27,382 INFO  [org.jboss.as.connector] (MSC service thread 1-3) WFLYJCA0009: Starting JCA Subsystem (WildFly/IronJacamar 1.3.2.Final)
05:03:27,387 INFO  [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-4) WFLYJCA0018: Started Driver service with driver-name = h2
05:03:27,393 INFO  [org.jboss.as.jsf] (ServerService Thread Pool -- 44) WFLYJSF0007: Activated the following JSF Implementations: [main]
05:03:27,401 INFO  [org.jboss.as.naming] (ServerService Thread Pool -- 46) WFLYNAM0001: Activating Naming Subsystem
05:03:27,435 INFO  [org.jboss.as.naming] (MSC service thread 1-4) WFLYNAM0003: Starting Naming Service
05:03:27,444 WARN  [org.jboss.as.txn] (ServerService Thread Pool -- 54) WFLYTX0013: Node identifier property is set to the default value. Please make sure it is unique.
05:03:27,454 INFO  [org.jboss.as.mail.extension] (MSC service thread 1-3) WFLYMAIL0001: Bound mail session [java:jboss/mail/Default]
05:03:27,455 INFO  [org.jboss.as.security] (ServerService Thread Pool -- 53) WFLYSEC0002: Activating Security Subsystem
05:03:27,465 INFO  [org.jboss.as.security] (MSC service thread 1-3) WFLYSEC0001: Current PicketBox version=4.9.4.Final
05:03:27,481 INFO  [org.jboss.as.webservices] (ServerService Thread Pool -- 56) WFLYWS0002: Activating WebServices Extension
05:03:27,494 INFO  [org.wildfly.extension.undertow] (ServerService Thread Pool -- 55) WFLYUT0003: Undertow 1.3.15.Final starting
05:03:27,497 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-8) WFLYUT0003: Undertow 1.3.15.Final starting
05:03:27,627 INFO  [org.wildfly.extension.undertow] (ServerService Thread Pool -- 55) WFLYUT0014: Creating file handler for path '/opt/wildfly-10.0.0.Final/welcome-content' with options [directory-listing: 'false', follow-symlink: 'false', case-sensitive: 'true', safe-symlink-paths: '[]']
05:03:27,660 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-3) WFLYUT0012: Started server default-server.
05:03:27,661 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-3) WFLYUT0018: Host default-host starting
05:03:27,697 INFO  [org.jboss.as.ejb3] (MSC service thread 1-5) WFLYEJB0482: Strict pool mdb-strict-max-pool is using a max instance size of 16 (per class), which is derived from the number of CPUs on this host.
05:03:27,699 INFO  [org.jboss.as.ejb3] (MSC service thread 1-8) WFLYEJB0481: Strict pool slsb-strict-max-pool is using a max instance size of 64 (per class), which is derived from thread worker pool sizing.
05:03:27,792 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-7) WFLYUT0006: Undertow HTTP listener default listening on 192.168.0.104:8080
05:03:27,813 WARN  [com.arjuna.ats.arjuna] (MSC service thread 1-2) ARJUNA012210: Unable to use InetAddress.getLocalHost() to resolve address.
05:03:28,214 INFO  [org.jboss.as.server.deployment.scanner] (MSC service thread 1-1) WFLYDS0013: Started FileSystemDeploymentService for directory /opt/wildfly-10.0.0.Final/standalone/deployments
05:03:28,227 INFO  [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-7) WFLYJCA0001: Bound data source [java:jboss/datasources/ExampleDS]
05:03:28,346 INFO  [org.infinispan.factories.GlobalComponentRegistry] (MSC service thread 1-4) ISPN000128: Infinispan version: Infinispan 'Mahou' 8.1.0.Final
05:03:28,393 INFO  [org.jboss.ws.common.management] (MSC service thread 1-8) JBWS022052: Starting JBossWS 5.1.3.Final (Apache CXF 3.1.4)
05:03:28,500 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0060: Http management interface listening on http://192.168.0.104:9990/management
05:03:28,501 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0051: Admin console listening on http://192.168.0.104:9990
05:03:28,501 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0025: WildFly Full 10.0.0.Final (WildFly Core 2.0.10.Final) started in 2922ms - Started 267 of 553 services (371 services are lazy, passive or on-demand)

$

 アプリケーションがデプロイされていない状態では、WildFlyインスタンスの起動時間は3秒弱ぐらいでした。

動作テスト

(1) プロセス確認

 WildFlyインスタンスは1つのjavaプロセスとして表示されますので、 以下のように「java -D~」で始まるプロセスが起動していることを確認します。

$ ps -ef | grep java
wildfly  10639 10595  0 05:03 ?        00:00:40 java -D[Standalone] -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true -Dorg.jboss.boot.log.file=/opt/wildfly-10.0.0.Final/standalone/log/server.log -Dlogging.configuration=file:/opt/wildfly-10.0.0.Final/standalone/configuration/logging.properties -jar /opt/wildfly-10.0.0.Final/jboss-modules.jar -mp /opt/wildfly-10.0.0.Final/modules org.jboss.as.standalone -Djboss.home.dir=/opt/wildfly-10.0.0.Final -Djboss.server.base.dir=/opt/wildfly-10.0.0.Final/standalone
wildfly  15348 15314  0 12:34 pts/1    00:00:00 grep --color=auto java

(2) ブラウザからの接続確認

 PCのブラウザからWildFlyをインストールしたサーバにアクセスします。 今回利用したサーバのIPアドレスは「192.168.0.104」、デフォルトのリスニングポートは「8080」なので、 URLは「http://192.168.0.104:8080」となります。 以下のような画面が表示されれば、WildFlyのインストールと起動は成功しています。

プロフィール

らのっち

損害保険会社のIT企画部に勤務するSEです。OSSを勉強中です。

<所属>
日本PostgreSQLユーザ会とくしまOSS普及協議会


第000414号