| 우리집에는 기특한 서버가 한대 있었다. 2001년 7월부터 무려 6년 2개월간을 24시간 돌아줬던 평법한 데스크탑 PC. Pentiium 4 1.6GHz, RAM 256MB에 HDD만 260GB 정도. 서버로 돌리자니 이것저것 올린 서비스가 많아서 부팅 끝나면 남는 RAM 양이 40MB 정도. 그러니 프로그램이 조금만 돌아가거나 서버 접속이 좀 많아지면 HDD Swapping하냐고 컴퓨터가 정신을 차리지 못한다. 메모리는 더 추가하려고 해도 보드에 꼽을 데가 없고 또 RAM을 전부 갈자니 가격도 만만치 않고... 해서 과감하게 업그레이드 하기로 결정을 했다. 1. H/W 구매 요즘 컴퓨터가 종류도 많고 전체적인 가격도 과거에 비해 매우 많이 저렴해졌기에 선택의 폭이 넓고 결정이 쉽지도 않다. 컴퓨터를 살 때 그 목적에 따라 어떤 시스템을 살 것인지가 결정되기 때문에 먼저 내가 쓰려는 컴퓨터의 용도를 정의하기로 했다.
특히 저전력 쪽으로 알아보니 인텔 셀러론과 AMD 애슬론 프로세서 쪽이 저전력을 장점으로 한다는 사실을 인터넷을 통해 알게 되었다. 하지만 AMD 프로세서는 내가 잘 알지도 못하고 인텔쪽은 계속 써온 프로세서인데다가 요즘 셀러론이 성능도 많이 좋아졌다는 사실에 셀러론을 선택하게 되었다. 찾아보니 셀러론도 종류가 무지 많았다. (아래는 인텔 CPU 종류와 현재 가격대) ![]() 다양한 Intel CPU와 현재가격 (2007.9.9 현재), 참고 : http://ventureteck.com/ 그러다가, 자주 들르는 옥션 (http://www.auction.co.kr/) 에서 괜찮은 조립 PC를 찾아냈다. ![]() ![]() 하지만 RAM이 1GB이고 마더보드도 그리 나쁘지 않은 제품이라 이것저것 고르지 않고 이 제품을 사기로 결정을 했다. 이 제품에 CD-ROM과 HDD만 달면 새 PC와 다름 없어지는 것이다. 이 제품을 판매하는 공급자의 다른 제품을 보면 셀러론 L420 제품이 있는데 RAM 512MB에 13만9천원이었다. RAM이 512MB라서 선택에서 제외했다. 사실 6년 전에 컴퓨터를 본체만 100만원 넘게 주고 샀는데 지금 이 제품은 비록 HDD와 CD-ROM이 없지만 단돈 16만5천원 이라면 너무 좋은 조건이다. 대충 3년 쓰고 버린다고 쳐도 1년에 5만5천원씩 사용하는 셈이다. 한달에 단돈 5천원. 중국의 힘이 느껴지는 대목이다. 또, PC 조립 사이트에서 위 제품이 사용하고 있는 CPU와 마더보드를 직접 사서 조립해 볼까도 생각했는데 쉽게 위 가격을 넘겨버려서 직접 조립의 장점이 없어 보여 결국 조립된 위 제품을 사기로 했다. 이번엔 HDD를 골라보자. 최근 HDD도 용량이 매우 커져서 1T(1024G)B 짜리 HDD도 나왔다고 한다. 하지만 가격 대 성능비가 가장 좋은 것은 300~400GB 정도라 해서 400GB 짜리 HDD를 골라봤다. 역시 옥션에서 해당 HDD를 찾아보니 아래와 같았다. ![]() 뭐 삼성 것이 좀 더 비싸고 씨게이트 것은 좀더 비싸고 웨스턴디지털 것이 가장 싸다. 그렇다고 웨스턴디지털이 영 잡표도 아니고 ... (중국에서 만들겠지만 다른 메이커라고 다르진 않을 것이다.) 그래서, 제일 저렴한 웨스턴디지털 400GB짜리 HDD를 샀다. 인터페이스는 SATA 방식으로 기존 IDE 방식하고는 다르다는데 전송속도가 좀더 빠른 것 같았다. (HDD가 SATA든 IDE든 가격은 같다) CD-RW는 기존 컴퓨터에서 사용하던 것을 재활용하고 또 기존 3개의 HDD는 모두 재활용하는 것으로 해서 새 컴퓨터 업그레이드 비용은 모두 25만원 이하가 들었다. 본체 : 165,000원 HDD(400GB) : 82,000원 합계 : 247,000원 2. OS, Web Server 선택 앞서 말한대로 PC의 주 용도가 파일서버, 웹서버 이므로 1차적으로 안정적인 서비스가 우선시 된다. 하지만 집에서 OA용 S/W도 종종 사용하므로 편의성도 약간은 생각해야 할 것 같고... 메모리가 1GB 밖에 안되기 때문에 보통 상태에서 Resource 사용량도 적었으면 좋겠고... ![]() Apache는 Windows IIS와 달리 폴더의 이름에 대소문자를 구별한다. 과거 내가 서비스한 사진 HTML 코드 안에 URL을 대소문자 구별하지 않고 여기저기 퍼 나르다 보니 웹서버가 가동중임에도 불구하고 사진들이 많이 안보이게 되었다. Apache에서 URL의 대소문자를 가리지 않는 옵션을 찾아봤으나 도대체 찾을 수가 있어야지... ![]() 그래서, Windows XP에 IIS를 깔고 써보기로 했다. 동시 접속자 10명이라는 얘기는 알고 있었으나 뭐 그렇게 많은 사용자가 몰릴까 하고 써봤는데... 생각보다 우리집 서버에 접속하는 사람도 많았고 접속이 끝났음에도 Connection을 잃어버리는 케이스가 많은지 툭하면 허용된 접속자 이상이라는 메시지와 함께 접속 불통이 잦았다. 인터넷 통해서 Windows XP의 동시접속자 수를 늘리는 방법을 찾아 봤으나 기껏 찾은 방법이 도통 먹질 않는다. 결국 Windows 2003 Standard로 변경을 결정했다. 아무리 개인용 서버라 할지라도 혼자 ASP.NET 개발을 위한 테스트 용도가 아니라 뭔가 서비스를 할 것이라면 서버용 OS가 필요하다. 물론 Windows XP에서 Apache를 이용한다면 웹서비스가 가능하기도 하지만 IIS만을 이용한다면 XP는 무리인 것이다. 결론적으로 집에서든 사무실에서든 서버로 컴퓨터를 사용할 때는 OS가 Windows 2000 또는 2003을 써야 한다는 결론을 얻었다. ![]() Windows 2003 standard에서 어지간한 서비스 올리고 난 이후의 프로세스 상황이다. ![]() 1GB 메모리 중 450MB 정도가 기본 서비스 처리를 위해 사용되었고 550MB 정도가 여유로 남아 있다. ![]() 3. 동적IP에 대한 해결방법 - Dynamic DNS (Domain Name Service) 왠만한 집에서 인터넷 서비스를 받게 되면 IP 주소가 고정되지 않기 때문에 외부에서 서비스를 이용할 수가 없게 된다. 그래서, DDNS 업체에 가입한 후 그 업체의 조그마한 Client 프로그램을 서비스로 올리고 부팅이 끝나면 Client 프로그램에 의해 현재 내 PC의 IP를 DDNS 업체 서버(DNS서버)에 등록하게 된다. 한편 외부에서 내 DDNS 도메인 명으로 검색을 할 경우 DNS 서버를 통해 내 현재의 IP를 알 수 있고 이를 통해 우리집 서버를 찾게 되는 것이다. ![]() Dynamic DNS의 원리 (출처 : www.codns.com) ![]() 만약 PC를 셧다운 한 뒤 한참 뒤에 다시 켜서 IP가 바뀌게 되면 DynDNS Updater가 바뀐 IP 주소를 다시 등록할 것이므로 언제나 제대로 서비스를 돌릴 수 있게 된다. DynDNS는 내가 쓰고 있는 selfip.com 라는 도메인명 외에 꽤 많은 이름 중에서 고를 수도 있다. (DynDNS.org, homeip.net, homelinux.net 등, 참고 : http://www.dyndns.com/services/dns/dyndns/domains.html) 현재 사용하고 있는 DDNS 서비스는 www.dyndns.com 외에 코디엔에스 (http://www.codns.com/) 서비스도 사용하고 있다. 이 서비스는 DynDNS 보다 더 먼저 사용했지만 (그것도 유료서비스로) 가끔 서비스가 불통이 되는 바람에 열이 받아서 더 안정적인 서비스를 찾다가 DynDNS를 사용하게 되었다. (DynDNS는 무료로 사용하고 있다.) ![]() 사용 방식은 DynDNS와 거의 같다. 좌측 그림은 코디엔에스의 Client 프로그램으로 이 역시 부팅 시 서비스로 등록되어 항상 실행되도록 설정되어 있다. 이 서비스는 유료로 사용하기 때문에 colanut외에 몇개의 도메인명을 더 쓸 수 있는 장점이 있기도 하다. 4. Apache, PHP, MySQL 그리고 여러 서비스들 Windows 2003의 IIS는 단지 HTML 서비스만을 위해 설치했고 그밖에 무료로 얻을 수 있는 많은 서비스들 (설치형 블로그, 웹하드 등)을 사용하기 위해선 Apache와 PHP가 좋겠다고 생각을 했다. 그래서 Windows XP/2000/2003에서 아파치/PHP/MySQL 등을 사용하는 방법을 간략하게 설명한다. ![]() Windows 2003의 IIS는 80포트를 쓰고 아파치는 8888포트를 쓰도록 설정했다. PHP 환경에서 이와 같은 웹하드 기능을 쓸 수 있는 FreeHard는 이아커뮤니케이션 (http://freehard.eeaa.co.kr/)이라는 업체에서 만든 웹하드용 모듈이다. 특징은 다음과 같다고 한다.
설치는 쉽게 보이나 중간에 소스를 하나 고쳐야 하는 문제가 있어서 그렇게 쉽게 끝나지는 않았다. 설치 방법은 다음 글을 참조하시기 바란다. (카페에 가입해야 글을 볼 수 있다.) FreeHard를 설치한 후에 사용 방법은 다음과 같다. ![]() 위 URL과 같이 webhard (원래는 freehard로 되어 있는데 webhard로 고쳤다.) 로 접속을 하면 위와 같은 로그인 화면이 나온다. 회원가입 화면을 통해 계정을 하나 만들면 이를 관리자가 승급시켜줘야 제대로 된 이용이 가능하다. (회원가입 초기에는 레벨 1이라 기능 사용이 불가능하다.) 회원 가입 이후 로그인을 하고 난 후에 "프리하드 실행"이라는 메뉴를 선택하면 아래와 같이 전용 ActiveX가 실행되고 이를 통해 UpLoad/DownLoad 기능을 사용할 수 있다. ![]() 또한 FreeHard에는 본인 계정 밑에 Guest 계정을 따로 지정해서 파일을 쉽게 공유할 수 있다. ![]() ![]() 예컨데 reqube라는 계정을 웹하드에 등록하고 나서 reqube에 대한 Guest를 지정할 수 있다. ![]() 처음에 6MB 이상의 파일 업로드가 안되어서 꽤나 의아해 했는데 Autoset의 PHP 설정 부분에서 최대한 올릴 수 있는 파일의 용량이 6MB로 제한이 되어 있었다. 이를 700MB 이상으로 올렸고 또 FreeHard 설정 페이지에서 전체 크기를 2GB로 설정하니 꽤나 쓸만한 서비스가 되었다. |
|
Tracked from 달을 파는 아이 &˚ | 2010/07/08 16:27 | DEL
여러가지 장난을 쳐보기에는 웹호스팅은 너무 좁고 불편하다. 그렇다고 서버를 한대사서 운영하기에는 너무 벅차다. 서버에 해보고 싶은게 있는데 당장에 돈이 되는일이 아니라 초기 투자를 하고 싶지도 않다. 그래서 집에다가 장난감용 웹서버를 운영하기로 했다. 회사를 마치고 집에서 와서 조금씩 쪼물락 거렸다. 서버 구축이 완료되기 까지 일주일이 걸렸다. 인건비빼고 총 투자 금액은 7만 8천원이다. 옥션에서 중고 컴퓨터를 7만6천원에 구입하고, 공유기에서 빼쓸.. |
|
Tracked from 달을 파는 아이 &˚ | 2010/07/08 16:27 | DEL
여러가지 장난을 쳐보기에는 웹호스팅은 너무 좁고 불편하다. 그렇다고 서버를 한대사서 운영하기에는 너무 벅차다. 서버에 해보고 싶은게 있는데 당장에 돈이 되는일이 아니라 초기 투자를 하고 싶지도 않다. 그래서 집에다가 장난감용 웹서버를 운영하기로 했다. 회사를 마치고 집에서 와서 조금씩 쪼물락 거렸다. 서버 구축이 완료되기 까지 일주일이 걸렸다. 인건비빼고 총 투자 금액은 7만 8천원이다. 옥션에서 중고 컴퓨터를 7만6천원에 구입하고, 공유기에서 빼쓸.. |





















