===== Apache Webserver HTTPS + DDNS ===== ==== 1. Apache2, Certbot 설치 ==== sudo apt install apache2 certbot python3-certbot-apache \\ ==== 2. Apache2 설정 ==== sudo a2enmod ssl sudo cp /etc/apache2/sites-available/{default-ssl,gamu.kr}.conf ServerName gamu.kr ## 추가 ServerAlias www.gamu.kr ## ServerAlias는 더 추가 가능 ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined SSLEngine on SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key SSLOptions +StdEnvVars SSLOptions +StdEnvVars sudo a2ensite gamu.kr.conf sudo systemctl restart apache2 \\ ==== 3. Certbot 설정 ==== sudo certbot --apache ## 실행후 질문에 선택사항 입력. !!Double Dash!! sudo systemctl restart apache2 sudo systemctl status certbot.timer ## 갱신 작동 확인 다음과 같은 메세지 출력시에는 Unable to find corresponding HTTP vhost; Unable to create one as intended addresses conflict; Current configuration does not support automated redirection 이 방법으로 적용 certbot certonly --standalone -d gamu.kr,www.gamu.kr ==== 4. DDNS 자동 갱신 ==== **/usr/lib/systemd/system/gamu.service** 작성 [Unit] Description=gamu.kr & www.gamu.kr DDNS(DnsZi) Renewal Service [Service] Type=oneshot ## DNSZi 사이트에서 코드 발행후 입력 ExecStart=$(type -p wget) -q -O - 'http://ddns.dnszi.com/set.html?user=&auth=&domain=gamu.kr&record=' **/usr/lib/systemd/system/gamu.timer** 작성 [Unit] Description=Run DDNS(https://dnszi.com) Service Renewal twice daily [Timer] OnCalendar=*-*-* 00,12:00:00 RandomizedDelaySec=43200 Persistent=true [Install] WantedBy=timers.target systemd 등록, 실행 sudo systemctl enable gamu.timer # 부팅시 타이머 실행 설정 sudo systemctl start gamu.timer # 타이머 실행 sudo systemctl status gamu # 등록한 타이머 상태 확인 \\