この記事では初心者がLinuxでサーバをたてる練習をしたのでつまづいたところなど説明を交えながら振り返るものです.
1.Dockerでubuntu linuxを立ち上げる
参考にした記事:https://qiita.com/yuta_931214/items/9b7859dcd837d692dcef
Dockerのインストールはこちらら:https://docs.docker.com/desktop/
まずはLinuxをpullします.
docker pull ubuntu:18.04
ubuntuのversionは好きに指定してください.ちなみにいくつかのubuntu以外のlinuxOS(RHELなど)はサブスクがいるっぽいです.
つぎにDockerコンテナを作成しシェルに入ります.
docker run -it --name [コンテナ名] ubuntu:18.04 /bin/bash
/bin/bashをつけることによってそのままシェルに入れています.
2.サーバを立ち上げる
参考にした記事:https://qiita.com/pyon_kiti_jp/items/7000b9a04aa2899bf9a8
今回はapacheでサーバを立ち上げます.
まずはapacheをインストールします.
apt install -y apache2
dockerでコンテナを作成してシェルに入った場合はrootユーザ扱いとなりsudoコマンドは不要みたいです.
あと,-yオプションは実行中に[y/n]を聞かれた時に自動的にyes回答をしてくれるオプションです.
そしてapacheを起動します.
systemctl start apache2
dockerのubuntuは軽量版らしくて初期状態ではsystemctl: command not foundとなってしまいました.そういう時は必要なパッケージを下記でインストールします.
apt install -y systemd
apacheが起動しているかは次で確認できます.
ps aux | grep apache2
これの意味としてはps auxで実行中のプロセスを表示して| grepでapache2を検索するみたいなことです.
apacheを自動起動の設定にするために以下を実行します.
systemctl enable apache2
3.練習,IPアドレスにアクセスした時に文字を出してみる
目標として
curl -i [IPアドレス]
を実行した際にServer Working!と表示されるようにしたいと思います.
curlコマンドによって/var/www/html/index.html
表示用のファイルの作成
まずは該当の場所にindex.htmlファイルを作成します.
cd /var/www/html
touch index.html
表示したい内容を書き込んでいきます.
vim index.html
これで編集モードになります.i + retuenで文字が入力できるようになり,入力後はescでノーマルモードに,:wq + returnで保存できます.
書き込んだ内容を確認します.
cat index.html
これで書き込んだ内容がターミナルに表示されていれば成功です.
実行してみる
自分のIPアドレスを知る必要があります.以下のコマンドで確認できます.
ip address show
ipコマンドは自分の場合は初期で使用できなかったためiproute2というパッケージのインストールが必要です.
コマンドを実行するといっぱい出力されますが,inetで始まる行でscope globalとなっているものが正解らしいです.
最後に動作を確認します.curlコマンドを実行してみてターミナルに設定した文字列が表示されていれば成功です.お疲れ様でした.
systemctl disable apache2
systemctl stop apache2
exit
で自動起動の停止,サーバの停止,シェルからの脱出が完了します.