[Study] Bitnami로 MAPM 구현 후 포트포워딩하기

MAPM(Mac, Apache, PHP, MySql)을 로컬에서 구축 후 포트포워딩

핵심 내용

  • Bitnami를 통한 MAPM(Mac, Apache, PHP, MySql) 로컬 서버 구축
  • 구축한 서버를 포트포워딩하여 외부에서 접속

MAPM 구축

Mac에서 APM(Apache, PHP, MySql)을 구축한 것을 MAPM(Mac + APM)이라고 부른다.
이번 포스팅에선 Bitnami를 통해서 한 번에 MAPM 로컬 서버를 구축해본다.

MAPM Stack 다운로드

bitnami 홈페이지의 MAPM Stack 다운로드 링크를 통해 MAPM Stack을 다운로드한다.

실행 후 설치

1
다운로드 한 파일을 누르면 위와 같은 화면이 나오며 더블 클릭하여 설치를 진행해 준다.

2
3

진행 중 추가 설치를 원하는 컴포넌트는 PhpWebAdmin만 선택하였고, MySql의 Root 계정 아이디와 비밀번호를 입력해 주었다.

4
설치가 완료된 후 Manager를 열면 위와 같은 GUI 프로그램이 나오며, 상단의 Manager Servers를 클릭하면 서버와 MySql을 실행, 정지, 재실행을 시킬 수 있다.

설정

앞서 실행했던 Manager GUI 프로그램에서 Open Application Folder를 클릭하면 폴더가 나오고, 경로를 알 수 있다.

php 페이지 생성

필자의 컴퓨터 기준으로 /Applications/mampstack-8.0.7-1/apache2/htdocs의 경로가 Apache 서버에서 띄워줄 수 있는 페이지들을 저장하는 폴더이며, 해당 폴더를 터미널로 열어준 뒤

% vim phpinfo.php

명령어를 입력 후 다음과 같이 파일을 작성했다.

5

<?php
phpinfo();
?>

포트 번호 변경

Bitnami에서 다운로드하고 서버를 실행한 최초의 상태에선 Apache 서버의 디폴트 포트 값이 8080 이였다.
이를 포트 번호를 생략해도 접속할 수 있게 포트 번호를 80으로 바꿔주기 위해 /Applications/mampstack-8.0.7-1/apache2/conf 경로로 이동 후 vim으로 httpd.conf 파일을 열어보았다.

6

/ 키를 활용해 찾아본 결과 포트 번호가 위와 같이 8080으로 되어있었고, 이를 80으로 수정해 주었다.

로컬 서버 실행

7
8

localhost로 실행하면 위와 같이 Bitnami에서 디폴트로 제공하는 index.html가 나오고, 만들어 놓은 php 파일을 요구하면 정상적으로 php의 phpinfo()가 출력되는 것을 확인할 수 있다.

포트포워딩

해당 포스트는 Mac OS와 kt wifi를 통해 포트포워딩 하는 과정을 담았다.

내부 ip, 외부 ip

위에서 실행한 로컬 서버를 포트포워딩을 통해 연결하여 외부에서 접속해보자.
가정에서 와이파이를 사용중이라면, 와이파이에 대한 정보를 조회하면 ip 정보를 확인할 수 있다.
해당 ip는 내부 ip로 사용될 것이므로 기록해두자.
외부 ip는 웹브라우저를 키고 네이버와 같은 곳 검색창에 내 ip를 치면 외부 ip가 나오므로 기록해두자.

접속

terminal을 키고 다음과 같은 명령어를 입력한다.

route get default

9

gateway에 나오는 ip 번호를 복사한 뒤 브라우저에서 url 창에 입력한다.
kt giga wifi로 연결되며 회원가입이 안 돼있다면 회원가입을 하고 접속한다.

설정

장치설정 -> 트래픽 관리 -> 포트 포워딩 설정

해당 경로로 들어가서 포트포워딩을 설정해 준다.

10

위와 같은 화면에서 설정해 주는데, 소스 IP 주소는 방금 구했던 외부 IP를, 내부 IP 주소는 와이파이 정보에서 나왔던 IP를 입력해 준다.
포트는 모두 19132번으로 했고, kt는 유동성 IP이므로, 프로토콜은 TCP가 아닌 UDP로 설정해 준다.

장치설정 -> 트래픽 관리 -> DMZ 설정

11

해당 경로로 들어가서 DMZ 호스트 IP 주소에 내부 IP를 입력해 준다.

확인

설정 후 외부 접속이 가능한지 모바일로 접속하여 확인하였다.
이때는 와이파이를 꺼주고 접속해야 한다.

12

앞서 기록해뒀던 외부 IP로 접속하면 포트 포워딩에 성공했음을 확인할 수 있다.