위즈군의 라이프로그
Reboot... Search /

[Fedora 9] OpenSSL 설치하기

2008. 12. 1. 15:04

0. 들어가기 전에

이 글은 [Fedora 9] 간단하게 리눅스 서버 만들기의 일부로 작성된 글입니다.
개별 기능들에 대한 내용은 전체적인 흐름과 환경에 영향을 받을 수 있다는 점을 참고하세요.
목표 시스템은 아래와 같습니다.

3차 목표 시스템 (Fedora Core 9 + Apache + PHP + MySQL + fastCGI + Textcube + Trac + Subversion + OpenSSL)
Linux : Linux reds 2.6.25.14 (Fedora Core 9)
Apache : httpd-2.2.9-1
PHP : php-5.2.6-2
MySQL : mysql-5.0.51

ProFTP :
fastCGI : mod_fcgid-2.2
Textcube : Textcube 1.7.5

Trac : trac-0.10.4
Subversion : subvresion-1.4.6

1. OpenSSL 설치

// openssl 설치
# yum install openssl
// mod_ssl 설치
# yum install mod_ssl mod_dav_svn

이번 OpenSSL 설치 역시 간단하게 설치가 가능합니다. 아파치에서 사용하기 위해 mod_ssl 을 같이 설치 해줍니다.
* yum 설치 시 의존성 관련 에러 날 경우
ex ) Error: Missing Dependency: httpd = 2.2.8-3 is needed by package 1:mod_ssl-2.2.8-3.i386(fedora)
yum을 이용해 설치 할 때 캐시 때문에 오류가 나는 경우가 가끔 있습니다. 이때는 아래와 같이 버전 정보 캐시를 삭제하고 다시 시도를 해보세요.

// yum 캐시를 삭제
# yum clean all

조금 많이 간단합니다.

2. OpenSSL 설정

2.1 인증서 만들기

// 인증서를 저장할 디렉터리를 생성 합니다.
# mkdir /var/local/wizp
# cd /var/local/wizp/
// 인증서 만들기 (wizCK 인증서와 키 파일을 생성)
# openssl req -new -x509 -nodes -out wizCK.crt -keyout wizCK.key
Country Name (2 letter code) [GB]:KR
State or Province Name (full name) [Berkshire]:
Locality Name (eg, city) [Newbury]:Seoul
Organization Name (eg, company) [My Company Ltd]:wiz.pe.kr
Organizational Unit Name (eg, section) []:blog
Common Name (eg, your name or your server's hostname) []:wiz.pe.kr
Email Address []:wiz@wiz.pe.kr
// 인증서 권한 설정
# chmod 600 wizCK.key

인증서를 저장할 경로에서 openssl 을 이용해 인증서와 키 파일을 생성합니다.
인증서에 들어갈 몇 가지 내용에 대한 질문이 나타나는데 적당한 값을 입력하면 됩니다. 테스트용으로 사용할 경우 그냥 기본 값으로 모두 넣어도 크게 문제 되지 않습니다.
질문에 답을 모두 하면 아래와 같은 2개의 파일이 생성됩니다.
- wizCK.key -> 비밀키(private key) 파일
- wizCK.crt -> 인증서(public key 포함) 파일
생성된 파일에 접근 권한을 설정해주면 됩니다.

2.2 아파치 설정

// ssl 관련 기본 설정 중 Virtual Host 부분을 주석처리 합니다.
# vi /etc/httpd/conf.d/ssl.conf
// 아파치 설정 하기
# vi /etc/httpd/conf/httpd.conf
// 포트 리스너 추가
Listen 443

// 가상 호스트 설정 예제
NameVirtualHost *:443
<VirtualHost *:443>
 DocumentRoot /var/www-ssl
 SSLEngine On
 SSLProtocol -all +TLSv1 +SSLv3
 SSLCipherSuite HIGH:MEDIUM:!aNULL:+SHA1:+MD5:+HIGH:+MEDIUM
 SSLOptions +StrictRequire
 SSLVerifyClient none
 SSLCertificateFile /etc/apache2/ssl/server.crt
 SSLCertificateKeyFile /etc/apache2/ssl/server.key
 <Location /svn> # Subversion 설정
  DAV svn
  SVNParentPath /var/lib/svn
  AuthType Basic
  AuthName "Subversion Repository"
  AuthUserFile /etc/dev_passwd
  Require valid-user
 </Location>
 <Location /projects> # Trac 설정
  SetHandler mod_python
  PythonHandler trac.web.modpython_frontend
  PythonOption TracEnvParentDir /var/lib/trac
  PythonOption TracUriRoot /projects
  AuthType Basic
  AuthName "Trac, Issue Tracking and Documenting"
  AuthUserFile /etc/dev_passwd
  Require valid-user
 </Location>
</VirtualHost>
// 아파치 재시작

이후에 작업할 Trac과 Subversion의 Virtual Host 설정에 인증서를 사용할 수 있도록 구성을 한 예제 입니다.
서비스 상황에 다라 적절히 수정해서 사용이 가능합니다.
실제 서비스에 사용할 경우 공인 인증 기관에서 인증을 받아야 합니다. 그렇지 않을 경우 신뢰 할 수 없는 인증서라는 경고가 뜨지만 그냥 무시하고 사용은 가능합니다.

3. 관련글

* 간단하게 리눅스 서버 만들기
외부참고 링크
* Subversion, Trac, SSL 함께 설치하기.

Category&Tag : [정리중/Linux & PHP]
위즈군의 라이프로그

Category

전체 (564)
개발 (0)
일반정보 (0)
IT 일반 (1)
일상&사진 (0)
정리중 (563)

Recent Entry

    Recent Comments

      Recent Trackbacks

        Tags

        Links

          Total:
          Today: / Yesterday:
          Powered by Tistory / Skin by 위즈 라이센스정책 rss 2.0