안쓰는 안드로이드폰을 Node.js 웹서버로 만들어본 후기Web/Node.js2024. 1. 17. 00:21
Table of Contents
✌️개요
안쓰는 터치가 고장난 갤럭시S9+를 어떻게 활용할 방법이 없을까 고민하던 와중에
안드로이드도 결국 리눅스에서 출발했으니 웹서버로 쓸 수 있지않을까 라는생각에 검색을 해봤다.
역시나 가능하고 튜토리얼글도 꽤나 발견할 수 있었다.
그치만 이 글에서는 자세하게 튜토리얼을 적진않을것이다.
왜냐면... 다른 블로그의 글을 보고 그대로 따라했고, 그 글이 정말 잘 설명돼있다.
(이 분도 해외 글을 번역하고 요약하셨다고 한다.)
대신 해당 글을 그대로 따라했는데 막혔던 부분과, 부연 설명이 필요한것만 적어볼것이다.
참고한 곳
🔥본문
1. Termux 초기세팅이 필요
- 참고한 글에서는 Termux에대해서는 구글 플레이에서 설치하라고만 얘기하고 넘어간다.
- Termux는 구글 플레이에서 더이상 업데이트되지 않는다.
- F-Droid라는 마켓앱을 통해서 설치해야한다. 🔗링크
- 그렇다고 바로 작동하는것도 아니고 초기세팅을 해주지않으면 권한이 없어서 루트에서
ls
를 입력해도 무반응일것이다. - 먼저 휴대폰에서 [설정 - 앱] 메뉴에서
Termux
를 찾아서 저장소 접근권한을 허용해준다. - 이후,
Termux
를 켜서termux-setup-storage
를 입력해주고 Termux를 재실행. - 그리고 ls를 입력해보면 디렉토리가 보일것이다.
2. npm
으로 express
설치 시 권한문제로 실패
- 정확히 에러로그를 캡쳐하진 못했는데
npm
으로express
를 설치할려고하면 권한관련 에러가 뜨면서 실패할 것이다. --no-bin-links
을 옵션으로 추가해주면 해결된다.--no-bin-links
옵션은 심볼릭 링크 생성을 하지않겠다고 선언하는 옵션이다.- 아주 자세하게는 잘 모르겠다...
3. 기타
- 참고한 글을 그대로 똑같이 따라하다보면 3000번 포트로 포트포워딩을 하게되는데...
- 잘 알려진 포트이기 때문에 예제
index.js
코드의 리스닝 포트와 포트포워딩의 포트를 바꾸자 - 내 경우엔 통신사 공유기였기 때문에 DDNS는 그냥 넘어가고 ip로 접속했다.
🍎결론
ssh로 폰에 접속해서 웹서버를 실행시켜본 모습
브라우저로 접속했을때도 잘 접속된다.
포트포워딩 후 외부에서 공인ip로 접속도 문제없이 잘 작동했다.
확인 후 열어둔 포트는 위험하다는 말이많아서 바로 닫아놨다 일단 쓰는 목적도 딱히없으니...
뭔가 늙은멘트같지만 요즘 세상에는 "이런거 가능하지 않을까?" 라고 생각하고 검색해보면
역시나 가능하고 선구자들이 존재한다.
다음엔 뭘해볼까?
🔗참조