일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 버추얼박스
- 젠킨스
- 리눅스
- 우분투 젠킨스
- 웹서버
- jenkins
- 가상머신
- 아파치
- phpMyAdmin
- 전화번호 가져오기
- jenkins 업데이트
- 아파치 https 적용
- 인증번호 문자
- jenkins war
- 가상컴퓨터
- Android
- Firebase
- php
- ubuntu
- 우분투 젠킨스 업데이트
- 우분투
- vim
- vi
- 우분투 아파치 ssl
- 안드로이드
- SMS Retreiver API
- virtualbox
- Phone Selector
- CODEIGNITER
- vimrc
- Today
- Total
철스토리
Ubuntu, Apache2 https(ssl) 적용하기 본문
현재 운영중인 서버에 ssl 적용을 위해 여러가지를 알아보았다.
유료로 구입 후 적용하면 되겠지만 구입하지 않고 무료인 방법을 찾아서 적용하였고 해당 방법을 작성해 놓으려고 한다.
내가 사용한 것은 letsencrypt다.
OS : 18.04.2
Server : Apache
Port : 443 (기본포트)
1. git에서 프로젝트를 다운로드 한다. (우분투 경로 어디에서든 관계없음. 나의경우는 홈디렉토리에서 진행)
git clone https://github.com/letsencrypt/letsencrypt
2. let's encrypt 프로젝트로 이동
cd letsencrypt
3. let's encrypt를 실행하여 key 발급
- 이메일주소 : 기간이 만료될 때 메일로 알림이 온다.
- 사용할 도메인주소 : 구입한 도메인, 예를들어 : kkensu.com
sudo ./letsencrypt-auto certonly --manual --email [이메일 주소] -d [사용할 도메인주소]

- 필요한 피키지들은 자동으로 받으면서 진행됩니다. 그러면서 아래와 같이 물어보는곳이 나오는데 Agree / Yes / Yes 로 진행하면 Press Enter to Continue 라고 나옵니다. 이 때 엔터를 누르지 말고 잠시 대기해주세요.

4. 위의 그림과 같은 상태라면 터미널을 하나 더 연후에 아래의 내용을 기입
자신의 서버 root path로 이동 (예 : /var/www/html)
mkdir .well-known
cd .well-known
mkdir acme-challenge
cd acme-challenge
vi xBPfeQRolGtPOGZAPnWZSbHKGstVVMYMEjRwatrR16A
"xBPfeQRolGtPOGZAPnWZSbHKGstVVMYMEjRwatrR16A.ohbJQbVZH5eifXOo1Jw7wXBiTmGjQFnJP4DeyGRI8_k" 입력
큰따옴표는 빼놓고 입력을 했으면 저장 후 종료
5. 4번을 마쳤으면 원래의 터미널로 돌아와서 Enter를 눌러 다음으로 진행
6. 완료
- Congratulations! 라고 나오면서 마무리가 된다.
Press Enter to Continue
Waiting for verification...
Cleaning up challenges
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/kkensu.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/kkensu.com/privkey.pem
Your cert will expire on 2019-05-23. To obtain a new or tweaked
version of this certificate in the future, simply run
letsencrypt-auto again. To non-interactively renew *all* of your
certificates, run "letsencrypt-auto renew"
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
7. /etc/letsencrypt/live/[도메인]/ 디렉토리 안에 pem키 4가지가 존재한다.

8. 아파치에 ssl 키 등록하기
- cd /etc/apache2/sites-available (디렉토리로 이동)
- sudo cp default-ssl.conf kkensu.com-ssl.conf (복사하기)
- sudo vi kkensu.com-ssl.conf
- 아래 내용 입력하여 파일 수정하기
<IfModule mod_ssl.c>
<VirtualHost *:443> <!-- https 연결이 되지 않는다면 * 부분에 아이피를 넣어준다. x.x.x.x:443 -->
ServerAdmin kkensu@gmail.com
ServerName kkensu.com
ServerAlias kkensu.com
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/kkensu.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/kkensu.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/kkensu.com/chain.pem
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
</VirtualHost>
</IfModule>
9. kkensu.com 도메인 enable 설정하기
sudo a2enmod ssl <!-- ssl을 사용하겠다고 명시해주는 것 -->
sudo a2ensite kkensu.com-ssl.conf
10. 아파치 재기동
sudo service apache2 restart
11. http로 접속하면 https로 이동하도록 Redirect 걸기
<VirtualHost *:80>
ServerName kkensu.com
DocumentRoot /var/www/test
Redirect permanent / https://kkensu.com/
<Directory /var/www/html/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
</Directory>
</VirtualHost>
12. 끝!
'서버설정 > 우분투 서버설정' 카테고리의 다른 글
Composer private packagist 구축하기 (0) | 2020.12.16 |
---|---|
Ubuntu Jenkins - 수동 업데이트 하기 (0) | 2019.05.23 |
Ubuntu Jenkins - PHP(Codeigniter) 배포하기 (0) | 2019.03.18 |
Ubuntu Jenkins 설치하기, 안드로이드 빌드하기 - 2 (0) | 2019.02.11 |
Ubuntu Jenkins 설치하기, 안드로이드 빌드하기 - 1 (0) | 2019.02.11 |