지난 일요일에 아마존 라이트세일에서 도쿄 리전의 워드프레스 인스턴스를 서울 리전으로 이전시키는 작업을 했습니다. 이 과정에서 'No supported authentication methods available (server sent: publickey)' 오류가 발생하여 SSH에 접속할 수 없어 애를 먹었습니다.
아마존 라이트세일에서 'No supported authentication methods available (server sent: publickey)' 오류가 발생하는 경우
저는 리눅스 서버에 대한 지식이 제한적이어서 Amazon Lightsail이나 Vultr와 같은 가상 서버 호스팅(VPS)을 테스트 목적으로만 운영한 적이 있고 실제 워드프레스 사이트는 Bluehost에서 호스팅되고 있습니다.
(※ 참고로 위의 글에 포함된 링크를 클릭하여 블루호스트 공유호스팅에 가입하면 월 1달러 할인된 월 2.95달러부터 서비스를 이용할 수 있습니다. 저렴하게 괜찮은 리소스의 호스팅을 이용하고 싶은 경우 나름대로 괜찮은 선택일 수 있습니다.)
아마존 라이트세일과 같은 서비스를 잘 활용하면 비용을 절감할 수 있고 (사이트 최적화를 잘하면) 속도가 빠르게 나옵니다. 하지만 서버를 직접 운영해야 하는 부담이 있습니다. 특히 서버에 문제가 발생하는 경우 스트레스를 많이 받을 수 있고 며칠 동안 사이트 접속이 안 되면 낭패가 아닐 수 없습니다.
서버 운영에 대한 심도 있는 지식은 없지만 워드프레스 관련 일을 하다 보니 원하든 그렇지 않든 아마존 AWS, 아마존 라이트세일 등에서 운영되는 워드프레스 사이트 관련 작업을 해야 하는 상황이 발생합니다. 가끔 예상치 못한 문제가 발생하여 헤매기도 하지만, 그런 과정을 통해 많은 것을 배우는 것 같습니다.
지난 주말에 클라이언트가 서버의 PHP 버전을 7.0에서 7.3으로 업그레이드하기를 원하셔서 작업을 맡게 되었습니다. PHP 버전 업그레이드가 목적이었지만, 이번 기회에 리전을 도쿄에서 서울로 이전시키기를 원하셔서 새로운 WordPress 인스턴스를 만들고 이전 작업을 시도했습니다.
하지만 시작부터 난관에 부닥쳤습니다. 평상 시처럼 프라이빗 파일을 생성하고 SSH에 접속하려고 시도하니 "No supported authenticaion methods available (server sent publickey)" 오류가 발생했습니다.
이 문제가 발생할 경우 다음 GutHub 글을 참고하면 도움이 될 것입니다.
위의 글에서 소개하는 방법으로 잘 안 되는 경우 다음 글에서 제시하는 방법을 시도해보시기 바랍니다.
"permission denied"와 "no such file or directory" 오류
이 문제를 해결하고 수동으로 이전을 시도하니 퍼미션 오류가 발생하여 또 애를 먹었습니다.
오류: mkdir /opt/bitnami/apps/wordpress/htdocs/wp-content/uploads/2020/03: permission denied
명령: mkdir "/opt/bitnami/apps/wordpress/htdocs/wp-content/uploads/2020/03"
오류: mkdir /opt/bitnami/apps/wordpress/htdocs/wp-content/uploads/2020/03: permission denied
명령: cd "/opt/bitnami/apps/wordpress/htdocs/wp-content/uploads/2020/03"
오류: Directory /opt/bitnami/apps/wordpress/htdocs/wp-content/uploads/2020/03: no such file or directory
파일질라에서 파일을 업로드하려고 시도하니 위의 오류 메시지와 같이 "permission denied"와 "no such file or directory" 에러가 발생하여 파일을 업로드할 수 없었습니다.
워드프레스에서는 폴더는 755, 파일은 644로 퍼미션을 설정하면 됩니다. 하지만 위와 같은 문제가 발생할 경우 sFTP에서 권한을 설정해주는 것으로 문제가 해결되지는 않습니다. 아마존 라이트세일에서는 SSH에서 워드프레스의 wp-content 폴더의 owner group을 bitnami:daemon으로 지정해주어야 합니다.
owner group 설정은 chown 명령어를 사용하면 됩니다.
그리고 퍼미션 문제에 대하여 상세힌 살명하고 있는 Bitnami 문서가 많은 도움이 될 것입니다.
마치며
이번 작업을 하면서 여러 가지 에러가 발생하여 스트레스를 조금 받았지만 한편으로는 오랜만에 아마존 라이트세일에 대한 많은 글을 구글에서 검색하여 읽게 되었습니다.
아마존 라이트세일에서 PHP 버전을 업그레이드하는 방법으로는 현재 인스턴스를 백업(스냅샵 생성)한 후에 PHP 버전을 업그레이드하거나 새로운 워드프레스 인스턴스를 만든 후에 기존 워드프레스 사이트를 새로운 인스턴스로 이전하는 방법을 이용할 수 있습니다.
초보자에게는 두 번째 방법(새로운 인스턴스를 만들고 사이트를 이전하는 방법)이 조금 번거롭지만 더 쉬울 수 있습니다. 효율적으로 PHP 버전을 업그레이드하려면 이전 PHP 버전을 제거하고 새로운 PHP 버전을 설치하는 것입니다.
Bitnami Community에서 이와 관련하여 워드프레스인 경우 새로운 서버로 이전하는 것을 안내하고 있네요. 아마존 라이트세일에서 Duplicator를 이용하여 이전을 시도하니 이전 후에 약간 이상하게 작동하네요. All-in-One Migration 플러그인을 사용해볼 수 있습니다.
아마존 라이트세일에서 WordPress 이미지로 인스턴스를 생성하면 현재 PHP 7.3이 적용됩니다. PHP 업그레이드 작업을 진행하기 전에 스냅샷을 만들어놓고 진행하면 편리할 것입니다.
참고: