워드프레스를 이용해 블로그나 홈페이지를 운영하는 경우, 혹은 다양한 경우에도 자신이 사용중인 윈도우 PC에 테스트 환경을 만들어서 확인해 보고 싶은 경우가 있습니다.
이런 경우 가장 손쉽게 할 수 있는 방법이 XAMPP와 같은 패키지 프로그램을 사용하는 것입니다.
그런데, 요즘 사이트들은 HTTPS(SSL) 보안 접속을 기본으로 하기에 테스트 환경도 SSL이 적용된 환경이어야 제대로 확인할 수 있는 경우가 많습니다.
본 설명서에는 XAMPP 설치 후 HTTP(SSL) 적용 방법을 설명합니다.
1. XAMPP 설치
당연하게도 가장 먼저 해야하는 과정이 XAMPP 패키지를 설치하는 것입니다.
XAMPP는 Apache + MariaDB + PHP + Perl이 포함된 무료 오픈 소스 패키지이다.
아래 공식 홈페이지에서 다운로드하고 설치합니다.
- 공식 다운로드 페이지 : https://www.apachefriends.org/download.html
XAMPP for Windows 항목에 있는 패키지 중에 하나를 다운로드([Download (64bit)] 버튼 클릭) 합니다.

현재 운영중인 환경이 있다면 최대한 비슷한 PHP 버전 환경에 맞는 것을 다운로드 합니다.
2. XAMPP 설치 확인
XAMPP 설치가 정상적으로 되었는지 다음 그림을 참고해 순서에 따라 진행합니다.
2-1. XAMPP 컨트롤 패널 및 Apache 실행

- ① ‘XAMPP Control Panel’을 실행합니다.
- ② [Start] 버튼을 클릭해 Apache 웹 서버를 실행합니다.
Apache가 정상적으로 실행이 되면 아래 그림과 같이 Apache가 초록색 배경으로 표시되고, PID(s)와 Port(s) 항목에 값이 표시됩니다.

Port(s)에 80, 443이 표시되는 것으로 보아 기본적으로 HTTP와 HTTPS가 사용되는 것을 알 수 있습니다.
❗참고 : 80은 HTTP 기본 포트를 나타내며, 443은 HTTPS의 기본 포트입니다.
2-2. http 접속 확인
- 브라우저를 실행 후 http://localhost로 접속합니다.

http://localhost/dashboard/로 리다이렉션 되면서 페이지를 보여주는 것을 알 수 있습니다.
위와 같은 화면을 확인했다면 http 접속은 잘되고 있으며 XAMPP 설치도 완료 된 것입니다.
❗참고 : MySQL도 실행 후 확인이 필요하지만, 여기서는 HTTPS 접속 방법을 설명하므로 생략합니다.
2-3. https 접속 확인
- 브라우저에 https://localhost로 접속합니다.

주소 표시줄에 있는 “주의 요함”을 클릭해 보면 “⚠️이 사이트는 보안 연결(HTTPS)이 사용되지 않았습니다. “라는 메시지를 확인할 수 있습니다.
3. HTTPS 접속 설정 하기
HTTPS(보안 연결)을 사용하기 위해서는 SSL 인증서가 필요합니다.
따라서, 로컬 호스트에 보안 연결(HTTPS)을 사용하기 위해 가장 먼저 해야하는 것은 SSL 인증서를 만들고 설치하는 것입니다.
그 과정을 요약하면 다음과 같습니다.
- 인증서 생성 스크립트 수정(makecert.bat 수정)
- Extension 파일 생성 (v3.ext 파일 생성)
- SSL 인증서 생성
- SSL 인증서 설치
3-1. 인증서 생성 스크립트 수정(makecert.bat 수정)
XAMPP를 설치한 Apache에 인증서 생성을 간편하게 할 수 있게 배치 스크립트가 있습니다.
XAMPP 설치 폴더가 기본적으로 C:\xampp 라는 가정하에 설명하겠습니다.
C:\xampp\apache\makecert.bat 파일을 열어 확인합니다.
@echo off
set OPENSSL_CONF=./conf/openssl.cnf
if not exist .\conf\ssl.crt mkdir .\conf\ssl.crt
if not exist .\conf\ssl.key mkdir .\conf\ssl.key
bin\openssl req -new -out server.csr
bin\openssl rsa -in privkey.pem -out server.key
bin\openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 365
set OPENSSL_CONF=
del .rnd
del privkey.pem
del server.csr
move /y server.crt .\conf\ssl.crt
move /y server.key .\conf\ssl.key
echo.
echo -----
echo Das Zertifikat wurde erstellt.
echo The certificate was provided.
echo.
pause
9번 라인의 내용을 아래와 같이 수정합니다.
bin\openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 1825 -extfile v3.ext
365를 1825로 변경하고, 뒤로 -extfile v3.ext를 추가했습니다.
365는 인증서 유효기간을 말하는데 이를 5년으로 바꾼 것입니다.
365 그대로 둬도 관계없지만 -extfile v3.ext는 추가합니다.
SSL 인증서의 V3 Extension을 설정해 주기 위해서 필요합니다.
이렇게 수정 후 저장합니다.
3-2. Extension 파일 생성 (v3.ext 파일 생성)
앞서 makecert.bat에 V3 Extension 파일로 정의한 v3.ext 파일을 만듭니다.
위치는 makecert.bat 파일과 같은 위치(예: C:\xampp\apache)에 만들고 다음과 같이 작성합니다.
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = localhost
DNS.2 = *.testdomain.com
DNS.3 = testdomain.com
DNS.4 = 127.0.0.1
위 내용 중에 DNS.2와 DNS.3에 표기된 testdomain.com은 로컬 테스트 환경에 사용할 도메인을 추가한 것입니다.
자신의 PC에서 작업하려는 도메인으로 변경하면 됩니다.
3-3. SSL 인증서 생성
명령 프롬프트 혹은 Windows Power Shell을 실행한 후 apache 경로로 이동합니다.
아래 예시 화면의 XAMPP 설치 경로가 D:\xampp 이므로 Apache 설치 경로는 D:\xampp\apache가 됩니다.

ls 명령어 혹은 dir/w 명령어로 makecert.bat 와 v3.ext 파일이 있는지 다시한번 확인합니다.
makecert.bat를 아래와 같이 입력하고 엔터를 눌러 실행하면 SSL인증서 생성을 위한 과정이 시작됩니다.
D:\xampp\apache> .\makecert.bat
생성 과정에서 입력해야 하는 정보는 다음을 참고해 진행합니다.
파란색으로 표시된 텍스트가 필자가 입력한 정보이니, 참고해 임의로 입력하면 됩니다.
STEP1. PEM 비밀 번호를 입력합니다.
- Enter PEM pass phrase: 1234
- Verifying – Enter PEM pass phrase:1234
STEP2. 다음은 인증서 요청에 포함될 정보를 입력하라는 메시지가 표시됩니다.
입력하려는 정보는 고유 이름(DN)입니다.
필드가 꽤 많지만 일부는 비워둘 수 있습니다.
일부 필드에는 기본값이 설정되어 있습니다.
‘.’을 입력하면 필드가 비워집니다.
- Country Name (2 letter code) [AU]: KR
- State or Province Name (full name) [Some-State]: Korea
- Locality Name (eg, city) []: Seoul
- Organization Name (eg, company) [Internet Widgits Pty Ltd]: EasyMBox
- Organizational Unit Name (eg, section) []: EasyMBox
- Common Name (e.g. server FQDN or YOUR name) []: testdomain.com ← v3.ext에 작성한 도메인
- Email Address []: boxkeeper@easymbox.com
STEP3. 다음은 인증서 요청과 함께 보내드릴 다음 ‘추가’ 속성을 입력하는 과정입니다.
- A challenge password []: admin
- An optional company name []: EasyMBox
- Enter pass phrase for privkey.pem: 1234 ← 처음 입력한 PEM 비밀번호 입력
다음과 같이 비슷한 화면이 나오고 ‘계속하려면 아무 키나 누르십시오 . . .’ 메시지가 나오면 아무키나 누르고 인증서 생성을 종료합니다.
writing RSA key
Certificate request self-signature ok
subject=C = KR, ST = Korea, L = Seoul, O = EasyMBox, OU = EasyMBox, CN = testdomain.com, emailAddress = boxkeeper@easymbox.com
D:\xampp\apache\.rnd을(를) 찾을 수 없습니다.
1개 파일을 이동했습니다.
1개 파일을 이동했습니다.
-----
Das Zertifikat wurde erstellt.
The certificate was provided.
계속하려면 아무 키나 누르십시오 . . .
위 내용과 같이 writing RSA key … 라는 메시지가 나와야 합니다.
그렇지 않고 ‘Could not read private key from privkey.pem’ 등의 메시지가 나오면 잘못된 것이니 다시 진행하기 바랍니다.
3-4. SSL 인증서 설치
이제 생성한 SSL 인증서를 자신의 로컬 PC에 설치합니다.
설치를 위해 인증서가 위치해 있는 곳으로 이동합니다.
인증서 위치는 {xampp 설치 폴더}\apache\conf\ssl.crt입니다.
D:\xampp\apache> cd .\conf\ssl.crt\
D:\xampp\apache\conf\ssl.crt> ls
디렉터리: D:\xampp\apache\conf\ssl.crt
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2025-05-21 오후 5:48 1976 server.crt
D:\xampp\apache\conf\ssl.crt>
필자의 xampp 설치 폴더는 D:\xampp 이므로 D:\xampp\apache\conf\ssl.crt에 인증서 server.crt가 생성되어 있습니다.
인증서 설치를 위해 server.crt를 실행합니다.
D:\xampp\apache\conf\ssl.crt> .\server.crt
아래 화면과 같이 ‘인증서’ 창이 나타납니다.

발급 대상/발급자가 인증서 생성시 입력한 Common Name (e.g. server FQDN or YOUR name) []: testdomain.com 정보가 표시되고, 5년으로 설정한 유효 기간을 확인할 수 있습니다.
① [인증서 설치] 버튼을 클릭합니다.
‘인증서 가져오기 마법사’ 창이 실행되는 것을 확인할 수 있습니다.

② ‘로컬 컴퓨터’를 저장소 위치로 선택합니다.
③ [다음] 버튼을 클릭합니다.
‘사용자 계정 컨트롤’이 실행되며, ④ [예]를 클릭합니다.

⑤ ‘모든 인증서를 다음 저장소에 저장’을 선택합니다.
⑥ [찾아보기(R)…] 버튼을 클릭합니다.
⑦ ‘인증서 저장소 선택’ 창에서 ‘신뢰할 수 있는 루트 인증 기관’을 클릭합니다.
⑧ [확인] 버튼을 클릭합니다.

⑨ 인증서 저장소: 항목에 ‘신뢰할 수 있는 루트 인증 기관’이 입력된 것을 확인하고 [다음] 버튼을 클릭합니다.

⑩ ‘[마침]을 클릭하면 인증서를 가져옵니다.’라는 메시지 창을 확인하고, [마침] 버튼을 클릭합니다.
⑪ ‘가져오기를 완료했습니다.’ 라는 메시지 창이 확인되면 설치가 정상적으로 되었습니다. [확인] 버튼을 클릭합니다.

⑫ [확인] 버튼을 클릭하고 마칩니다.
다시 server.crt 를 실행해 보면 아래 화면과 같이 ‘인증서 정보’가 표시되며 설치 전과 달라진 것을 확인할 수 있습니다.

4. HTTPS 접속 확인
이제 SSL이 제대로 적용되었는지 Apache를 재시작 후 https://localhost로 접속해 확인해 봅니다.

실행 중이던 Apache를 [Stop] 버튼을 클릭해 중지합니다.
잠시 뒤, [Start] 버튼으로 변경되면 클릭해 다시 시작합니다.
실행 중인 브라우저를 모두 종료 후, 다시 브라우저를 실행하고 https://localhost로 접속합니다.

위 화면과 같이 정상적으로 잘 동작하는 것이 확인됩니다.
❗참고 :
앞서 testdomain.com 도메인도 추가했는데, 이 도메인으로도 로컬 호스트 설정이 잘 되었는지 확인해 보기 위해서는 윈도우의 hosts 파일에 127.0.0.1 testdomain.com 을 추가해 저장 후 https://testdomain.com으로 접속해 확인하면 동일하게 잘 동작하는 것을 알 수 있습니다.