jenv는 여러 Java 버전을 관리할 수 있게 해주는 도구입니다. 여러 Java 버전이 설치된 환경에서 각 프로젝트별로 다른 Java 버전을 쉽게 사용할 수 있도록 도와줍니다. 

 

jenv의 주요 기능:
  • 여러 버전의 JDK를 설치하고, 각 프로젝트에 필요한 버전을 쉽게 선택하여 사용할 수 있습니다.
  • 각 프로젝트의 디렉토리 내에 .java-version 파일을 생성하여 해당 프로젝트에 사용될 Java 버전을 지정할 수 있습니다.
  • jenv local 명령어를 사용하여 현재 디렉토리의 Java 버전을 변경할 수 있습니다.
  • jenv global 명령어를 사용하여 시스템 전체의 기본 Java 버전을 설정할 수 있습니다.
  • jenv remove 명령어를 사용하여 더 이상 사용하지 않는 Java 버전을 삭제할 수 있습니다. 

 

jenv 설치

$ brew install jenv

 

 

설치된 jenv 를 등록하기 위해 ~/.bashrc 또는 ~/.bash_profile 혹은 ~/.zshrc에 내용을 추가합니다.

export PATH="$HOME/.jenv/bin:$PATH"
eval "$(jenv init -)"

또는 직접 명령어를 수행해서 추가 합니다.

$ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
$ echo 'eval "$(jenv init -)"' >> ~/.zshrc

 

변경사항 적용

$ source ~/.zshrc

 

jenv export plugin 설정

$ jenv enable-plugin export

 

 

jenv 설치 확인

$ jenv doctor

 

 

설치된 JDK 확인 (JDK가 설치 안되어 있다면 https://thetortoise.tistory.com/74 참고)

$ /usr/libexec/java_home -V
Matching Java Virtual Machines (2):
    21.0.7 (arm64) "Eclipse Adoptium" - "OpenJDK 21.0.7" /Library/Java/JavaVirtualMachines/temurin-21.jdk/Contents/Home
    17.0.13 (arm64) "Eclipse Adoptium" - "OpenJDK 17.0.13" /Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/temurin-21.jdk/Contents/Home

 

 

JDK를 jenv에 등록

# JDK 17
$ jenv add /Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home

# JDK 21
$ jenv add /Library/Java/JavaVirtualMachines/temurin-21.jdk/Contents/Home

 

jenv에 등록됬는지 확인

$ jenv versions
system
  17
  17.0
  17.0.13
* 21 (set by /Users/yhj/.jenv/version)
  21.0
  21.0.7
  temurin64-17.0.13
  temurin64-21.0.7

 

환경 변수 설정(JAVA_HOME)

# 사용할 JDK 버전을 입력합니다.
$ jenv global 21

 

'Java' 카테고리의 다른 글

[Mac] Java 21 설치  (0) 2025.07.05
Mac에서 JAVA JDK 설치하기  (0) 2023.03.12

 Eclipse Temurin 벤더사의 jdk를 설치합니다.

Eclipse Temurin의 주요 특징

  • 무료로 사용 가능하며, 누구나 소스 코드를 확인하고 수정할 수 있습니다. 
     
  • Java SE 기술 호환성 키트(TCK) 테스트를 통과하여 호환성이 보장됩니다. 
  • Azul과 IBM과 같은 기업에서 Temurin에 대한 상용 지원을 제공합니다.
  • Eclipse Foundation 산하의 Adoptium 프로젝트에서 관리하며, 다양한 플랫폼과 아키텍처에 대한 빌드를 제공합니다. 
  • 데스크톱, 서버, 클라우드 등 다양한 환경에서 Java 애플리케이션을 실행하는 데 사용됩니다. 
  • Oracle JDK의 대안으로 널리 사용됩니다. 

 

Adoptium Eclipse Temurin 21 설치

homebrew는 이미 설치 되있다고 가정합니다.

 

cask 설치(안되어 있을 경우)

brew install cask

 

Temurin 21 설치

brew install --cask temurin@21

 

설치 확인

$ java -version
openjdk version "21.0.7" 2025-04-15 LTS
OpenJDK Runtime Environment Temurin-21.0.7+6 (build 21.0.7+6-LTS)
OpenJDK 64-Bit Server VM Temurin-21.0.7+6 (build 21.0.7+6-LTS, mixed mode, sharing)

 

 

'Java' 카테고리의 다른 글

[Mac] jenv 설치  (0) 2025.07.05
Mac에서 JAVA JDK 설치하기  (0) 2023.03.12

 

Apache 웹 서버를 쉽게 설치하기 위해 일반적으로 yum install 명령을 사용합니다. 하지만 이 튜토리얼에서는 CentOS 7 환경에서 소스 코드를 컴파일하여 Apache를 설치합니다.

 

필요사항

  • APR and APR-Util
  • Perl-Compatible Regular Expressions Library (PCRE)
  • Disk Space
  • ANSI-C Compiler and Build System
  • Accurate time keeping
  • Perl 5 [OPTIONAL]

아파치 설치

# 아파치 설치 및 컴파일에 필요한 도구 설치

$ sudo yum update -y
$ sudo yum install -y wget gcc gcc-c++ expat-devel pcre-devel openssl-devel

 

# 소스코드 다운로드

# switch to home dir
$ cd ~

$ wget https://archive.apache.org/dist/httpd/httpd-2.4.49.tar.gz
$ wget https://dlcdn.apache.org//apr/apr-1.6.5.tar.gz
$ wget https://dlcdn.apache.org//apr/apr-util-1.6.3.tar.gz

 

 

# 다운로드한 소스들 압축해재

$ tar zxvf httpd-2.4.49.tar.gz
$ tar zxvf apr-1.6.5.tar.gz
$ tar zxvf apr-util-1.6.3.tar.gz

 

# Apache에서는 컴파일을 위해 APR 라이브러리가 필요합니다. 올바른 디렉토리에 소스 코드를 복사합니다.

# APR 디렉토리에 버전 번호를 포함하지 않는 것이 중요합니다.

# 이름을 변경하지 않고 apr-1.6.5 만 복사하면 apr 디렉토리 누락에 대한 경고가 나타납니다.

$ cp -r apr-1.6.5 httpd-2.4.49/srclib/apr
$ cp -r apr-util-1.6.1 httpd-2.4.49/srclib/apr-util

HTTPD 디렉터리 아래에 있는 srclib 디렉터리 내에 apr  apr-util 디렉터리를 배치해야 하며 이름은 apr 및 apr-util에 있어야 합니다.

 

# apache 컴파일(root 또는 sudo 로 컴파일을 실행하지 마세요.)

# change dir to downloaded apache source
$ cd httpd-2.4.33 
$ ./buildconf
$ ./configure --enable-ssl --enable-so --enable-http2 --with-mpm=event --with-included-apr --with-ssl=/usr/local/openssl --prefix=/usr/local/apache2
$ make

기본 Apache 설치 디렉터리 경로를 변경할 수 있습니다. 여기서는 /usr/local/apache2 디렉터리 경로를 지정했습니다 .

 

# 컴파일 후 sudo로 HTTPD 설치

$ sudo make install

 

# 다운로드한 소스들 정리

#switch to home dir
$ cd ~

$ rm -rf 1.6.1.tar.gz 1.6.5.tar.gz 2.4.49.tar.gz apr-1.6.5 apr-util-1.6.1 httpd-2.4.49

 

# HTTPD 명령 수동으로 생성

$ sudo vim /etc/profile.d/httpd.sh

# 아래 내용을 붙여넣고 저장 및 종료
pathmunge /usr/local/apache2/bin

 

# apache 버전 확인

$ httpd -v

 

# HTTPD 시스템 항목 추가

httpd 서비스 관리를 위한 초기화 스크립트를 만듭니다 . 따라서 vim 편집기를 사용하여 /etc/init.d/ 디렉터리 에 httpd 파일을 만들고 파일에서 다음과 같이 변경합니다.

$ vim /etc/systemd/system/httpd.service

[Unit]
Description=The Apache HTTP Server
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/apache2/bin/apachectl -k start
ExecReload=/usr/local/apache2/bin/apachectl -k graceful
ExecStop=/usr/local/apache2/bin/apachectl -k graceful-stop
PIDFile=/usr/local/apache2/logs/httpd.pid
PrivateTmp=true

[Install]
WantedBy=multi-user.target

 

# systemctl 데몬을 다시 로드

$ sudo systemctl daemon-reload

 

# apache httpd 서비스를 시작하고 활성화

$ sudo systemctl start httpd
$ sudo systemctl enable httpd

 

# apache 전용 사용자 및 그룹 생성

$ sudo groupadd www
$ sudo useradd httpd -g www --no-create-home --shell /sbin/nologin

 

# apache httpd.conf 구성

아래 내용을 바탕으로 수정하거나 추가

$ sudo vi /usr/local/apache2/conf/httpd.conf

# Make sure that ServerRoot is set to the same value as --prefix during ./configure
ServerRoot /usr/local/apache2

# Set ServerName to prevent warning on Apache start
ServerName localhost

# Default port set to 80 - HTTP protocol
Listen 80

# Set user and group
User httpd
Group www

# Configure entry file
DirectoryIndex index.php index.html

# Hide Apache version from header and from error files 
# not in the config by default so will need to add it in the bottom of the file
ServerTokens Prod
ServerSignature off

# Disable ETag to prevent disposing sensitive values like iNode 
# not in the config by default so will need to add it in the bottom of the file
FileETag none

 

# HTTPD 재시작

$ sudo systemctl restart httpd

 


참고

https://gist.github.com/rizkhanriaz/9e7d581eda271ecf4fba7dd2636fec9f

https://www.linuxhelp.com/how-to-install-apache-from-source-code-on-centos-7

https://httpd.apache.org/docs/2.4/en/install.html

 

'Server' 카테고리의 다른 글

Apache Tomcat 실행 및 멀티 인스턴스 구성  (0) 2023.03.19

 

Git은 log  diff 같은 명령의 메시지를 출력할 때 페이지로 나누어 보여준다. 기본으로 사용하는 명령은 less 다. more 를 더 좋아하면 more 라고 설정한다. 페이지를 나누고 싶지 않으면 빈 문자열로 설정한다.

$ git config --global core.pager ''

 

이 명령을 실행하면 Git은 길든지 짧든지 결과를 한 번에 다 보여 준다.

 


참고

https://git-scm.com/book/ko/v2/Git%EB%A7%9E%EC%B6%A4-Git-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0

 

+ Recent posts