synology NAS apache와 SSL 연동(https)

기존 에서 Synology NAS에 ipkg를 설치하고 apache와 ssl 연동하는 방법을 보여주고 있는 link를 안내했었는데,

예외 사항도 있고 해서 직접 따라하기를 안내해 본다.

참고로, 이 글에서 서술하고 있는 apache는 Synology NAS가 작동 중 서비스하는 웹서비스(DSM, 개인홈페이지)의 apache와는 다른, ipkg 부트스트랩(optware)을 통해 따로 설치되는 apache2이다.

1. 전제
1.1. NAS로 telnet 접속 상태이어야 한다.
1.2. vi 사용할 수 있어야 한다.
1.3. ipkg 설치되어 있어야 한다.

2. 설치
2.1. apache2
2.1.1. ipkg install apache 수행한다.(apache2가 아님)

3. 설정
3.1. 설치시 자동으로 apache2가 기동되었을 경우가 있으므로, apachectl stop 수행한다.
3.2. 환경설정 파일을 편집한다. /opt/etc/apache2/httpd.conf
3.2.1. 포트번호 ;  http://domain/ 접속시 사용
3.2.1.1. 명령모드에서 “Listen 8000” 문자열을 찾아 원하는 서비스 포트번호로 변경한다.
3.2.1.1. 주의사항
3.2.1.1.1. 포트번호로 80로 수정할 경우, 기존 DSM에서 사용하는 80포트를 다른 포트번호로 변경하여야 한다.
3.2.1.1.2. DSM 포트번호 수정시, vi /usr/syno/apache/conf/httpd.conf-user 내에서 수정한다.

3.2.2. 관리자 메일주소
3.2.2.1. 명령모드에서 “ServerAdmin you@example.com” 문자열을 찾아 원하는 메일 주소로 변경한다.

3.2.3. 서비스 도메인명
3.2.3.1. 명령모드에서 “ServerName www.example.com:8000” 문자열을 찾아 원하는 도메인 주소로 변경한다. 포트번호 포함.

3.2.4. 도메인 서비스 root
3.2.4.1. 명령모드에서 “DocumentRoot “/opt/share/www”” 문자열을 찾아 index.html파일이 위치한 디스크 상 경로로 변경한다.

3.2.5. root 경로 상세
3.2.5.1. 파일의 끝에서 아래 내용을 추가한다.

<Directory “3.2.4.절에서 설정한 도메인 서비스 root 경로“>                                          
        Options Indexes FollowSymLinks                                        
        AllowOverride None                                                    
        Order allow,deny                                                      
        Allow from all                                                        
</Directory>

3.2.5. log
3.2.5.1. 명령모드에서 “ErrorLog “var/apache2/log/error_log”” 문자열을 찾아 원하는 경로로 변경한다 ; error 로그
3.2.5.2. 명령모드에서 “CustomLog “var/apache2/log/access_log” common” 문자열을 찾아 원하는 경로로 변경한다 ; access 로그

3.2.6. SSL 적용 ; https://domain:포트번호/ 접속시 사용
3.2.6.1. ssl 환경설정 파일 적용
3.2.6.1.1. vi /opt/etc/apache2/httpd.conf 수행한다.
3.2.6.1.2. #Include etc/apache2/extra/httpd-ssl.conf 문자열 행을 찾아 제일 앞의 “#”문자를 제거하고 저장한다.
3.2.6.2. ssl 인증서 적용 ; SSL 인증서를 생성하지 않고 synology에서 제공하는 기본 인증서를 사용한다.
3.2.6.2.1. cd /opt/etc/apache2 수행한다 ; 경로 이동
3.2.6.2.2. ln -s /usr/syno/etc/ssl/ssl.crt/server.crt 수행한다 ; 기존 인증서 링크
3.2.6.2.3. ln -s /usr/syno/etc/ssl/ssl.key/server.key 수행한다 ; 기존 인증서키 링크
3.2.6.2.4. vi /opt/etc/apache2/extra/https-ssl.conf 수행한다.
3.2.6.2.5. SSLCertificateFile “/opt/etc/apache2/server.crt” 추가한다.
3.2.6.2.6. SSLCertificateKeyFile “/opt/etc/apache2/server.key” 추가한다.
3.2.6.2.7. “Listen 443” 문자열을 찾아 “Listen 원하는 포트번호” 로 수정한다.
3.2.6.2.8. “<VirtualHost _default_:10443>” 문자열을 찾아 “<VirtualHost _default_:3.2.1.2.7절에서 설정한 포트번호>” 로 수정하고 저장한다.
3.2.6.2.9. 명령모드에서 ErrorLog “/opt/var/apache2/log/error_log” 문자열을 찾아 원하는 경로로 변경한다 ; error 로그
3.2.6.2.10. 명령모드에서 TransferLog “/opt/var/apache2/log/access_log” 문자열을 찾아 원하는 경로로 변경한다 ; access 로그
3.2.6.2.11. 명령모드에서 CustomLog “/opt/var/apache2/log/ssl_request_log” 문자열을 찾아 원하는 경로로 변경한다 ; ssl 로그, 문자열 다음 수정 불필요

4. 재기동
4.1. apachectl restart

5. 확인
5.1. 웹브라우저에서 https://IP:설정한 ssl 포트번호/ 접속한다.

댓글 남기기