NAS & ODROID/OMV 3 NAS

오드로이드 XU4 + OMV 로 자작 NAS 구축하기 - Wordpress + 도메인/SSL

awesometic 2017. 8. 8. 11:59
반응형

이번엔 설치한 Wordpress에 도메인과 SSL을 입혀보겠습니다.

Wordpress에 대한 도메인은 이미 받았다고 가정할게요. 잘 모르시는 분들은,

오드로이드 XU4 + OMV 로 자작 NAS 구축하기 - 도메인 적용하기 또는
NAS에 DDNS 적용하기 - DuckDNS

를 참고하시면 되겠습니다.




1. 도메인 적용하기

앞서 말했듯 도메인을 발급받은 상태라고 가정하겠습니다.

1) Nginx 설정 변경

OMV Nginx 메뉴 - 서버 탭으로 가서

이렇게 Wordpress에 대한 서버를 누른 후 편집 버튼을 누릅니다.

포트 기반으로 8001 번 포트로 했었는데, 다시 80번으로 바꿔주고 이름-기반, 적절한 도메인 이름을 적어줍니다.

그리고 저장/적용해주세요.


2) Wordpress 설정 변경

SSH로 접속하신 뒤 아래 명령어를 입력해주세요. Wordpress가 /var/www/wordpress 경로에 설치되어 있다고 가정합니다. {도메인} 부분에 자신의 도메인을 입력해주세요.

# http:// 를 포함해 적어주세요.
WP_DOMAIN='http://wordpress.example.com'
echo -e "\ndefine('WP_HOME', '"$WP_DOMAIN"');\ndefine('WP_SITEURL', '"$WP_DOMAIN"');" >> /var/www/wordpress/wp-config.php

그리고 자신의 워드프레스 도메인을 통해 접속해봅니다.

잘 됩니다.



2. SSL 적용하기

도메인이 있으니 SSL을 적용해봅시다. 요새는 네트워크 대역폭 최대치를 찍어야만 하는 서비스가 아니라면 SSL이 필수인 것 같습니다.

사용하던 대로 Let's Encrypt를 이용해봅시다.

1) Nginx에서 Wordpress 서버 설정 변경

가이드라인을 따라오신 분들은 임시로 디렉토리를 만들고 그 곳을 Webroot로 해서 SSL 인증서를 발급받는 걸 해보셨을 겁니다. 근데 Wordpress는 저희가 소스 파일을 가지고 돌리는 거라, 임시 디렉토리가 필요가 없어요. Nginx에도 이미 Wordpress에 대한 서버가 있죠. OMV Nginx 메뉴에서  Wordpress 서버를 편집합시다.

밑에 추가 옵션 부분에 아래 내용을 추가만 추가해주세요.

location ^~ /.well-known/acme-challenge/ {
    allow all;
    default_type "text/plain";
}

아래 스크린샷처럼 될 겁니다.

그리고 저장/적용합시다.

인증서를 발급받을 준비가 다 된 겁니다.


2) SSL 인증서 발급받기

이젠 정말 발급을 받으셔야 합니다. SSH 로 접속합니다.

그리고 아래 명령어를 입력해줍니다.

# http:// 부분을 뺀 도메인만을 example.com 대신 적습니다.
WP_DOMAIN='wordpress.example.com'
certbot certonly --webroot -w /var/www/wordpress -d $WP_DOMAIN

이러면 제 경우엔,

WP_DOMAIN='wordpress.awesometic-test.kro.kr'
certbot certonly --webroot -w /var/www/wordpress -d $WP_DOMAIN
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for wordpress.awesometic-test.kro.kr
Using the webroot path /var/www/wordpress for all unmatched domains.
Waiting for verification...
Cleaning up challenges
Generating key (2048 bits): /etc/letsencrypt/keys/0005_key-certbot.pem
Creating CSR: /etc/letsencrypt/csr/0005_csr-certbot.pem

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at
   /etc/letsencrypt/live/wordpress.awesometic-test.kro.kr/fullchain.pem.
   Your cert will expire on 2017-11-06. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot
   again. To non-interactively renew *all* of your certificates, run
   "certbot 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

기가 막히게 잘 됩니다.


3) SSL 인증서, OMV Web UI에 불러와 적용하기

새로 발급 받은 인증서를 OMV에 불러와봅시다. 그래야 OMV 안에서 쓸 수 있거든요.

OMV 인증 메뉴 - SSL 탭으로 갑니다. 그리고 추가 버튼 - 불러오기를 눌러줍니다.

여기서 저번에 하셨던 것처럼 개인 키와 인증 정보를 복붙해줍니다. 개인 키는 /etc/letsencypt/live/{도메인}/privkey.pem, 인증은 fullcahin.pem 입니다.

그러면,

이렇게 될텐데, 저장/적용해줍니다.

그리고 OMV Nginx 메뉴 - 서버 탭으로 가 다시 Wordpress 서버 편집을 합니다.

이런 식으로 적용해주시고 저장/적용해주세요.


4) Wordpress 도메인 설정 변경하기

마지막 단계입니다. Wordpress는 지가 어느 도메인인지 알고 있어야 해요. 그걸 변경해줍시다.

아래 명령어를 입력합니다.

# http:// 부분을 뺀 도메인만을 example.com 대신 적습니다.
WP_DOMAIN='wordpress.example.com'
sed --in-place=.bak 's,http://'$WP_DOMAIN',https://'$WP_DOMAIN',g' /var/www/wordpress/wp-config.php

다 됐습니다 :)


5) 접속 테스트

SSL이 잘 씌워졌는 지 접속해봅시다.

잘 됩니다 :)

반응형