1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【ポートフォリオ 04 検証】ラズパイから動的HTMLを取得して動作検証するまで

1
Posted at

はじめに

前回、擬似観光スポットのHTMLを「DOM操作」「連想配列」「オブジェクト」を使用して、動的HTMLとして実装しました。

詳しくは、以下の記事をご参照ください

開発中は、VS Code右下にある「Go Live」をクリックすることで、自分のPC上にローカルサーバを設置し、ブラウザ上での表示を確認していました。

今回は、WebサーバをPC外部に構築し、そこからHTMLを取得して、ブラウザに表示していくプロセスを記事にまとめていきます。

前提

  • Ubuntu Server をインストールした Raspberry Pi 4(以下、「ラズパイ」と表記)をセット
  • ラズパイは MacBook・GitHubとSSH連携済み
  • ラズパイ・使用中の MacBook は同じローカルネットワークに所属
  • Frontend のポートフォリオを格納したリポジトリは未クローンの状態

HTML取得の手順

1. ラズパイにリポジトリを配置するまで

2. ラズパイに Web サーバを用意する

3. Pythonモジュールを使用して簡易HTTPサーバを構築するまで

4. ブラウザからサーバにアクセス

1. ラズパイ(OS: Ubuntu Server)にリポジトリを配置するまで

1-1. GitHubからSSHのURLをコピー

Image 2025-08-28 at 10.54.jpeg

1-2. ラズパイにSSH接続

Image 2025-08-28 at 10.53.jpeg

1-3. リモートリポジトリをラズパイにクローン

Image 2025-08-28 at 11.06.jpeg

コマンド実行後
Image 2025-08-28 at 11.07.jpeg

URLを git clone の後に貼ることで、Gitがどこから情報をとってくればいいかを明確にします。

1-4. リポジトリの確認

Image 2025-08-28 at 11.11.jpeg

作成したディレクトリがラズパイに配置されたことを確認

※ 今回のケースでは、クローンしたときには、既に 01_travel_spot ディレクトリを含んだ状態であったため、

2. ラズパイに Web サーバを用意する

Ubuntu Serverをインストールしたラズパイ上に簡易サーバを構築する方法は2つあります。

① Python の簡易HTTPサーバ
② Nginx / Apache を使う

今回のケースでは①を選択しました。

理由

  • 後のプロジェクトでNginx等のWebサーバについて学習する機会があること
  • すでにPythonをインストールしていること

3. Pythonモジュールを使用して簡易HTTPサーバを構築するまで

現在のディレクトリをWebルートとして公開し、ポート8000で待機する簡易サーバを起動します。

実行コマンド
python3 -m http.server 8000

python3 の標準モジュール http.server を使い、現在のディレクトリをルートとして HTTP サーバを起動します。
ポート8000で待機するので、ブラウザから http://<ラズパイのIP>:8000 にアクセスできます。

これで、サーバの準備が完了しました。
実際にブラウザからアクセスしていきます。

Image 2025-08-28 at 11.30.jpeg

4. ブラウザからサーバにアクセス

4-1. ラズパイのIPアドレスを調べて、ブラウザのURL欄に入力

初回アクセス
Image 2025-08-28 at 11.35.jpeg

http//:(コロン)を失念してしまったためにページを出力できませんでした。

もう一度、コロンを入れて再アクセスしていきます。

2回目のアクセス
Image 2025-08-28 at 11.36.jpeg

ここで、作成した「01_travel_spot/」をクリックします。

Image 2025-08-28 at 11.37.jpeg

Image 2025-08-28 at 11.57.jpeg

実際に、自分のPCの外部のサーバにリポジトリを配置し、HTTPリクエストとHTTPレスポンスを通じて、HTMLを取得することに成功しました。

このときのラズパイ(Server)側は以下のようになっていました。

Image 2025-08-28 at 11.37.jpeg

GETリクエストにより必要なHTML、CSS、JSファイル、画像をリクエストしていることがわかります。

4-2. Serverの停止

Ctrl + C コマンドを入力し、サーバを停止します。

Image 2025-08-28 at 11.54.jpeg

「Not Secure」について

今回は、個人情報を含まないHTMLを取得していることを目的としていたため、HTTPを使用しました。
そのため、通信に平文が使われるため、HTTPSより安全性の面で劣ることから、ブラウザのURL欄に表示されました。

今後の課題

今回は、簡易サーバを構築するために、Pythonの標準モジュールである http.server を使用しました。

実際のシステムにおいては、Webサーバとして、NginxやApacheが使用されています。
これにより、HTTPリクエストを効率的に捌くことが可能になります。

したがって、今後の改善点としては、

  • 目的に応じて、Nginx / Apacheの導入を検討すること
  • 通信の安全性を高めるために、HTTPSの導入を検討すること

が挙げられます。

今後の学習スケジュール・プロジェクトとしてこれらの点があるため、しっかり学習して使えるようにしていきます。

まとめ

実際に作成した動的なHTMLを、外部のサーバから取得し、ブラウザに表示できるか検証しました。
結果として、簡易なエラーを発生させながらもHTMLを正常に取得し、ブラウザに表示することができました。
今後の課題に記載した内容について、しっかり学習を進めていき、自分のものにしていきます。

最後までお読みいただき、ありがとうございました。

参考URL

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?