bosq.log

ざっくばらんに記録する

Android サーバ化計画 ( Termux )

Android 端末をTermuxでサーバ構築してみる.

とりあえずWebアプリ動かすとこまで.

Dockerとかしたいので後で追記予定

 

 

手順

1. Linux 環境構築:PCからSSHできるとこまで

2. Python/flask 導入しPCから接続確認

使うもの

Android端末:Galaxy note3 (Android 5)

PC: SSHする端末

 

Linux環境構築

root化なしで,Play Store でインストールするだけでLinux環境を構築できるアプリがある.本稿では,TermuxによるLinux環境で構築を進める.

 

Termux

https://termux.com/

Android terminal emulator らしい.

良いと思う点として,Debian , Ubuntu GNU/Linux のAPTパッケージマネージャが使える.実際は,pkgコマンドというラッパー?を使うぽい .

 

PCからSSHまで

手順は基本的に以下にまとめてもらってる記事を参考にしてできた

https://linuxfan.info/termux-sshd

流れとして,

1. アプリインストール・アップデート

$ pkg update

2. PC側でSSHに使う公開鍵・秘密鍵を作成

3. 公開鍵をAndroidに転送

USB転送できなかったのでDropboxでファイル共有しました.

Termux から Android にアクセスするには

$ termux-setup-storage

を実行するだけ.Termuxからは`~/storage/download/`でAndroidのダウンロードディレクトリが見れる.

4. openssh をインストール

$ pkg install openssh

5. Android側で公開鍵を~/.ssh/authorized_keysにリネーム

$ cat ~/storage/downloads/id_ed25519.pub >> ~/.ssh/authorized_keys

6. 鍵の権限確認と`sshd`を実行

Termuxに限らず権限は.sshが700,.ssh/*が600

デフォで権限は大丈夫だった.

確認後に以下でsshサーバ起動.

$ sshd

SSHの注意点として

・ポートが8022

・ユーザ名の指定する必要があった.

ユーザ名の確認方法はTermuxで

$ whoami

 

Pythonでflask動かすまで 

一旦動作確認.Python+flaskでPCから接続できるか確認

$ pkg install python

$ python -V # バージョン3指定なしでpython3が入った.
Python 3.7.4

$ $ pip install --upgrade pip  # 恒例

$ pip install pipenv

$ mkdir flask
$ cd flask/
$ pipenv install flask

$vim app.py

from flask import Flask
app
= Flask(__name__)

@app.route('/')
def hello_cloud():
   
return 'Hello World!'

app
.run(host='0.0.0.0')

$ pipenv run python app.py

PCからcurlで「Hello World!」が返って来てたらOK!

$ curl http://192.168.11.14:5000/
Hello World!

 

まとめ

とりあえずここまで.

DockerやWebサーバなど色々試してみたいことはあるので今後追記しようと思う.