Androidスマホが激安Linuxサーバーに!Termuxで作る自宅サーバー入門
はじめに
自宅内にサーバーを安価に構築するには、Raspberry Piなどの選択肢が挙げられます。ただ、それでも少し試してみるには、そこそこのコストがかかると感じます。
筆者は普段からAndroidスマホを使っていますが、家に眠っている過去のAndroid端末を有効活用できないか調べたところ、Linuxサーバー化できる方法を見つけました。本記事では、その方法を備忘録としてまとめています。
今回試したスマートフォンはこちらになります。
何を使う?
Termuxというアプリを使います。
Termuxは、Android端末上で動作する高機能なLinux環境を提供するターミナルアプリです。Debianベースのパッケージ管理(pkg
)を備え、vim
や git
、python
、ssh
など、LinuxコマンドをAndroidで直接扱うことができます。root化は不要で、開発環境や自宅サーバー、学習用途など、多彩な使い方が可能です。
環境構築
アプリのダウンロード
TermuxはGoogle Playストアではなく、F-Droidからインストールすることを推奨します。
F-Droid
は、Android向けのオープンソースアプリ専用のアプリストアです。
Google Playストアにも旧バージョンは存在しますが、メンテナンスされておらず、最新機能を利用するにはF-Droid版が推奨されています。
- F-Droid公式サイト: https://f-droid.org/ja/
※ Google Playストア以外からのアプリインストールを許可する設定が必要ですが、その手順については本記事では割愛します。
Termuxを起動して Welcome to Termux!
と表示されれば、インストール成功です。
SSH接続の準備
Android上でフリック入力でコマンドを打つのは大変なので、PCからSSH接続できるようにします。
パッケージの更新とインストール
pkg update -y && pkg upgrade -y
pkg install openssh -y
pkg install iproute2 -y
SSHサーバーの起動
sshd
パスワードの設定
passwd
ユーザー名の確認
※ アカウントは作成せず、デフォルトアカウントを使用します。
whoami
出力例: u0_aXXX
このようなユーザー名は、Androidがアプリごとに割り当てる内部ユーザーIDに基づいています。
IPアドレスの確認
ip a
PCからの接続
Termuxは非特権ポートである 8022番 を使用します。以下のように接続します。
ssh u0_aXXX@xxx.xxx.xxx.xxx -p 8022
※ まずはパスワード認証で接続します
簡易Webサーバーとして使ってみる
Termux上にApacheをインストールして、簡易Webサーバーを構築してみます。
pkg install apache2 -y
Apacheの起動:
apachectl start
ブラウザからAndroidの 8080
番ポートにアクセスすると、デフォルトのWebページが表示されます。
index.html の編集
初期状態では vim
が入っていないのでインストールします。
pkg install vim -y
以下のコマンドで index.html
を編集します。
vi /data/data/com.termux/files/usr/share/apache2/default-site/htdocs/index.html
以下のようなHTMLに書き換えます。
<html><body><h1>Hello Termux!</h1></body></html>
ページを再読み込みすると、反映されていることが確認できます。
このように、Androidスマートフォンを簡易Webサーバーとして利用することに成功しました。
さいごに
本記事では、Androidスマホを使ってLinux環境を構築し、サーバー化する手順を紹介しました。
家に眠っている古いAndroidスマホを再活用でき、PCよりも圧倒的に省電力なため、家庭内での用途には良い選択肢になり得ると感じています。
スマートフォンにはカメラや加速度センサーなどのセンサも内蔵されているため、Raspberry Piと周辺アクセサリを揃えるよりも、結果的に安価にIoTを実現できる可能性もあります。
ただし、スペックの制限やroot権限が使えないなど、Androidアプリ特有の制約もあるため、どこまで活用できるかはまだ分かりません。
これから試してみたいと思います。
Discussion