■必要なもの
・スマホ:筆者は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サーバー代替わり – Smartlife.tech へ返信する コメントをキャンセル