今回は、ド初心者の私がUbuntsuを使ってhttpサーバーを作ってみたときの手順を書いていこうと思います。
ちょいちょいトラブルにぶち当たりもしたので、その時に試したことも含めて書き起こしています。
ゴール
- HTTPサーバーを動かす(高性能である必要はない)
- Linuxの操作に慣れること、調べながら進める経験を積むことが大事
手順のイメージ
- Linuxにログインして環境確認
- 必要なソフトウェアをインストール
- 簡単なHTTPサーバーを立ててみる
- 動作確認
環境
- 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アドレスにアクセス。
ブラウザが表示されたら成功!🌟