# JBoss EAP 7.0 Install Process ## 環境情報 - RHEL7.0 - Java7 - OracleJDK 1.8.0_202-b08 ## インストール手順 1. Zip展開 2. jboss-eap.conf編集 ``` cd /home/work/JBoss_7.0.0/jboss-eap-7.0/bin/init.d vi jboss-eap.conf # General configuration for the init.d scripts, # not necessarily for JBoss EAP itself. # default location: /etc/default/jboss-eap ## Location of JDK # JAVA_HOME="/usr/lib/jvm/default-java" JAVA_HOME="/usr/java/default" ## Location of JBoss EAP # JBOSS_HOME="/opt/jboss-eap" JBOSS_HOME="/home/work/JBoss_7.0.0/jboss-eap-7.0" ## The username who should own the process. JBOSS_USER=jboss-eap ## The mode JBoss EAP should start, standalone or domain # JBOSS_MODE=standalone ## Configuration for standalone mode # JBOSS_CONFIG=standalone.xml ## Configuration for domain mode JBOSS_DOMAIN_CONFIG=domain.xml # JBOSS_HOST_CONFIG=host-master.xml ## The amount of time to wait for startup STARTUP_WAIT=600 ## The amount of time to wait for shutdown SHUTDOWN_WAIT=600 ## Location to keep the console log # JBOSS_CONSOLE_LOG="/var/log/jboss-eap/console.log" ## Additionals args to include in startup # JBOSS_OPTS="--admin-only -b 127.0.0.1" ``` ###### 変更内容 ``` Location of JDK 使用するJDK構成フォルダパスに変更 Location of JBoss EAP EAP展開後のフォルダパス(以下jboss_home)に変更 STARTUP_WAIT=600 アプリ起動のタイムアウト値 SHUTDOWN_WAIT=600 アプリ終了のタイムアウト値 ``` 3. jboss-eap-rhel.sh編集 ``` vi jboss-eap-rhel.sh # Load JBoss EAP init.d configuration. if [ -z "$JBOSS_CONF" ]; then # JBOSS_CONF="/etc/default/jboss-eap.conf" JBOSS_CONF="/home/work/JBoss_7.0.0/jboss-eap-7.0/bin/init.d/jboss-eap.conf" ``` ###### 変更内容 ``` Load JBoss EAP init.d configuration. JBoss設定ファイルをどこから読み込むか 編集したjboss-eap.confのパスを指定 ``` 4. standalone.conf編集 ``` vi /home/work/JBoss_7.0.0/jboss-eap-7.0/bin/standalone.conf ``` ``` Before # # Specify options to pass to the Java VM. # if [ "x$JAVA_OPTS" = "x" ]; then JAVA_OPTS="-Xms1303m -Xmx1303m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true" JAVA_OPTS="$JAVA_OPTS -Djboss.modules.system.pkgs=$JBOSS_MODULES_SYSTEM_PKGS -Djava.awt.headless=true" else echo "JAVA_OPTS already set in environment; overriding default settings with values: $JAVA_OPTS" fi ``` ``` After # # Specify options to pass to the Java VM. # if [ "x$JAVA_OPTS" = "x" ]; then JAVA_OPTS="-Xms1303m -Xmx1303m -Djava.net.preferIPv4Stack=true" JAVA_OPTS="$JAVA_OPTS -Djboss.modules.system.pkgs=$JBOSS_MODULES_SYSTEM_PKGS -Djava.awt.headless=true" else echo "JAVA_OPTS already set in environment; overriding default settings with values: $JAVA_OPTS" fi ``` ※ MetaspaceSize=96M -XX:MaxMetaspaceSize=256m   上記はJava7では対応していないOptionの為、削除する。 5. 実行User作成,権限変更 ``` useradd -d /home/work/JBoss_7.0.0/jboss-eap-7.0 -s /sbin/nologin jboss-eap cd /home/work/JBoss_7.0.0/ chown -R jboss-eap:jboss-eap ./jboss-eap-7.0 cd /var/log/ chown jboss-eap:jboss-eap ./jboss-eap ``` 6. 起動ログ情報 ``` 別ターミナルにて tail -f /var/log/jboss-eap/console.log ``` 7. 起動確認 ``` cd /home/work/JBoss_7.0.0/jboss-eap-7.0/bin/init.d ./jboss-eap-rhel.sh start ``` --- ## systemdサービス追加 systemctlでの有効サービスとして登録を行う ``` cd /etc/systemd/system/ vi jboss-eap.service ※下記参照 chmod a+x jboss-eap.service systemctl start jboss-eap.service systemctl restart jboss-eap.service systemctl enable jboss-eap.service jboss-eap.service ※ここから [Unit] Description=JBoss EAP Systemctl script After=NetworkManager.service [Service] Type=forking ExecStart=/home/work/JBoss_7.0.0/jboss-eap-7.0/bin/init.d/jboss-eap-rhel.sh start ExecStop=/home/work/JBoss_7.0.0/jboss-eap-7.0/bin/init.d/jboss-eap-rhel.sh stop ExecReload=/home/work/JBoss_7.0.0/jboss-eap-7.0/bin/init.d/jboss-eap-rhel.sh restart PIDFile=/var/run/jboss-eap/jboss-eap.pid [Install] WantedBy=multi-user.target [Service] TimeoutStartSec=600 TimeoutStopSec=600 ``` ## インスタンス接続手順 jboss-cliでのインスタンス接続手順 ``` systemctl start jboss-eap.service cd /home/work/JBoss_7.0.0/jboss-eap-7.0/bin ./jboss-cli.sh --connect ``` ## patch適用コマンド ``` ./jboss-cli.sh --connect --controller=127.0.0.1:9990 "patch apply /home/work/JBoss/jboss-eap-7.1.1-patch.zip" ``` --- ## Datasource接続手順 ### Web consoleでの手順 - Web console接続 ```http://10.176.108.97:9990``` - JDBC Driver Deploy - Deployment -> Add - Upload a new deployment - 対象のJDBCをローカルよりアップロード -> Next - Verify Upload - Name - Runtime Name - Enable - Datasources接続 - Configuration -> Subsystem -> Datasources -> Non-XA -> Add - Choose Datasource - Oracle Datasource -> Next - Datasource Attributes - Name - JNDI Name `java:/`か`java:jboss/`で始める、基本はDefault値で問題ない - JDBC Driver - Specify Driver Default - Detected Driver Driver選択 - Connection Settings - Connection URL `jdbc:oracle:thin:@//10.176.108.98:6001/FLDBP01` - Username admin - Password ss2002 - Security Domain blank - Test Connection - Configuration -> Subsystem -> Datasources -> Non-XA -> OracleDS(作成したDS) -> View - Test Connection ## トラブルシューティング ### Unsupported major.minor version エラーの解消 Shellファイルの実行時等に表示される場合がある 複数のJDKやJavaがインストールされている場合し別のJavaが適用されている場合がある。 下記は古いJava7が適用されており実行時にエラーが表示された。 現在適用されているJavaの確認 ``` echo $JAVA_HOME /etc/alternatives/jre_1.7.0 ``` 下記手順により解消する ``` vi ~/.bash_profile # .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs export JAVA_HOME=/usr/java/jdk1.8.0_202-amd64 PATH=$PATH:$HOME/.local/bin:$HOME/bin export PATH ``` ``` source ~/.bash_profile echo $JAVA_HOME /usr/java/jdk1.8.0_202-amd6 ```