참고한 사이트

https://opensource.io/2012/04/30/installing-jboss-7-1-1-final-on-centos-6-x/


이 사이트는 JDK 1.6을 설치했으나 난 1.8을 사용한다.


서버에 임시로 폴더 하나 생성하고 wget으로 jboss 7.1.1을 다운받는다.

> 다운로드


[root@ip-172-31-9-0 util]# wget http://download.jboss.org/jbossas/7.1/jboss-as-7.1.1.Final/jboss-as-7.1.1.Final.zip

--2017-12-08 12:31:37--  http://download.jboss.org/jbossas/7.1/jboss-as-7.1.1.Final/jboss-as-7.1.1.Final.zip

Resolving download.jboss.org (download.jboss.org)... 184.26.249.106

Connecting to download.jboss.org (download.jboss.org)|184.26.249.106|:80... connected.

HTTP request sent, awaiting response... 200 OK

Length: 133255203 (127M) [application/zip]

Saving to: ‘jboss-as-7.1.1.Final.zip’


jboss-as-7.1.1.Final.zip      100%[=================================================>] 127.08M  21.9MB/s    in 6.1s


2017-12-08 12:31:45 (20.8 MB/s) - ‘jboss-as-7.1.1.Final.zip’ saved [133255203/133255203]


[root@ip-172-31-9-0 util]# ll

total 130136

-rw-r--r-- 1 root root 133255203 Mar 10  2012 jboss-as-7.1.1.Final.zip

 



다운 받았으면 압축을 풀어야지.

압축 해제는 /usr/share/ 에서 해제되도록 한다.

> 설치 ( =압축해제)


[root@ip-172-31-9-0 util]# unzip jboss-as-7.1.1.Final.zip -d /usr/share

Archive:  jboss-as-7.1.1.Final.zip


폴더 생성...

   creating: /usr/share/jboss-as-7.1.1.Final/

   creating: /usr/share/jboss-as-7.1.1.Final/appclient/

   creating: /usr/share/jboss-as-7.1.1.Final/appclient/configuration/

   creating: /usr/share/jboss-as-7.1.1.Final/bin

   ................................ 생략 ................................


파일 압축 풀리는중...

  inflating: /usr/share/jboss-as-7.1.1.Final/appclient/configuration/appclient.xml

  inflating: /usr/share/jboss-as-7.1.1.Final/appclient/configuration/logging.properties

  inflating: /usr/share/jboss-as-7.1.1.Final/bin/add-user.sh

  inflating: /usr/share/jboss-as-7.1.1.Final/bin/appclient.sh

   ................................ 생략 ................................


또 폴더 생성...

   creating: /usr/share/jboss-as-7.1.1.Final/domain/tmp/auth/


 


압축 다 풀었으면 jboss 계정 생성

> 계정생성


[root@ip-172-31-9-0 jboss-as-7.1.1.Final]# adduser jboss



jboss-as-7.1.1.Final 디렉토리 하위의 폴더까지 모두 jboss로 권한을 변경한다.

> 폴더 및 파일 권한 변경

[root@ip-172-31-9-0 share]# chown -fR jboss.jboss /usr/share/jboss-as-7.1.1.Final


> 변경 전

drwxr-xr-x  10 root root  4096 Mar 10  2012 jboss-as-7.1.1.Final

> 변경 후

drwxr-xr-x  10 jboss jboss  4096 Mar 10  2012 jboss-as-7.1.1.Final

 

* chown -fR : chown 설명 참고 (https://ko.wikipedia.org/wiki/Chown)



jboss로 스위치

> 사용자 변경


현재 root

[root@ip-172-31-9-0 share]# su jboss


jboss로 사용자 변경된것 확인

[jboss@ip-172-31-9-0 share]$ 



이제 마지막단계.

> jboss 실행하기 전에 jbos management 사용자 추가하기. 

(정확하진 않지만 추측하기론 설치된 jboss를 jboss 사용자가 실행하도록 사용자를 추가하는거 같음.)


[jboss@ip-172-31-9-0 bin]$ ./add-user.sh


이거 실행하고나면 질문들이 나올꺼야. 


What type of user do you wish to add?

 a) Management User (mgmt-users.properties)

 b) Application User (application-users.properties)

(a): a  <- 답변


Enter the details of the new user to add.

Realm (ManagementRealm) :                  - 비워도 됨.. ( 뭔지 알수가 없으니 일단 가이드대로 진행 )

Username : jboss

Password : jboss1234                            - 비밀번호 ( 리눅스에선 비번을 써도 화면에 노출이 안됨. )

Re-enter Password : jboss1234                - 비밀번호 한번 더 (동일)

About to add user 'jboss' for realm 'jboss'

Is this correct yes/no? yes                      - 입력한게 정확한지 확인

Added user 'jboss' to file '/usr/share/jboss-as-7.1.1.Final/standalone/configuration/mgmt-users.properties'

Added user 'jboss' to file '/usr/share/jboss-as-7.1.1.Final/domain/configuration/mgmt-users.properties'



이제 시작해 보자.


[jboss@ip-172-31-9-0 bin]$ ./standalone.sh -Djboss.bind.address=0.0.0.0 -Djboss.bind.address.management=0.0.0.0&


NOTE: By default, JBoss 7 will only bind to localhost. This does not allow any remote access to your jboss server. For our amazon aws installation, we define the jboss.bind.address property as 0.0.0.0 and jboss.bin.address.management property to 0.0.0.0 as well. This allows us to access the remote JBoss amazon instance over the internet. We could have also defined the hostname of the ami or the ip address. However, unless an elastic ip is used, this value can change. This is why we opted for 0.0.0.0.


번역을 해보면...

기본적으로 JBoss 7은 localhost에만 바인딩합니다. 이렇게하면 jboss 서버에 대한 원격 액세스가 허용되지 않습니다. 아마존 aws 설치의 경우 jboss.bind.address 속성을 0.0.0.0으로 정의하고 jboss.bin.address.management 속성을 0.0.0.0으로 정의합니다. 이를 통해 우리는 인터넷을 통해 원격 JBoss amazon 인스턴스에 액세스 할 수 있습니다. ami 또는 ip 주소의 호스트 이름도 정의 할 수 있습니다. 그러나 탄성 IP를 사용하지 않으면이 값이 변경 될 수 있습니다. 이것이 우리가 0.0.0.0을 선택한 이유입니다.



로그..


[1] 4240

[jboss@ip-172-31-9-0 bin]$ =========================================================================


  JBoss Bootstrap Environment


  JBOSS_HOME: /usr/share/jboss-as-7.1.1.Final


  JAVA: /usr/bin/java


  JAVA_OPTS:  -server -XX:+UseCompressedOops -XX:+TieredCompilation -Xms64m -Xmx512m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true -Djboss.server.default.config=standalone.xml


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


OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0

15:02:43,909 INFO  [org.jboss.modules] JBoss Modules version 1.1.1.GA

15:02:44,249 INFO  [org.jboss.msc] JBoss MSC version 1.0.2.GA

15:02:44,313 INFO  [org.jboss.as] JBAS015899: JBoss AS 7.1.1.Final "Brontes" starting

........




로컬에서 jboss 띄워본 사람이라면 뭔지 알꺼다... 

잠시 잊고 있었다..ㅡㅡ


jboss 7.1.1은 jdk1.8이 안된다.

에러도 안난다.

쉣!!!!!!!!!!!!!!!!!!!!


그래서.. jdk 1.8은 그대로 두고 jdk 1.7을 새로 설치하고 standalone.sh 에서 java home 경로를 바꿔줬다.


* 처리 과정 정리

 

 1. 설치 전 java, javac 경로 확인

[ec2-user@ip-172-31-9-0 ~]$ which java

/usr/bin/java

[ec2-user@ip-172-31-9-0 ~]$ ll /usr/bin/java

lrwxrwxrwx 1 root root 22 Dec  7 16:00 /usr/bin/java -> /etc/alternatives/java

[ec2-user@ip-172-31-9-0 ~]$ ll /etc/alternatives/java

lrwxrwxrwx 1 root root 46 Dec  7 16:00 /etc/alternatives/java -> /usr/lib/jvm/jre-1.8.0-openjdk.x86_64/bin/java


 2. 현재 내 인스턴스가 갖고 있는 jdk1.8은 그대로 둔채 jdk 1.7을 새로 설치

[root@ip-172-31-9-0 ~]# yum install java-1.7.0-openjdk-src.x86_64


 3. 설치하고 나서 java, javac 경로 재 확인

- java 확인

[ec2-user@ip-172-31-9-0 ~]$ which java

/usr/bin/java

[ec2-user@ip-172-31-9-0 ~]$ ll /usr/bin/java

lrwxrwxrwx 1 root root 22 Dec  8 15:16 /usr/bin/java -> /etc/alternatives/java

[ec2-user@ip-172-31-9-0 ~]$ ll /etc/alternatives/java

lrwxrwxrwx 1 root root 46 Dec  8 15:16 /etc/alternatives/java -> /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java

   -> 1.7로 바껴 있지


- javac 확인

[ec2-user@ip-172-31-9-0 ~]$ which javac

/usr/bin/javac

[ec2-user@ip-172-31-9-0 ~]$ ll /usr/bin/javac

lrwxrwxrwx 1 root root 23 Dec  7 16:08 /usr/bin/javac -> /etc/alternatives/javac

[ec2-user@ip-172-31-9-0 ~]$ ll /etc/alternatives/javac

lrwxrwxrwx 1 root root 48 Dec  7 16:08 /etc/alternatives/javac -> /usr/lib/jvm/java-1.8.0-openjdk.x86_64/bin/javac

   -> 1.8로 그대로 유지됨

 4. "/etc/alternatives/java" 링크해제 후 1.8로 재 설정
[root@ip-172-31-9-0 ~]# unlink /etc/alternatives/java
[root@ip-172-31-9-0 ~]# ln -s /usr/lib/jvm/jre-1.8.0-openjdk.x86_64/bin/java /etc/alternatives/java
   - "1." 에서 설치전 확인했던 경로로 재 설정한것임.

 5. JAVA_HOME과 분리된 PATH 지정
  > 참고 블로그 : http://keichee.tistory.com/11
  > 수정한 파일
     1) ec2-user 의 .bash_profile
     2) root 의 /etc/profile
  > 변경한 내용
     (추가) export JAVA7_HOME="/usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java"
     (변경) export PATH=$PATH:$JAVA_HOME/bin:$JAVA7_HOME/bin
   > 변경 후 반드시 파일 빌드
     1) [ec2-user@ip-172-31-9-0 ~]$ . .bash_profile
     2) [root@ip-172-31-9-0 ~]# . /etc/profile

 6. standalone.sh 에 JAVA_HOME 재 지정
  파일 상단에 한 줄 추가
  JAVA_HOME=$JAVA7_HOME

  중간에 한줄 변경
   #JAVA="$JAVA_HOME/bin/java"       - 주석처리
   JAVA=$JAVA_HOME                     - 변경내용


이렇게 하면 완전 정상적으로 잘 뜬다.

로그를 보자..


[jboss@ip-172-31-9-0 bin]$ ./standalone.sh -Djboss.bind.address=0.0.0.0 -Djboss.bind.address.management=0.0.0.0&

[1] 4660

[jboss@ip-172-31-9-0 bin]$ =========================================================================


  JBoss Bootstrap Environment


  JBOSS_HOME: /usr/share/jboss-as-7.1.1.Final


  JAVA: /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java


  JAVA_OPTS:  -server -XX:+UseCompressedOops -XX:+TieredCompilation -Xms64m -Xmx512m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true -Djboss.server.default.config=standalone.xml


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


06:27:46,188 INFO  [org.jboss.modules] JBoss Modules version 1.1.1.GA

06:27:46,457 INFO  [org.jboss.msc] JBoss MSC version 1.0.2.GA

06:27:46,512 INFO  [org.jboss.as] JBAS015899: JBoss AS 7.1.1.Final "Brontes" starting

06:27:47,648 INFO  [org.xnio] XNIO Version 3.0.3.GA

06:27:47,667 INFO  [org.jboss.as.server] JBAS015888: Creating http management service using socket-binding (management-http)

06:27:47,674 INFO  [org.xnio.nio] XNIO NIO Implementation Version 3.0.3.GA

06:27:47,695 INFO  [org.jboss.remoting] JBoss Remoting version 3.2.3.GA

06:27:47,745 INFO  [org.jboss.as.logging] JBAS011502: Removing bootstrap log handlers

06:27:47,759 INFO  [org.jboss.as.configadmin] (ServerService Thread Pool -- 26) JBAS016200: Activating ConfigAdmin Subsystem

06:27:47,783 INFO  [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 31) JBAS010280: Activating Infinispan subsystem.

06:27:47,835 INFO  [org.jboss.as.osgi] (ServerService Thread Pool -- 39) JBAS011940: Activating OSGi Subsystem

06:27:47,837 INFO  [org.jboss.as.naming] (ServerService Thread Pool -- 38) JBAS011800: Activating Naming Subsystem

06:27:47,878 INFO  [org.jboss.as.security] (ServerService Thread Pool -- 44) JBAS013101: Activating Security Subsystem

06:27:47,882 INFO  [org.jboss.as.connector] (MSC service thread 1-1) JBAS010408: Starting JCA Subsystem (JBoss IronJacamar 1.0.9.Final)

06:27:47,950 INFO  [org.jboss.as.webservices] (ServerService Thread Pool -- 48) JBAS015537: Activating WebServices Extension

06:27:47,966 INFO  [org.jboss.as.security] (MSC service thread 1-2) JBAS013100: Current PicketBox version=4.0.7.Final

06:27:47,994 INFO  [org.jboss.as.connector.subsystems.datasources] (ServerService Thread Pool -- 27) JBAS010403: Deploying JDBC-compliant driver class org.h2.Driver (version 1.3)

06:27:48,095 INFO  [org.jboss.as.naming] (MSC service thread 1-1) JBAS011802: Starting Naming Service

06:27:48,372 INFO  [org.jboss.as.mail.extension] (MSC service thread 1-2) JBAS015400: Bound mail session [java:jboss/mail/Default]

06:27:48,420 INFO  [org.jboss.ws.common.management.AbstractServerConfig] (MSC service thread 1-1) JBoss Web Services - Stack CXF Server 4.0.2.GA

06:27:48,894 INFO  [org.apache.coyote.http11.Http11Protocol] (MSC service thread 1-1) Starting Coyote HTTP/1.1 on http--0.0.0.0-8080

06:27:49,204 INFO  [org.jboss.as.remoting] (MSC service thread 1-1) JBAS017100: Listening on /0.0.0.0:9999

06:27:49,231 INFO  [org.jboss.as.server.deployment.scanner] (MSC service thread 1-1) JBAS015012: Started FileSystemDeploymentService for directory /usr/share/jboss-as-7.1.1.Final/standalone/deployments

06:27:49,302 INFO  [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-2) JBAS010400: Bound data source [java:jboss/datasources/ExampleDS]

06:27:49,303 INFO  [org.jboss.as.remoting] (MSC service thread 1-1) JBAS017100: Listening on /0.0.0.0:4447

06:27:49,348 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015951: Admin console listening on http://0.0.0.0:9990

06:27:49,350 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015874: JBoss AS 7.1.1.Final "Brontes" started in 3475ms - Started 133 of 208 services (74 services are passive or on-demand)

 


'Develope > Server' 카테고리의 다른 글

NGINX 와 JBOSS 연동  (0) 2017.12.08
NGINX 기동 및 확인  (0) 2017.12.08
NGINX 설치  (0) 2017.12.08
리눅스 JAVA 버전 확인 및 변경  (0) 2017.12.07
리눅스에 JDK 1.8 설치  (0) 2017.12.07

+ Recent posts