오랜만에 Apache2를 설치했는데 실 사용을 위해서 SSL 인증서를 발급받아주도록 하겠습니다.
기본적으로 SSL 인증서를 발급받기위해서는 도메인이 있어야하니 도메인을 꼭 발급 받아주세요.
구축 환경
Ubuntu 20.04 LTS
Apache 2.4.41
도메인 // petland.duckdns.org
먼저 도메인에 맞춘 가상 호스트가 존재해야합니다.
/etc/apache2/sites-available/{도메인 이름}.conf
없다면 아래처럼 기존 default.conf 파일을 복사해서 만드시면됩니다.
그리고 심볼릭 링크로 enable 시켜줍니다.
ln -s /etc/apache2/sites-available/petland.duckdns.org /etc/apache2/sites-enabled/
Certbot 설치하기
SSL 인증서를 발급받기위해서는 Certbot 패키지를 먼저 설치해줘야합니다.
sudo apt install certbot python3-certbot-apache
가상 호스트 파일 설정하기
아까 복사해놓은 /etc/apache2/sites-available/{도메인이름}.conf
에 들어가서 ServerName 과 ServerAlias 을 추가해줍니다.
vi /etc/apache2/sites-available/petland.duckdns.org
그리고 apache2ctl configtest
명령어로 설정값을 테스트해줍니다.
위처럼 OK 가 나오면 service apache2 reload
SSL인증서 발급받기
위에 apache용 certbot을 설치했기때문에 아래 명령어로 설치가 바로 진행됩니다.
sudo certbot --apache
처음에는 email, 그리고 동의 및 이메일 수신관련인데 다 Y 해줬습니다.
그다음은 도메인 이름을 넣어주면되고
중간에 1,2 redirect는 http로 넘어왔을때 자동으로 https로 리다이렉트 시켜준다는것입니다.
그리고 /etc/apache2/sites-available/에 들어가보면
이렇게 ssl 용 컨피그 파일이 있는걸 확인할 수 있습니다.
기존 내용도 보면 리다이렉트 관련 내용이 들어가있습니다.
기본적으로 apache2용 certbot 패키지는 하루에2번씩 인증서 기간을 체크해서 30일 이하가 남았을경우 자동으로 갱신을 도와주기 때문에 참고해주시면됩니다.
갱신 테스트 명령어는sudo certbot renew --dry-run
입니다.