매직트랙패드2 페어링이 끊겼을 때 다시 붙이기

맥북프로를 뚜껑 닫고 쓰는 클램쉘 모드로 두고 매직키보드와 매직트랙패드2를 사용하는 중인데 가끔 트랙패드의 연결이 끊기는 현상이 생긴다. 잠자기에서 깨어날때나 맥북에서 케이블을 다 분리해서 다른 장소에서 쓰다가 다시 연결했을 때 일어나지 않았나 싶다. 5월 중순 구입 이후 2번째다. 키보드는 끊기는 일이 없었다.

이때 해본 시도는 아래와 같았는데 이 방법들은 성공하지 못했다.

  • 트랙패드 뒷편의 전원 스위치를 껐다 켜기
  • 시스템환경설정의 블루투스를 껐다 켜기

맥북의 전원을 껐다키면 정상적으로 다시 연결되긴하나 작업했던 환경으로 다시 돌아가기 번거로운 일이다. 리부팅하지 않고 블루투스 장치에서 제거했다가 페어링하면 복구가 가능하다. 키보드만으로 작업하기엔 익숙하지 않은 일이긴하다.

  1. Spotlight에서 bluetooth 라고 쳐서 시스템환경설정 -> bluetooth 를 실행한다.
  2. 연결되지 않음 이라고 나온 트랙패드 항목을 탭키와 화살표 키로 이동하여 찾아간 후 스페이스바를 누른다.
  3. 장치를 제거할것이냐는 창이 나오면 “제거”
  4. 트랙패드 뒷편 전원 스위치를 껐다가 켠다.
  5. 블루투스 장치에 새로 나타단 트랙패드를 선택하고 스페이스 바를 누르면 연결된다.

티스토리에서 AWS 프리티어로 이전한 이유, 경과

이 블로그말고 얼마전 티스토리에 블로그를 하나 더 만들었다. 도메인 연결하고 하나둘씩 글을 채워가면서 10여개 글을 쓰다보니 아쉬운 점들이 보였다. 검색엔진에서 잘 가져갈 수 있도록 문서 구조를 XML형식으로 만들어서 구글에 등록해야 하는데 티스토리에서는 이 sitemap을 제공하지 않았다. 방법을 찾아보니 이러했다.

  1. 사이트맵을 만들어주는 외부 서비스를 이용한다. 이 서비스는 사이트 주소를 넣으면 분석해서 sitemap.xml 파일을 다운로드 받을 수 있게 해준다.
  2. 티스토리에서 비공개 글을 작성한 후 첨부파일로 이 xml 파일을 올리고 주소를 딴다. 이렇게 하기 위해서는 티스토리의 구버젼 편집기로 돌아가야 한다.
  3. 구글 웹마스터 도구에서 이 xml 파일을 업로드 한다.
  4. 티스토리에 새 글이 작성되면 1번부터 이 과정을 반복한다.

글 하나 쓸 때마다 이 기묘하고 번거로운 작업을 해야한다는걸 감당할 수 없다는 것이 첫번째 이유.

두번째는 백업을 제공하지 않는것이다. 찾아보니 예전에는 제공했던 것 같은데 2013년에 복원기능이 없어지고 2016년에 백업기능도 종료되었다. 곰곰히 생각해보니 내가 글을 쓰는 것은 먼 미래를 봤을 때 계속 매몰시키고 있는 것은 아닌가 싶었다. 공교롭게도 어제 낮에 우연히 싸 뭐시기 월드에 들어가봤더니 그때도 그랬지만 백업은 해주지 않되, 유료로 사진을 PDF로 저장해주는 서비스를 하고 있었다. 뭐라 할 말이 없다. 덕분에 데이타를 서비스에 쌓으면 매몰일뿐 아니라 서비스 제공자의 장사를 위한 인질까지 되는것이 아닌가 싶다. (PDF고 책이고 됐고, 내가 올린 사진 폴더로 묶어 zip으로 내려보내주시라고요.)

워드프레스의 할아버지격인 b2부터 워드프레스를 써오다보니 한두번 클릭으로 되던 기능이 매우 어렵게 바뀌거나 또는 불가능해진 서비스에 계속 시간과 정성을 들이는 것이 견디기 어려웠다. 10여개까지의 글을 마지막으로 더이상 업데이트를 중단하고 새 블로그 플랫폼을 찾기 시작했다.

이리보아도 저리보아도 결론은 워드프레스인데, 저렴이 호스팅으로 갈까 하다가 이미 AWS 프리티어에 이 워드프레스를 돌리고 있으므로 여기에 추가적으로 virtual host를 적용해서 돌리고자 하였다. 워드프레스 하나 더 돌리자고 인스턴스를 새로 시작하는건 말도 안되는 낭비다. 마치 사람 탈려고 승용차 한대 구입했는데 책가방 하나 들고 갈려고 트럭 한대 더 사는 격이니까 말이다. 원래 차에는 사람수, 짐의 무게와 부피만 초과하지 않는다면 서너명 더 태울 수도 있고 배낭도 싣고 박스도 싣는다. 인스턴스를 더 생성하면 비용도 비용이고 유지보수까지 생각해야 한다. 버츄얼 호스트는 웹호스팅 서비스에서 한 서버에 수백개씩 돌리고 있는 것이라 기술적으로는 어려운게 아니다. 그렇다고 쉽단 이야기는 아니지만. 다만 AWS와 bitnami에 초심자인다데가 누구네 서버에 더부살이하는 입장이면 관리자한테 물어라도 볼텐데 AWS는 내가 루트고 나혼자 쓰고 있으니 물어볼 이도 마땅치 않았다. 채팅으로 H선배가 열심히 도왔으나 첫날은 실패하고 말았다.

수일간 틈틈이 깨작거려봤지만 번번히 실패. 어제 밤에 단단히 마음먹고 다시 도전했다. 이번에 안되면 웹호스팅으로 찌그러지던가, 주변에 아쉬운 소리 할 사람을 좀 찾아봐야겠다…라는 각오로.

같은 작업을 하면서 다른 결과가 나올 수는 없는 법이어서 계속 불안하게 작업하다가, 2번째 블로그가 설치될 디렉토리를 1번째 html 홈디렉토리의 서브디렉토리로 변경해보는 시도가 적중. 403에러가 나던 부분을 잡고 차근차근 설정해나갈 수 있었다. 아직 남은 과제들과 추가로 설정할 것들이 남았지만 두 사이트 모두 큰 탈없이 (=잔잔한 오류와 함께) 돌게 되었다.

설치 후 티스토리에서 10개의 글을 수작업으로 옮겨왔고 sitemap.xml 을 등록했다. 글을 쓰면 글만 나오고 사진도 추가하면 사진도 나오는 테마로 변경했다. 티스토리에서 쓰던 테마는 사진을 넣지 않으면 글씨가 채워지는게 아니라 회색 네모칸이 그 자리를 차지하는 테마였다. 따라서 텍스트만으로 이루어진 글이라도 목록에서 회색 상자 대신 보여질 배너같은 이미지를 –이게 뭐하는 짓인가 하는 혼잣말을 하며– 하나씩 만들어 넣어줬는데 이젠 그 일에서도 해방되었다.

페이지 로딩 속도도 상당히 개선되었다.

AWS프리티어에 워드프레스 2개 돌리기

AWS 프리티어에 워드프레스를 2개 돌리려던 시도를 실패한 후 몇번 다시 해보려다가 어제 다시 시도해서 성공했다. 지난번 실패의 이유는 두번째 워드프레스(든 버츄얼호스트든) 홈 디렉토리를 기존 워드프레스 홈 디렉토리의 하부 디렉토리에 설정하지 않아서이다. 즉 2nd 워드프레스 폴더를 /opt/bitnami/apps/wordpress/2nd 로 지정하려고 했었는데 기존 /opt/bitnami/apps/wordpress/htdocs 아래인 /opt/bitnami/apps/wordpress/htdocs/2nd 로 사용해야 했다. 처음 시도와 다르게 이번에는 별도의 DB생성없이 기존 DB를 그대로 이용하여 설치하였다.

  1. https 리다이렉트를 위해 설정한 부분 주석처리 /opt/bitnami/apache2/conf/bitnami/bitnami.conf
    #RewriteEngine On
    #RewriteCond %{HTTPS} !=on
    #RewriteCond %{HTTP_HOST} !^(localhost|127.0.0.1)
    #RewriteRule ^/(.*) https://example.com/$1 [R,L]
  2. virtual host 설정 (Help setting up apache2 virtual host config for bitnami wordpress for two sites (Not multisite) 참조)
  3. /opt/bitnami/apps/wordpress/conf/httpd-vhost.conf
    <VirtualHost *:80>
    ServerName hof.pe.kr
    ServerAlias www.hof.pe.kr
    DocumentRoot "/opt/bitnami/apps/wordpress/htdocs"
    Include "/opt/bitnami/apps/wordpress/conf/httpd-app.conf"
    </VirtualHost>
    <VirtualHost *:80>
    ServerName 2번째도메인.kr
    ServerAlias www.2번째도메인.kr
    DocumentRoot "/opt/bitnami/apps/wordpress/htdocs/2nd"
    Include "/opt/bitnami/apps/wordpress/conf/httpd-app.conf"
    </VirtualHost>

  4. /opt/bitnami/apache2/conf/bitnami/bitnami-apps-vhosts.conf 에서 아래 행 추가 (또는 주석 제거)
  5. Include "/opt/bitnami/apache2/conf/bitnami/bitnami-apps-vhosts.conf"

  6. 2번째 도메인의 DNS 설정에서 기본도메인과 WWW 도메인을 AWS서버 IP를 향하도록 지정
  7. /opt/bitnami/apps/wordpress/htdocs 아래에 2nd 폴더 생성
    /opt/bitnami/apps/wordpress/htdocs/2nd

  8. 워드프레스 최신버젼을 다운받아서 이 폴더에 올림.
  9. 원래 워드프레스 홈 디렉토리에 있던 wp-config.php 파일을 2nd 디렉토리로 복사 ( 워드프레스 설정파일 값 세팅하기 ( WordPress wp-config.php) 참조)
  10. DB의 prefix 를 원래 워드프래스와 다르게 지정
  11. $table_prefix = 'wp2_';

  12. https://api.wordpress.org/secret-key/1.1/salt/ 에서 생성된 키를 wp-config.php 에서 해당 부분 찾아 대체.
  13. 아파치 재시동
  14. sudo /opt/bitnami/ctlscript.sh restart apache

  15. 2nd 워드프레스 디렉토리를 웹브라우저로 접근하여 워드프레스 설치
  16. 여기부터는 Generate And Install A Let’s Encrypt SSL Certificate For A Bitnami Application 참조

  17. 워드프레스 기본 설치 페이지가 나온 것을 확인 후 SSL 키 생성을 위해 아파치 중지
  18. sudo /opt/bitnami/ctlscript.sh stop

  19. 키 생성
  20. sudo /opt/bitnami/letsencrypt/lego --tls --email="EMAIL-ADDRESS" --domains="DOMAIN" --domains="www.DOMAIN" --path="/opt/bitnami/letsencrypt" run

  21. /opt/bitnami/letsencrypt/certificate 에 두번째 도메인의 .crt와 .key 등이 생성되었는지 확인
  22. virtual host 설정에서 https 설정하도록 함. 아래 설정한 디렉토리에 맞게 키 파일 이동
  23. 원래 있던 *80 설정 아래에 각각 아래 내용을 도메인에 맞도록 추가

    <VirtualHost *:443>
    ServerName hof.pe.kr
    ServerAlias www.hof.pe.kr
    DocumentRoot "/opt/bitnami/apps/wordpress/htdocs"
    SSLEngine on
    SSLCertificateFile "/opt/bitnami/apps/wordpress/conf/certs/hof.pe.kr.crt"
    SSLCertificateKeyFile "/opt/bitnami/apps/wordpress/conf/certs/hof.pe.kr.key"
    Include "/opt/bitnami/apps/wordpress/conf/httpd-app.conf"
    </VirtualHost>

    2번째 도메인용

    <VirtualHost *:443>
    ServerName 2번째도메인
    ServerAlias www.2번째도메인
    DocumentRoot "/opt/bitnami/apps/wordpress/htdocs/2nd"
    SSLEngine on
    SSLCertificateFile "/opt/bitnami/apps/wordpress/conf/certs/2번째도메인.crt"
    SSLCertificateKeyFile "/opt/bitnami/apps/wordpress/conf/certs/2번째도메인.key"
    Include "/opt/bitnami/apps/wordpress/conf/httpd-app.conf"
    </VirtualHost>

  24. 아파치 시작
  25. sudo /opt/bitnami/ctlscript.sh start

남은 과제

  • hof.pe.kr 과 2번째 도메인으로 들어오는 http 접속을 https 로 강제 리다이렉션이 잘 안됨. 도메인 하나일때와 버츄얼 호스팅일때 설정 방법이 다른지 확인. –> 해결. /opt/bitnami/apache2/conf/bitnami/bitnami.conf 에 있던 리다이렉션 설정을 /opt/bitnami/apps/wordpress/conf/httpd-vhosts.conf 에서 지정 (via Force HTTPS Redirection With Apache )
  • SSL 인증서를 임의로 옮긴 후 버츄얼호스트에서 경로를 지정해주긴 했는데 나중에 수동이든 자동이든 갱신하고나서 또 매번 이동해줘야하는지 아니면 갱신 스크립트가 지정하는 폴더로 이동시키고 그 위치를 버츄얼 호스트에서 지정해줘야 할지 확인해야 함.

기타 설정

  • pretty permalink를 위해 http://recreationcoach.kr/&post_id%/로 지정했고 아래 내용을 /opt/bitnami/apps/wordpress/conf/htaccess.conf 에 등록했다. (그런데 hof.pe.kr 은 이 방식 주소가 예전부터 써오던것을 aws로 이사온 뒤로도 자연스럽게 되니 갸우뚱)
  • <Directory "/opt/bitnami/apps/wordpress/htdocs/2nd">
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    </Directory>

이종사촌 모임

추석연휴 마지막 이틀은 외가쪽 사촌동생들과 부부동반, 미혼인 녀석들은 여친동반 / 남친동반해서 1박 2일여행을 다녀왔다. 집안 행사에 다같이 모인 적은 가끔 있어도 이렇게 숙소잡고 근교로 나온 것은 처음. 제일 막내녀석이 서른하나니까 모든 멤버가 등장한 이후 31년만의 이종사촌간 여행인 셈이다.

내가 열살때부터 고3때까지 새로 태어났던 녀석들이, 나는 기억하지 못하거나 가물가물한 일들을 기억속에서 찾아내어 들려주는 일은 언제 들어도 좋다.

[업데이트]@2019/9/16 12:00
저녁먹으면서 잠시 금연에 대한 이야기를 했는데 바로 아래 사촌남동생이 오늘부터 금연을 시작했다고 알려왔기에 얼른 금연 시작할 당시에 도움받았던 책을 보내주었다.

AWS 프리티어에 다른 도메인으로 워드프레스 설치

AWS프리티어에 이 블로그 하나를 돌리고 있는데 다른 도메인으로 워드프레스를 하나 더 돌릴 수 있는지 보는 중이다. 프리티어의 제약이나 한계를 넘는다면 바로 라이트세일로 이전할 예정.

스위프트코딩의 하나의 서버에 워드프레스 두 개이상 설치하기(직접설치) 시리즈를 참고로 하고 있는데 중간중간 명령어가 안먹히는 부분이 있어서 그 부분 위주로 정리한다. 라이트세일에서 설치하는 방법인데 프리티어라 오류가 난건지, MySQL버젼이 달라서 그런건지는 모르겠다. 스위프트코딩에서 댓글을 보면 내 경우같은 오류를 겪은 분들은 없어서 갸우뚱하지만.

  • 루트 비번 찾기
    cat bitnami_application_password 는 없는 파일이라고 에러났고
    cat ./bitnami_credentials 으로 비번 확인 가능했다. (참고 Find Application Credentials)
  • 새로운 DB를 생성하고 새 사용자를 추가한 후 비밀번호를 지정할 때
    SET PASSWORD FOR SecondBlogDBUser@localhost= PASSWORD(“mypassword”); 가 에러가 났고
    ALTER USER 'SecondBlogDBUser'@'localhost' IDENTIFIED BY 'new_password'; 가 제대로 동작했다. (참고 ERROR 1064 (42000): You have an error in your SQL syntax; Want to configure a password as root being the user)
  • 권한 부여할 때
    GRANT ALL PRIVILEGES ON second_wordpress.* TO SecondBlogDBUser@localhost IDENTIFIED BY ‘mypassword’; 가 에러가 났고
    GRANT ALL PRIVILEGES ON second_wordpress.* TO'SecondBlogDBUser'@'localhost'; 가 제대로 동작했다. (참고 How to grant all privileges to root user in MySQL 8.0)
  • 권한 확인할 때
    show grants for ‘SecondBlogDBUser’; 가 에러가 났고
    show GRANTS FOR 'SecondBlogDBUser'@'localhost'; 가 제대로 동작했다. (참고 13.7.7.21 SHOW GRANTS Syntax)

[업데이트]@2019/09/08 13:00
결국 포기했다. DB셋팅은 그렇다쳐도 버츄얼호스트 설정이 너무 헷갈려서 나중엔 뭘 바꿨는지도 모를 지경. ㅎ SSL 인증서 받고 설정까지 다 해놓고 아파치 리스타트 하고나니 2개 도메인의 http와 https모두 403에러. 어제 밤에 대충 설정파일들 원복하고 오늘 아침에 혹시나 싶어 비트나미의 버츄얼호스트 설정법을 따라 워드프레스 설치 대신 버츄얼호스트 지정해서 평범한 index.html 하나 보이도록 했는데 그 또한 제대로 보이지 않았다.

[업데이트]@2019/09/17 02:45
성공했다. 작업 내용은 AWS프리티어에 워드프레스 2개 돌리기