리눅스/Window10 Arch Linux

Window 10 Arch-Linux OpenJDK 17과 Apache Tomcat 배포

차세대 IT 리더 비공자 2024. 8. 11. 04:29

 

목록

1. 어댑터 브리지 모드

2. root 계정 로그인

3. 유저 목록 확인

4. Arch Linux  필수 패키지를 설치

5. sudo, wget, tar, inetutils 패키지의 역할

6. Apache Tomcat을 설치

7. Tomcat 다른 곳에 옮기기

8. itleaderBigongja 계정에게 sudo 명령어 권한 부여

9. Tomcat 방화벽 설정하기

10. 최신 OpenJDK  설치하기

11. OpenJDK 완전히 삭제하기

12. 특정 버전의 JDK 설치하기

13. 개인 Tomcat과 OpenJDK 17 환경변수 설정

14. 시스템 전역 Tomcat과 OpenJDK 17 환경변수 설정

 

 

 

1. 어댑터 브리지 모드
다른 노트북에서 ArchLinux에 배포한 톰켓에 접속을 하기 위해서는

Oracle Virtual Box에서 어댑터 브리지 모드로 설정을 해야 합니다.

 

그럼 다음 ArchLinux에서 아래와 같은 경로로 접속

Boot existing OS Enter

 

*Arch Linux를 클릭 시 -> sda1에 설치된 GRUB 부트로더로 ArchLinux를 라이브 부팅을 합니다.

 

 

2. root 계정 로그인

root 계정으로 로그인 후, ifconfig 명령어를 입력 후,

DHCPDynamic Host Config Protocol )에서 독립적으로 할당 받은

IP : 192.168.0.7 ( reboot 시 새로운 IP가 할당 됨 )확인 합니다.

 

 

Root 계정으로 원격 접속하기

Git Bash 또는 Window PowerShell에서 원격으로 접속합니다.

SSH 시스템으로 원격 접속

 

 

3. 유저 목록 확인

명령어 : vim /etc/passwd 

설명 : passwd파일에 유저의 정보를 가지고 있어요

유저 목록 확인

rootitleaderBigongja 계정을 확인할 수 있습니다.

 

 

유저 계정 삭제_1

명령어 : userdel 유저명

설명 : 유저의 계정만을 삭제 합니다.

itleaderBigongja 계정을 삭제 후, 유저 목록 확인

 

 

유저 계정 삭제_2

명령어 : userdel -r 유저명

설명 유저계정을 삭제와 동시에 유저계정의 디렉토리까지 같이 삭제합니다.''

 

 

유저 계정 생성_1

명령어 : useradd 유저명

설명 : 유저 계정만을 생성 합니다.

itleaderBigongja 일반계정으로 생성

목록을 보면 itleaderBigongja 계정이 생성된것을 확인할 수 있습니다.

 

 

유저 계정 생성_2

명령어 : useradd -m -s 유저명 /bin/bash 유저명

설명 : 유저 계정 생성과 동시에 /home/유저 디렉토리 생성

            java, tomcat, oracle 이후 작업은 일반계정으로 해야하기 때문이에요.

 

 

유저목록 확인

명령어 : vim /etc/passwd

설명 : 리눅스의 유저목록을 호출합니다.

ArchLinux서버 유저목록 

 

 

유저 계정으로 원격 접속하기

명령어 : ssh 유저명@호스트IP

설명 생성한 일반유저로 로그인을 해주세요.

원격으로 일반유저 접속 시, 자기 자신( itleaderBigongja )의 디렉토리로 시작

 

 

4. Arch Linux  필수 패키지를 설치

Arch-Linux 패키지 설치 명령어 : pacman

Rocky Linux 패키지 설치 명령어 : dnf

( wget, sudo, tar, inetutils( net-utils ) )

 

wget 설치 명령어 ( root 계정으로 로그인 )

명령어 : pacman -S wget

root 계정으로 로그인 후, wget 패키지 설치를 합니다.

 

 

sudo 설치 명령어 ( root 계정으로 로그인 )

명령어 : pacman -S sudo

root 계정으로 로그인 후, sudo 패키지 설치를 합니다.

 

 

tar 설치 명령어 ( root 계정으로 로그인 )

명령어 : pacman -S tar

root 계정으로 로그인 후, tar 패키지 설치를 합니다.

 

 

inetuils 설치 명령어 ( root 계정으로 로그인 )

명령어 : pacman -S inetutils

root 계정으로 로그인 후, inetuils 패키지 설치를 합니다.

 

 

5. sudo, wget, tar, inetutils 패키지의 역할

패키지 명 설명
wget 다운로더 :
"wget"은 인터넷에서 파일을 다운로드하는 프로그램이에요 예를들어
우리가 인터넷에서 사진이나 음악 파일을 컴퓨터에 저장하고 싶을 때,
"wget"을 사용하면 명령어만으로 쉽게 다운로드할 수 있어요.
sudo 관리자 권한 부여 :
"sudo"는 "Superuser Do"의 줄임말로, 일반 사용자가 관리자의 권한을
잠시 사용할 수 있도록 해주는 명령어예요. 관리자 권한이 필요할 때,
예를 들어 소프트웨어 설치나 시스템 설정 변경 같은 작업을 할 때 사용

시스템 파일 변경 :
"sudo시스템 설정 파일을 수정할 때도 "sudo"를 사용해요.
tar 파일 꾸러미 :
"tar"는 여러 파일을 한데 모아 하나의 큰 파일로 만들거나( 파일압축 ),
그 큰 파일을 다시 작은 파일들로 풀어내는( 압축해제 ) 프로그램

압축 및 해제 :
압축 기능도 있어서 파일을 더 작은 크기로 줄여주고,
나중에 다시 원래 크기로 돌릴 수 있어요.
inetutils 네트워크 도구 :
"inetutils"는 컴퓨터가 인터넷과 연결될 때, 여러 가지 도구들을
모아둔 패키지예요. 예를 들어, 컴퓨터가 인터넷에 어떻게 
연결되어 있는지 확인하거나, 네트워크 문제를 해결하는 데 사용해요

 

 

 

6. Apache Tomcat을 설치

일반계정 사용자의 home 디렉토리에 Tomcat 디렉토리 생성 후 이동

명령어 : mkdir Tomcat

                cd Tomcat/

이제 Tomcat을 설치 합니다.

 

명령어 : wget https://downloads.apache.org/tomcat/tomcat-10/v10.1.28/bin/apache-tomcat-10.1.28.tar.gz

Tomcat 설치완료

 

 

Tomcat 압축 풀기

명령어 : tar -xvzf apache-tomcat-10.1.28.tar.gz

Tomcat 압축해제완료

-xvzf : 압축을 풀어주는 옵션

 

 

7. Tomcat 다른 곳에 옮기기

Tomcat을 "/home/Tomcat" 폴더가 아니라 시스템의 공용 폴더인 "/opt" 또는 "/usr/local"

디렉토리에 옮겨서 다른 사용자들도 사용할 수 있도록 해야 합니다.

이 작업은 "root"라는 특별한 권한을 가진 사용자가 해야 합니다.

 

명령어 : sudo mv apache-tomcat-10.1.28 /opt/tomcat

설명 : /opt/tomcat 폴더를 생성 해 tomcat 실행파일을 옮겨준다.

itleaderBigongja 계정은 sudoers에 없기 때문에

sudo 명령어를 사용할수가 없다고 합니다.

 

8. itleaderBigongja 계정에게 sudo 명령어 권한 부여

root 계정으로 로그인 후, sudoers 수정

User privilege specification

( 새로운 사용자에 대한 권한 설정을 추가 )

itleaderBigongja 계정은 sudo 명령어를 사용 가능

 

 

다시 Tomcat 옮기기 작업 시작

명령어 : sudo mv apache-tomcat-10.1.28 /opt/tomcat

설명 : /opt/tomcat 폴더를 생성 해 tomcat 실행파일을 옮겨준다.

위와 같이 itleaderBigongja 계정으로 sudo 명령어를 이용해

tomcat을 /opt/tomcat으로 이동시켰습니다.

 

 

Tomcat 사용 권한 설정하기 ( 소유권, 권한 설정 )

디렉토리 소유자 변경하기

명령어 : sudo chown -R itleaderBigongja: /opt/tomcat

설명 : sudo : 관리자 권한을 주는 명령어

          chown : 폴더의 소유자를 변경하는 명령어

          -R : 파일과 디렉토리 권한을 함께 설정하는 옵션

          itleaderBigongja : 디렉토리의 소유자

          /opt/tomcat : itleaderBigongja자 소유한 디렉토리

/opt/tomcat 소유자 itleaderBigongja로 변경완료

 

 

Tomcat 디렉토리에 대한 권한 설정

명령어 : sudo chmod -R 755 /opt/tomcat

설명 : sudo : 관리자 권한을 주는 명령어

          chmod : 파일과 디렉토리의 권한을 설정 명령어

          -R : 파일과 디렉토리 권한을 함께 설정하는 옵션

          755 : 권한을 설정하는 숫자 ( 파일 열람과 실행 권한부여 )

          /opt/tomcat : 권한을 설정할 폴더

권한설정 완료

 

 

사용 권한 정리

대상 디렉토리 : /opt/tomcat

소유자 : itleaderBigongja ( 디렉토리 관리 가능 )

권한 : 모든 사용자가 열람과 실행을 할 수 있음

 

 

9. Tomcat 방화벽 설정하기

ArchLinux에서  방화벽 설정은 "iptables" or "nftables"를 사용

기준설정 : iptables

 

 

iptables 패키지 설치

명령어 : sudo pacman -S iptables

iptables 설치완료

 

 

방화벽 규칙 추가하기( 포트번호 8080 열기 )

명령어 : sudo iptables -A INPUT -p tcp --dport 8080 -j ACCEPT

설명 : 다음 명령어 사용하여 8080포트를 허용합니다.

           모든 외부 포트 8080 접근할 수 있도록 설정

            -A INPUT : 방화벽 규칙을 입력 체인에 추가하는 명령어

            -p tcp : TCP 프로토콜을 지정합니다.

            --dport 8080 : 8080 포트를 지정합니다.

            -j ACCEPT : 이 포트로 들어오는 모든 연결을 허용합니다.

 

 

규칙 저장하기

iptables에서 설정한 규칙은 시스템을 재부팅하면 사라질 수 있으므로

규칙을 저장해야 합니다. ( 규칙 저장 방법 명령어 )

명령어 : sudo iptables-save | sudo tee /etc/iptables/iptables.rules

설명 : iptables-save : 현재 설정된 방화벽 규칙을 저장하는 명령어

            tee /etc/iptables/iptables.rules 규칙을 파일에 저장 명령어

 

 

iptables 서비스 재시작

명령어 : sudo systemctl restart iptables

설명 : 방화벽 규칙을 새로 적용하려면 "iptables" 서비스를

           재시작할 필요가 있습니다.

 

 

방화벽 상태 확인

명령어 : sudo iptables -L -n

설명 : 설정이 제대로 되었는지 확인하려면

           현재 설정된 방화벽 규칙을 확인합니다.

 

 

10. 최신 OpenJDK  설치하기

OpenJDK 17 설치경로 : /usr/lib/jvm/최신 JDK 설치 디렉토리

 

JDK 설치 경로 디렉토리 생성

명령어 : cd /usr/lib

               sudo mkdir jvm

               cd jvm

 

 

최신 버전 OpenJDK 설치 시작

명령어 : sudo pacman -S jdk-openjdk

설명 : ArchLinux에서 공식 저장소에서 OpenJDK 22를 자동으로 설치 합니다.

OpenJDK 22버전 설치완료

 

 

OpenJDK 버전확인

명령어 : java -version

 

 

11. OpenJDK 완전히 삭제하기

명령어 : sudo pacman -R jdk-openjdk

설명 : -R 옵션은 지정한 패키지를 제거 합니다.

삭제완료

 

12. 특정 버전의 JDK 설치하기

설치 경로 : /home/JDK_17

명령어 : mkdir JDK_17

              cd JDK_17

 

 

OpenJDK 17 설치

명령어 : https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz

오라클 공식 사이트에서 OpenJDK 17버전 설치

★ JDK 설치 시, 주의사항

현재 ArchLinux라고 aarch64_bin.tar.gz를 설치하는 줄 알지만, 

현재 VitualBox의 시스템 아키텍처는 x86_64 이므로

linux-64_bin.tar.gz 파일을 설치해야 합니다.

 

OpenJDK-17 설치시작

OpenJDK-17 Version 설치완료

 

 

OpenJDK 17 압축풀기

명령어 : tar -xvzf jdk-17_linux-x64_bin.tar.gz

설치 했던 OpenJDK-17 압축해제 완료

 

 

OpenJDK 17 디렉토리 이동

명령어 : sudo mv jdk-17.0.12 /usr/lib/jvm/java-17-openjdk

/usr/lib/jvm/이동할 디렉토리(java-17-openjdk 생성)로 이동

java-17-openjdk 이동완료

 

 

13. 개인 Tomcat과 OpenJDK 17 환경변수 설정

OpenJDK 17 환경변수 추가

명령어 : vim ~/.bashrc

명령어 : export JAVA_HOME=/usr/lib/jvm/java-17-openjdk

                export PATH=$JAVA_HOME/bin:$PATH

JAVA_HOME : JDK-17이 설치된 경로를 가리킵니다.

PATH : JDK의 bin 디렉토리를 추가하여 Java 명령어를 사용할 수 있도록 설정

 

 

Tomcat 환경변수 추가

명령어 : vim ~/.bashrc

명령어 : export CATALINA_HOME=/opt/tomcat

CATALINA_HOME : Tomcat이 설치된 경로를 가리킵니다.

 

 

14. 시스템 전역 Tomcat과 OpenJDK 17 환경변수 설정

공용으로 Tomcat과 JDK를 사용하려면 

환경변수 셋팅 경로 : /etc/priofile.d

( root 계정으로 로그인으로 작성해야 합니다. )

 

명령어 : vim java_tomcat.sh ( 없을 시 생성 )

설명 : java와 tomcat의 환경변수를 리눅스 로그인 시 자동 설정

export JAVA_HOME="/usr/lib/jvm/JDK 위치경로"

export PATH=$PATH:$JAVA_HOME/bin

export CATALINA_HOME=/opt/톰켓 위치경로

export PATH=$PATH:$CATALINA_HOME/bin

 

 

스크립트 실행 권한 부여

명령어 : sudo chmod +x /etc/profile.d/jdk_tomcat.sh
설명 : 생성한 스크립트에 실행 권한을 부여합니다.

스크립트를 적용 시킬려면 reboot를 해야 합니다.

시스템 초기화 

 

 

root 계정 로그인 후, tomcat 실행

설명 : itleaderBigongja만 환경변수를 셋팅을 해서

           root 계정은 Tomcat을 실행할 수 없었지만,

           시스템 전역( /etc/profile.d/java_tomcat.sh )로

           시스템 전역 환경변수를 셋팅을하여 모든 사용자들도

           tomcat을 실행을할 수 있어요

 

 

Tomcat 실행그룹 생성

명령어 : sudo groupadd tomcat_start

설명 : Tomcat의 실행 권한을 가진 계정의 그룹

 

Tomcat 실행그룹 계정 추가

명령어 : sudo usermod -a -G tomcat_start itleaderBigongja

             , sudo usermod -a -G tomcat_start JYJ

설명 : Tomcat을 실행할 사용자들을 새로 생성한 tomcat 그룹에 추가합니다.

           -a : 사용자를 기존 그룹에서 제거하지 않고 새 그룹에 추가하는 역할

           -G : 추가할 그룹을 지정 

 

 

Tomcat 디렉토리의 그룹 설정

명령어 : sudo chown -R :tomcat_start /opt/tomcat

설명 : Tomcat 디렉토리와 하위 파일들의 그룹 소유자를

           새로 생성한 tomcat_start 그룹으로 변경 합니다.

 

 

Tomcat 디렉토리 권한 설정

명령어 : sudo chmod -R 770 /opt/tomcat

설명 : Tomcat 디렉토리 내의 파일들이 그룹 소유자가

          필요한 권한을 가지도록 설정 합니다.

          770 : 소유자와 그룹에게 읽기, 쓰기, 실행 권한을 부여

          다른 사용자에게는 접근 권한이 없습니다.

 

 

Tomcat 방화벽 다시 한번 확인하기

명령어 : sudo iptables -L -n -v

iptables에 설정된 방화벽확인

명령어 : sudo iptables -A INPUT -p tcp --dport 8080 -j ACCEPT

iptables에 8080 방화벽 추가 설정

명령어 : sudo iptables-save | sudo tee /etc/iptables/iptables.rules

iptables 셋팅된 방화벽 규칙 저장

정상적으로 Tomcat 방화벽이 설정이된 모습을 확인할 수 있습니다.

 

 

Apache Tomcat server.conf 파일 확인

server.xml파일에서 

PORT="8080"

PROTOCOL="HTTP/1.1"

네트워크 연결 : 어댑터 브리지일 경우

ADDRESS="DHCP에서 할당된 독립적인IP 입력"

네트워크 연결 : NAT일 경우

ADDRESS="127.0.0.1( localhost )IP 입력"

address인 경우, 공유기 즉, 다른 네트워크와 연결되면

address에 DHCP에서 새로 할당된 IP를 입력해주어야 합니다.

 

 

Apache Tomcat 시작

명령어 : cd /opt/tomcat/bin

              ./startup.sh

Tomcat 실행완료

 

 

웹 브라우저에서 Tomcat 접근

웹 브라우저에서 Tomcat 접속완료!

 

 

Apache Tomcat 서버종료

명령어 : cd /opt/tomcat/bin

                ./shutdown.sh

이렇게 ArchLinux에서 Tomcat 배포까지

모든 작업을 했습니다.