Monthly Archives: April 2015

알고리즘의 개요

  • 알고리즘(algorithm)
    • 특정 문제를 해결하기 위해 기술한 일련의 명령문
  • 알고리즘의 요건
    • 완전성과 명확성 : 수행순서와 결과가 완전하고 명확하게 명세
    • 입력과 출력
    • 유한성 : 유한한 단계 뒤에는 반드시 종료

 

  • ADL(Algorithm Description Language)
    • 알고리즘 기술을 위해 정의한 언어
    • 사람이 이해하기 쉽고, 프로그래밍 언어로의 변환이 용이
    • 의사코드 (pseudo-code) : ADL과 약간의 자연어로 기술한 것
    • ADL 알고리즘에서 프로그램으로의 변환
    • C언어와 유사
    • ADL 데이타
      • 타입 : 정수, 실수, 부울(Boolean), 문자
      • 변수 : 선언 없이도 사용가능
      • 배열 : 첨자는 0부터 시작
    • ADL의 명령문
      • 지정문 : ‘=’ 또는 ‘←’ 기호를 사용
      • 조건문 : if
      • 반복문 : for (i=1; i<n; i++) 또는 for i= [1, n)
        • [ = 이상 또는 이하, ) = 미만 또는 초과

Linux 웹서버에 SSL 인증서 설치

지인 분의 부탁으로 SSL인증서를 웹서버에 설치하게되었다.

페이스북의 Canvas라는 App인데, 이를 사용하려면 https를 사용해야만 해당 App을 쓸수있다고하여 SSL을 설치하게되었다.

 

1. Random State 생성

 

2. 개인키 생성

개인키를 생성하면 비밀번호를 입력하게 되는데, 이 비밀번호는 Apache 기동시 반드시 필요하므로 꼭 기억하도록 합니다.

잊으면 인증서를 재발급 해야 합니다.

 

3. CSR 생성

 

 

우선, 개인키 생성 때 입력한 비밀번호를 입력하고 순차적으로 입력합니다.

Country Name : 국가(C : country)에 해당하는 값

State or Province Name : 지방(ST : state)에 해당하는 값

Locality Name : 지역(L : locality)에 해당하는 값 (city, town 등)

Organization Name (eg, company) [My Company Ltd] : DN(Distinguish Name)에 포함될 기간명(O : organization)을 입력합니다.

Organizational Unit Name (eg, section) [] : DN에 포함될 부서이름(OU : organization unit)을 입력합니다.

Common Name (eg, your name or your server’s hostname) [] : SSL인증서를 사용하실 웹 서버의 Full domain name(host + domain name)을 입력합니다. ex) www.kisa.or.kr

추가 사항은 생략하셔도 됩니다.

 

이렇게 생성한 CSR파일을 SSL 인증서를 구매하는 업체에 전달하고, 이제 인증서를 기다리고 기다리고 기다리면 됩니다.

 

마지막으로 제 서버는 Apache 2.2.29인데, 컴파일 설치 할 때 mod_ssl 조건을 주지 않아 다시 컴파일해야 합니다.

기존의 소스 설치파일을 남겨 두었기 때문에 config.log 파일에 기존의 컴파일 명령어들이 남아있어 거기에 “–enable-ssl” 조건을 추가하여 새로 컴파일 후, 새로 설치된 Apache 아래의 /modules/mod_ssl.so 파일을 기존의 Apache 아래의 /modules/에 복사하고, 기존의 Apache의 htpd.conf파일에서 “LoadModule ssl_module       modules/mod_ssl.so”을 추가하고 Apache를 재시작하면 됩니다.

 

근데, 이상하다… 예전에 설치할땐 Apache아래의 bin에서 어떤 실행파일을 통해서 mod_ssl.so 파일을 등록해 주었는데, 다시하니 그런게없다… httpd -l 하니 mod_ssl.c가 보이지 않는다… 역시 다시 삽질해야한다… 그게 aspx라는 건데, mod_ssl.c 파일을 컴파일해서 mod_ssl.so파일을 만들어준단다. so파일을 conf파일에서 로드하면 문제없이 된다고 하니, 일단은 더 진행하지 않고 인증서를 기다려봐야겠다.

 


 

Apache 2.2.29에서 위 처럼 하면 SSL 모듈이 정상적으로 작동을 해서, httpd-ssl.conf 에서 ssl 관련 VirtualHost만 설정해주고 재시작하고, 개인키 생성 할 때 입력했던 비밀번호만 입력하면 됩니다.