우분투, 아파치, https를 사용할 수 있도록 세팅하는 방법

Ubuntu에서 Apache 웹 서버를 HTTPS를 사용할 수 있도록 설정하려면 다음 과정을 따르세요:


1. Apache 설치

  1. 터미널을 열고 Apache를 설치합니다.
    bash
    sudo apt update
    sudo apt install apache2
  2. Apache 서비스가 실행 중인지 확인합니다.
    bash
    sudo systemctl status apache2

    서비스가 활성 상태(active (running))인지 확인하세요.


2. 방화벽 설정

  1. HTTP와 HTTPS 트래픽을 허용합니다.
    bash
    sudo ufw allow 'Apache Full'
  2. 방화벽 상태를 확인하여 Apache가 열려 있는지 확인합니다.
    bash
    sudo ufw status

3. SSL 모듈 활성화

  1. Apache에 SSL 모듈을 활성화합니다.
    bash
    sudo a2enmod ssl
  2. Apache를 다시 시작합니다.
    bash
    sudo systemctl restart apache2

4. SSL 인증서 설정

4.1. Certbot 설치 (Let’s Encrypt)

Certbot은 무료 SSL 인증서를 발급받고 자동으로 갱신해주는 도구입니다.

  1. Certbot과 Apache 플러그인을 설치합니다.

    bash
    sudo apt install certbot python3-certbot-apache
  2. Certbot을 실행해 인증서를 발급받고 Apache에 HTTPS를 자동으로 설정합니다.

    bash
    sudo certbot --apache
    • 이메일 주소 입력
    • 서비스 약관 동의
    • HTTP를 HTTPS로 리다이렉션할지 여부 선택

4.2. DNS 설정 확인

Certbot은 도메인 소유권 확인을 위해 DNS 설정이 필요합니다. 도메인 이름이 서버의 공인 IP와 연결되어 있는지 확인하세요.


5. 설정 테스트

  1. Apache 구성이 올바른지 확인합니다.

    bash
    sudo apache2ctl configtest

    오류가 없으면 “Syntax OK”가 출력됩니다.

  2. 웹 브라우저에서 도메인 이름을 통해 HTTPS로 접속합니다. 예: https://your-domain.com


6. SSL 인증서 자동 갱신 설정

Let’s Encrypt 인증서는 90일 유효합니다. 자동 갱신을 위해 Cron 작업을 설정합니다.

  1. Cron 작업을 확인:
    bash
    sudo systemctl list-timers

    Certbot 자동 갱신이 설정되어 있다면 별도 작업은 필요 없습니다.

  2. 수동 테스트:
    bash
    sudo certbot renew --dry-run

7. HTTPS로 리디렉션 설정 (선택 사항)

Certbot에서 설정하지 않았다면, 수동으로 리디렉션을 추가할 수 있습니다.

  1. Apache 설정 파일을 열어 HTTPS 리디렉션 추가:

    bash
    sudo nano /etc/apache2/sites-available/000-default.conf
  2. 아래 내용을 <VirtualHost> 블록에 추가합니다.

    apache
    RewriteEngine On
    RewriteCond %{HTTPS} !=on
    RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
  3. Apache를 다시 시작합니다.

    bash
    sudo systemctl restart apache2

이 과정을 완료하면 Ubuntu에서 Apache를 HTTPS로 사용할 수 있는 환경이 설정됩니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다