월간 <네트워커> - 정보화에 대한 다른 시각
19호 리눅스야놀자!
AMP 삼총사

소재명  
조회수: 3793 / 추천: 63
데스크탑 PC 운영체제로써의 리눅스는 끊임없이 발전해왔고 현재는 성능이나 기능면에서 MS 윈도우즈와 어깨를 나란히 할 정도가 되었다. 물론 아직까지 국내시장의 규모가 그렇게 크지 않고 스타크래프트와 같은 인기 게임의 부재로 많은 사람들이 이용하지는 않지만 오픈 오피스와 같은 프로그램들의 이용이 활성화되고 있는 상황 속에서 지속적으로 리눅스의 사용이 증대될 것으로 전망된다. 클라이언트 영역에서 상대적 부진과는 대조적으로 서버영역에서의 리눅스는 MS가 위기를 느낄 정도로 무시 못할 파워를 자랑하며 날로 성장하고 있다. 리눅스는 서버 용도로 사용할 때 가장 탁월한 성능을 발휘하며 현재는 조그마한 중소규모의 서버만이 아닌 대규모로 서버를 연동한 클러스터링 슈퍼컴퓨터 시스템에도 사용되고 있다.

우리는 하루도 빠짐없이 인터넷에 접속해서 각종 텍스트 문서, 사진, 동영상, 음악, 데이터검색, 이메일 등의 서비스를 이용한다. 이러한 서비스는 원격지에 있는 각종 서버들의 협업을 통해 이루어지며 그 최종 결과물이 브라우저를 통해 전달되는 것이다. 한 공동체의 운영원리가 아무리 훌륭하더라도 각 실무진들이 제 역할을 충분히 소화하지 못한다면 실제적으로 원할한 운영이 이루어질 수 없는 것과 마찬가지로, 리눅스 운영체제를 근간으로 이론적으로 잘 설계된 시스템이라 할지라도 실제 각 서비스를 담당하는 서버 소프트웨어들의 역할 수행은 더욱 중요하다고 볼 수 있다.

거대한 자본으로 완전 무장한 MS 제국은 윈도우즈라는 황제가 보위를 차지한 후부터 IIS 웹서버, SQL-Server 데이터베이스서버, ASP 웹프로그래밍 언어를 수장으로 둔 MS 근위대를 키워나가며 인터넷 세계 무력 정복을 호시탐탐 노리고 있다. 이에 맞서 인터넷 세계의 또 하나의 축을 형성하고, 상호 협력의 정신으로 무장하며 역량을 키워가고 있는 세력이 있으니 바로 오픈소스 왕국이다.

리눅스 국왕을 중심으로 자유와 공유를 수호하는 총사대의 삼인방이 있으니 바로 아파치(Apache) 웹서버, MySQL 데이터베이스서버 그리고 PHP 웹 프로그래밍 언어 삼총사가 그들이다. 독자적으로 활약하는 경우도 있으나 그보다는 '하나를 위한 모두, 모두를 위한 하나(All for One, One for All)'라는 모토 아래, 한 몸이 되었던 알렉상드르 뒤마 작품속의 삼총사 처럼 한데 뭉쳐 활약하는 경우가 많다. Apache, MySQL, PHP를 한데 묶어 AMP라고 부르고 있으며, 최근 리눅스(Linux)와 더불어 이들의 이니셜을 딴 LAMP라는 조어가 생겨났을 정도다.

물론 이들이 리눅스와 활약하는 경우가 많지만 전통있는 운영체제인 유닉스(Unix)뿐만 아니라 심지어 MS 윈도우즈 진영에서도 활약하고 있다. Apache와 PHP같은 경우는 리눅스가 조금 달리는 부분이자 윈도우즈의 강점인 쓰레드(Thread)기술을 잘 활용하여 리눅스에서 보다 뛰어난 성능을 발휘하기도 하는 것이다. 하지만 IIS와 ASP의 텃새가 심한 탓에 성능상의 우위에도 불구하고 이용률이 그리 높지는 못한 실정이다. 어느 곳에나 텃세는 있는가보다...

이들 삼총사 각각의 프로필을 간략하게 소개해보자 한다.

먼저, Apache는 1995년 당시에 가장 인기 있었던 웹서버 중의 하나인 NCSA HTTPD 1.3 버전을 기반으로 NCSA HTTPD 개발자와 아파치 개발자들이 합류되어 만들어졌고 버전 0.6.2, 0.8.8를 거쳐 1995년10월에 1.0이 탄생했다. 그 후 꾸준한 버전업을 통한 업그레이드로 약점이 될만한 구석을 지속적으로 개선해 현재는 2.0.52까지 나오게 됐다. 전세계 웹서버의 60% 이상을 점유하며 최고의 인기를 구가하고 있는 이른바 ‘잘 나가는’ 서버 소프트웨어 중의 하나이다. 이는 개인, 기업에서 채택할 수 있을만한 간편성과 호환성 뿐만 아니라 기능 또한 강력하며 무엇보다 무료로 제공되기 때문일 것이다. 아파치는 거의 대부분의 OS에 포팅되어 있으며, 성능은 그 어느 웹 서버용 프로그램을 살펴보아도 손색 없는 기능으로 무장하고 있다. 그렇다. 아파치를 첫손에 꼽는 사람들은 한결같이 간편함, 호환성, 안정성, 무료를 꼽는 것이다.

다음은 MySQL을 소개한다. 웹의 출현으로 데이터베이스 엔진이 더욱 각광을 받기 시작했는데 그 대표 주자중 하나가 바로 MySQL이다. MySQL이라는 이름은 MySQL을 만든 프로그래머의 딸 이름인 ‘My’와 ‘Structure Query Language’라는 데이터베이스 질의어의 이름을 붙여서, ‘귀여운 나의 SQL’ 이라는 의미로 만들어졌다. 이름이 풍기는 뉘앙스 만큼이나 MySQL은 상용 데이터베이스 시스템인 오라클이나 SQL-Server에 비해 가볍고 빠를 뿐만 아니라 무료라는 매력 덕분에 인터넷을 움직이는 필수적인 구성요소가 되어 LAMP에서 M을 당당히 차지하고 있으며 큰 인기를 누리고 있다.

요즘 많이 사용되고 있는 제로보드 또한 MySQL과 연동되어 작동되고 있다. 하지만 MySQL은 위의 상용 소프트웨어들에 비해 다소 느리고, ‘스토어드 프로시저’ 이외에 기타 고급기능이 부재하거나 또는 기능이 달리다는 약점이 존재하는 것이 사실이다. 얼마 전에 발표된 5.0버전에선 이점이 보강되었으나 아직 안정성이 확보되지 못했다. 하지만 MySQL 개발 상승세는 지금도 계속 진행 중이다. 직접 관여하는 개발자 이외에 전세계 사용자들이 항상 테스트 하고 패치하는 오픈소스 개발 시스템의 특성을 감안할 때 이러한 문제는 곧 해결될 것이다. 향후 10년 내에 MySQL은 데이터베이스 시장의 상당부분을 차지하며 데이터베이스 소프트웨어의 대명사가 될 것이라는 희망적인 전망도 나오고 있다.

마지막으로 소개할 PHP는 ‘Hypertext Preprocessor’의 줄임말로서 MS사의 ASP, SUN사의 JSP와 더불어 널리 사용되는 오픈소스 스크립트 프로그래밍 언어다. 웹서핑을 할 때 파이퍼텍스트에 마우스를 놓았을 때, ‘http://ooo.ooo.ooo/ooo.php’ 라고 되어 있는 것을 보았을 것이다. 마우스 클릭하는 순간 브라우저가 웹서버에게 php파일을 요청하게 된다. 그러면 Apache와 같은 웹서버는 이 php 문서를 디스크에서 찾아 해석하게 되며. php에 의해 프로그램된 것들을 실행하게 되는 것이다. 주용도는 데이터베이스에서 데이터를 검색해서 가져와서 HTML형태로 취합하는 것이다. 이런 과정을 CGI라고 하는데 웹페이지에서 사용자가 입력한 데이터가 서버쪽에 넘어가서 처리되고 그 결과가 브라우저에 나타나는 일반적인 형태라고 보면 된다. 게시판이 대표적인 예가 될 것이다. 현재 4.X버전이 널리 사용되고 있으며 최근 5.X대 버전이 발표된 상태이다.

홈페이지를 구축하고자 할 때 본인이 직접 프로그램 설치부터 셋팅, 제작까지 하는 경우도 있지만, 요즘은 Apache, MySQL 그리고 PHP가 미리 설치되어 제공되는 웹호스팅을 이용하는 경우가 많아지고 있는 것 같다. 제작을 의뢰하는 상황이라도 위와 같은 아주 기본적인 것들은 상식으로 알아두면 리눅스를 이해하는데 훨씬 쉬울 것이다. 리눅스 뿐만이 아니라 윈도우즈진영에서도 자유와 공유 문화를 선전하며 맹활약하는 AMP 삼총사의 모습을 기대해본다.
추천하기