워드프레스를 웹호스팅에서 AWS 프리티어로 이전완료

지금 사용하고 있는 워드프레스를 웹호스팅에서 AWS 프리티어로 이전완료하였다. 이전하게 된 동기는 워드프레스 5.2버젼에 대한 업데이트 알림이 떠서 진행하려다보니, 웹호스팅업체의 서버 PHP버젼 (5.6.7)이 낮아서 업데이트 사양(5.6.20)에 모자랐다.

호스팅업체에 PHP 업데이트 계획을 문의했더니 업데이트 계획이 없다면서 서버이전 신청을 하라는 답변을 받았다. 워드프레스는 계속 버젼이 업데이트 될 것이고 여기에는 기능 향상뿐 아니라 보안 이슈 패치들이 포함될텐데 앞으로 업데이트를 할 수 없는 서버환경이라면 더 이상 사용할 수 없게 되었다고 볼 수 밖에 없었다. 서버이전도 그러하다, 고객님 현재 서버는 이러이러한데 원하시는 조건의 서버는 이런 상품군이 있으며 비용은 얼마이니 필요시 신청하시기 바란다, 라고 써줬으면 충분히 고려할 수 있었을것이다.

어제 낮에 AWS에 계정 새로 만들고 짬짬이 작업하여 방금 전 대략 이전을 마무리하였다. 기존 사용환경과 AWS 프리티어의 사용환경이 모든 사람이 동일하지 않다보니 은근한 삽질과 스트레스가 있었다.

워드프레스 백업,복원 플러그인들은 자기 서버 안에서 백업과 복원이지 다른 시스템으로의 이사(마이그레이션)은 선택지가 많지 않았다. 일단 첨부파일들은 기존 서버에서 FTP로, DB는 phpmyadmin으로 받아두었다. 그러나 복원을 위해서 신규 AWS 서버에 phpmyadmin이 없었고 ftp 접속을 위해서는 ftp데몬을 설치해야 했다. 아무튼,

생각나는대로 이전과정에서 사용한 서비스와 방법들을 정리해본다.

  • 첨부파일은 FTP로 받아서 sFTP로 업로드 했고 DB는 All-in-One WordPress migration 플러그인을 이용했다.
  • 포스트 내부에서 이 블로그의 다른 퍼머링크로 향하는 링크는 Migrate DB 플러그인으로 변환하였다.
  • 기존 hof.pe.kr/wp/archives/포스트아이디 구조는 hof.pe.kr/포스트아이디로 변경하였다. 내부 문서 간 상호 참조 링크는 위 플러그인으로 변경하였다.
  • 검색엔진이나 외부 사이트에서 이 블로그의 퍼머링크로 향하는 링크는 끊어지게 되었으나, 복구 방법을 찾는 중이다. 예전에 b2시절부터 계속(16년째) 깨지지 않게 유지하고 있는 중.
  • ftp업로드를 위해서는 vsftpd를 설치하고 포트를 열어주었다
  • 맥에서 filezilla로 ftp 업로드를 하기 위해선 개인키 파일 pem을 ppk로 변환해야 했고 이를 위해 puttygen을 설치해야 한다. 그러기 위해선 homebrew를 먼저 깔아야했다. 하..
  • 네임서버를 웹호스팅업체가 제공하는 서버에서 aws의 Route 53으로 변경하였고 큰 문제없이 수분내에 적용되었다.
  • SSL인증서는 검색해보니 AWS의 ACM(Amazon Certificate Manager)을 이용해야하는 줄 알고 인증서 발급, route 53에 등록, 로드밸런서 생성까지 나와있어서 다 따라했지만 실패. bitnami 패키지를 설치했다면 쉬운 방법이 있었다, https://docs.bitnami.com/aws/how-to/generate-install-lets-encrypt-ssl/

남은 과제

  • 인증서 3개월마다 자동갱신하기 위한 크론 설정
  • 외부 사이트에서 기존 퍼머링크 구조로 들어오는 트래픽을 바뀐 퍼머링크로 리다이렉션 (redirection 플러그인)
  • 1년뒤의 이야기겠지만 프리티어 사용기한 종료 후 라이트세일로 변경

결과

  • 기존 메인화면 로딩에 1.8~1.9초 정도 걸렸었는데 이전 후 0.7초 정도로 속도 향상이 있다. 프리티어가 이 정도라면.. ㄷㄷㄷ…

웹호스팅에 워드프레스 돌리는 것과는 비교할 수 없이 어려웠다. 서버관리에 대한 지식의 수준에 따라 차이가 있겠지만 말이다. 조금씩 차근차근 배워가는 것이 아니라 aws계정 등록하고 곧바로 서버 셋팅과 필요한 패키지, 보안와 트래픽 정책, 과금에 대한 고려, 데이타 마이그레이션과 워드프레스 설정 등 필요한 전체 지식이 한꺼번에 필요했다. 이전하기 전에 다른 블로그와 도움말등을 통해서 미리 감을 잡아보았으나 실전은 또 다른문제였고 모든 요소들과 정책들이 내 경우와 동일한 사람은 없었다. 블로그 하나 운영하기 위해 이런 노력을 들이는 것이 필요할까, 서버 유지보수에 대한 앞으로의 부담까지 져야할 가치가 있을까… 하는 고민이 아직도 있긴하다.

일단 블로그는 AWS에서 돌아가게 됐고 차차 사용성을 보아가며 향후 정책을 정하기로 하였다.

맥북프로 액정고장 및 수리

5일전 아침에 일어나서 잠시 맥북을 사용하다가 화면이 껌뻑거리기 시작했다. 외장모니터를 주력으로 사용하고 맥북은 그 앞에 45도 정도만 열어놓고 키보드와 트랙패드를 사용하도록 구성해두었는데 반쯤 접힌 맥북이 번쩍번쩍하는것이었다. 화면을 열어보니 세로줄무늬와 깨진 격자등이 난무해서 도저히 알아볼 수가 없었다. 반면 외부모니터는 아무 이상없치 평온한 상태.애플 고객센터에 전화해서 예약을 잡은 후 다음날 오전에 가로수길 애플 지니어스바를 방문했다.

제품을 본 담당자는, 이런 문제는 액정을 자주 열고 닫거나 화면 상단덮개쪽에 압력이 가해진 경우에서 비롯된 경우가 많다고 하였다. 덮개와 본체를 이어주는 플렉스 케이블쪽 문제가 있으면 이렇게 세로방향 문제가 생긴단다. 수리는 공휴일 포함 5일 정도 걸릴 것이라 하였다.

예정보다 하루 빠르게 4일만에 수리가 완료되었다는 연락을 받고 다시 애플 가로수길을 찾아갔다. 액정뿐 아니라 상판뚜껑까지 전체를 교환하였다고 한다. 뚜껑 바깥쪽 애플로고를 보호하는 테이프가 붙어있는 점이 특이했다. 신품 구매시에는 없던 것 같았는데..

수리비는 86만원가량이 나왔으나 다행이 애플케어 보증프로그램이 적용되었다. 그러고보니 기본 보증 외 구매한 애플케어 보증이 작년 7월부터 내년 7월까지인데, 작년 가을에 키보드 문제로 하판 (키보드 및 키보드를 둘러싸고 있는 케이스 전체와 배터리)을 교체받았고 이번에는 액정과 뚜껑쪽을 교체받았으니 보드,CPU, 램 및 저장장치를 뺀 거의 전체를 보증프로그램으로 교체한 셈. 작년 수리비가 46만원돈이었으니 이번 수리건까지 포함하면 30여만원짜리 보증연장 프로그램 구매 효과는 톡톡히 봤다.

고장 원인 중 하나인 기기에 가해진 압력은, 고양이 녀석이 가끔 맥북을 뚜껑덮고 자리를 비우면 그때 남은 온기를 즐기느라 맥북에 올라와서 엎드리는 경우가 있는데 그것 말고는 압력받을 환경이 아니었다. 고양이가 쿵쿵 뛰는것도 아니고 슬그머니 엎드리는건데 이런 압력이 고장으로까지 이어지는 치명적인 요인이었을까..를 생각하면 갸우뚱 하긴 하다. 어쩌면 그저 다양한 요인이 합쳐지고 이른바 뽑기운이 안좋아서 좀 까리한 맥북이 그냥 기계들이 고장나듯, “그냥 고장”난 것일 수도 있다.

그래도 혹시나 싶어 맥북을 접어두고 외부 키보드와 마우스를 한번 써볼까 싶긴 하다. 한번 해보니 의외로 이 구성이 더 편리할 수도 있는 일 아니겠는가.

맥에서 흑백화면 전환을 쉽게

엊그제 페북의 백투더맥 그룹에서 우연히 읽은 다크모드에 관한 게시물.

https://www.facebook.com/groups/backtothemac/permalink/2223484427890450/

시스템환경설정에서 따라해보니 눈도 편안하고 괜찮다. 스레드를 따라가보니 오토메이터로 자동화가 가능한듯 싶다. 검색해서 찾은 방법이 있어 따라해보니 잘 된다. 나중을 위해 정리해둔다.

OS : MacOS 모하비 (ver. 10.14.1)

오토메이터 실행 → 새로운 도큐멘트 → 도큐멘트 유형 : 응용프로그램
동작에서 “AppleScript 실행”을 검색하여 추가.
(* Your script goes here *) 라고 나온 부분에 아래 코드를 입력한다. 원래 코드는 Applescript Mojave Toggle Accessibility Grayscale On/Off 에서 가져왔고 현지언어를 사용할 경우 그에 맞게 문자열을 변경하라는 글에 따라 아래처럼 바꾸었다.

tell application "System Preferences"
	reveal anchor "Seeing_Display" of pane id "com.apple.preference.universalaccess"
end tell

tell application "System Events" to tell process "System Preferences"
	repeat while not (exists of checkbox "흑백음영 사용" of group 1 of window "손쉬운 사용")
		delay 0.1
	end repeat
	set theCheckbox to checkbox "흑백음영 사용" of group 1 of window "손쉬운 사용"
	tell theCheckbox
		# If the checkbox is not checked, check it to turn grayscale on
		if not (its value as boolean) then
			set checked to true
			click theCheckbox
		else # else turn grayscale off
			set checked to false
			click theCheckbox
		end if
	end tell
end tell

tell application "System Preferences"
	quit
end tell

적당한 이름 GrayScale.app 등으로 이름 저장한 후 실행하면 보조접근에 대한 안내창이 뜨면 시스템환경설정 → 보안 및 개인정보보호 → 손쉬운 사용에서 GrayScale.app 을 선택해주면 된다.

Better Touch Tool을 쓰고 있는지라 ⌥⌘G 키에 GrayScale.app 실행을 매칭해두어 필요시에 즉시 바꿀 수 있도록 해 두었지만 Spotlight로 실행해도 충분할 것 같다.

한글출력 가능한 다이모 라벨매니저 280 라벨프린터

요 며칠 라벨프린터에 꽂혀서 부라더와 엡슨 제품을 한참 찾아보다가 뜬금없이 알게된 다이모 라벨매니저280.
아마존에서 가끔 15불 + 배송비 9불에 나오는 제품이다. 일단 2만6천원대라면 국내에서 살 수 있는 가장 저렴한 라벨프린터의 절반 가격이다.
기기 자체에서는 영문과 숫자 출력이 가능하고 PC또는 맥에 프로그램을 설치한 후 USB로 연결, 프린터로 지정하면 컴에 설치된 글꼴로 한글 출력이 된다.

제품 도착 후 2~3일 동안 전기제품 플러그마다 이름 붙이고, 드론에 연락처와 배터리 번호 붙이고, 주방용품에 주욱 붙이고 나니……. 붙일데가 없다. 본가와 처가 갈때마다 뭐 라벨 붙이실거 없느냐고 여쭤보는 중이다.

호환 12mm 프린터 카트리지는 알리에서 3개에 11불에 구매했고 정품 카트리지와 인쇄 품질 차이를 느끼기 어렵다. 이면지를 떼어내기 위한 뒷쪽 절개선도 깔끔하게 처리되어있다. 카트리지 용량이 7미터짜리니까 라벨 개당 7cm 짜리 출력한다 치면 얼추 300개쯤 뽑을 수 있는 분량.

다이모 홈페이지에서 PC용 프로그램 전송 받는 속도가 50~100KB/s를 왔다갔다 하기에 후일을 위해 드롭박스에 일단 올려둔다. DLS8Setup.8.7.exe (162MB)

타임머신으로 쓰던 외장하드 재사용하기

맥북에어때 타임머신용으로 사용하던 1TB 외장하드를 지난주 정리하기로 하였다. 드론 촬영영상을 이 하드에 저장하고 있었는데 요즘 타임머신 백업은 NAS로 받고 있어서 이 하드의 백업은 비워도 괜찮았기 때문이다. 낮에 회사에서 맥북에 외장하드를 연결하고 백업 폴더를 휴지통에 넣었다. 여기부터 문제가 시작되었다. 수년간 받아온 백업은 셀수 없을만큼의 파일을 쌓아두고 있었고 이 파일을 삭제하는 과정은 앱이 먹통이 될 지경에 이를 정도로 무리가 가는 일이었다.

휴지통에서 비우기나 완전삭제 뭘 눌러도 하염없이 파일 삭제 갯수는 올라가고 종료시간은 가늠할 수가 없었다. 게다가 이 휴지통이 비워지지 않은 이 외장하드를 연결할때마다 미완의 작업에 대한 인덱싱을 하는지 하드 인식에 수분씩 소요되었다. 이래서는 동영상 저장용으로도 사용할 수 없는 지경.

차라리 원복을 시킬까도 생각해봤지만 외장하드 분리했다가 재연결하면서 되돌리기도 불가능해진 상황 -_-

밤새 삭제를 걸어놔도 아침에 보면 무슨 무슨 파일이 사용중이라 삭제할 수 없다는 대화창이 떠 있고 삭제작업은 일시 중단된 상태. 할수없이 동영상 파일을 백업받고 외장 하드는 포맷을 하기로 했다. 남는 외장 SSD와 하드를 동원하고 NAS의 여유 파티션에 동영상들을 꾸역꾸역 밀어넣었다. 기가비트랜이어도 하드 쓰기 속도가 있으니 또 수시간 동안 쓰기 작업 계속…

3군데 하드에 나눠넣고나서 외장하드 포맷을 시도했으나 포맷 실패. 휴지통에 들어가있는 파일이 아직 비워지지 않은 상태라 수백만개의 파일이 남아있을 터. 삭제를 위한 이런저런 작업 중 뭔가 꼬였거나 미완의 작업이 포맷을 방해하고 있는듯하다. 파티션 날리고 다시 포맷하니 그제서야 제대로 1TB용량을 찾을 수 있었다. 소요시간은 수초 이내. 쩝.

타임머신으로 사용하던 외장하드를 다시 사용하기 위해서 파일삭제를 하게되면 고생문이 훤하다. 타임머신 전용으로만 사용하고 재사용시에는 파티션 날리고 포맷하는게 꼬박 하루 생고생을 피할 수 있는 길이다.

추신. 타임머신 파일 정리해놓고 동영상을 모아보니 300기가, 그러니까 타임머신 백업이 약 600기가였던 것으로 추정된다. cmd+i로는 가져올 수 없었던 폴더 정보다.