이 글은 [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
// 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
조금 많이 간단합니다.
// 인증서를 저장할 디렉터리를 생성 합니다.
# 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 포함) 파일
생성된 파일에 접근 권한을 설정해주면 됩니다.
// 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 설정에 인증서를 사용할 수 있도록 구성을 한 예제 입니다.
서비스 상황에 다라 적절히 수정해서 사용이 가능합니다.
실제 서비스에 사용할 경우 공인 인증 기관에서 인증을 받아야 합니다. 그렇지 않을 경우 신뢰 할 수 없는 인증서라는 경고가 뜨지만 그냥 무시하고 사용은 가능합니다.
* 간단하게 리눅스 서버 만들기
외부참고 링크
* Subversion, Trac, SSL 함께 설치하기.
PHP 기본 문법 및 변수 (2) | 2008.12.31 |
---|---|
간단하게 리눅스 서버 만들기 (8) | 2008.12.24 |
[Fedora 9] Subversion + Trac 설치 (2) | 2008.12.24 |
[Fedora 9] Samba 로 윈도우와 네트워크 공유하기 (0) | 2008.12.11 |
[Fedora 9] fastCGI 설치 (0) | 2008.11.21 |
[Fedora9] Apache & PHP 설치 (0) | 2008.11.18 |
[Fedora 9] MySQL 설정 및 innoDB 설정 (0) | 2008.10.31 |
[Fedora9] FTP 설치 ProFTPD (2) | 2008.10.24 |