Category: Wordpress

  • lego를 이용한 let’s encrypt 와일드 카드 인증서 갱신

    AWS_ACCESS_KEY_ID="key" \
    AWS_SECRET_ACCESS_KEY="key" \
    AWS_REGION="eu-west-1" \
    
    lego --email "my@email" \
         --domains "*.welovedoctor.com" \
         --domains "welovedoctor.com" \
         --dns route53 \
         --path "/etc/lego" \
         renew 혹은 run \
         --renew-hook "nginx -s reload"
    
    • 나의 경우 lego로 인증서를 처음 갱신했기 때문인지 run 명령어가 필요했다.
    • 처음 알려준 –path 없이 실행했더니 인증서가 ~/.lego/certificates에 저장되었다.
    • –renew-hook을 이용하면 성공적으로 갱신 후 nginx 를 재시작하도록 해준다고 한다. 다음 번에 확인해 볼 예정이다. 이 옵션은 renew 이후에 들어간다.
    • certbot으로 하면 인증서가 pem으로 저장된다. lego로 하면 crt와 key 파일로 생성된다.
  • lego

    https://go-acme.github.io/lego/dns/

    나중에 활용 공부해 보겠음

  • Let’s encrypt에서 와일드카드 인증서 발급 받기

    처음에는 쫄아서 개별 도메인 인증서를 여러 개 발급 받아서 했다. 막상 해보면 매우 쉬웠다. DNS 설정을 변경할 수 있는 권한이 있어야 한다.

    sudo certbot certonly --manual --preferred-challenges dns -d "*.welovedoctor.com" -d "welovedoctor.com"

    이렇게 인증서를 발급 받는다.

    _acme-challange 라는 서브 도메인에 첫 번째 TXT 값을 입력한다. 그리고 엔터키 입력. 그러면 2번째 값을 또 입력하라고 한다. 방금 입력했던 곳에 가서 한 줄 바꾸고 따옴표로 또 입력해준다. 그러면 발급 성공.

    NGINX 설정 파일에 가서 인증서 주소를 새로운 인증서 주소로 변경해 준다.

    기존 인증서를 삭제하려면 /etc/letsencrypt/live에 가서 인증서 파일을 삭제한다.

    기존 인증서 갱신 과정을 없애려면 /etc/letsencrypt/renewal 홈페이지에 가서 해당 인증서에 관한 파일을 모두 삭제한다.

  • getPosts()

    XML-RPC로 발행된 글을 조회하려고 하면 오류가 생긴다. 검색을 해보면 매우 오래된 문제다. 그리고 해결 방법도 있지만 반영이 안되어 있다.

    지금은 버전이 바뀌었으므로 다음 폴더의 파일을 수정한다.

    /usr/local/lib/python3.11/dist-packages/wordpress_xmlrpc/base.py

    이 파일의 상단에 다음의 내용을 입력해 준다. import collection 하단 중 위쪽에 넣어주면 된다.

    try:
        collections = collections.abc
    except AttributeError:
        pass

    오랫동안 개선되지 않은 이유는 아마 관리가 더 이상 안되기 때문일 것이다. 2014년에 마지막으로 수정되었다.