🔖

Androidスマホが激安Linuxサーバーに!Termuxで作る自宅サーバー入門

に公開

はじめに

自宅内にサーバーを安価に構築するには、Raspberry Piなどの選択肢が挙げられます。ただ、それでも少し試してみるには、そこそこのコストがかかると感じます。

筆者は普段からAndroidスマホを使っていますが、家に眠っている過去のAndroid端末を有効活用できないか調べたところ、Linuxサーバー化できる方法を見つけました。本記事では、その方法を備忘録としてまとめています。

今回試したスマートフォンはこちらになります。

何を使う?

Termuxというアプリを使います。

Termuxは、Android端末上で動作する高機能なLinux環境を提供するターミナルアプリです。Debianベースのパッケージ管理(pkg)を備え、vimgitpythonssh など、LinuxコマンドをAndroidで直接扱うことができます。root化は不要で、開発環境や自宅サーバー、学習用途など、多彩な使い方が可能です。

環境構築

アプリのダウンロード

TermuxはGoogle Playストアではなく、F-Droidからインストールすることを推奨します。

F-Droid は、Android向けのオープンソースアプリ専用のアプリストアです。

Google Playストアにも旧バージョンは存在しますが、メンテナンスされておらず、最新機能を利用するにはF-Droid版が推奨されています。

※ 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