- 전체
- ServerSpecific
- Tips
- Apps (Freeware)
- Apps
- BulitIn
- News
- MyStories
- Apps (iPhone/iPod Touch)
- Report
- Hardware
1. 홈서버 시스템의 선택
2. 네트워크 구성과 공유기 설정
3. MacOSX 인스톨
4. 웹서버를 시동해 보자 - MAMP ( MacOSX Apach + MySQL + PHP )
5. FTP를 이용한 파일서버 - LukeFTPd / PureFTPd
6. SSH를 이용한 원격 관리와 터널링
7. GUI 원격관리 VNC
8. Transmission을 이용한 Torrent 공유 ( + FTP 응용 )
9. Windows에서 네트워크 드라이브로 연결해 보자
10. VMware + WindowsXP ( for ActiveX Webhards )
4. 웹서버를 시동해 보자 - MAMP ( MacOSX Apach + MySQL + PHP )
서버버전이 아닌 일반 MacOSX 자체로도 Apache와 MySQL을 내장하고 있습니다. 하지만 이게 관리하기에 좀 불편한 부분도 있는데다가 OS와 연계되어 있다보니 섣불리 손대기가 망설여지는게 사실입니다. 거기다가 기본으로 들어가 있는 데몬의 버전도 낮으니 영 찜찜하죠.
그래서 본 가이드에서는 어플리케이션 설치 수준으로 쉽게 사용할 수 있는 MAMP를 소개하고자 합니다.
MAMP는 제목에 있는데로 MacOSX를 위한 Apache+MySQL+PHP 통합 패키지입니다. MAMP의 장점은 OS와 완전히 별도로 동작을 한다는 점 입니다. 제거도 간단해서 MAMP를 그냥 삭제하는 것만으로도 완벽한 Uninstall이 가능합니다. 즉, 모든 설정 파일과 DB가 /Applications/MAMP 아래에 존재합니다. 관리상 굉장히 편하죠.
이곳을 방문해 보면 MAMP Pro와 MAMP 두 가지 다운로드를 볼 수 있습니다. Pro 버전은 상용임으로 구매를 해야 이용할 수 있습니다. (11월13일 기준 - KRW 71,098 / USD 54.41 ) 저는 MAMP를 사용하고 있습니다. 여유가 있다면 Pro를 사용하는 것도 좋겠지만 사실상 두 버전의 서버 기능상의 차이는 없습니다. 다만 조금 더 유저 친화적인 GUI 환경을 제공한다는 점이 다릅니다.
즉, 조금만 귀찮음을 감수한다면 MAMP 만으로도 아무런 문제가 없습니다. 더더군다나 일단 한번 세팅한 이후에는 별달리 손을 대야할 이유도 없으니까요.
자 일단 다운로드를 받습니다. MAMP와 MAMP Pro가 한데 묶여 있는데 두 패키지가 하나의 dmg 파일에 담겨 있음으로 다운로드 받습니다. (11월13일 기준 1.7.2가 최신)
다운로드가 완료되면 설치합니다. 그림에서 MAMP를 드래그해서 Applications에 넣으면 됩니다. ( 사실상 복사의 의미입니다. ) 대략 전체 파일크기가 350MB 정도 되니 잠시 기다리시면 됩니다.
복사가 끝나면 설치가 완료된 것이니 Applications를 더블클릭 해 봅니다. MAMP 생긴것이 보입니다.
들어가보면 이런저런 것들이 보이는데 실행하기 위해서는 MAMP라고 되어 있는 것을 더블클릭합니다.
자, 그럼 경고가 뜹니다. 인터넷에서 받은 파일인데 정말 실행할꺼냐고 묻습니다. 문제가 되는 파일이 아님으로 Open을 클릭해 줍니다.
자 그럼 MAMP 창이 뜨면서 자동으로 기본으로 설정해 둔 웹브라우져가 기동되면서 서버의 페이지가 열립니다.
일단 MAMP 창을 보면 Apache Server/MySQL Server 옆에 두개의 원이 보일껍니다. 붉은 색은 정지상태, 초록색은 동작중을 표시합니다. 처음 기동하면 자동으로 초록색으로 둘 모두 이동이 될것입니다. 즉 동작이 시작됩니다.
서버는 MAMP의 기본값대로 동작을 시작한 것임으로 원하는대로 서버를 설정을 해야합니다. 일단 간단한 것은 MAMP 창에서 Preferences에서 설정이 가능합니다. 열어봅시다.
간단한 영어임으로 각 항목에 대한 해설은 생략하고 첫번째 체크만을 남겨두고 2,3,4번째 체크는 해제합니다.
다음 항목으로 넘어가봅시다. Ports를 보면 Apache와 MySQL이 사용할 포트를 설정하는 부분이 있습니다. 기본으로는 각각 8888과 8889로 설정이 되어 있습니다.
자 여기서 깊이 들어가면 많은 설명이 필요한데 간단하게 정리하면 원래는 Apache는 80 포트를 사용해야 한다로 정리할 수 있습니다.
즉, 일반적으로 웹 브라우져에서 도메인을 입력했을 때 당연히 80포트라는 것을 가정하고 접근을 하게 됩니다. 일종의 약속이라고 생각하시면 됩니다. 그런데 상당수의 인터넷 서비스 업체들이 자신들의 이익을 위해서 80포트의 사용을 막아놓고 있습니다. 80포트가 열려있는지는 사용하시는 회선에 달려있습니다. 만약 내부 내트워크에서만 사용을 한다면 이런 포트의 제약은 아무 상관이 없지만 외부에서는 포트가 막혀있는 경우 트릭이 필요합니다.
우선은 포트가 이렇게 설정되어 있다는 것을 확인하고 넘어갑니다.
PHP 설정은 일단 기본으로 두고 넘어갑니다. 기본적으로 PHP5를 사용하게 되어 있으며 Zend Optimizer를 사용하도록 되어 있습니다. Cache는 사용하지 않도록 되어 있지요.
Apache 설정은 심플합니다. http로 접근할 때 root를 어디에 둘 것인지를 설정합니다. 기본적으로 /Applications/MAMP/htdocs 로 설정이 되어 있습니다.
자 기본적인 세팅값들은 이렇게 되어 있습니다.
그럼 아까 열려진 웹브라우져 창으로 돌아가 봅시다.
일단 주소를 유심히 보세요. 이렇게 되어 있습니다.
"http://localhost:8888/MAMP/?language=English"
localhost라는 것은 자기 자신을 이야기 하는 것이고 뒤에 :8888은 8888번 포트로 접근을 하도록 하는 것입니다. MAMP는 경로를 말하는 것이고 ?language=English는 language라는 변수에 English를 넣으라는 이야기입니다. 뭐 복잡한건 빼고 일단 :8888이 앞에서 이야기한 포트라는 것을 기억해 두시면 됩니다.
그럼 내용을 보면 어쩌고 저쩌고 말이 많습니다. 이제 최우선적으로 해야하는 일이 있는데 MySQL의 root 암호를 변경하는 일입니다. 기본적으로 root로 설정이 되어 있음으로 아무나 접속을 할 수 있음으로 보안을 위해 바로 바꾸는 것이 좋습니다.
phpMyAdmin을 클릭해 봅니다.
그럼 다음과 같은 화면이 출력됩니다.
왼쪽에 있는 mysql을 클릭합니다. 그럼 다음의 화면이 나옵니다.
User의 browse를 클릭합니다. 그럼 다음의 화면이 나옵니다.
root가 이미 설정이 되어 있는 것이 보입니다. 그럼 root의 암호를 수정하기 위해서 Edit를 클릭합니다. 그럼 다음 화면이 나옵니다.
Password라고 되어 있는 부분이 함호를 저장하고 있는 부분입니다. 물론 암호는 그 자체로 암호화되어 저장되기 때문에 알 수 없는 값으로 채워져 있습니다. 암호를 설정하기 위해서는 다음과 같이 Password의 Function 부분을 PASSWORD로 바꾸고 Value에 원하는 암호를 입력합니다.
자 그대로 했으면 밑으로 내려서 Go를 클릭합니다.
그럼 업데이트가 완료되었다고 어쩌고 저쩌고 나옵니다.
밑으로 내려보면 root의 password 값이 바뀐 것을 확인할 수 있습니다. 물론 입력한 새로운 암호도 암호화되었기에 알 수 없는 값으로 채워져 있습니다.
이제 MySQL의 root 암호가 변경이 되었습니다.
그럼 원래대로 돌아가서 상단의 phpMyAdmin을 클릭해서 phpMyAdmin 홈으로 돌아갑니다.
자 이곳에서 reload privilage를 클릭해 봅니다. 그럼 다음과 같은 에러 메세지가 출력됩니다.
Access denied for user 어쩌고 저쩌고.. 맞습니다. 암호를 바꿨기 때문에 접속이 안되는 것입니다. 자 그럼 수정한 암호를 인식시켜 봅시다.
파인더를 열어서 /Applications/MAMP/bin/phpMyAdmin 으로 이동을 합니다. 그리고 config.inc.php 파일을 더블클릭합니다.
대충 84번째 라인을 보면 다음 그림과 같이 되어 있을 것입니다.
다음과 같이 설정한 암호를 넣어 줍니다.
텍스트 에디터를 저장하고 종료합니다.
그럼 이제 접속이 제대로 되는지 확인을 해 봅시다. 웹브라우져로 돌아가서 phpMyAdmin을 클릭해 봅시다. 정상적을 화면이 표시될 껍니다.
이제 최소한의 준비는 끝났습니다. apache도 동작을 하고 있고 최소한의 보안조취도 끝냈으니 웹페이지가 제대로 뜨는지 확인을 해 봐야겠지요. 웹브라우져에 주소를 넣어봅시다. "http://localhost:8888" 그럼 다음과 같은 화면이 뜹니다.
음.. 이게 대체 뭘까요. 아직 아무런 파일도 없기에 심지어는 첫 화면에 보여줄 내용도 없기에 apache의 기본 세팅대로 http root의 내용을 표시하고 있는 것입니다. 텅~ 비어있지요. 그럼 뭐라도 하나 넣어 봅시다. 파인더로 "/Applications/MAMP/htdocs"로 이동합니다. 그냥 새로운 폴더를 만들어 봅시다.
그리고 웹브라우져로 돌아와서 새로고침을 해 보면 다음과 같은 화면이 보입니다.
새로운 폴더가 보이시죠? 그런데 홈페이지가 무슨 파일 탐색기도 아니고... 그래서 하다못해 Hello World라도 찍어봅시다.
터미널을 열어봅시다. 그리고 /Applications/MAMP/htdocs 로 이동을 합니다.
"nano index.html"을 타이핑 합니다.
그럼 다음과 같은 화면이 뜨는데 "Hello World"라고 입력을 하고 Ctrl+x, y, enter를 누릅니다.
ls를 해 보면 index.html이 생성된 것을 확인할 수 있습니다.
웹브라우져로 확인을 해 봅시다. 웹브라우져로 돌아가서 새로고침을 눌러봅니다.
최소한의 MAMP의 설명은 여기까지 입니다. 사실 서점에 가보면 apache 하나만을 설명한 책이 여럿있을 정도로 방대한 내용을 본 가이드에서 설명하는 것은 무리라고 생각이 됩니다. 자세한 기능과 사용은 apache 홈페이지나 책을 참고하세요.
자 이제 웹브라우져는 돌아가는데 localhost라는 주소는 웹서버가 구동되는 컴퓨터에서나 먹히는 것이니 이제 IP로 접근을 해봐야 겠지요. 일단 자신의 IP를 확인해 봅시다. 터미널을 열고 ifconfig를 타이핑해 봅시다.
뭐 씨부렁 씨부렁 말이 많은데 다 때려치고 en0를 찾습니다. 찾았다면 그 하위 항목중에 inet을 찾습니다. 위 그림에서는 192.168.0.33으로 되어 있네요. 이것이 현재 서버의 IP입니다.
그럼 웹브라우져에 주소를 쳐 봅시다. "http://192.168.0.33:8888"
자 이제 localhost가 아니어도 접근이 가능하죠. 그런데 192.168.xxx.xxx라는 주소는 공유기에서 할당해준 사설IP입니다. 공유기를 벗어나는 네트워크에서는 이런 IP는 사용할 수 없습니다. 그럼 이제 전에 살펴본 공유기 설정을 참고해서 공인IP를 확인해 봅시다. 공유기 설정이 제대로 되었다면 그리고 8888번 포트가 인터넷서비스 업체에 의해서 막히지 않았다면 "http://[공인IP]:8888"로 접근이 가능할 것입니다.
[TODO]
- 간단한 php 사용
- phpMyAdmin의 원격지 로그인 (인증방법 config -> http)
- 최소한의 httpd.conf 설명
- 원하는 경로에 보안처리 (ID/PASSWORD 인증, .htpasswd)
- alias, user dir, ...
댓글 3
-
정서원
2008.12.22 07:08
-
sukhyun
2008.12.30 16:45
제 생각엔, 이미 맥에 아파치와 php가 설치되어있는데 굳이 MAMP라는 어플리케이션을
설치할 필요는 없다고 생각합니다.
=> 맞습니다. 설치할 필요는 없습니다.
첫째로는, 이러한 글의 도움을 받을 정도면 어느정도 초보라는 얘기인데, 초보 입장에서는
기존에 설치되어있는 아파치와, MAMP의 아파치와의 관계가 해깔리구요,
물론 구성되어있는 폴더와 프로그램 자체가 독립적이기 때문에 아무런 상관관계가
없을거라고 판단되지만, 그럼에도 불구하고 서로 영향을 준다는 생각이 자꾸만 들더라구요.
=> 영향이 전혀 없습니다. MAMP는 모든 설정을 app. 하위 dir에 모두 포함하고 있습니다. 시스템 설정의 어떠한 것도 전혀 건드리지 않습니다. Install/Uninstall 역시 파일복사와 파일삭제로만 이루어져 있고 시스템 파일을 변경하거나 추가하지 하지 않습니다. MAMP가 필요하지 않거나 문제가 발생할 경우 단순히 MAMP를 지우고 복사하는 것만으로도 문제의 해결이 가능합니다.
둘째로는, 데몬의 버젼이 약간 낮은 편이라고 하더라도 그것은 나름대로 애플에서 stable이라고 검증한 버젼이므로 굳이 최신버젼을 깔지 않아도 된다는 말일수도 있구요 (데비안처럼요)
애플에서 주기적으로 업데해주는 xcode에 서버데몬이 포함되어있는 것 같은데요,
apache.org가서 버젼을 확인해보니 최신버젼이 2.2.11 이구요, 제 맥에 설치된 서버데몬은 2.2.9 더군요.
=> 맞습니다. 노파심이지 사실 좀 오래된 버전을 사용한다고 하더라도 개인 서버에서는 문제가 발생할 경우는 매우 낮습니다.
셋째로는, 기본으로 설치되어있는 것보다 더 많은 손질을 해줘야한다는 점입니다.
이게, 아닌 것 같은데도 그렇습니다. 어디까지나 초보의 입장에서요.
초보가 아니라면 가이드가 필요없겠죠.
=> MAMP는 아무런 설정없이 그냥 실행시키는 것 만으로 Apache, PHP, MySQL이 모두 동작이 됩니다. PHP 기본 세팅이 되어 있고 SQL 관리에 도움이 되는 phpMyAdmin 역시 기본으로 설치가 되어 있고 링크도 되어 있습니다. 설치하고 실행하는 것 만으로도 바로 서버 운영이 가능할 수준으로 설치가 됩니다.
제 경우는 MAMP를 설치해서 며칠 써보다 바로 지워버렸습니다.
첨에 맥에 기본설치된 아파치를 on 시켜서 쓰다가 MAMP를 설치했는데, 어찌된 일인지
자꾸만 MAMP는 php가 동작이 안되더라구요. 이걸 off해보기도 하고 저걸 off해보기도 했지만,
삽질할 시간도 없고 하기도 싫고, 내가 맥 쓰면서 왜 삽질을 하나 싶어서 (삽질이 좋으면 리눅스를 계속 썼겠죠? ㅎㅎ) 관두고 MAMP를 지워버렸습니다.
=> 저는 겪어보지 못한 문제라 드릴 말씀이 없네요.
기본으로 내장되어 있는 apache와 php를 사용하는 것도 분명 좋습니다만 MAMP는 자체의 app. 디렉토리 외에는 어떠한 것도 건드리지 않고 백업도 그냥 app. 디렉토리를 통체로 복사하는 것 만으로도 가능합니다. 서버를 시작하기 위해서는 MAMP를 실행시키고 Server Start 버튼 하나를 누르면 되고 초보자가 호기심에 이것저것 바꿔 보다가 문제가 되면 그냥 지우면 되고요.
제 생각에는 초보자에게는 MAMP가 기본 설치되는 apache보다 부담이 없을듯 한데요^^ -
바람
2009.11.03 23:26
이걸로 홈피 만들기용으로 간단하게 서버역할을 할 수 있을 듯하여 해보았는 데, 참 쉽네요.
이번에도 딴지 걸려고 왔어요.^^
제 생각엔, 이미 맥에 아파치와 php가 설치되어있는데 굳이 MAMP라는 어플리케이션을
설치할 필요는 없다고 생각합니다.
첫째로는, 이러한 글의 도움을 받을 정도면 어느정도 초보라는 얘기인데, 초보 입장에서는
기존에 설치되어있는 아파치와, MAMP의 아파치와의 관계가 해깔리구요,
물론 구성되어있는 폴더와 프로그램 자체가 독립적이기 때문에 아무런 상관관계가
없을거라고 판단되지만,
그럼에도 불구하고 서로 영향을 준다는 생각이 자꾸만 들더라구요.
둘째로는, 데몬의 버젼이 약간 낮은 편이라고 하더라도 그것은 나름대로 애플에서 stable이라고 검증한 버젼이므로
굳이 최신버젼을 깔지 않아도 된다는 말일수도 있구요 (데비안처럼요)
애플에서 주기적으로 업데해주는 xcode에 서버데몬이 포함되어있는 것 같은데요,
apache.org가서 버젼을 확인해보니 최신버젼이 2.2.11 이구요, 제 맥에 설치된 서버데몬은 2.2.9 더군요.
셋째로는, 기본으로 설치되어있는 것보다 더 많은 손질을 해줘야한다는 점입니다.
이게, 아닌 것 같은데도 그렇습니다. 어디까지나 초보의 입장에서요.
초보가 아니라면 가이드가 필요없겠죠.
제 경우는 MAMP를 설치해서 며칠 써보다 바로 지워버렸습니다.
첨에 맥에 기본설치된 아파치를 on 시켜서 쓰다가 MAMP를 설치했는데, 어찌된 일인지
자꾸만 MAMP는 php가 동작이 안되더라구요. 이걸 off해보기도 하고 저걸 off해보기도 했지만,
삽질할 시간도 없고 하기도 싫고, 내가 맥 쓰면서 왜 삽질을 하나 싶어서 (삽질이 좋으면 리눅스를 계속 썼겠죠? ㅎㅎ)
관두고 MAMP를 지워버렸습니다.
다만, MAMP와 다른 것은 맥에는 MySQL이 설치되어있지 않기 때문에 수동으로 설치를 해줘야하지만
이것 역시 MySQL 홈페이지에 가면 맥버젼으로 dmg파일이 올라와있고 이걸 설치하면
시스템 환경설정 패널에 On Off 스위치가 설치되서 이것 역시 별 문제 없을 것이구요.
이렇게 쓰면서 한 가지 문제는, gd support가 되지 않아서 gd와 그에 관련된 php extension을 같이 컴파일해봤지만
여전히 작동되질 않네요. PHP를 통째로 다시 컴파일해야할 것 같은데, 어차피 개인서버용도로는 별로 필요하지 않아서
그냥 쓰고있습니다. 물론 MAMP는 잘 되겠죠?
오늘 생각나는 건 여기까지네요. 다른 게 생각나면 다시 들르겠습니다.
좋은 하루 되세요.