Tag Archives: 웹호스팅

리노드로 옮기면서 이런 저런 소회 1

지금까지 12년간 블로그를 하면서, 웹사이트도 많이 옮겼고 데이터만 이어져오고 있지, 워드프레스에서 태터툴즈, 텍스트큐브, 티스토리, 다시 텍스트큐브에서 워드프레스로 플랫폼도 이래저래 옮겨오고 있고 서버도 여러번 옮겼습니다. 최근 1-2년 썼던 서버는 미국에 있는 서버였습니다. 여러가지 면에서 스펙이 낫기도 했고(데이터베이스나 PHP, 아파치 등) 말이죠. 심지어 한 업체에 있을때는 PHP 4. x 라 5.x 이상을 요구하는 워드프레스가 최소사양을 충족 못한다면서 에러를 뱉기도 했고, 웹 업로더가 작동 안하는 사태에도 요구를 들어주기 어려우니 정이 하고 싶으면 가상서버호스팅을 하라. 고 했었죠. 거기에 웹폴더를 777 권한으로 놓고 써야 업로드와 mod_rewrite가 제대로 작동한다… 그래서 한국을 떴습니다. 나야나 사태에서도 보셨겠지만 웹 호스팅 업체들이 매우 보수적이라고 해야할지 싶어서 아직도 EUC-KR 호스팅이 절멸하지 않은걸 생각해보면 말이죠.

그런 ‘보수’적인 우리나라 업체들의 태도가 11년이나 고객 데이터를 죄다 날리는 케이스가 되었습니다.

As for how this Linux ransomware arrives, we can only infer that Erebus may have possibly leveraged vulnerabilities or a local Linux exploit. For instance, based on open-source intelligence, NAYANA’s website runs on Linux kernel 2.6.24.2, which was compiled back in 2008. Security flaws like DIRTY COW that can provide attackers root access to vulnerable Linux systems are just some of the threats it may have been exposed to.

Additionally, NAYANA’s website uses Apache version 1.3.36 and PHP version 5.1.4, both of which were released back in 2006. Apache vulnerabilities and PHP exploits are well-known; in fact, there was even a tool sold in the Chinese underground expressly for exploiting Apache Struts. The version of Apache NAYANA used is run as a user of nobody(uid=99), which indicates that a local exploit may have also been used in the attack. – 트렌드 마이크로 블로그

물론 웹호스팅 업체가 PHP나 MySQL 등을 쉽게 올릴 수 없습니다. 왜냐면 고객들이 사용하는 웹 어플리케이션이 아까전에 말씀드렸던 EUC-KR 의존적일 수도 있고, 버전 의존적일 수도 있기 때문입니다. 하지만 낡은 웹 어플리케이션은 제로보드가 그랬듯이 사실상 도태를 시키지 않으면 돌이켜 고객 자신이 가장 위험할 수 있기 때문에 웹 어플리케이션을 만드는 개발자들이 워드프레스를 만드는 사람들처럼 공격적으로 구형 서버를 도태시켜야 합니다.

물론 사용자들도 그래야하고요. 웹호스팅이라는게 서버에 익숙치 않은 사람들을 위해서 있는 것이지만 최소한 자신의 사이트(서비스)를 인터넷이라는 오픈된 공간에 내놓은 이상 관리를 하는 기본적인 노력은 필요한 것 아닐까요?

리노드로 옮기면서 느낀점은 제가 필요로 하는 모든 사항을 갖췄다는 점입니다. 그리고 이 사항은 워드프레스의 최저기준은 물론, 권장 기준을 한참 달성하고 있죠. 제가 최신 버전을  받아서 설치했으니 당연하다면 당연하겠습니다만…

해서 리노드로 옮기기까지 과정을 간단하게 앞으로 얘기를 하려고 합니다. 길어질 것 같으니 여러글로 나눠보도록 하죠.

당연한 것에 대한 고마움을 체감하다.

제가 처음 블로그를 (본격적으로) 시작한건 태터툴즈였습니다. 그전에 잠시 워드프레스를 굴렸는데 (유니코드를 지원하지 않는) 웹호스팅 위에서 굴러가서 포기하고 태터툴즈로 갈아탔죠, 아마 지금 살펴본다면 어쩌면 유니코드도 지원하지 않는 서버에서 용케 잘 썼구나 싶습니다. 그러다가 중간에 티스토리로 갔다가 이번엔 워드프레스로 갈아타서 다시 웹호스팅으로 돌아왔는데 티스토리를 쓸때는 전혀 신경을 쓰지 않던 문제, 이를테면 트래픽이나 데이터 용량을 신경써야 한다거나 하는 문제가 있었습니다. 티스토리 시절에는 글이 엄청나게 팔려서 방문자가 많이 늘면 그저 반가운 문제지만 웹호스팅을 쓰는 입장에서는 사진 많은 글에 방문자가 많이 들어오면 트래픽을 불안하게 모니터하다가 추가결제를 해야하는 지경이죠. 지금은 훨씬 여유있는 상황이지만 그 여유를 위해서 훨씬 많은 비용을 들이고 있는게 사실입니다.

쉐어드 호스팅의 장점은 사실 간단한 리눅스 명령어와 SSH, FTP 사용법만 알면 크게 지식이 없이도 돌아간다는 점입니다. 그 간단한 사용법이 처음에 장벽이 됩니다만…

최근에 리노드(Linode)를 한번 사용해보고 있습니다. 고상한 말로 VPS, 가상 사설 서버 혹은 가상서버호스팅인데 실제 서버를 두는게 아니라 클라우드에 있는 컴퓨터들에 가상으로 실제 서버가 있는 척을 하는 겁니다. 그냥 단순하게 돈 주고 서버를 빌린다고 생각하면 쉽습니다. 그 서버로 뭘 하든 자유인데. 그냥 프롬프트 띄워놓고 명령어 연습을 하든지 워드프레스나 이런저런걸 올려서 가지고 놀아도 좋습니다. 다 좋은데 처음 시작은 그냥 OS도 깔려있지 않은 서버에 OS를 설치하는 것부터 시작하기 때문에 모든게 다 깔려져 있고 준비가 된 쉐어드 호스팅에 비해서 깝깝한게 사실입니다. 지금도 문서를 읽어가면서 뭘 하려는지도 모르는채 서버를 설정하고 있습니다. 최종적으로는 워드프레스를 한번 돌려보는게 목표입니다.

이 블로그는 클라우드플레어를 거쳐서 접속이 되도록 되어 있는데… 지금도 딱히 느리다고 생각하지는 않지만 사실 서울 노드가 있었을땐 더 빨랐습니다. 다만 지금은 그게 막혀서 미국까지 트래픽이 가죠. 어차피 서버가 미국에 있으니 어찌보면 이점이 없어보입니다만 이런저런 그 외의 장점이 있어서 계속 쓰고 있죠. 리노드는 도쿄에 서버가 있고 핑이 30~50ms대라 꽤 괜찮습니다(이상하게 왜 클라우드플레어가 도쿄로 라우팅 안하는지는 의문입니다, 그네들 말로는 가장 최적의 노드를 알아서 찾아가게 되어 있다는데…).

좌우간 포털 블로그와 쉐어드 호스팅을 거쳐서 가상서버호스팅까지 점점 일이 커지고 있습니다만… 글쎄요 모르겠습니다. 어느날이 되면 이 블로그도 리노드로 이사할지 모르겠습니다만. 그 전에 좀 습작을 좀 해봐야 알겠습니다. 가상서버호스팅에서는 명령어 한줄 잘못쳤다가는 모든 내용이 확 하고 날아갈 수 있으니까요. 좌우간 당연히 제공되던 것에 대한 고마움을 절감하고 있습니다.

블로그 작동 문제에 대해 사과 말씀

오늘 서버를 변경했습니다. 여러가지 이유가 있어서 국내에서 해외의 서비스로 이전을 실시했습니다. 몇가지 수정을 가하는 동안 중간에 사용이 원활하지 못했던 시기가 있었습니다. 불편을 드려서 죄송합니다. 다행히 NS 서버를 이전하지는 않았기 때문에 서버 이전은 매우 빠르고 수월하게 진행되었습니다만, 몇가지 설정 문제로 수정과 롤백을 반복해서 약간 지장이 있었습니다. 사과 드립니다.

해외로 이전은 했으나, CDN을 경유하므로 속도차이는 최대한 억제될 것으로 기대합니다. 예전부터 말하고 싶었지만 해외 업체의 경우 좀 더 전문적인 관리와 고객지원, 그리고 무엇보다 최신 버전의 PHP와 SQL을 지원하고 비용대비 훨씬 많은 트래픽과 용량을 지원하는 등 이점이 꽤 됩니다. 몇몇 웹앱은 PHP와 SQL 버전이 지원 중단된 버전이라 동작 자체가 안됐었습니다. 대개 이런 패치는 안정성을 향상시키고 취약성을 개선하고 기능이 추가되기 때문에  좀 더 안정적이고 안전한 운영이 가능할 것으로 예상하고 있습니다(사실은 관리를 하는 제가 편리해지는 장점이 큽니다, 구형 서비스를 제공하는 국내 호스팅 업체에서 사용 불가능한 일을 할 수가 있습니다).

그리고 이번에 이전을 하면서 확인한 사실이 있는데 일부 시기의 데이터가 이전 서버에서 유실 된 것을 확인했습니다. 어이가 없는 일입니다만, 데이터 유실에 대한 책임을 묻기는 어려울 것 같습니다. 워드프레스의 경우 포스트 본문은 SQL(데이터베이스) 서버에 저장이 되고, 이미지 등 애셋(자산)이 파일 형태로 올라갑니다. 데이터베이스는 문제가 없었으나 자산이 되는 이미지 파일이 상당수 유실 된 것을 알게 되었습니다. 공교롭게도 백업이 있던 컴퓨터도 망가진 상태입니다만 다행히도 일부 자산은 외국 서버로 이전을 시험하는 도중에 복사해둔 것을 발견하여 이를 활용하여 최대한 복구를 할 생각입니다.

물론 전부가 포함되어 있지 않고, 다시 올리기 힘든 것도 분명 존재하기 때문에 손실을 피할 수가 없겠습니다. 이전 개시부터 문제 확인까지 오늘 하루 나절을 소비했고, 앞으로도 상당시간 복구를 시도해야 하겠습니다만, 건강 문제도 있고 일단은 오늘은 일단락 지을 생각입니다.

여러분의 이해를 바라겠습니다. 감사합니다.

2016/5/28 추가 : 대다수의 이미지는 복구가 되었습니다. 문제는 역시 전 웹호스팅 업체의 문제와 함께 DB가 어딘가서 꼬인 것으로 보입니다. 일단 거의 대부분은 해결 되었다고 생각합니다.

여담. 이 블로그에 정치적으로 민감한 내용이 올라올 일은 없을 것 같지만 서버가 해외에 있으니 임의로 서버째 압수수색 당하는 불상사는 없을 것 같습니다. warning.or.kr로 대응하려나요.

호스트 프로바이더를 이전했습니다.

호스트 프로바이더를 이전했습니다. 호스트 프로바이더라는 것은 블로그를 제공하는 서버를 제공하는 회사를 말합니다. 데이터를 저장하는 회사를 말합니다. 간단하게 말하면 다음에서 네이버로 옮겼지만 도구나 데이터는 변함이 없어서 눈치를 못챌 뿐이다. 뭐 이런 식일까나요.

사실 이번에는 사전에 고지를 하지 않고 이전을 했습니다. 양해의 말씀을 구합니다. 해서 여러분에게 부탁드리고 싶은 것은 이것입니다. 물론 충분한 테스트를 해서 이전을 해서 문제는 없을 거라고 생각합니다만, 혹시 찾아보시다가 포스트나 이미지 등이 깨지거나 열리지 않는 것이 있는지 알려주시기 바랍니다. 만약 열리지 않거나 깨지는 것이 있다면 해당 포스트에 덧글을 달아주시기 바랍니다.

전번에는 전례가 없는 일이었기 때문에 실험을 해봐야 했고 시행착오가 상당히 있었고 걸리는 시간이나 과정, 위험성 등을 파악해야 했기 때문에 알려드렸습니다만, 이번에는 거의 문제가 없을 것이라고 판단해서 굳이 알려드릴 필요가 없다고 생각했습니다. 말씀드린대로 이전은 거의 문제 없이 이뤄졌다고 생각합니다. 에. 굳이 호스트 프로바이더를 다시 이전했던 까닭은…

지금까지 써온 가비아의 경우 서비스는 나쁘지 않았습니다. 전화를 받으면 나름 친절하고 대기시간도 짧은 편이었습니다. 처음 기대나 지불한 돈에 비하면 so-so였지만요. 전문성은 좀 떨어지더군요. 하지만 초기 셋업부터가 삐걱이었습니다. 일단, 워드프레스를 하려면 PHP(블로그의 프로그램, 즉 스크립트를 작동시키는 엔진)와 MySQL(데이터베이스; 즉 데이터를 저장하는 엔진)가 5.0 이상이어야 합니다. 그런데 제로보드(게시판) 때문인지 php가 4.x더군요. 덕분에 백업 짐을 풀고 실험하는 순간 minimum을 채우지 못한다는 한줄의 에러만 보고는 아연실색했습니다. 몰래 기존 서비스를 돌리는 와중에 백그라운드에서 새 서버로 복사하는 시험을 해봤기에 망정이지 최종 이전으로 했다면 망할 뻔했습니다. 물론 NS 서버 정보(도메인이 어느 특정 서버의 IP 주소로 향하라고 알려주는 일종의 이정표)가 퍼지는데 최소 12에서 48시간 걸리니(모든 나라, 모든 인터넷회사에게 이정표를 갈아치우느라 시간이 필요함) 여유는 있었지만 서비스 중단도 가능했으니까요. 전화하니까 게시판에 글을 남기면 해주겠다고 친절히 대답해줘서 요구사항을 Copy & Paste 해주니 친절히 업그레이드 해주더군요. 그런데 문제는. DB는 UTF-8을 지원하지만 파일 셋이 EUC-KR이었습니다. 덕분에 기존의 링크한 모든 UTF-8링크가 전부 깨지는 참사가 발생한겁니다(한마디로 파일 이름이 깨졌다). 서비스 중단의 제2 위기가 발생한 것입니다. 그래서 또 친절히 전화로 게시판으로 요청하라니 친절히 게시판 담당자가 .htaccess(웹호스팅의 사용자의 파일, 폴더에 영향을 미치는 명령을 넣는 파일)에 강제로 UTF-8로 override해주는 코드를 넣어줘서 넘어갔습니다(서버와는 상관없이 내 계정만 파일이 깨지지 않도록 꼼수를 썼다). 처음이 문제였던거지 뭐 나중은 그럭저럭이었습니다.

아, 세가지 큰 문제가 있었군요. 1) .htaccess의 mod_rewrite(파일 이름과 폴더의 규칙을 정하는 일종의 명령) 문제였습니다. 숫자 퍼머링크에서 문자 퍼머링크로 바꾸려면 필수적으로 mod_rewrite를 건드려야 하는데 이 녀석을 수정하도록 하려면 워드프레스가 손보지 못했습니다. 무조건 777(모두가 수정가능한, 그야말로 가장 위험한 상황)을 줘야 하는 위험한 상황이었습니다. 2) 그리고 미디어 파일을 업로드 시키려면 미디어 파일 폴더에도 777을 주지 않으면 워드프레스가 파일을 쓰지 못하고 뻗어버리는 문제가 있었습니다. 워드프레스 기술문서에서는 기본인 755(소유주 이외에는 쓸 수 없는 상황)로 둘 것을 권장하고 있고 카페24에서는 그래도 전혀 지장없이 작동합니다. 그럼에도 대수롭지 않게 넘어가더군요. 오히려  우리쪽이 보안이 뛰어난거라고… 3) 워드프레스 자체에 플러그인 업데이터가 있는데 FTP 정보를 한번 입력하면 카페24에서는 기억을 해서 암호를 바꾸거나 하기 전에는 저절로 그냥 업데이트를 해주는데 이 호스트에서는 자꾸 인증 정보를 요구하더군요. 보안 때문인가. 솔직히 여러모로 납득이 가지 않았지만 일단 냅뒀습니다.

다 좋다 이겁니다. 나중에 고비가 하나 있었는데. 구글 Apps(자기 도메인으로 Gmail이나 구글 캘린더를 쓸 수 있는 서비스)를 쓰려고 하니까 MX와, CNAME (한마디로 구글로 넘겨주는 것)등을 설정하는 메뉴가 없는겁니다. 도메인 쪽에 있어야 하는데 도메인쪽에 가니까 가비아쪽 호스팅을 쓰는 경우에는 사람에게 직접 연락을 해야한답니다. 사람에게 일일히 그걸 C&P해서 보내줬더니 영업시간 안이니 좀 있다가 해주긴 하던데 카페24에서는 1분안에 제어판에서 가능하던걸 이걸 사람에게 부탁해야한다는게 영 깨름직하더군요. 마음이 돌아갔습니다. 거기에 일단 서비스는 UTF-8인데 서버는 EUC-KR로 돌아가는게 영 마음이 놓이지 않더군요. 백업이라던가… SSH로 접속을 해보면 사용자 루트폴더를 접근할 수가 없습니다. (가령 사용자 폴더가 있으면 그 상위 폴더인 www(이름이야 다르지만)를 접근할 수 없음)따라서 사용자가 UNIX 쉘로 사용자 폴더 전체를 압축할 수가 없습니다. 아주 고약한 셈이죠. 덕분에 짐을 싸는데 일일히 FTP로 파일을 복사해야 했습니다.

애당초 가비아로 갔던 이유는 미디어 파일이 플래시로 업로드 되지 않는 이유 때문이었는데. 음.. 사실 그 문제는 워드프레스의 코드를 조금 한줄 각주처리 하면 되는 문제긴 합니다. 업데이트 될 때마다 손보면 되긴 하는데 그렇게 자주 업데이트 되는것도 아니고… 게다가 다음 메이저 릴리즈에서는 아예 그 부분이 없어진다고 확답까지 얻은 상태죠. 해서… 솔직히 가비아가 좀 비쌉니다. 한달에 들어가는 비용이.. 그렇다고 해서 주어지는 사양이 좋은 것도 아니고 말이죠. 거기에 카페24는 장기 결제까지 해놓은 마당. 결국 3달만에 카페24로 돌아온 셈인데, 카페24는 DB도 파일베이스도 UTF-8이라 문제가 없습니다. 미디어 파일이 업로드 안되는 문제는 제가 그냥 각주처리해버렸습니다.

일단 옮기긴 했습니다만. 잘 한건지는 모르겠습니다. 싼게 비지떡은 아닌건지 싶기도 하고(물론 페이스북에서 예전에 면식이 있던 관계자께서 딱히 그렇지도 않다고 말씀하셨습니다만).. 특히 해외에서 오시는 분들이 계신데 그분들의 접근이 쾌적한지 모르겠습니다. 한국 네트워크의 해외망 사정이 워낙 열악해서 말입니다.

이 문제로 꽤나 고민했습니다. 한달 반 가까이 고민했던것 같습니다. 해외 호스트까지도 수배했던것 같습니다. 사실 해외 호스트 업체가 정말 낫습니다. 싼값이면 모르겠는데 같은 값이면 해외호스팅 업체는 훨씬 우월합니다. 해외망을 원망하고 싶을 정도입니다. 아무튼 이렇게 이전을 완료했고 이글을 보고 계신 분들은 이전절차를 일~찍이 완료한지 한 사나흘쯤 지난 푸른곰 닷컴을 보고 계신겁니다.

또 모르겠습니다. 간보기가 이어질지도 말이죠. 아예 워드프레스.COM으로 이전할지도 모르구요. 이게 숙명이랍니다. 뭐 괜찮아요. 한번 정해 놓으면 그냥 청구서만 잘 내고 블로깅만 잘하면 되죠. 자동차와 같은 거라고 생각합니다.

외국 호스트를 알아보고 있다.

이런저런 일로 호스팅 문제로 골치를 썩다보니까, 왜 내가 굳이 한국에 남아 있어야 하는것일까?라는 생각을 하고 있다. 물론 외국에서도 지나치게 저렴한 업체는 그닥 신용이 가지는 않지만 그래도 어느정도 이름이 있고 규모가 있다면 나쁘지 않다고 생각한다고 생각한다.

지금 Media Temple(http://mediatemple.net)을 잠시 시험해보고 있는데. 물론 비싸긴 하지만(그래봐야 20불이다) 조그마한 호스팅 회사를 차려도 되겠다 싶을 정도의 재미있는 녀석이다. 도메인을 100개를 물릴 수 있는데 ‘각각’ 개별의 홈페이지를 물릴 수 있다. DB도 보통 호스트회사에서 하나씩 하나씩 만들지만, 여기서는 사용자가 원하는대로 100개까지 만들수 있고… 용량은 정해진 하드용량(100GB)안에서 얼마든 만들수 있다. 가령 purengom.com을 물리면 purengom.com 홈페이지가 나오게 할 수 있고 purengom.org을 물리면 purengom.org 홈페이지가 따로 나오게 할 수 있다는 얘기. 몇개든. 근데 얘네는 재미있는게 일단 보통 웹호스팅이라고 하면 한대의 서버에 셋팅을 해서 여러유저가 나눠쓰게 되어 있다만, 모든 유저의 데이터를 얘네는 클러스터 기술로 여러대의 서버에 분산을 시켜서 부하를 로드시키게 되어 있다. 따라서, 만약 어지간한 트래픽 난리가 나도 버틸수 있도록 유연한 대응이 가능하도록 설계되어 있다라는 얘기인데. 그걸 가능하도록 과금하기 위해, CPU 자원도 트래픽처럼 메터 단위(‘GPU’)를 매겨서 2000GPU(한달내내 한 서버의 CPU를 20%를 사용한것과 동등)을 주고, 이를 초과하면 10센트씩 요금이 나간다. 뭐 이네들 주장에 따르면 피크때 많이 나가고 오프타임때 적게 나가서 99.97%는 2000GPU 안에 든다지만. 참고로 1GPU는 1시간 동안 1대의 프로세서 코어를 7.24% 점유한것과 동일한 양이다. 참고로 우리가 흔히 말하는 트래픽의 경우에는 1TB/월(30GB/일)이고 초과 1G당 15센트이다. 한마디로 트래픽 폭탄을 위해 설계되어 있다고 봐도 과언이 아니다…

뭐 이러니 저러니 해도 말이다. 최신의 시스템을 갖추고 업데이트하고 있다는 점이 가장 맘에 든다. 쩝. 글쎄… 몇가지 걸리는 점이 있다, 가령 워드프레스에서 파일을 직접 업로드할때 한국 호스트에서는 20MB지만 여기는 2MB로 1/10로 폭삭줄고, 태평양회선을 건너다보니 회선속도가 폭삭줄더라… 뭐 서핑을 하거나 간단히 파일을 업로드하는건 무리가 없지만 FTP로 파일을 업로드하는건 뭐 그야말로 스니커즈라도 하나 물고 커피한잔 마셔야할 일.

지금쓰는 서비스와 비교해보면 사실 가격으로는 당장 갈아타고 싶은 마음이다.

덧. 보통 싼 회사는 외국에 외주를 준다고 해서 말이 많은데 전화해보면, 진짜 미국인이라는걸 한귀에 알수 있다. 쩝. ‘돈 값’이라는것이구나.

덧말. 50불부터는 ‘가상 전용 서버’를 빌릴 수 있다. 재부팅도 되고 루트권한도 있고 어플리케이션도 깔 수 있다.