웹호스팅에 가입하지 않고 로컬에서 편리하게 워드프레스 사이트를 제작하거나 개발할 수 있는 WordPress Studio 툴을 워드프레스닷컴에서 공개했습니다. 이 블로그에서 Studio를 소개할 당시 윈도용의 경우 베타 버전이었지만, 이제는 정식 버전이 릴리즈되어 이전보다 안정적으로 로컬에서 사이트를 만들 수 있습니다.
Studio에서 제작한 워드프레스를 웹호스팅 환경으로 이전해야 합니다. All-in-One WP Migration 플러그인으로 이전이 가능하지만, 테스트를 해보니 한글이 모두 깨지는 현상이 발생했습니다. SQLite 데이터베이스를 phpMyAdmin 등에서 임포트할 수 있도록 MySQL 디비로 변환하는 코드를 파이썬으로 만들어보았습니다.
WordPress Studio에서 제작한 워드프레스 사이트의 DB 변환하기
워드프레스 스튜디오에서 테스트 사이트를 만든 다음, AIO WP Migration 플러그인을 사용하여 서버로 마이그레이션을 하니 한글이 깨지는 문제가 발생했습니다.

여러 가지 방법으로 해결을 시도해보려고 했지만 잘 되지 않았습니다.
워드프레스닷컴 개발자 매뉴얼에 의하면 다음과 같은 문서를 명령을 실행하여 SQLite DB를 MySQL DB로 변환할 수 있습니다.
sqlite3 wp-content/database/.ht.sqlite .dump > backup.sql
하지만 phpMyAdmin 등에서 변환된 SQL 파일을 임포트하려고 시도하면 에러가 발생합니다. 아래 그림은 클라우드웨이즈의 Database Manager에서 변환된 DB 파일을 임포트할 때 발생하는 오류를 보여줍니다.

"쿼리의 오류 (1064): Syntax error near 'PRAGMA foreign_keys=OFF' at line 1" 에러 메시지가 표시되고 있는데요. 이 에러를 해결한 후에 다시 시도하면 또 다른 오류가 발생합니다. 또 해결한 다음, 재시도하면 계속하여 다른 오류 메시지가 표시되면서 임포트가 되지 않습니다.
이는 SQLite와 MySQL의 문법이 다르기 때문에 발생하는 문제라고 합니다. SQLite와 MySQL의 문법 차이는 What is the difference between MySQL and SQLite syntax and keywords?를 참고해 보세요.
WordPress.com에서는 SQLite3를 사용하여 변환하는 것을 권장하지만, 파이썬을 사용하여 SQLite DB를 MySQL DB로 변환하는 코드를 만들어 보았습니다. SQLite to MySQL Converter 문서에서 공개한 코드를 기반으로 했지만, 워드프레스 환경에 맞게 많은 부분이 수정되었습니다.
파이썬 파일은 네이버 카페에 업로드했습니다. 다운로드하여 활용하시기 바랍니다.
파이썬 파일을 다운로드한 다음, /wp-content/database/.ht.sqlite 파일을 MySQL DB 파일로 변환할 수 있습니다.
예시:
python export.py .ht.sqlite backup.sql
윈도우 사용자인 경우 마이크로소프트 스토어에서 Python 설치 파일을 다운로드하여 설치할 수 있습니다. (저는 명령 프롬프트에서 Python을 입력하니 Microsoft Store에서 Python을 설치할 수 있는 화면이 열렸습니다.)

파이썬을 설치하고 명령 프롬프트를 열어서 상기의 명령을 실행하시기 바랍니다.
이 방법으로 DB 파일을 변환한 후에 phpMyAdmin 등에서 임포트를 시도하니 문제 없이 임포트가 되었습니다.

또한, 한글이 깨지는 현상도 발생하지 않았습니다. 하지만 제한된 환경에서 테스트를 하였기 때문에, 특정 환경에서 에러가 발생할 수 있는 가능성이 있습니다. DB를 변환하거나 임포트하는 과정에서 에러가 발생하는 경우 오류 메시지를 아래 댓글을 통해 알려주시면 파일을 수정할 수 있는 경우 수정하겠습니다.
마치며
클라우드웨이즈 등의 호스팅을 이용하는 경우 쉽게 새로운 사이트를 추가로 만들 수 있습니다. 추가로 사이트를 만드는 것이 허용되지 않거나 웹호스팅을 아직 선택하지 않은 경우 WordPress Studio를 사용하여 로컬에서 사이트를 개발/제작 작업을 진행할 수 있습니다.
윈도우용 Studio의 정식 버전이 릴리즈되면서 베타 버전에 비해 안정화된 것 같습니다. 하지만 여전히 UpdraftPlus와 같은 백업 플러그인이 작동하지 않는 문제가 있습니다. Studio에서 SQLite DB를 사용하기 때문에 DB와 관련된 플러그인이 제대로 작동하지 않을 가능성이 높습니다.
댓글 남기기