성균관대학교 대학원 전자전기컴퓨터공학과에서 2017년 3월부터 석사 시작합니다.


이진규 교수님의 지도 하에 랩실에서 근무 예정입니다.

주 연구 분야는 모바일 시스템입니다. 모바일 센싱 및 자동차와의 융합 기능을 연구합니다.

배터리 분야도 부 연구로 진행합니다.


Real-Time Computing Laboratory (http://rtcl.skku.edu/)

연구 분야:

- Real-Time Embedded Systems

다양한 코어 시스템에서 실시간 스케줄링을 연구합니다.

멀티 쓰레드 환경에서 실시간 스케줄링을 연구합니다.

하드 리얼타임 환경에서 실행 시간을 보장하는 방법을 연구합니다.

- Cyber-Physical Systems

효율적인 배터리 충전/방전 방법을 연구합니다.

- Mobile Systems

모바일 응용과 서비스를 연구합니다.

모바일 환경에서의 에너지 소비 최적화를 연구합니다.

IoT 관련 분야를 연구합니다.

맥(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이 도메인을 잘 낚아채도록 수정


+ Recent posts