• 3. 맥으로 개인서버를 만들자 – 아파치 서버와 mysql(MAMP PRO 설정)

    by  • 2013년 4월 18일 • 맥 이야기 • 0 Comments

    1. 맥으로 개인서버를 만들자 – 서버의 구성과 필요한 어플들

    2. 맥으로 개인서버를 만들자 – 도메인 구성과 공유기의 세팅방법

    3. 맥으로 개인서버를 만들자 – 아파치 서버와 mysql

    4. 맥으로 개인서버를 만들자 – 맥의 SERVER 어플에 대해

    5. 맥으로 개인서버를 만들자 – 메일서버의 세팅

    6. 맥으로 개인서버를 만들자 – 웹메일서버의 세팅

    7. 맥으로 개인서버를 만들자 – 블로그 운영을 위한 워드프레스의 설치

    8. 맥으로 개인서버를 만들자 – 웹하드의 세팅

    9. 맥으로 개인서버를 만들자 – airvideo서버와 아이튠즈서버

    10. 맥으로 개인서버를 만들자 – 맥서버의 백업

     

    맥으로 개인서버를 만들자 3번째 글이다. 우리는 지금까지 도메인을 구성하고 서버 준비를 위해 공유기를 세팅 하였다. xxx.iptime.org라는 도메인이 마을에 들지 않으면 도메인 등록 업체에 가입하여 도매인을 하나 장만해서 도메인포워딩을 하면 된다. 예를 들어  rainheart.net이라는 도메인을 하나 준비 하고 도메인 포워딩으로 www.rainheart.net도메인으로 접근을 하게 되면 자동으로 rainheart.iptime.org로 포워딩을 시켜 주는 것이다. 이것은 이글의 마지막쯤에 다루도록 하겠다.

    일단 서버의 하드웨어적인 준비는 끝이 났고 이제 본격적으로 서버를 설치해야 한다. 우리가 기본적으로 웹(www)으로 접속을 하면 80포트로 접속을 시도하게 된다. 유저가 80포트로 접속을 시도하면 웹서버는 데이타를 뿌려주게 되고 그 데이타를 유저들의 사파리나 크롬에서 번역되어 유저에게 보여주게 된다. 이 역활을 하는 프로그램이 여러가지가 있지만 가장 대중적으로 사용되는 오픈소스가 apache서버이다. php는 이 apache서버에서 활용되는 언어 정도로 이해 하시면 편하다. 쉽게 말해서 웹상에서 운영되는 C언어나 베이직언어 정도로 생각하면 된다. sql은 데이타를 정리하는 프로그램정도로 생각하면 된다. 우리가 일반 컴퓨터에서는 엑셀같은 것으로 데이타를 정리 하는데 웹상에서 돌아가는 데이타베이스 이다.

    1. 맥으로 개인서버를 만들자 – 서버의 구성과 필요한 어플들

    에서 이야기 했듯이

    1) 웹서버 : Apache 2.x (http://httpd.apache.org)

    2) 사용언어 : PHP 5.x (http://php.net)

    3) Database : Mysql 5.x (http://www.mysql.com)

    이런식으로 사용을 할 예정이다. Apache와 PHP는 기본적으로 Mac OS X에 내장되어 있고 Mysql은 설치를 하면 되지만 관리라던가 설정부분이 힘들이 떄문에 웹서버, PHP, Mysql통합 패키지 : MAMP (http://www.mamp.info)를 사용할것이다

    MAMP는 Mac, Apache, Mysql, PHP의 약자이다 우리에게 필요한 모든 것들이 들어 있는 패키지 입니다. 설치는 http://www.mamp.info 이곳에 들어 가셔서 다운 받으시면 되고 설치를 하시면 응용프로그램 폴더에 MAMP 와 MAMP PRO두개가 자동으로 설치가 됩니다.

    mamp

    먼저 MAMP를 먼저 실행해 보도록 하겠습니다

    mamp2

    이러한 화면이 나오게 되고 Preferences… 탭을 클릭하게 되면 start/stop 탭과 port탭 php탭 apache 탭이 나오게 됩니다.

    mamp3

    먼저 start/stop 탭으로 이동해 보면 MAMP 실행시 서버를 실행 할것인가를 결정하는 체크난이 있고 MAMP를 종료하면 서버를 멈출것인가를 설정하는 체크란 MAMP를 실행하면  MAMAP PRO를 체크 할것인가 시작시 start page를 열것인가 라는 체크란이 있습니다 기본적으로 모든 체크란을 체크를 지우시고 필요하시면 MAMP실행시 server 를 시작 하겠다 정도만 체크 하시면 되겠습니다. 맥서버에서는 항상 실행 상태로 있을 것이므로 별로 의미 없는 체크란들입니다.

    mamp4

    두번쨰 ports 탭인대요 이부분이 가장 중요한 부분입니다.

    2. 맥으로 개인서버를 만들자 – 도메인 구성과 공유기의 세팅방법 이라는 포스트의 글에서 포트 스캔을 해 봤을겁니다 80포트가 열려 있으면 set to default Apache and MySql ports 를 클릭하시면 Apache port가 80포트 MySQL port가 3306으로 바뀌는 것을 보실수 있을겁니다. 만약 80포트가 막혀 있다면 다른 port를 지정하실수 있습니다. 수동으로 하셔도 되고 Reset MAMP port를 클릭하시면 Apache port는 8888포트 MySQL port 는 8889 포트가 지정되시는것을 보실수 있을겁니다. 일단 포트를 지정하시고

    mamp5

    PHP 탭은  PHP 버젼 5.4.10 으로 체크 하시고 cache는 XCache로 설정되어 있으시면 손대지 마시고

    mamp6

    Apache 탭으로 넘어가서 Document Root가 있습니다 이것은 홈페이지가 저장될 디렉토리 인데 기본이 /Applications/MAMP/htdocs으로 설정되어 있습니다 기본으로 나두셔도 되고 자신이 원하는 폴더에 설정하시면 되겠습니다. 일단은 기본으로 놔둔다고 생각하고 세팅 하겠습니다

    여기 까지 하시고 OK를 누르시고 처음 화면으로 오셔서 Start Servers를 실행시키시면 서버가 세팅 되것입니다. 참 쉽죠?

    공유기의 포트포워딩을 잘 해놓으셧으면 아무 문제 없이 홈페이지에 접속이 되실겁니다. 공유기에서 받은 xxxx.iptime.org로 접속을 해보시면 접속이 되시는것을 보실 수가 있습니다. 하지만 여기서 다가 아니라 mysql 비번을 바꾼다던가 apache의 가상 호스트 설정들을 할때는 천상 터미널로 작업을 해야 합니다. MAMP에서는 MySQL에 접속할 수 있는 phpMyAdmin 까지만 지원을 해주고 있어서 많이 불편한것이 사실입니다 그래서 우리는 PRO를 구매 하는 것이지요

     

    PRO를 구매후에 실행을 시키시면 MAMP에 비해서는 화면도 복잡하고 단추도 많습니다

    위쪽에 webstart 버튼가 start 버튼 옆에 Apache MySQL DynDNS 상태창이 보이실겁니다

    Server와 Hosts 탭이 보이시고

    Server 탭 하단에는 General, Apache, MySQL, PHP, Dynamic DNS, Postfix 탭이 보이고

    Hosts 탭 하단에는 General, Advanced, SSL, Others 탭이 보이실겁니다

    엄청 복잡해 보이지만 막상 해보시면 엄청 간단하다는 것을 아실수 있을겁니다

    mamppro1

    먼저 Server 탭으로 이동하여 General 탭이 보이시죠 앞에서 이야기 했던 port가 보입니다. ports 80,443&3306 단추를 누루시면 기본포트로 변경되시는게 보이실것이고 기본 포트가 막혀 있으신분은 MAMP Ports를 클릭하시면 포트가 변경되시는 것을 보실수 있습니다. 공유기에서 세팅한 포트로 맞추시고 하단에 Apply를 누르시고 하단에 Run Apache /MySQL server as user 항목은 일반적으로 Apache는 www이라는 가상의 유저와 MySQL은 mysql이라는 가상의 유저가 사용을 하는것으로 약속이 되어 있는데 약속인 만큰 보안에 취약합니다. 아마 여러분이 mac에 로그인 하신 아이디로 설정이 되어 있을겁니다. 그 설정 그래도 유지 하시면 됩니다.

    mamppro2

    이제 Apache 탭으로 이동을 하면 아파치가 실행될때 불러올 module을 설정하는 곳인데 특별히 손댈곳은 없습니다.

    mamppro3

    다음 MySQL 탭으로 이동 합니다. 이곳에서는 간단히 MySQL의 root password를 바꿀수가 있습니다. MAMP에서는 터미널에서 몇몇 파일들을 직접 수정해 주어야 하지만 PRO 에서는 역시 돈값을 하는지 간단하게 바꾸실수 있습니다. 하단에 Allow local acces only를 체크 하시고 이것은 MySQL을 외부에서 엑세스 하지 못하게 하는 옵션으로 보안상 해놓으시는게 좋습니다.  Launch phpMyAdmin 단추가 보입니다. 이곳에서 데이타베이스 들을 추가하고 하는 작업이 가능합니다.

    mamppro4

    다음 PHP 탭으로 이동 하시면 PHP 버젼과 Cache만 설정해 주시고 이동하시면 되고

    mamppro5

    Dynamic DNS 탭은 유동IP에 도메인을 부여하는 서비스를 해주는 곳인데 우리는 공유기에서 작업을 했으므로 pass 하셔도 됩니다

    다음 Postfix탭은 MAMP PRO에서는 사용을 하지 않을것이므로 PASS하겠습니다

    Hosts 탭으로 이동 하시면 가상호스트 설정 부분이 나옵니다

    어떻게 보면 MAMP PRO의 핵심기능이 이 부분이지요 사실 MAMP 와 MAMP PRO의 차이점은 MySQL 설정과 가상호스트 설정 Dynamic DNS설정이 다 인데 MySQL설정은 서버 설정 초반에 한번 만져 주면 별로 손댈일도 없고 Dynamic DNS는 공유기에서 설정을 하였고, 가상호스트 부분이 가장 핵심적인 내용이 되겠지요

    가상호스트에 대해서 간단히 설명을 드리며

    한개의 서버에 여러 홈페이지를 운영하는 방법과 한개의 도메인 네임에 여러개의 서버를 설정하는 방법으로 크게 나뉘게 됩니다. 후자는 대형 포탈등에서 한개의 IP로 접속하는 인원이 초과될결우 여러IP로 서버를 설정하고 도메인네임을 같게 잡으면 접속자가 분산이 되겠지요. 우리에게는 전혀 필요 없는 기능이고 우리가 할 작업은 한개의 서버에 여러개의 홈페이지를 만드는 겁니다. 여러개의 홈페이지를 만드는 방법도 크게 2가지로 나뉘게 됩니다

    1) 도메인 네임을 이용하는 방법

    2) 포트를 이용하는 방법

    이렇게 두가지게 있는대 도매인 네임을 이용하는 방법은 예를 들어 저는 rainheart.net이라는 도메인 한개만 가입을 하였고 여기서 파생되는 www.rainheart.net   blog.rainheart.net  webmail.rainheart.net 등등 여러개의 홈페이지를 운영하고 있습니다.  유저가 www.rainheart.net으로 접속을 하면 거기에 맞는 자료를 뿌려주고 blog.rainheart.net으로 접속을 하면 거기에 맞는 자료를 뿌려 주는 겁니다.

    포트를 이용하는 방법은 www.rainheart.net 이라는 도메인 한개만 유지 하면서 80포트와 8088포트 8888포트를 다르게 홈페이지를 세팅 하는 방법 입니다. 딱 봐도 전자가 도메인을 이용하시는게 좋아 보이시죠?

    하지만 전자는 문제가 있습니다 고정IP인 경우에 실직적으로 이용이 가능합니다. 유동IP를 dyDNS서버로 받으신 도메인 자체가 이미 서브도메인 이기 때문에 저러한 형태는 힘이 드시고 다른 방법은 dyDNS로 여러개의 도메인을 설정하면 됩니다. iptime에서 도메인을 하나 받으시고 dydns에서 도메인 하나 받으시고 해서 여러개를 운영하실 수 있습니다

    후자의 방법은 유동IP에서도 문제 없이 사용을 할 수 있습니다.

    mamppro56

    어떤것을 선택을 하던간에 설정하는 방법은 마찬가지 입니다. Server Name에 서버도메인 이름을 적어 주시고 ip는 특정 ip만 받으실거 아니시면 *로 놓으시고 포트를 바꿔서 설정을 하실거면 바꾸시고 포트는 바꾸지 않고 도메인 이름으로 하실거면 놔두시고 dynamic DNS는 해당 업체를 선택하시고 없으시면 놔두시고 Disk location은 각각의 가상호스트의 홈페이지 자료가 저장될 공간을 지정해 주시면 됩니다. 이렇게 하시고 서버를 재시작 하시면 가상 호스트 까지 만들어 지신겁니다. 기타 Advanced나 ssl others는 구지 손대실 필요 없습니다

    이렇게 해서 웹서버 세팅 까지 끝나게 되었내요

     

    추가적으로 특정 도메인을 구매 하셔서 자동으로 서버로 이동을 하게 하실려면 예를 들어 인터넷에 www.rainheart.net을 치면 자동으로 rainheart.iptime.org로 이동이 되게 하실려면 도메인 네임서버에 포워딩을 시켜 놓으시면 됩니다. 자세한 사항들은 도메인을 구매 하신 업체에 문의 하시면 더 빠르실겁니다.

    About

    광주광역시 수완지구에서 치과를 운영하고 사진을 좋아하며 가족을 사랑 하는 평범한 아빠입니다

    http://www.rainheart.net

    댓글 남기기