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?

[初心者]Ubuntsuを使ってhttpサーバーを作る

Last updated at Posted at 2025-03-07

今回は、ド初心者の私がUbuntsuを使ってhttpサーバーを作ってみたときの手順を書いていこうと思います。
ちょいちょいトラブルにぶち当たりもしたので、その時に試したことも含めて書き起こしています。

ゴール

  • HTTPサーバーを動かす(高性能である必要はない)
  • Linuxの操作に慣れること、調べながら進める経験を積むことが大事

手順のイメージ

  1. Linuxにログインして環境確認
  2. 必要なソフトウェアをインストール
  3. 簡単なHTTPサーバーを立ててみる
  4. 動作確認

環境

  • Windows 11
  • Ubuntu 22.04 LTS
  • Apache2

やってみる

WSLをインストール

①以下の記事を参考にWSLをインストールする

下記のコマンドすると、導入できるLinuxの種類が出てくる。

wsl --list --online

Ubuntsuを入れてみる

①下記のコマンドを入れてUbuntsuをインストール

wsl --install Ubuntu-22.04

Installation successfull! となったら完了

③以降はスタートメニューから起動もできる。
exitと入力してEnterす津と画面が閉じれる。

Apacheのインストール

こちらの記事を参考にしながら進めました。

①以下のコマンドを打つ

$ sudo apt update
$ sudo apt -y install apache2

インストールができたら以下のコマンドで確認

apache2 -v

ここでトラブル。

参考記事の「ブラウザでサーバのローカルIPアドレス(取得済みドメインでも可)にアクセスする」が私にはピンとこなかったため、いろいろ手探りですすめていきました。

やったこと①

Apacheが動いているか確認

sudo systemctl status apache2

active (running) になったので問題なさそう

やったこと②

サーバーのローカルIPを確認

ip a | grep "inet "

を入力しEnter。

すると以下のような結果ができました。(中身は適当な数字です)

inet 127.0.0.1/8 scope host lo
inet 192.168.1.100/24 brd 192.168.1.255 scope global eth0

このうち、127.0.0.1 はローカルホスト(サーバー自身のみアクセス可能)なので無視して、192.168.x.xのようなローカルIPを確認すると良いらしい。
(って知り合い教えてもらいました。なぜかはあまり理解できてないのでこれから勉強します💦)
このIPをブラウザのURLバーに入力してアクセスする。

curl -I http://localhost

を入力して、

HTTP/1.1 200 OK
Date: ...
Server: Apache/...

のような出力が出ればApacheが正常に動いてるので、URLにアクセスしてApacheのデフォルトページが表示されるかを確認します。

結論

やったこと②でローカルIPを確認すればよさそう!
ってことでこのトラブルは解消

ここでトラブル2

ブラウザ自体を開くことはできましたが、画面に

Not Found 
The requested URL was not found on this server.

Apache/2.4.52 (Ubuntu) Server at 172.30.163.23 Port 80

と表示されてしまいました。

調べてみると、どうやらApacheは動いているけど表示するファイルが見つからないという状態のようです。

やったこと

以下のコマンドでApacheの設定ファイルを開いてみました。

sudo nano /etc/apache2/sites-enabled/000-default.conf

nanoエディタなるものが開くので、一度Ctrl + Xで抜けました。

ls -l /var/www/html

を入力し、index.htmlがあればOK。

ここでApacheを以下のコマンドで再起動して、

sudo systemctl restart apache2

もう一度ローカルIPにアクセスしたら、
ブラウザ上でApacheのデフォルトページが表示されました!

結論

Apacheを再起動したらよかったっぽいです。
原因はよくわからずです、、、

ようやく次のステップに進めます。

HTMLファイルの作成

①以下のコマンドを入力

$ cd /var/www/html
$ ls

ここにindex.htmlがあり、これがApacheデフォルトページにあたるそう。

②新しくHTMLファイルを作成

$ sudo touch test.html
(ファイル名は何でもOK)

次に以下を入力

$ sudo nano test.html

nanoエディタが開くので、ここにHTMLを記述。
私は以下のように記述しました(どっかにあったのを適当にコピペしただけ)

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title></title>
</head>
<body>
    <h1>Hello world</h1>
</body>
</html>

保存した後、ブラウザでローカルIPアドレスにアクセス。
ブラウザが表示されたら成功!🌟

1
0
1

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?