이전에 JBoss로 알려진 WildFly는 Java로 작성된 플랫폼 간 오픈 소스 애플리케이션 런타임으로, 놀라운 애플리케이션을 만들 수 있습니다. WildFly는 유연하고 가벼우며 필요에 따라 추가하거나 제거할 수 있는 플러그형 하위 시스템을 기반으로 합니다.
이 튜토리얼에서는 Ubuntu 18.04에 WildFly 애플리케이션 서버를 설치하는 방법에 대해 설명합니다. 동일한 지침이 Ubuntu 16.04 및 Kubuntu, Linux Mint 및 Elementary OS를 포함한 모든 Ubuntu 기반 배포에 적용됩니다.
전제조건
Ubuntu 시스템에 패키지를 설치하려면 sudo 권한을 가진 사용자로 로그인해야 합니다.
1단계: Java OpenJDK 설치
WildFly를 사용하려면 Java를 설치해야 합니다. Ubuntu 18.04의 기본 Java 개발 및 런타임인 OpenJDK를 설치합니다.
Java 설치는 매우 간단합니다. 패키지 인덱스를 업데이트하는 것부터 시작하십시오.
sudo apt update
다음을 실행하여 OpenJDK 패키지를 설치합니다.
sudo apt install default-jdk
2단계: 사용자를 생성
WildFly 서비스를 실행할 홈 디렉토리 /opt/wildfly와 함께 wildfly라는 새 시스템 사용자와 그룹을 생성합니다.
sudo groupadd -r wildfly
sudo useradd -r -g wildfly -d /opt/wildfly -s /sbin/nologin wildfly
3단계: WildFly를 설치
WildFly의 최신 버전은 16.0.0입니다. 다음 단계를 계속하기 전에 다운로드 페이지에서 새 버전을 확인해야 합니다. 새 버전이 있는 경우 아래 명령에서 WILDFLY_VERSION 변수를 교체하십시오.
다음 wget 명령을 사용하여 /tmp 디렉토리에 WildFly 아카이브를 다운로드합니다.
WILDFLY_VERSION=16.0.0.Final
wget https://download.jboss.org/wildfly/$WILDFLY_VERSION/wildfly-$WILDFLY_VERSION.tar.gz -P /tmp
다운로드가 완료되면 tar.gz 파일의 압축을 풀고 /opt 디렉토리로 이동합니다.
sudo tar xf /tmp/wildfly-$WILDFLY_VERSION.tar.gz -C /opt/
WildFly 설치 디렉토리를 가리키는 심볼릭 링크 와일드플라이를 만듭니다.
sudo ln -s /opt/wildfly-$WILDFLY_VERSION /opt/wildfly
WildFly는 WildFly 설치 디렉토리에 대한 액세스 권한이 필요한 WildFly 사용자 아래에서 실행됩니다.
다음 명령은 디렉토리 소유권을 사용자 및 그룹 와일드플라이로 변경합니다.
sudo chown -RH wildfly: /opt/wildfly
4단계: Systemd를 구성
WildFly 패키지에는 WildFly를 서비스로 실행하는 데 필요한 파일이 포함되어 있습니다.
먼저 WildFly 구성 파일을 저장할 디렉토리를 생성합니다.
sudo mkdir -p /etc/wildfly
구성 파일을 /etc/wildfly 디렉토리에 복사합니다.
sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.conf /etc/wildfly/
이 파일을 사용하면 WildFly 모드와 바인드 주소를 지정할 수 있습니다. 기본적으로 WildFly는 독립 실행형 모드에서 실행되며 모든 인터페이스에서 수신 대기합니다. 필요에 따라 파일을 편집할 수 있습니다.
# /etc/wildfly/wildfly.conf
# The configuration you want to run
WILDFLY_CONFIG=standalone.xml
# The mode you want to run
WILDFLY_MODE=standalone
# The address to bind to
WILDFLY_BIND=0.0.0.0
다음으로 WildFly launch.sh 스크립트를 /opt/wildfly/bin/ 디렉토리에 복사합니다.
sudo cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/
bin 디렉토리의 스크립트에는 실행 파일 플래그가 있어야 합니다.
sudo sh -c 'chmod +x /opt/wildfly/bin/*.sh'
마지막 단계는 이름이 지정된 systemd 유닛 파일을 /etc/systemd/directory에 복사하는 것입니다.
sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/
시스템d에 새 장치 파일을 생성했음을 알립니다.
sudo systemctl daemon-reload
다음을 실행하여 WildFly 서비스를 시작합니다.
sudo systemctl start wildfly
다음 명령을 사용하여 서비스 상태를 확인하십시오.
sudo systemctl status wildfly
# * wildfly.service - The WildFly Application Server
# Loaded: loaded (/etc/systemd/system/wildfly.service; disabled; vendor preset: enabled)
# Active: active (running) since Sun 2019-02-17 04:59:39 PST; 2s ago
# Main PID: 10005 (launch.sh)
# Tasks: 62 (limit: 2319)
# CGroup: /system.slice/wildfly.service
부팅 시 서비스를 자동으로 시작할 수 있도록 설정합니다.
sudo systemctl enable wildfly
5단계: 방화벽을 조정
서버가 방화벽에 의해 보호되고 로컬 네트워크 외부에서 WildFly 인터페이스에 액세스하려면 포트 8080을 열어야 합니다.
포트 8080에서 트래픽을 허용하려면 다음 명령을 입력합니다.
sudo ufw allow 8080/tcp
프로덕션 환경에서 WildFly 애플리케이션을 실행하는 경우 로드 밸런서 또는 역방향 프록시가 있을 가능성이 높으며 포트 8080에 대한 액세스를 내부 네트워크에만 제한하는 것이 좋습니다.
6단계: WildFly 인증을 구성
이제 WildFly를 설치하고 다음 단계를 실행하여 관리 콘솔을 사용하거나 CLI를 사용하여 원격으로 연결할 수 있는 사용자를 생성합니다.
새 사용자를 추가하려면 add-user를 사용하십시오.WildFly의 bin 디렉토리에 위치한 ssh 스크립트입니다.
sudo /opt/wildfly/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를 누릅니다.
그런 다음 새 사용자의 세부 정보를 입력하라는 메시지가 스크립트에 표시됩니다.
# Enter the details of the new user to add.
# Using realm 'ManagementRealm' as discovered from the existing property files.
# Username : jjeongil
# Password recommendations are listed below. To modify these restrictions edit the add-user.properties configuration file.
# - The password should be different from the username
# - The password should not be one of the following restricted values {root, admin, administrator}
# - The password should contain at least 8 characters, 1 alphabetic character(s), 1 digit(s), 1 non-alphanumeric symbol(s)
# Password :
# Re-enter Password :
# What groups do you want this user to belong to? (Please enter a comma separated list, or leave blank for none)[ ]:
# About to add user 'jjeongil' for realm 'ManagementRealm'
# Is this correct yes/no? yes
# Added user 'jjeongil' to file '/opt/wildfly-16.0.0.Final/standalone/configuration/mgmt-users.properties'
# Added user 'jjeongil' to file '/opt/wildfly-16.0.0.Final/domain/configuration/mgmt-users.properties'
# Added user 'jjeongil' with groups to file '/opt/wildfly-16.0.0.Final/standalone/configuration/mgmt-groups.properties'
# Added user 'jjeongil' with groups to file '/opt/wildfly-16.0.0.Final/domain/configuration/mgmt-groups.properties'
# Is this new user going to be used for one AS process to connect to another AS process?
# e.g. for a slave host controller connecting to the master or for a Remoting connection for server to server EJB calls.
# yes/no? yes
# To represent the user add the following to the server-identities definition <secret value="UGFuMjNkZWo3NyNA" />
인증에 사용되는 속성 파일에 새 사용자가 추가됩니다.
6단계: WildFly 설치를 테스트
기본 WildFly 페이지에 액세스하려면 브라우저를 열고 http://<your_domain_or_IP_address>:8080을 입력합니다.
설치가 성공했다고 가정하면 다음과 유사한 화면이 나타납니다.
7단계: WildFly 관리 콘솔에 액세스
명령어
명령줄에서 WildFly 관리 콘솔에 액세스하려면 jboss-cli.sh 스크립트를 사용하십시오.
와일드플라이의 빈 디렉터리로 이동하고 --connect 옵션을 사용하여 스크립트를 실행합니다.
cd /opt/wildfly/bin/
./jboss-cli.sh --connect
# Authenticating against security realm: ManagementRealm
# Username: jjeongil
# Password:
로그인하면 콘솔 프롬프트가 [standalone@localhost:9990 /]로 변경됩니다. 명령 및 명령 구문 목록을 가져오려면 help를 입력합니다.
여기서 애플리케이션을 배포 및 배포 해제하고, 사용자와 그룹을 관리하며, WildFly 서버를 구성하고 모니터링할 수 있습니다.
웹 인터페이스
GUI에서 서버를 관리하려는 경우 WildFly는 웹 기반 콘솔도 제공합니다.
기본적으로 WildFly 관리 콘솔은 http://localhost:9990/console의 localhost에서만 사용할 수 있습니다. 6단계에서 작성한 사용자를 사용하여 로그인합니다.
원격 위치에서 콘솔에 액세스하려면 wildfly.service, wildfly.conf 및 launch.sh 파일을 약간 수정해야 합니다.
wildfly.conf를 열고 WILDFLY_CONSOL_B를 추가합니다.파일의 끝에 IND=0.0.0.0이 있습니다.
# /etc/wildfly/wildfly.conf
# The configuration you want to run
WILDFLY_CONFIG=standalone.xml
# The mode you want to run
WILDFLY_MODE=standalone
# The address to bind to
WILDFLY_BIND=0.0.0.0
# The address console to bind to
WILDFLY_CONSOLE_BIND=0.0.0.0
launch.sh을 열고 강조 표시된 줄을 편집합니다.
# /opt/wildfly/bin/launch.sh
#!/bin/bash
if [ "x$WILDFLY_HOME" = "x" ]; then
WILDFLY_HOME="/opt/wildfly"
fi
if [[ "$1" == "domain" ]]; then
$WILDFLY_HOME/bin/domain.sh -c $2 -b $3 -bmanagement $4
else
$WILDFLY_HOME/bin/standalone.sh -c $2 -b $3 -bmanagement $4
fi
서비스를 다시 시작하여 변경 내용을 적용합니다.
sudo systemctl restart wildfly
wildfly.service를 열고 강조 표시된 줄을 편집합니다.
# /etc/systemd/system/wildfly.service
[Unit]
Description=The WildFly Application Server
After=syslog.target network.target
Before=httpd.service
[Service]
Environment=LAUNCH_JBOSS_IN_BACKGROUND=1
EnvironmentFile=-/etc/wildfly/wildfly.conf
User=wildfly
LimitNOFILE=102642
PIDFile=/var/run/wildfly/wildfly.pid
ExecStart=/opt/wildfly/bin/launch.sh $WILDFLY_MODE $WILDFLY_CONFIG $WILDFLY_BIND $WILDFLY_CONSOLE_BIND
StandardOutput=null
[Install]
WantedBy=multi-user.target
sudo mkdir /var/run/wildfly/
sudo chown wildfly: /var/run/wildfly/
sudo systemctl daemon-reload
sudo systemctl restart wildfly
그 포트 9990 의 방화벽에서 차단되지 않았다고 가정하고,http://<your_domain_or_IP_address >:9990/console에서 관리자에 액세스 할 수 있어야 합니다.
'SW > 리눅스' 카테고리의 다른 글
Ubuntu 18.04 : Netbeans 설치 방법, 예제, 명령어 (0) | 2021.06.11 |
---|---|
Ubuntu 18.04 : Apache Cassandra 설치 방법, 예제, 명령어 (0) | 2021.06.10 |
Linux : Tar Gz 파일을 압축 해제 방법, 예제, 명령어 (0) | 2021.06.08 |
Debian 9 : Zabbix 설치, 구성 방법, 예제, 명령어 (0) | 2021.06.07 |
Ubuntu 18.04 : Samba 설치, 구성 방법, 예제, 명령어 (1) | 2021.06.06 |