Certbot을 사용하여 Ubuntu 서버에서 Apache2에 SSL을 설정하는 방법을 안내해드리겠습니다. 다음 단계에 따라 진행하시면 됩니다:
1. Certbot 및 관련 패키지 설치
먼저 Certbot과 Certbot의 Apache 플러그인을 설치해야 합니다. 이를 위해 아래 명령어를 사용하세요.
sudo apt update sudo apt install certbot python3-certbot-apache
2. Apache 서버 설정 확인
SSL 설정을 위해 Apache 설정 파일을 확인하고 필요시 수정합니다. 기본적으로 Apache가 설치되어 있고, 기본 설정 파일이 `/etc/apache2/sites-available/000-default.conf`에 있습니다. 해당 파일을 엽니다.
sudo nano /etc/apache2/sites-available/000-default.conf
해당 파일에 `ServerName` 지시어가 있는지 확인하고, 없다면 추가합니다. 예를 들어, 도메인이 `example.com`인 경우 다음과 같이 추가합니다:
<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ServerName example.com ServerAlias http://www.example.com <Directory /var/www/html> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
3. Apache 모듈 활성화
SSL 및 재작성 모듈을 활성화합니다.
sudo a2enmod ssl sudo a2enmod rewrite sudo a2enmod headers sudo systemctl restart apache2
4. Certbot을 사용하여 SSL 인증서 발급
이제 Certbot을 사용하여 SSL 인증서를 발급받을 수 있습니다.
sudo certbot --apache
이 명령어를 실행하면 Certbot이 Apache 설정을 자동으로 감지하고, SSL 인증서를 발급 및 설정해줍니다. 과정 중 도메인을 선택하고, 이메일 주소를 입력하며, `http`에서 `https`로 리디렉션할지 여부를 묻는 등의 단계를 거칩니다.
5. SSL 인증서 갱신 자동화
Certbot이 설치될 때 자동으로 갱신 크론 작업이 설정됩니다. 이를 수동으로 확인하려면 다음 명령어를 사용하여 테스트할 수 있습니다.
sudo certbot renew --dry-run
이 명령어가 성공하면 SSL 인증서 갱신이 자동으로 설정된 것입니다.
6. Apache 서버 재시작
마지막으로 Apache 서버를 재시작합니다.
sudo systemctl restart apache2
이제 SSL이 설정된 도메인으로 접속하여 HTTPS로 접속되는지 확인하시면 됩니다.
참고
– Certbot은 Let’s Encrypt의 무료 SSL 인증서를 제공합니다.
– 기본 설정 파일 외에 사용자 정의 설정 파일이 있을 경우 해당 파일을 수정해도 됩니다.
– 추가로 필요한 보안 설정이나 최적화 설정이 있을 수 있으므로, 상황에 맞게 Apache 설정을 조정하는 것이 좋습니다.
이 단계를 따라 진행하시면 Ubuntu 서버의 Apache2에 SSL을 설정할 수 있습니다.