0. 개요
Ubuntu-18.0.2환경 하에서
서버 구성요소 최신화, JAVA 17설치, Gradle설치, Docker 설치를 진행하는 글입니다.
github action 구축 전 빌드 테스트를 위해 Java와 Gradle을 설치하고,
구축이후 Docker image를 실행하기 위해 Docker를 미리 설치합니다.
1. 서버 구성요소 최신화
apt-get update //업그레이드 가능한 리스트 업데데이트
sudo apt-get upgrade // 최신버전 업그레이드
2. JAVA OpenJDK17 설치
설치하기
설치는 다음의 명렁어를 입력해 진행합니다.
$ apt-cache search openjdk
$ apt-get install openjdk-17-jdk
$ apt-get install openjdk-17-jre
설치 확인하기
설치가 잘 되었는지 다음의 명령어로 확인할 수 있습니다.
$ java --version
//openjdk 17.0.6 2023-01-17
//OpenJDK Runtime Environment (build 17.0.6+10-Ubuntu-0ubuntu118.04.1)
//OpenJDK 64-Bit Server VM (build 17.0.6+10-Ubuntu-0ubuntu118.04.1, mixed mode, sharing)
$ javac --version
//javac 17.0.6
여러 버전이 설치되었는지 확인하기
만약, 설치된 JAVA가 여러 버전이라면, 기본으로 사용할 버전을 선택해야 합니다
아래의 명령어로 복수의 자바들중 기본으로 사용할 자바 선택 가능합니다.
$ update-alternatives --config java
환경변수 설정
* 저는 환경설정 없이 정상적으로 구동되었으나, 도움이 될까 싶어 글 남깁니다.
# 압축을 푼 아카이브 파일의 디렉토리로 설정
$ sudo mv jdk-17.0.6 /opt/
# 환경 변수를 설정
$ export JAVA_HOME=/opt/jdk-17.0.6
$ export PATH=$PATH:$JAVA_HOME/bin
# 환경 변수 설정 적용여부 확인
$ echo $JAVA_HOME
#결과 : /opt/jdk-17.0.6
구동 테스트
아래의 명령어를 통해 java파일을 생성합니다.
$ sudo nano hello.java
public class hello{
public static void main(String[] args){
System.out.println("Hello World!");
}
}
그리고 실행해 봅시다.
//컴파일
$ javac hello.java
//실행
$ java hello
//결과 : Hello World!
3. Gradle 설치
빌드 툴로 gradle을 사용할 것이기 때문에 빌드를 위해서 gradle를 설치해야 합니다.
설치방법은 APT를 통한 설치와 직접 웹에서 다운받는 두가지 방법이 있습니다.
3-1.APT로 설치하기
repository가 추가되어있는 버전만 다운받을 수 있어 상대적으로 버전이 낮습니다.
대신, 환경변수 설정까지 자동으로 되어 편하게 설치할 수 있습니다.
설치방법
$ sudo apt install gradle //apt로 설치
$ gradle --version //버전확인
3-2.웹에서 직접 다운로드 받기
웹에서 직접 다운로드 방법은 가장 최신 릴리즈 버전을 받을수 있습니다. [최신버전 확인하기]
대신 환경변수 설정은 직접 해주어야 합니다.
설치방법
//버전명은 자주 쓸거라 미리 선언
$ VERSION=8.1.1
//설치
$ wget https://services.gradle.org/distributions/gradle-${VERSION}-bin.zip -P /tmp
//압축해제
$ sudo unzip -d /opt/gradle /tmp/gradle-${VERSION}-bin.zip
링크연결
$ sudo ln -s /opt/gradle/gradle-${VERSION} /opt/gradle/latest
환경설정
환경설정을 하는 이유는, gradle 실행을 위해 모든 경로를 입력하지 않고,
gradle 명령어만으로도 gradle을 실행시키기 위함입니다.
텍스트 편집기를 열고 /etc/profile.d/ 디렉토리 내부에 gradle.sh이라는 새 파일을 만듭니다.
sudo nano /etc/profile.d/gradle.sh
그리고 다음 내용을 입력하고 저장합니다.
export GRADLE_HOME=/opt/gradle/latest
export PATH=${GRADLE_HOME}/bin:${PATH}
gradle 스크립트가 실행될 수 있도록 Executable 권한을 부여합니다.
$ sudo chmod +x /etc/profile.d/gradle.sh
방금 설정한 환경변수를 바로 사용할 수 있도록 source 명령어로 스크립트를 로딩합니다.
$ source /etc/profile.d/gradle.sh
잘 적용이 되었는지 아래의 명령어로 확인합니다.
gradle -v
4. Docker 설치
지금 당장 서버에서는 필요치 않습니다.
그러나, github action을 통해서 pull받은 docker image를 실행시키려면 필요하므로,
미리 설치까지만 하려고 합니다. docker hub연결은 이후 github action 적용기에 작성하도록 하겠습니다.
1. apt로 https를 통해 repository를 이용하도록 허용하는 패키지들 설치
$ sudo apt-get install ca-certificates
$ sudo apt-get install curl
$ sudo apt-get install software-properties-common
$ sudo apt-get install apt-transport-https
$ sudo apt-get install gnupg
$ sudo apt-get install lsb-releas
를 순차적으로 실행시켜야하는데 너무 번거롭죠?
$ sudo apt-get install ca-certificates && sudo apt-get install curl && sudo apt-get install software-properties-common && sudo apt-get install apt-transport-https && sudo apt-get install gnupg && sudo apt-get install lsb-release
&&로 명령어를 구분시켜 순차적으로 실행하게 끔 만들었습니다.
다만 하나가 실패하면 이후는 실행되지 않으니, 취향껏 사용하시면 될것같습니다.
2. Docker 공식 GPG Key 추가
GPG키란, 개인간, 머신간 또는 개인 - 머신간에 교환되는 메시지나 파일을 암호화 하거나 서명을 추가 하여 작성자를 확인하고 변조 유무를 식별할 수 있게 해주는 도구입니다.
기본적으로 RSA와 같은 공개 키 암호화 방식 을 사용하여 종단간 파일이나 메시지를 암호화 하거나 서명 하는 기능을 제공합니다.
즉, 해당 패키지가 Docker 저장소에서 받은 패키지의 무결성과 보안을 유지시키는 역할을 합니다.
다음 명령어를 통해서 Docker 공식 GPG키를 다운로드 받습니다.
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg
그리고 gpg키를 저장하고 파일에 권한을 설정합니다.
$ sudo mkdir -p /etc/apt/keyrings/
$ sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
$ sudo chmod a+r /etc/apt/keyrings/docker.gpg
3. Docker repository 등록
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
3-1. GPG key 에러나는 경우
curl 아래 명령어를 통해 GPG키를 다운받고 저장 및 권한설정을 진행합니다.
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0EBFCD88
$ sudo mkdir -p /etc/apt/keyrings/
$ sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
$ sudo chmod a+r /etc/apt/keyrings/docker.gpg
4. 시스템 최신화
$ sudo apt update
5. 도커 엔진 설치
$ sudo apt install docker-ce
6. 도커 설치 확인하기
$ sudo systemctl status docker
'Infra' 카테고리의 다른 글
Spring boot 서버를 쉘스크립트 배포하기 (0) | 2023.06.05 |
---|---|
[단축 URL 프로젝트 URLumberjack] - NCP DB서버 구축(MySQL 설치 및 설정) (0) | 2023.04.30 |
[NCP] Naver Cloud Platform VPN 발급 및 접속방법 (0) | 2023.04.30 |
[단축 URL 프로젝트 URLumberjack] NCP 인스턴스 생성 (0) | 2023.04.30 |
[단축 URL 프로젝트 URLumberjack] - NCP 스펙 정의 (0) | 2023.04.30 |