본문 바로가기

WEB서버

apache 2.0.52 ssl 설정법

원본 http://blog.naver.com/hdyu12/10008744118

-인터넷 돌아 댕기다 퍼왔슴-

설치 방법
1. 다운로드
2. 환경설정
3. 설치.
- 이건 뭐 다 똑같자나!!!! -_-+

그럼 머 설치 문서대로 험험..
1-1. 다운로드를 받도록 하자.
이 문서는 아파치를 두어번은 설치해본 SE들을 바탕으로 한다.
적어도. 소스설치를 처음 해보는 사람들은 주의해서 설치하도록 한다.

# <-- shell 기호다. (이정도는 알아야 한다고 본다 -_-;; )
#wget http://ftp.apache-kr.org/httpd/httpd-2.0.58.tar.gz
#wget http://perl.apache.org/dist/mod_perl-2.0-current.tar.gz

일단 다운로드는 아파치와 펄을 다운로드 받는다. 현재, 아파치는 2.22 까지나와있으나 stable은 2.0.58로 되어 있으므로 2.0버전을 다운로드 받는다.
펄의 경우는 apache 1.3x 인 경우 perl-1.0-current. ... 를 다운로드 받는다.

1-2 . 파일 옮기기
파일을 설치할 디렉토리로 이동한다. (윈도우에서는 '폴더' 리눅스 계열에서는 '디렉토리'란 말을 사용하는 것을 원칙으로 한다.)
자신이 좋아하는 디렉토리로 이동 시킨다. 나는 개인적으로 /usr/local/src 폴더에서 작업하는 것을 즐긴다. :)
# mv httpd-2.0.58.tar.gz /usr/local/src/
# mv mod_perl* /usr/local/src/

2. 설치하기
설치는 너무나도 간단하다. 압축 풀고 configure,make,make install 삼형제만 해주면 된다. ^^;;;
2-1 아파치
# tar xvzf httpd-2.0.58.tar.gz
# tar xvzf mod_perl-2.0-current.tar.gz
# cd httpd-2.0.58
* 문서상에서는 shell을 하나 짜서 돌린다. 이는 참 좋은 발상이다. :)
(사실..나야 아예 인스톨 shell를 만들어 둔것이 있긴 하다.ㅋㅋ )
# vi configthese
./configure --prefix=/usr/local/apache2 \
--enable--ssl\
--enable-info\
--enable-status \
-- enable-rewrite
// apache2 디렉토리는 나중에 매우 중요하다. 따라서 반드시 apache2로 설치하도록 한다.
# chmod a+x ./configthese
# ./configthese
# make && make install

2-2. 아파치 교정
아파치 설치가 대충 끝났으면 (정말 이건 대충이다.) start 시켜서 한국말 나오는거보고 stop 시킨후, apachectl 파일을 편집하자.
아래부분을 넣도록 한다.
PIDFILE=pid-file_path // 당근! 파일의 위치를 적어준다.
HTTPD=httpd_path
STATUSURL =" http://localhost/server-status"

2-3 Perl 설치하기

#cd /usr/local/src/mod_perl...
#perl Makefile.PL MP_AP_PREFIX=/usr/local/apache2
# make && make test
# make install
# cp mod_perl.so /usr/local/apache2/modules/

* 생성된 mod_perl.so 파일을 apache에 복사하여 start시에 로딩되도록 한다.

2-4. httpd.conf 수정하기
# ln -s /usr/local/apache2 /usr/local/apache
# ln -s /usr/local/apache/conf/httpd.conf /etc/httpd.conf
# vi /etc/httpd.conf
ServerRoot "/usr/local/apache2"
PidFile /usr/local/apache2/logs/httpd.pid
ServerAdmin you@domain.com
ServerName you.domain.com
DocumentRoot " /usr/local/apach2/htdocs"
UserDir public_html
DirectoryIndex index.html.............
Addhandler cgi-sciript.cgi
AddType text/html .shtml .htm .html
Addhandler server-parsed .shtml .htm .html
LoadModule perl_module modules/mod_perl.so

*중요한 것은 아까 설정한 STATUSURL 인데.. 이 부분은 일반적인 문서에서는 보안설정이라 하여 주석처리하는 것을 원칙으로 한다. 하지만 서버의 일반적인 사항을 알아보는 것 또한, 관리자에게는 매우 중요한 작업이다. 몇 가지 문구를 추가하여 내가 허락하는 도메인 또는 ip만 접근시키도록 한다.

<Location /server-status>
Allow from you.domain.com
...
</Localtion>
<Location /server-info>
Allow from you.domain.com
.....
</Location>

2-4. ssl 을 설치하자

또 다운로드 받아서 가져온다.
# wget http://www.openssl.org/source/openssl-0.9.7j.tar.gz
* 현재는 0.9.8까지 나와 있으나..음..권장하지는 않는다. -_-;;;
설치 방법은 또 똑같다. 삼형제~
# tar vzfx openssl-0.9.8j.tar.gz
# cd openssl-0.9.8
# ./config
# make
# make test && make install

2-5 . SSL키를 생성한다.

# cd /usr/local/ssl
# export PATH=$PATH:/usr/local/ssl
# openssl genrsa -des3 1024 > you.domain.com.key
# openssl req -new -key you.domain.com.key > you.domain.com.csr
* 간단히 물어보면 다 대답해주자. 잘 모르는 부분이 있을까봐 명시한다.
CountryName (나라이름 'KO')
State or Province ( 동대문구, 강남구 등..)
LcalityNme (XX동. . )
Organization Name (회사명)
Organization Unit Name (인증서 명 또는 용도)
CommonName ( 도메인 명)
몇가지 기본적인것을 더 물어본 후 파일이 생성된다.

# openssl req -x509 -days 90 -key you.domain.com.key \
-in you.domain.com.csr > you.domain.com.crt
# ls -l you* 해보면. . 파일들ㅇ ㅣ생성되어 있을 것이다.
# mkdir /usr/local/apache2/conf/ssl.crt
# mkdir /usr/local/apache2/conf/ssl.key
# cp you.domain.com.crt /usr/local/apache2/conf/ssl.crt/
# cp you.domain.com.key /usr/local/apache2/conf/ssl.key/

3. APACHE 환경 설정
자. 이제 마지막 환경설정이다. 신경써서 한번더 읽어보도록 한다.

3-1 . ssl.conf 파일 편집
NamevirtualHost *:443
<VirtualHost *:443>
ServerName you.domain.com:443
ServerAlias www.domain.com:443
DocumentRoot "/home/..../ssl" // 특정 디렉토리만 SSL을 적용할때 사용하면 좋다.
ScriptAlias /cgi-bin "/home...path"
ServerAdmin you@domain.com
ErrorLog logs/error_log
TransferLog logs/access_log

SSLEngine on
SSLSertificateFile /usr/local/apache2/conf/ssl.crt/you.domain.com.crt
SSLSertificateFile /usr/local/apache2/conf/ssl.key/you.domain.com.key
<Directory "/home..path/ssl">
SSLRequireSSL
</Directory>
<Directory "/home..path/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
</VirtualHost>

이제 httpd.conf 로 돌아와선!
해당 파일에 대한 VirtualHost 설정을 해준다.
물론 80포트로 말이다.
그럼 설정된 SSL 디렉토리만 443포트를 사용하여 접속이 되는 반면,
나머지 폴더는 80포트로 정상적인 접속이 될 것이다.

신나지? ㅋㅋㅋ

'WEB서버' 카테고리의 다른 글

[펌]apache1.3x 에 ssl 설치  (0) 2011.10.16
Apache DSO에 대하여...  (0) 2011.10.16
configure 옵션  (0) 2011.10.16
CENTOS + apache2 + mysql5 + php5 + jdk + resin2  (0) 2011.10.16
Apache와 Fast CGI설치 - cgi 개념 이탈?^^  (0) 2011.10.16