Archive for the ‘기타’ Category
아키타 쯔루노유 온천
작년 크리스마스 기간에 아키타秋田의 쯔루노유鶴の湯 온천에 다녀왔습니다. 드라마 아이리스의 배경이 된 곳이죠. 사진 몇장 공개해봅니다.
눈내린 온천 풍경
방과 음식
타자와코田沢湖 풍경
쯔루노유 온천은 신간센 아키타역이 아니라 타자와코역에서 내려야 합니다. 우리말로 타자와 호수가 되는데요, 정말 아름다운 호수입니다.
이런저런 사진들
마무리
제작년에 오키나와沖縄에 가서 이런 천국이 있나 생각했었는데, 아키타에 가서도 이런 세상이 있나 감탄하고 돌아왔습니다. 겨울의 아키타는 눈이 너무 즐겁고, 별을 보면서 온천을 하는 낭만도 있고, 음식도 너무 맛있습니다.
타자와코에서 타츠코공주의 동상을 보러가던 날에는 버스 시간이 맞지 않아서 걸어갔습니다. 1시간이면 될 줄 알았죠. 그런데 걸어도 걸어도 동상은 보이지 않고, 1시간을 걸어서야 처음으로 마을이 나왔습니다. 아무 집에나 무작정 들어가서 물어봤더니 1시간은 더 걸어가야 하고, 돌아가려면 또 2시간을 걸어야한다더군요 -_-;; 하지만 역시나 시골인심인지, 아주머니가 차로 동상까지 태워다주셨습니다. ^^ 너무나 고마워서 연락처를 받아왔는데요, 좋은 선물을 골라서 보내드려야겠습니다.
또 크리스마스이브에는 한국드라마에 관심이 많은 일본 아주머니를 만나서 대화를 나누었지요. (혼탕에서-_-;;) 아주머니가 방으로 초대해주셔서 술을 마셨는데 어찌나 재미있었던지. 너무 시끄럽다고 항의전화가 와서 자리가 마무리 되었습니다. ^^;; 일본 아저씨도 C++ 개발자라고 하시니 이런 우연이 있나 싶습니다. 어디 온천이 좋다, 어디는 꼭 가봐라, 이런 경우도 있으니 조심해라 등등 좋은 얘기도 많이 들었습니다. 치바千葉에 사신다고 했는데 연락처를 얻지 못해서 아쉽네요.
딱히 마무리할 말도 없네요. 정말 즐거운 여행이었습니다~ 끝~~
가상서버에서 클라이언트 IP 확인하기
문제상황
가상서버에서 블로그를 돌리고 있는데, 클라이언트 IP가 제대로 나오지 않는다. 물리적 서버의 Apache를 거치기 때문에 동일한 IP만 잔뜩 찍히고 있다. 그러다보니 IP 기준으로 댓글을 차단할 수도 없고, 통계 기능도 먹통이다.
X-Forwarded-For
이런 상황을 해결하기 위해 X-Forwarded-For라는 HTTP 헤더가 존재하는데, RFC 표준은 아니지만 거의 표준처럼 쓰이고 있다고 한다. (de facto standard)
X-Forwarded-For: client1, proxy1, proxy2
위와 같은 포멧으로, 클라이언트부터 각 프록시의 IP가 기록되기 때문에 최종 서버가 클라이언트 IP를 확인하는 것이 가능하다는 얘기. 대부분의 프록시 서버와 웹서버에서 지원하고 있다고 한다.
위키피디아 – X-Forwarded-Forhttp://en.wikipedia.org/wiki/X-Forwarded-For
해결 방법
웹 어플리케이션에서 이 헤더를 해석하는 것도 방법이겠지만 이미 아파치 플러그인이 존재하므로 가볍게 설치하면 상황 종료다. 플러그인을 설치하면 아파치 로그에도 실제 클라이언트의 IP가 남기 때문에 유용하다.
mod_rpafhttp://stderr.net/apache/rpaf/
아직 버전은 0.6이지만 내 블로그에서는 문제없이 잘 동작하는 것 같다. 페도라에서의 설치 방법을 요약하면.
# 플러그인 소스코드 받고
wget http://stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz
# 압축풀었다고 가정하고
# 플러그인 빌드에 필요한 패키지를 설치하고
yum install httpd-devel
# 빌드하고 설치하고
apxs -i -c -n mod_rpaf-2.0.so mod-rpaf-2.0.c
# /etc/httpd/conf/httpd.conf에 아래 설정을 추가하면 끝.
# 10.0.0.128은 자신의 프록시 서버 IP에 맞게 수정
LoadModule rpaf_module /etc/httpd/modules/mod_rpaf-2.0.so
RPAFenable On
RPAFsethostname On
RPAFproxy_ips 10.0.0.128
RPAFheader X-Forwarded-For
맥미니 서버 구입!
Windows 7의 IME 문제 해결
증상
일본어 버전의 Windows 7에서 일본어와 한국어 IME를 사용중. 어느 날 갑자기 IME창이 나오지 않는다.
해결방법
- 윈도우 + R을 눌러서 실행창을 띄운다
- ctfmon을 입력한다
- IME창이 나타남. 안되면 나도 모름 -_-;;
느낀점
- 원인은 MS Office 인 것 같음. 자기네 제품끼리 충돌난 듯
- Windows 7과 IME라는 키워드로 며칠을 구글링했지만 답을 찾을 수 없었음
- 귀찮아서 XP쓰고 있는데, 옆사람(윤상)이 다른 팀원(야마구치상)에게 물어봐서 해결
- 나이 먹으니 누가 해결해주기를 기다리는 모드로 바뀌는 것 같음
블로그 OS 재설치
[옛날 블로그 글입니다. 2009.06.07]
블로그 계약기간 다되서 재갱신 하면서 CentOS 5.3으로 바꿔서 설치해봤습니다. Redhat Enterprise 기반이라서 안정성이 있다고 하더라구요. 그게 기본 패키지들이 좀 옛날 것인 면도 있는 것 같네요.
RPM 삽질
첨에는 Fedora8이라서 Fedora10으로 업그레이드해보자고 시작했다가, RPM Hell을 겪게 되었습니다. 몰랐었는데 RPM은 같은 패키지의 여러 버전을 설치할 수가 없더군요. 그래서 디펜던시 트리의 모든 패키지를 한 번에 업데이트 하지 않으면 안되는 문제가 있었습니다. 하루 종일 삽질을 하다가 결국은 OS 재설치로 -_-
Ruby와 Rails 설치
ruby와 rails를 설치하는데도 한참 헤맸습니다. 헤매면서 배운점은 잠시 후로 미루고 결국 선택한 방법을 정리하면,
- ruby는 1.8대의 안정버전으로 소스코드를 가져다가 빌드한다 (1.9는 아직 실험적인)
- 주의: 빌드는 단순히 configure, make, make install 외에 해줄 것이 있으니 아래 링크를 참조
- http://www.catapult-creative.com/2009/02/04/installing-rails-on-centos-5/
- rubygems는 그냥 최신(1.3.3)으로 소스코드를 가져다가 빌드한다.
- rails 등의 rubygem들은 gem install로 설치
- 주의: 예전에 만든 rails 어플을 돌리려면 맞는 버젼을 설치하는 것이 편리
- (gem install rails -v 2.1.1 과 같이)
가능한 yum을 사용해서 빌드된 패키지만으로 해결하고 싶었는데요, 기본 레포지토리에는 ruby밖에 패키지가 없었구요. RubyWorks는 rubygems와 주요 rubygem들을 패키지로 제공하고 있는데요, 버전 의존성등이 안맞는 문제등이 있었습니다.
또 ruby 1.9 소스를 받아서 해봤더니, 제 어플리케이션이 쓰는 rubygem 중에 아직 1.9를 지원하지 않는 것이 있어서 낭패. 그래서 yum으로 준비된 ruby 패키지를 설치하고, rubygems는 소스코드를 받아서 설치했더니, rubygems가 ruby가 설치된 곳에 설치되는 바람에 기분이 안좋더라구요.
다시 말해서, 소스 받아서 설치한 녀석들은 /usr/local 안쪽에 있어야 yum으로 설치한 녀석들이랑 헷갈리지 않고 관리하기 좋은데요, 소스를 받아서 설치한 rubygems가 /bin, /lib, /lib64 등에 들어가 버려서 참 찝찝하더라구요. 따로 uninstall 지원도 없어서 수작업으로 싹 지우고, 위에 설명한 방법으로 완료했습니다~
Rails 어플리케이션 배포
Rails 어플리케이션을 배포하는 방법이 이렇게 많은 줄은 몰랐습니다. 저는 mongrel_cluster로 rails 어플리케이션을 여러개 돌리고, apache에서 로드밸런서를 써서 연결하는 식으로 돌리고 있었는데요, 이번에 사용해본 Passenger라는 녀석은 설정이 완전 간단하네요.
apache 설정에서 DocumentRoot를 rails 어플리케이션의 public 디렉토리로 맞춰주기만 하면, Passenger가 알아서 rails 어플리케이션인지 알아채고 돌려주는 식입니다. 그냥 php 설정하듯이 간단합니다.
아, 제가 좀 헤맨 부분이 있는데요, Passenger의 apache 모듈을 설치하면 LoadModule, PassengerRoot, PassengerRuby를 apache 설정에 넣으라고 나오는데요, 저는 이 설정을 <VirtualHost *:80> 안쪽에서 넣어줬다가 무척 헤맸습니다. <VirtualHost *:80> 설정 바깥쪽에 넣어주세요.
마무리
리눅스를 막 배웠더니 기초가 부족해서 많이 해맸는데요, 여러 문제 상황에 봉착하면서 해결책을 검색하고, 조금씩 해결하면서, 배워나가는 과정이 무척 재밌었습니다. 아마도 개발자들이 보통 하는 일들과 비슷해서 그런게 아닌가하는 생각이 듭니다. 그리고, 서버가 깔끔하게 정리된 상태이고, 내 제어 범위 안에 들어와 있다는 느낌도 참 기분 좋은 것이네요.






































