서버 이전

블로그 시작할때 부터 함께 했던 unfix 서버가 2월 부로 서비스를 종료 한다는 아쉬운 소식에 서버를 어떻게 할 지 고민이 생겼다.
unfix.net 404 page

요즘은 컴퓨터 성능도 워낙 좋고, 집에서 개인 서버를 운영할까 싶었지만..
매일 컴퓨터를 켜둬야 하고, 정전, 먼지, 습도 등 관리/이슈를 신경써야 하는게 부담스러워서 호스팅 업체에 맡기기로 했다.

보통 도메인 등록 업체는 웹 호스팅도 같이 하니까 그냥 도메인 구입한 곳에서 호스팅도 신청할까 했는데 최근에 AWS Lightsail 에 대한 이용 후기를 읽어 본 적이 있었는데 평이 좋고 간단하다는 말에 그걸 이용하기로 결정했다.

AWS Lightsail 는 VPS 를 제공하는 서비스 이다.
성능과 용량 등으로 요금이 나눠지는데..
행사 기간이 언제 까지인지는 모르겠지만 내가 서비스 소개 글 봤을때 월 5$ 였던 상품이
실제 신청 하기로 들어가 보니 3.5$ 로 표시되어 있었다. (거기다 첫달이 무료!)
월 3.5$ 면 512MB 메모리, SSD 20GB 개인 서버 하나 만들어 진다니 세상 참 좋아졌다..;

나는 주로 서버를 개인 테스트 용도나 FTP용으로 많이 사용하는 편이다.
트래픽은 걱정할 정도가 아니니 공간만 어느정도 된다면 문제될건 없는 상황이다.
거기다 터미널과 FTP 접속도 할 수 있고, 부담없는 가격에 딱 좋은 서비스 인거 같다.

다만, 그동안 unfix 서버는 관리자가 알아서 환경 세팅을 다 해줬고 문제가 생기면 내가 서버 세팅에 뭔가 하지 않아도 알아서 해결해 줬었는데..
AWS Lightsail 은 OS부터 알아서 전부 내가 세팅해야 하는 불편함은 있다.
그렇다고 과정이 생각보다 크게 어렵지는 않았다.
다만, 설치하면서 막혔거나 필요했던 내용이 있어서 정리 해 볼까 한다.

AWS Lightsail

인스턴스를 생성할때 OS를 선택해야 한다.
나는 linux 계열 OS를 선택 했고, Ubuntu 18.04 LTS – Bionic 으로 선택했다.
OS와 워드프레스를 함께 설치할 수 있는 패키지도 제공 되던데 몰랐다..-_-;

OS 설치후 터미널 접속을 해서 나머지 설치를 해야 하는데 접속오류가 계속 난다.
기본으로 제공하는 authorized_keys 파일을 내려받아서 그걸로 SSH 접속을 해야 하는데 이 파일이 권한 오류가 나서 접속이 되지 않았다.
검색해보니 이 파일을 소유자만 읽기/쓰기가 가능하도록(600) 설정을 하지 않으면 오류가 난다고 한다.

권한 문제가 있어서 하나 더 적자면..
FTP에 접속해서 파일을 쓰기 위해서는 폴더에 쓰기 권한이 필요한데 폴더의 소유권과 그룹을 root 에서 AWS 계정명으로 바꿔줘야 한다.

이렇게 터미널에 접속 해보면 몇개의 패키지를 업데이트 할 수 있다고 안내 한다.
이후에 설치할 ubuntu 패키지 인덱스에 최신버전을 보장하기 위해서는 apt update 와 upgrade를 해두는게 좋다.
그리고 인스턴스 리전을 한국으로 선택 했지만 OS의 타임존은 한국으로 되어 있지 않았다.
그래서 타임존은 seoul로 수정을 하는게 좋다.

웹서버는 nginx 로 설치를 했다. 기존 서버도 apache고 회사도 apache 라서 nginx 경험도 해볼겸 이걸로 선택했다.
여기까지 설치가 끝나면 localhost가 잡힌다.
루트 경로가 정해지고 기본적으로 생성된 nginx index.html 페이지를 볼 수 있게 된다.

블로그는 워드프레스라서 php도 설치 한다.
워드프레스는 테마별로 php 플러그인이 많이 필요하다.
나 같은 경우는 php-cli, php-curl, php-gd, php-mysql, php-mbstring, php-xml 이 필요 했다.
php를 설치하고 phpinfo를 보면 타임존이 평양으로 잡혀 있다.(왜그렇지 -_-?)
이부분도 seoul로 바꾸는게 좋겠다.
그리고 nginx 에서 php를 해석할 수 있도록 nginx 라우터 설정도 해줘야 한다.

DB는 mariaDB 를 설치했다.
백업 받아뒀던 이전 DB가 스팸 댓글을 다 지워도 용량이 2GB 가까이 되어 phpmyadmin 같은 툴로는 업로드 하는게 어려웠다.
그래서 FTP로 가져온 다음 터미널에서 직접 import 하는 방식으로 가져왔다.

백업 받아둔 블로그 파일을 방금 만든 서버 루트 디렉토리에 복사하고 브라우저에서 실행해보면 별 문제 없이 실행 된다.(DB 명이 이전과 다르지만 않는다면)
하지만 하위 페이지로 이동이 안된다.
내 블로그는 블로그 고유주소 설정을 쿼리스트링 형식이 아닌 서브 페이지 형식으로 되어 있다.
예전 서버 환경이라면 apache의 mod_rewrite모듈 설정을 알아서 해줬기 때문에 신경쓰지 않아도 되었지만 이 설정도 별도로 해야 한다.
다행히 nginx는 rewrite 설정이 쉬웠다.

이후 고정IP 등록하고, DNS 등록하고, 네임서버 변경해주고, 하루정도 기다리기만 하면 서버 이전은 무사히 끝난다.

1 thought on “서버 이전

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다

This site uses Akismet to reduce spam. Learn how your comment data is processed.