안드로이드 휴대폰으로 웹 서버 배포하기
안드로이드 휴대폰은 리룩스 커널이라서 우분투와 명령어가 똑같다.
termux를 깔아 휴대폰에서도 쉘을 사용할 수 있다. 그렇다면 서버로도 사용가능하지 않을까? 생각해서 찾아보니 역시나 가능했다. 루팅도 필요하지 않아서 쉽게 따라할 수 있다.
1. termux설치
termux는 플레이스토어에서도 설치할 수 있지만, 현재 플레이스토어에 있는 버전은 deprecated되었다. 그러면 어디서 최신버전을 다운로드하냐? https://github.com/termux/termux-app#Installation 깃허브 repository를 보면 apk다운로드 링크를 걸어두었다. https://f-droid.org/en/packages/com.termux/ 이 링크에서 다운로드하여 설치하면 된다.
2. ssh 설치
pkg install openssh //install ssh
sshd //ssh server start
컴퓨터에서 핸드폰으로 secure shell접속을 하기 위해 openssh를 사용한다. (휴대폰으로 편집기 사용해보기도 했지만 불편하다...)
맨처음 termux를 설치하면 패스워드가 없을것이다. passwd명령어를 통해 패스워드를 설정하자.
ssh u0_a768@192.168.219.101 -p 8022
ssh 포트가 8022이기 때문에 파워쉘에서 포트를 지정해주어야 한다. 위 명령어를 치고 password를 입력하면 접속된다.
3. mariaDB 설치
mariaDB는 mysql과 동일한 소스 코드를 기반으로 한다고 한다. mysql설치가 안되니 mariaDB를 설치하자. termux를 처음 설치했다면 apt update와 apt upgrade를 반드시 실행해야한다.
apt update
apt upgrade
pkg install mariadb //mariadb설치
mysqld_safe -u root & //bg에서 mysql 실행
mariaDB가 10.0 이상이면 mysql -u root가 안먹히고 에러가 난다. https://tyrannocoding.tistory.com/41
https://unimhj.tistory.com/13 https://parzibyte.me/blog/en/2019/04/16/install-mysql-mariadb-android-termux/
mysql만 치면 정상적으로 실행되는데, root의 password를 설정해서 mysql -u root -p를 가능하게 하자.
set password for root@'localhost'=PASSWORD('password1');
flush privileges;
quit
이제 mysql -u root -p가 먹힌다.
4. python + Flask + mysql connector
나는 python Flask를 이용해 웹 서버를 만들 것이므로 python을 설치 후 Flask를 설치한다. mysql connector도 설치한다.
pkg install python //맞나?
pip install Flask
//pip update도 한다.
pip install mysql-connector-python