iPhone에서 간단한 웹 서버를 실행하는 방법
혹시 자신만의 휴대용 서버를 구축하고 싶었던 적이 있으신가요? 웹 개발을 공부하며 아이폰에서 직접 작성한 HTML 파일을 호스팅하거나, 랩톱이나 컴퓨터의 제약 없이 MAMP를 활용하여 서버를 자유롭게 다뤄보고 싶으셨을 수도 있습니다. 아이폰만 있으면 이러한 모든 것이 가능합니다. 관심이 있으시다면, 필요한 모든 핵심 정보를 제공해 드리겠습니다. 지금부터 아이폰에서 간단한 웹 서버를 구동하는 방법을 소개합니다.
아이폰 및 아이패드에서 간단한 웹 서버 실행
아이폰에서 서버를 운영하는 것은 생각보다 훨씬 쉽습니다. 사실, 아주 간단한 무료 앱 하나만 있으면 됩니다. 물론 이것은 간단한 웹 서버이기에 랩톱이나 PC에서 XAMP 또는 MAMP를 설치했을 때와 같은 모든 기능을 제공하지는 않습니다. 하지만 기본적인 기능은 충분히 수행할 수 있습니다. 그럼 바로 시작해 보겠습니다.
본문 탐색을 위해 아래 목차를 활용하시기 바랍니다.
아이폰에서 웹 서버를 구동하기 위한 필요 조건
아이폰 외에 웹 서버 구동에 필요한 것은 리눅스 셸 환경입니다. 여러 옵션이 있지만, 여기서는 무료 앱인 iSH Shell을 사용하겠습니다.
iSH Shell을 사용하여 아이폰에서 간단한 웹 서버 만들기
- 먼저 아이폰에 iSH Shell 앱(무료)을 설치하고 앱을 실행합니다.

- 이제 쉘을 통해 아이폰에 Python 3을 설치합니다. 아래 명령어를 입력하기만 하면 됩니다.
apk add python3

- 아이폰에 Python 3이 설치되면 서버를 만들 준비가 된 것입니다. 아이폰에서 웹 서버를 시작하려면 아래 명령어를 입력하세요.
python3 -m http.server

- 다음으로, 하단에 "Serving HTTP on 0.0.0.0 port 8000" 메시지가 나타나야 합니다. 또한 “iSH가 로컬 네트워크의 장치를 찾아 연결하려고 합니다. 이는 localhost에 연결하고 ping 명령을 사용하는 데 필요합니다.”와 같은 팝업이 표시됩니다. 팝업에서 확인을 눌러 계속 진행합니다.

- 이제 동일한 기기 또는 다른 기기에서 웹 서버에 접속할 수 있습니다. 동일한 기기(localhost)에서 iOS/iPadOS 웹 서버에 접속하려면 웹 브라우저에서 다음 주소를 입력하세요.
http://127.0.0.1:8000/

- 동일한 네트워크의 다른 기기에서 iOS/iPadOS 웹 서버에 접속하려면 웹 브라우저에서 다음 주소를 입력하세요.
http://device-ip-address:8000/
참고: 위의 명령어에서 “device-ip-address”를 아이폰의 IP 주소로 변경해야 합니다. 아이폰의 IP 주소는 설정 -> WiFi -> 연결된 WiFi 네트워크 이름 -> IP 주소에서 확인할 수 있습니다.

아이폰 서버에 HTML 파일을 추가하는 방법
서버를 만들었으니, HTML 파일을 어디에 어떻게 추가해야 할지 궁금하실 것입니다. 맞죠? 걱정하지 마세요, 이 과정 또한 매우 간단합니다. 아래 단계를 따라해 보세요.
참고: 아이폰 웹 서버를 통해 제공하고자 하는 HTML 파일이 이미 준비되어 있다고 가정합니다. 만약 그렇지 않다면, Mac 또는 PC에서 HTML 파일을 생성한 후 아래 단계를 진행하세요.
- 아이폰에서 파일 앱을 실행합니다. 우측 상단의 점 세 개 아이콘을 탭하고 ‘편집’을 탭합니다.

- iSH 옆의 토글을 활성화한 후 ‘완료’를 탭합니다.

- Mac(또는 PC)에서 파일을 아이폰으로 전송하고 iSH -> 루트 폴더에 넣습니다.

참고: 파일 이름은 index.html이어야 합니다.
이제 동일한 WiFi 네트워크에 연결된 다른 기기에서 주소 “http://아이폰-ip-주소:8000”을 입력하면 HTML 파일이 표시됩니다.

아이폰 서버를 중지하는 방법
아이폰으로 서버를 구축하고 HTML 파일을 가지고 놀았으면, 이제 서버를 중지해야 합니다. 다행히 이 과정 또한 매우 간단합니다. 아래 방법을 따르세요.
- 서버가 실행 중인 iSH Shell 앱에서 도구 모음의 제어 아이콘(위쪽 화살표)을 탭합니다. 그런 다음 키보드에서 ‘Z’를 누릅니다.

- 이것으로 끝입니다. iSH Shell은 서버가 중지되었음을 알려줄 것입니다.

iSH 및 Python을 사용하여 아이폰에서 웹 서버 실행
이것이 바로 아이폰에서 간단한 웹 서버를 만들고, 아이폰에 사용자 정의 HTML 파일을 저장하고, 네트워크의 다른 기기에서 해당 서버에 접근하는 방법입니다. 공정하게 말하면, 라우터에서 아이폰의 IP 주소로 포트 포워딩을 설정하면 로컬 네트워크 외부에서도 서버에 접근할 수 있지만, 이는 본 기사의 범위를 벗어납니다. 또한, 네트워크가 원치 않는 접근에 노출될 수 있으므로, 어떤 정보를 주고받는지 정확히 알고 있는 경우에만 시도하시기 바랍니다. 이제, 아이폰에서 웹 서버를 실행하는 것에 대한 여러분의 생각은 어떠신가요? 아래 댓글로 의견을 알려주세요.