개인도메인만들기/웹서버설정 페이지의 소스 보기
마지막으로 [b]
-- Loading page list... --
내용출력
로그인[l]
Diary
[f]
최근변경내역
[r]
페이지목록[i]
횡설수설[2]
게시판[3]
링크
수정할 수 없습니다: 개인도메인만들기/웹서버설정 는 읽기 전용 페이지입니다.
네임서버의 설정과 도메인 설정이 다 끝났다면, 웹브라우저 등에서 개인 도메인으로 접속했을 때 해당 호스트에 제대로 접속이 된다. 그러나 문제는 gypark.pe.kr 이라고 접속을 해도, IP 주소를 따라가서 실제로는 HHHHHH.snu.ac.kr 로 접속이 되어 버리는 것. 즉 HHHHHH 내의 내 계정 홈페이지로 접속하기 위해서는 이번에는 웹서버의 설정을 변경해야 한다.
== # 상황 == * HHHHHH.snu.ac.kr : 기존의 홈페이지에 그대로 접속 * gypark.pe.kr : HHHHHH.snu.ac.kr/~gypark 에 접속 * www.gypark.pe.kr : HHHHHH.snu.ac.kr/~gypark 에 접속 * HHHHHH 에는 apache 웹서버가 설치되어 있음 == # httpd.conf 수정 == {{{ (중략) # 다음 줄의 주석제거 NameVirtualHost * # 아래 단락은 원래의 설정을 가상호스트 항목으로 # 다시 한 번 적어준 것이다. 아래 단락이 없으면 # 서버 홈페이지 (HHHHHH.snu.ac.kr) 로 접속을 해도 # 본인의 개인 홈페이지로 접속되어 버리는 해괴망칙한 # 사태가 발생한다. -_-; 원래 설정이 따로 있는데 # 반영이 안 되는 이유는 모르겠음.
ServerAdmin kmscom@HHHHHH.snu.ac.kr DocumentRoot "/usr/local/apache/htdocs" ServerName HHHHHH.snu.ac.kr Alias /cgi-bin/ "/usr/local/apache/cgi-bin/" ErrorLog /usr/local/apache/logs/error_log CustomLog /usr/local/apache/logs/access_log common
# 아래 단락은 www.gypark.pe.kr 로 접속했을 때
ServerAdmin gypark@HHHHHH.snu.ac.kr # DocumentRoot 를 내 홈페이지로 지정 DocumentRoot /export/home/lab/gypark/public_html # ServerName 을 지정 ServerName www.gypark.pe.kr # cgi-bin 디렉토리는 별도로 지정해야 한다. Alias /cgi-bin/ "/export/home/lab/gypark/public_html/cgi-bin/" # 로그 화일도 별도로 지정 ErrorLog logs/www-gypark.pe.kr-error_log CustomLog logs/www-gypark.pe.kr-access_log common
# 아래 단락은 www 없이 내ID.pe.kr 로 접속했을 때.. # 두 단락을 하나의 단락으로 적어 줄 수는 없을런지..
# 아래줄을 제외한 나머지는 위의 경우와 동일하므로 생략 ServerName gypark.pe.kr
}}} == # apache 재시작 == {{{ /usr/local/apache/bin/apachectl restart 경우에 따라서 /etc/init.d/apache restart }}} == # 동작 확인 == 웹브라우저에서 다음의 상황을 확인. * http://HHHHHH.snu.ac.kr 로 제대로 접속이 되는가 * http://gypark.pe.kr 로 제대로 접속이 되는가 * http://www.gypark.pe.kr 로 제대로 접속이 되는가 * 하부 링크나 CGI에도 제대로 접속이 되는가 ** http://gypark.pe.kr/DateBK5 ** http://www.gypark.pe.kr/cgi-bin/wiki/wiki.pl == # HTTPS 적용하기 == Let's encrypt에서 발급해준다는 공짜 인증서를 받아 나도 HTTPS를 지원하겠다...고 맘 먹었는데, certbot 이란 걸 쓰면 편하다는데 이게 centos5 에서는 이런 저런 의존성 해소가 안 되어 중간에 실패함ㅠ https://github.com/Neilpang/acme.sh - bash 스크립트만으로 해결되는 다른 클라이언트 * https://github.com/Neilpang/acme.sh 여기 있는 설명대로 따라함 {{{#!vim git clone https://github.com/Neilpang/acme.sh.git cd ./acme.sh ./acme.sh --install # 여기까지 하면 /root/.acme.sh 아래에 필요한 게 이것저것 생겨있음 acme.sh --issue --apache -d gypark.pe.kr -d www.gypark.pe.kr # /root/.acme.sh/gypark.pe.kr/ 아래에 .cer, .key 등의 파일이 생김 acme.sh --install-cert -d gypark.pe.kr \ --cert-file /etc/httpd/ssl/gypark.pe.kr-cert.pem \ --key-file /etc/httpd/ssl/gypark.pe.kr-key.pem \ --fullchain-file /etc/httpd/ssl/letsencrypt.pem \ --reloadcmd "service httpd graceful" # /etc/httpd/ssl 아래에 키가 생성됨 }}} 이제 아파치 설정 수정 {{{#!vim apache NameVirtualHost *:443
DocumentRoot /home/gypark/public_html ServerName gypark.pe.kr Alias /cgi-bin /home/gypark/public_html/cgi-bin CustomLog /var/log/httpd/access_log_gypark.pe.kr combined ErrorLog /var/log/httpd/error_log_gypark.pe.kr # SSL 설정 SSLEngine on # SSLProtocol -all +TLSv1.2 # centos5의 openssl 버전이 낮아서 TLS 1.2를 못 씀... SSLCertificateFile /etc/httpd/ssl/gypark.pe.kr-cert.pem SSLCertificateKeyFile /etc/httpd/ssl/gypark.pe.kr-key.pem SSLCertificateChainFile "/etc/httpd/ssl/letsencrypt.pem" SSLCACertificatePath "/etc/httpd/ssl/" SSLCACertificateFile "/etc/httpd/ssl/letsencrypt.pem"
}}} 수정 후 아파치 재시작:
service httpd graceful
그런데 계속 /etc/httpd/conf.d/ssl.conf 에 있는 _default_:443 의 virtual host 설정이 우선시되어서, 인증서가 올바르지 않다고 나옴. 별 수 없이 그 블록을 주석처리해줌. 일단 https://gypark.pe.kr 로 접속할 수 있는 것은 확인을 했는데, 크롬은 TLS 버전이 낮다며 계속 콘솔에 경고문을 띄운다. 아무래도 서버를 신버전으로 업그레이드하기 전에는 https 로만 쓰기는 무리일 듯. ---- [[주인장분류]] [[컴퓨터분류]]
개인도메인만들기/웹서버설정
페이지로 돌아가기 |
다른 수정본 보기