맥(Mac OS X)에 Java 8 (JRE, JDK, jdk1.8) 설치하는 방법입니다.


기존에 Legacy Java 6(2015-001)을 설치했더라도 상관 없습니다.

두 Java는 서로 영향 없이 맥에 공존하게 됩니다.




1. 다운로드 및 설치

우선 말씀드릴 점은, 여러가지 사유로 인해 JRE보다 JDK를 설치하는게 일이 간단합니다.


어차피 Java 8 설치하시는 분들은 Eclipse 혹은 관련 개발을 위함이라 생각되기 때문에

JRE는 건너뛰고 JDK를 설치하도록 합니다. (JDK는 JRE를 포함하고 있습니다.)


http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html




2. 터미널 명령어 java를 jre1.8로 연결

현재 상태에서 터미널에 java -version 을 치면 두 가지 케이스로 나눠지는데

  첫째는, 아무런 Java를 설치하지 않아 설치 창이 튀어나오는 경우

  둘째는, java 1.6.0이 설치되어 있다고 나오는 경우


어쨌거나 두 케이스 다 Java 8과는 연결되지 않기 때문에 새로이 연결하도록 합시다.


본 작업은 /usr/bin 디렉토리 내의 파일을 변경하므로, rootless 기능을 꺼야 가능합니다.

끄는 방법은 구글링을 하시기 바랍니다.


ls /Library/Java/JavaVirtualMachines


위 명령어로 현재 설치된 jdk1.8의 폴더명을 알아냅니다.


sudo rm /usr/bin/java

sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/bin/java /usr/bin/java




3. 끝

연결이 끝났습니다.

java -version 을 쳐서 Java 1.8.0 버전을 확인하고 기분 좋아하도록 합니다.

StartSSL에서 인증서 발급 받는 방법은 해당 글에서 확인하시기 바랍니다.


- 본 글은 RedHat 계열 기준으로 작성되었습니다. Debian, Ubuntu는 내용이 다릅니다.

- 본 글은 CentOS 7 기준으로 작성되었으며, 아파치는 yum 기반 설치를 가정합니다.



1. 아파치 SSL 모듈 설치


yum -y install mod_ssl



2. 서버에 인증서 저장


mkdir /etc/httpd/conf/ssl


# /etc/httpd/conf/ssl 경로에 아래의 인증서 파일들을 저장합니다.

# 경로는 바뀌어도 상관 없습니다. 아래 4번 항목에서 해당 경로를 수정해 주면 됩니다.


# 넣어야 하는 인증서 관련 파일:

#     acu.pe.kr.crt (도메인 인증서) (StartSSL에서 제공하는 zip 파일에 동봉)

#     private.key (비밀키)


# 인증서 파일들에 대한 권한 설정

chown -R root.root /etc/httpd/conf/ssl

chmod -R 644 /etc/httpd/conf/ssl



3. 아파치 설정 파일(httpd.conf)에 SSL 모듈 로드, 옵션 파일 추가


vi /etc/httpd/conf/httpd.conf


# 아래 내용 추가 (빨간 부분을 서버에 맞게 수정)

LoadModule ssl_module modules/mod_ssl.so

Listen 443

<VirtualHost *:443>

    ServerName acu.pe.kr

    ServerAlias www.acu.pe.kr

    DocumentRoot /var/www/html

    SSLEngine on

    SSLCertificateFile /etc/httpd/conf/ssl/acu.pe.kr.crt

    SSLCertificateKeyFile /etc/httpd/conf/ssl/private.key

</VirtualHost>



4. 아파치 재시작


systemctl restart httpd


# 아파치 실행 시 비밀키(private.key)의 pass phrase를 물어봅니다.

# 비밀키를 생성할 때 입력했던 비밀번호를 입력하시면 됩니다.


# 아파치를 실행할 때마다 pass pharase를 입력하기가 귀찮으시면

# 인증서에 아예 비밀번호를 입력시킬 수 있습니다.

openssl rsa -in /etc/httpd/conf/ssl/private.key -out /etc/httpd/conf/ssl/private.key


# 단, 이렇게 되면 이제부터 개인키 파일이 외부로 노출되어서는 절대 안됩니다.

# 또한 작업하기 전의 원본 파일을 별도로 백업해 두시기 바랍니다. (갱신 시 필요)



5. SSL 적용 테스트


테스트 사이트: https://www.digicert.com/help/



*. 에러 발생 시


이런 메시지가 출력되면 실행에 실패한 것임:

Job for httpd.service failed because the control process exited with error code.


왜 실행이 실패했는 지 로그 확인:

systemctl status -l httpd


문제: (98)Address already in use: AH00072: make_sock: could not bind to address [::]:443

이유: 다른 프로세스가 443 포트를 이미 사용중이므로, 해당 프로세스를 종료해야 함

해결: netstat -tunap | grep 443 명령어로 어떤 프로세스가 사용중인지 확인 후 종료

해결: 해결이 안되면 아파치 설정에 Listen 443이 중복 선언된 것, 따라서 주석 처리


문제: 홈페이지 접속 시 신뢰할 수 없는 인증서 메시지가 출력됨

증상: 서버의 인증서(crt)와 브라우저에 나타난 인증서의 지문(fingerprint)이 같지 않음

증상: Common Name(CA)에 이상한 랜덤 숫자가 표시됨

이유: 인증서가 아파치에 제대로 로드되지 않아 엉뚱한 인증서를 클라이언트에 제공함

해결: httpd.conf의 VirtualHost 443이 도메인을 잘 낚아채도록 수정


StartSSL 사이트에서 무료로 1년 사용 가능한 SSL 인증서를 발급받을 수 있습니다.



1. 사이트 접속 (https://www.startssl.com) 및 회원 가입


오른쪽 상단의 Sign-up을 눌러 회원 가입을 진행합니다.






StartSSL 사이트는 흔히 알던 아이디-비밀번호 방식이 아닌 이메일-인증서 방식입니다.


이메일을 입력하고 인증번호 단계를 거치면 브라우저에 인증서를 발급하여 저장해 줍니다.

인증서가 곧 ID와 같은 역할을 해 줍니다.



인증번호 입력 과정이 끝나면 브라우저에 인증서가 발급됩니다.

(주의: 포멧 등의 사유로 인증서가 브라우저에서 삭제되지 않도록 주의 바랍니다.)






Login Now 버튼을 눌러 로그인에 진입합니다.







2. 로그인


브라우저의 인증서를 통해 1차로 인증이 완료되면 OTP 단계에 진입합니다.


인증서를 선택하고 로그인을 시도하면, 이메일로 일회용 비밀번호가 발급됩니다.

이메일로 전송된 일회용 비밀번호를 입력하여 로그인합니다.







3. 도메인 인증 (소유권 주장)


SSL 인증서를 발급받기 전에, 먼저 해야 하는 단계가 있습니다.

인증서를 발급받고자 하는 도메인에 대한 소유권을 인증해야 해야 합니다.


도메인의 소유자만 해당 도메인에 대해 인증서를 발급할 수 있습니다.

제3자가 내 도메인 이름으로 인증서를 발급하고, 피싱 페이지를 만들 수도 있기 때문이죠.


Validations Wizard 버튼을 눌러 해당 메뉴로 진입합니다.






맨 위의 '도메인 인증'을 선택하고 진행합니다.







인증받고자 하는 도메인을 입력합니다.






해당 도메인을 소유하고 있는지를 도메인 메일 인증을 통해 처리합니다.


부득이하게 도메인 메일이 없거나, webmaster같은 이메일 계정이 없어서 인증이 어렵다면

또 다른 인증 방식인 website control validation을 통해 인증 가능합니다.


(주어지는 html 파일을 웹사이트 루트에 업로드하여 이를 검사하는 방식입니다.)







도메인에 대한 인증(소유권)이 완료되었습니다.

Order SSL 버튼을 통해 인증서 발급 단계로 진입합니다.







4. 인증서 발급


호스트네임을 입력합니다. 무료 인증서는 5개까지 입력 가능합니다.

첫 번째 줄에 입력된 호스트네임이 인증서의 common name이 됩니다.


일반적으로 www를 포함한 도메인과 포함하지 않은 도메인을 입력합니다. (총 2개)







SSL/TLS는 공개키 암호 방식을 사용하기 때문에 공개키비밀키를 생성해야 합니다.

더불어서 인증서에 추가 정보(회사명, 기관명, 회사 주소, 이메일 등)를 입력해야 합니다.


공개키와 추가 정보를 합친 파일을 Certificate Signing Request(CSR) 이라고 합니다.

이 파일은 우리가 손으로 직접 만들 수는 없고 Tool을 사용하여 생성해야 합니다.


비밀키를 먼저 만들고, 비밀키를 사용하여 공개키를 생성하게 됩니다.

일반적으로 비밀키는 랜덤한 값으로 만들기 때문에, 이 역시 Tool이 알아서 해 줄 것입니다.


리눅스에서는 빨간 글씨로 제공된 openssl 명령어를 통해,

윈도우 상에서는 제공되는 StartComTool.exe 프로그램을 통해 생성 가능합니다.


위 Tool을 사용한다면 비밀키(key) 파일과 공개키+추가 정보(csr) 파일이 생성됩니다.

비밀키 파일은 서버 내의 안전한 곳에 잘 보관하시고 유출되지 않도록 해야 합니다.


생성된 CSR 파일의 내용을 복사하여 홈페이지에 입력하고 다음 단계로 진행합니다.







인증서 발급이 성공적으로 완료되었습니다.







5. 인증서 다운로드


Tool Box 메뉴 최상단의 인증서 목록(Certificate List) 메뉴로 진입합니다.







목록에 2개의 인증서가 보일 것입니다 (Products 항목으로 구분하세요)

- 하나는 방금 만든 SSL 인증서입니다.

- 하나는 StartSSL 사이트에 로그인 할 때 사용하는 Client 인증서입니다.


SSL 인증서 우측의 Retrieve 버튼을 누르면 crt 인증서를 다운받을 수 있습니다.

작은 역삼각형 버튼을 누르면 pem 인증서를 다운받을 수 있습니다.




+ Recent posts