【備忘録】スマホWEBサーバー化 マニュアル


■必要なもの

・スマホ:筆者はOppoの2万円くらいのもの使用。androidを想定

・ドメイン:今回はムームードメインで購入

・ネット環境:固定IPアドレスは必要なし

・サイトデータ:今回はhtmlファイル, PHPファイル, jsonファイルのみ使用


■termux設定編

・スマホにtermuxをインストール

Releases · termux/termux-app ←条件に合ったapkファイルをインストールする。

※Play Storeのtermuxは最新版ではない為うまくいかないかも。

・termux パッケージ更新

termuxにて以下のコマンドを入力

pkg update && pkg upgrade -y

※途中で「(Y/I/N/O/D/Z) [default=N] ?」のような確認が出たら、そのまま Enterキー 

・Termuxの画面を上から下にスワイプして、通知欄にある 「Acquire wakelock」 をタップ:バックグラウンドで動くように

・ストレージアクセス権限付与

termux-setup-storage


■apache導入編

・apacheをインストール

pkg update
pkg install apache2 php-apache

・​設定ファイル(httpd.conf)編集

nano $PREFIX/etc/apache2/httpd.conf

・LoadModule群の最後列に以下を追記

LoadModule php_module libexec/apache2/libphp.so

・ファイルの最後尾に以下を追記

<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>

・​Ctrl + Oおー 加えてEnter:保存

・Ctrl + X:閉じる

・apache再起動

apachectl restart

※threaded MPM(並列処理モード)にインストールしたPHPが対応していない旨のエラー出現時(たぶん出る)

・preforkに切り替える必要あり。まずは設定ファイルを開いて

nano $PREFIX/etc/apache2/httpd.conf

・Ctrl + W (←検索機能)を押し、mpm と入力して Enter

・mpm_worker を探して、文頭に#を加え無効化 

・mpm_prefork を探して、文頭の#を削除し有効化 ※LoadModule~から続くもののみ

・apache再起動

apachectl restart

※ここでAH00558から始まるエラーでても無視

・apache起動確認

pgrep httpd

・数字列何行か出たらオッケー

※固まったらCtrl + C:

※無反応でも

apachectl start

で仕切りなおせば適切に動くことあり


■ファイル設置編

・スマホのダウンロードフォルダ内にサイト用フォルダを作り、サイトのファイル(index.html とか)を入れる

・apache公開フォルダに上記フォルダをコピー

cp -r ~/storage/downloads/サイト用フォルダ名/* $PREFIX/share/apache2/default-site/htdocs/

※* 後ろの空白忘れずに

・きちんとコピーされているか確認

ls $PREFIX/share/apache2/default-site/htdocs/

※index.html などがhtdocs直下に置かれているか確認しよう


■テスト編(ローカル環境下)

・サーバー化したスマホと同じwifi下の端末で「http://ipアドレス:8080」にアクセス

※ipアドレスは

ifconfig

あるいは

ip addr

上記コマンドを入力すると出てくる文字列の中で、「wlan0」の「inet」以下に表示される


■Cloudflare編


Cloudflareの管理ページにて

・Cloudflareにアクセス、アカウント作成:どこででも接続、保護、構築 | Cloudflare

・ 「≡(三本線)」 → 「Zero Trust」 

・Team Nameは適宜

 ・プラスは「Free(0ドル)」 →クレジットカード情報の入力

・トンネル作成

・ホームに戻り、Networks→Tunnels

・Create a Tunnel

・トンネルの名前(android-serverとか)をつけて保存

・OS選択はwindowsのまま

・cloudflared.exe service install の後ろにある、非常に長い英数字の列(トークン)をすべてコピー

cloudflared.exe service install こいつ→●●●


termuxにて

・cloudflared のインストール

pkg install cloudflared -y

・トンネル作成

cloudflared tunnel run --token ●●←ここにコピーしたトークンを貼り付け

・ログが出ることを確認


Cloudflareの管理ページに戻って

・画面上の「Connection Status」が緑色で「Healthy」となっていたら成功


ドメイン紐付け

・CloudflareのホームよりOnboard a domainをポチ

・ドメイン登録、フリープランで進める

・Continue to activation

・ポップアップでたらconfirm

・Update your nameservers to activate Cloudflareでたら2つのurl確認しとく


ムームードメインの管理ページにて

・ムームードメインのコントロールパネル→ネームサーバ設定変更

・GMOポペパ以外のネームサーバを使用する をポチ→さっきのurl2つを登録


Cloudflareの管理ページに戻って

青いボタン(I updated my nameservers)をポチ

・Waiting for your registrar to propagate your new nameservers:確認メールくるまで一休み☕

・Zero Trust 画面 > Networks > Tunnels>★←自分で設定したやつ

・routest→add routes →published application

・Domein に登録したドメインがあること確認

・optionalは2つとも空欄でok

・Service urlはhttp://localhost:8080

※httpsではない


■テスト

スマホ(サーバー化したいやつ)と、webページ閲覧用の端末の通信環境を分ける(筆者はサーバー化スマホはキャリアのデータ通信、閲覧用端末は自宅wifi)

・再度トンネル作成

cloudflared tunnel run --token ●●←ここにコピーしたトークンを貼り付け

・webページ閲覧用端末にて、https://ドメイン名 で表示されたら大成功


■(備考)SSH編

・SSHをインストール

pkg install openssh -y

・パスワード設定

passwd

・ユーザー名確認

whoami

・SSH起動

sshd

・操作元端末にて

ssh ユーザー名@IPアドレス -p 8022

で接続

・リモートアクセス中であることを明記

export PS1="[SERVER-TERMUX] $ "


コメント

“【備忘録】スマホWEBサーバー化 マニュアル” への2件のフィードバック

  1. […] ・本記事はスマホwebサーバー化マニュアルにてサーバー構築後、サーバーを別端末(こちらもスマホ)でリモートに動かしたい時に参考になるものです。 […]

  2. […] 前記事(スマホWEBサーバー化マニュアル)をもとに作ったサーバーです。 […]

ネットワークが違う端末へのSSH接続(Cloudflare Tunnel使用) – Smartlife.tech へ返信する コメントをキャンセル

メールアドレスが公開されることはありません。 が付いている欄は必須項目です