아마존 라이트세일로 wordpress 또 이사하다.

lightsail+wordpress

블루호스트를 다시 떠나다.

지난 몇 년간 나는 국내 호스팅을 이용하다가 최근에 블루호스트로 블로그를 이사했다. 자세한 내용은 아래 post에서 확인 할 수 있다.

국내 호스팅을 이용하다가 블루호스트를 이용하니 신세계였다. 콘솔에서 사이트관리를 너무 쉽게 할 수 있기 때문이다. 그런데 그 기쁨도 잠시, 블로그를 운영하다보니 블루호스트는 치명적인 문제가 있었다. 속도가 너무 느리다는 것이다. 내가 이용했었던 shared hosting 상품은 정말 심각하게 느렸다. 블루호스트에서는 SSD를 제공한다고 하지만 난 지금까지 그렇게 느린 SSD를 본 적이 없다. 처음에는 내 블로그의 내부 문제일 것이라고 생각했다. 그래서 쓰지 않는 플러그인도 삭제하고 테마도 삭제해보고 캐시플러그인은 물론 Autoptimize 플러그인도 설치해봤다. 그래도 너무 느리길래 CloudFlare로 DNS를 옮겨서 에지캐시를 적용해보기도 했다. 해볼만한 건 다해보았으나 그냥 느리다. DB에서 데이터를 불러오는 속도 자체가 느리다.

물론, 블루호스트의 VPS Hosting 상품은 그래도 속도가 좀 나오는 것 같긴 하다. 그런데 생각보다 비용이 비싸다. 간단한 블로그 하나 운영하는데 그렇게까지 비용을 내고 싶지는 않다. 사실, 트래픽이 많지도 않은 개인 블로그 하나 운영하는데 속도가 뭐 그리 중요하겠냐만은 이게 직업병인지는 몰라도 시스템 속도가느린 것은 또 참을 수가 없다. 사이트 속도가 느리면 그것은 SEO에도 영향을 미친다. 구글의 입장에서는 자신들의 검색결과에 속도가 느린 사이트를 높은 순위로 노출하고 싶지 않기 때문이다. 내가 운영하는 사이트가 그런 대접(?)을 받을 수는 없다고 생각했다. 그래서 어쩔 수 없이 다른 업체를 알아보게 되었다.


아마존 라이트세일로 이사하다.

여기저기 알아보다가 다음과 같은 이유로 결국 아마존 라이트세일에 이사하기로 결정했다.

  • https를 적용할 수 있다.
  • 국내에 리전이 있다.
  • 비용이 합리적이다.
  • 콘솔이 편리하다.
  • DNS도 제공한다.

아! 그런데 이런 Cloud(IaaS) 서비스는 내가 직접 서버운영을 해야 하기 때문에 귀찮은게 많다. 서버라는게 그냥 두면 자기가 알아서 잘 돌아갈 것 같지만 사실, 그렇지가 않다. 최근 클라우드 서비스가 많이 좋아졌다고 하더라도 몇 가지 서버설정은 사용자가 직접 해야 하기 때문에 귀찮은 부분이 생각보다 많다. 보통 그 과정에서 삽질도 많이한다. 이런 부분때문에 그 동안 호스팅을 이용해 온 것인데…..라이트세일 1개월 무료 상품(Debian+Wordpress)을 테스트 해보고 그냥 바로 이용하기로 결정했다. 속도가 너무 마음에 들었다.

나는 아래 이미지에 나온 것 처럼 Linux + WordPress 상품을 이용했다.


아마존 라이트세일에서 WordPress 기본 설정방법

instance 생성하기

아마존 라이트세일에서 제공하는 WordPress는 bitnami 빌드상품이다. 사실, GCP에서도 워드프레스는 대부분 bitnami 빌드상품을 이용하기 때문에 큰 어려움은 없었다. 그래도 혹시 몰라 구글링을 해봤는데 아마존 라이트세일에서 워드프레스 설정 및 SSL 인증서 설치 관련하여 굉장히 잘 정리해놓은 글을 발견했다.

스위프트님의 블로그 바로가기

워드프레스와 아파치 서버의 설정방법 및 SSL 인증서 설치방법은 위 블로그에서 자세하게 확인할 수 있다. 아래 내용은 내가 실제 진행을 하면서 추가적으로 더 필요한 사항들을 기록해 놓은 것이다.

  • 맥의 경우 pem 파일에 대해서 권한 설정을 한 번 해줘야 한다. 참고로 키파일을 잃어버리더라도 내가 다시 직접 키페어를 업로드 할 수 있기 때문에 인스턴스에 영원히 접근 불가능 한 것은 아니다. 보안을 위해서라면 직접 키페어를 생성하는 것이 좋다.
#맥의 경우 pem 파일에 대해서 권한 설정을 한 번 해줘야 한다.
chmod 600 파일경로/파일명.pem
  • SSH 접속이 되면 아래 명령어를 사용해야 한다.
#비트나미 초기 워드프레스 관리자 비밀번호
cat bitnami_application_password

#비트나미 뱃지 제거
sudo /opt/bitnami/apps/wordpress/bnconfig --disable_banner 1

외부에서 DB접속 가능하도록 설정

나는 DB접속할 때 클라이언트 시스템을 사용하는 편이다. phpmyadmin을 이용하시는 분들도 있으나 그건 너무 소모적인 일이다. 그래서 난 외부에서 DB접근이 가능하도록 계정을 생성 해서 사용한다. 그러기 위해서는 아래 절차가 필요하다.

아마존에서 방화벽 설정

  • SSH | TCP | 22 | 모든 IP 주소
  • HTTP | TCP | 80 | 모든 IP 주소
  • HTTPS | TCP | 443 | 모든 IP주소
  • Mysql/Aurora | TCP | 3306 | 모든 IP 주소

my.cnf 파일 수정

아래 파일에서 bind-address = 127.0.0.1 부분을 bind-address = 0.0.0.0 로 변경하고 저장하면 된다.

  • my.cnf파일 위치를 모를 경우 ls -al | grep 'my.cnf'
  • bitnami 빌드인 경우 파일 위치 : /opt/bitnami/mysql/my.cnf

외부접속 가능한 DB 계정생성 및 권한부여

mysql> CREATE USER '아이디'@'호스트' IDENTIFIED BY '비밀번호';
mysql> GRANT ALL PRIVILEGES ON *.* TO '아이디'@'%' WITH GRANT OPTION;
mysql> flush privileges; 

mysql> use mysql;
mysql> select host, user from user;   //계정확인하기

Database 마이그레이션과 db_version 버전불일치 문제

Database 마이그레이션

Database을 마이그레이션 하는 것은 아주 간단하다. 그냥 기존 서버에서 dump하여 새로운 서버에 import만 하면 끝이다. 난 보통 새로운 DB를 만들어서 import 한다. 이렇게 하면 굳이 기존 DB를 백업할 필요가 없다. 다만, 이렇게 할 경우 워드프레스에서 wp-config.php 파일의 DB접속 정보를 수정해 줘야 한다. 물론 prefix 정보도 같이 수정을 해줘야 한다. 그래서….wp-config.php 파일도 백업을 해주는 것이 좋다. 아래 동영상에서 비슷한 내용을 알 수 있다.

WordPress database 업데이트 문제와 이를 해결하는 문제

  • Database를 마이그레이션하고 워드프레스 관리자에 접근하려고 하니 ‘Database update required.’라는 메세지가 나오길래 아무 생각없이 ‘update’ 버튼을 눌렀는데 그 이후로 해당 DB에 접속이 되지 않는 문제가 발생했다.
  • 관련 문제를 알아보니 version.php에 기록된 db버전과 DB의 wp_options 테이블에 기록된 db버전 정보가 달라서 해당 화면이 노출된 것이었다. 어떤 사람들은 그냥 업데이트 버튼을 누르면 된다고 하는데 테이블이 한 번 손상된 경험을 하다보니 다시는 그 버튼을 누르고 싶지 않았다. 그래서 version.php에 기록된 db_version 정보를 wp_options 테이블에 기록된 정보로 수정하였다.
    • /wp-include/에서 version.php 파일을 open한다.
    • $wp_db_version 변수에 기록된 버전정보를 확인한다.
    • Database에 접속하여 wp_options에 저장되어 있는 db_version 정보를 확인한다.(아래 query로 확인)
SELECT option_value FROM yourdatabase.wp_options WHERE option_name = 'db_version';
  • version.php 파일에서 $wp_db_version 변수의 값을 wp_options에 저장되어 있는 db_version 정보로 수정한다.

도메인 연결

기본적인 작업이 완료되었으므로 도메인을 연결해야 한다. 아마존 라이트세일은 DNS를 제공하기 때문에 편리하다. 물론, cloudflare와 같은 DNS를 이용해도 상관은 없는데 cloudflare의 경우 SEO 순위에 좋지 않는 영향을 미칠 수 있어서 가급적이면 아마존 DNS를 활용하는 것이 좋을 듯 하다.

도메인 연결을 하면 꼭 같이 해야 할 것이 있다. www(www.junholee.me)와 메인 도메인(junholee.me)를 하나로 합치는 작업이다. 즉, 둘 중 하나로 자동 리다이렉션 되도록 처리를 해야한다. 나는 www를 입력하더라도 junholee.me로 리다이렉션 되도록 처리를 하였다.

bitnami 워드프레스를 이용할 경우에 위에서 언급한 리다이렉션 처리는 wordpress > conf > httpd-prefix.conf 에서 처리하는 것이 좋다. 파일을 열어서 기존 코드는 주석처리하거나 삭제해버리고 아래 코드를 넣으면 된다.

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

다만, 이렇게 처리를 할 경우 다음에 bitnami 워드프레스 빌드가 아닌 서버로 이전을 할 경우 .htaccess 파일을 수정해야 한다. 물론 bitnami 워드프레스 빌드인 서버로 이전을 하더라도 해당 내용을 별도로 입력을 해야 할 것이다. 이전을 할 때 보통 wordpress > htdocs 경로의 파일들만 옮기기 때문이다.

더 구체적인 아래 스위프트님 블로그에서 확인이 가능하다. .htaccess 파일 수정방법도 아래에서 확인할 수 있다.

워드프레스 고유주소 변경과 www서브도메인 링크주소 리다이렉팅 방법(permalink)


위의 내용을 보고 진행하면 이제 워드프레스 블로그에 접속하는 것은 가능하다. 그런데 아직 해야 할 것이 하나 더 있으니 바로 SSL 인증서 설치이다. 즉, https로 연결되도록 하는 작업이 남아있는데 그건 아래 포스팅에서 확인이 가능하다.

0 Shares:
답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

You May Also Like
Read More

기획자와 스토아철학

기획자로서 일을 하다보면 생각보다 많은 부분에서 우울할 때가 있다. 그 우울함이 심해지면 '나는 과연 필요한 존재가 맞는가?'라는 생각까지 들곤 한다. 문제는 이런 경험을 자주 할수록 자존감이 낮아진다는 것이다. 내가 겪어온 경험을 토대로 이 문제를 어떻게 극복했는지 이야기하고자 한다.
Read More

내 리더가 회사를 떠났다.

어떤 한 사람이 있다. 그 사람을 보면서 나는 이런 생각을 했다. "저 분의 인성과 역량을 닮고 싶다. 내 아들이 커서 어른이 된다면 나의 모습보다는 저 분의 모습을 닮았으면 좋겠다." 그 분은 내가 현재 재직중인 회사의 CTO이자 나의 리더였다. 아이러니하게도 그 분과 나는 전혀 다른 성격의 소유자이고 업무 스타일도 많이 달랐다. 하지만 난 정말로 그분을 닮고 싶었다.
2021년 회고
Read More

2021년 회고(Product Owner, 가족, 성장)

회사에는 동료와 일이 있다. 가정에는 아내와 애들, 육아업무가 있다. 그러나 그 어디에도 나는 없었다. 원래 나 본연의 내가 존재할 수 있는 시간과 장소는 없었다. 단지, 의무로서의 나만 존재했다. 언뜻 생각해보면 참 서글프기도 하지만 잘 생각해보면 꼭 그렇지도 않다. 현재 나의 상황, 역할, 가족, 일.....그 모든 것이 결국은 나를 구성한다. 원래 나 본연의 나는 처음부터 없는 것인지도 모르겠다.