こんにちは、ぐっちゃんです。
前回は Virtual Box にて Linux環境を立ち上げましたね。
今回は Webサーバの構築 と テストページへのアクセス方法 について解説していきます。
Webサーバといえば、Apache(アパッチ) や Nginx(エンジンエックス)、lighttpd(ライティ) がありますね。それぞれ、設定が容易だったり、同時接続に強かったり、高速で動作するよう設計されていたりと、特色がありますが、今回は利用者の多い Apache で構築してきます。
まとめ
・インストール前にリポジトリが有効か確認すること
・firewall-cmd でポートを開放し、httpdを開始すること
・curl や telnet コマンド等でWebサーバにアクセスできる
インストール前に確認すること
【要確認】リポジトリは有効になっているか
リポジトリとは、パッケージの格納されている場所のことです。
リポジトリは、ディストリビュータ(Linuxの配布形式)によって異なることがあります。
RHEL系では、/etc/yum.repos.d/ の配下にある ~.repo がリポジトリとなります。
例えば、前回構築した MIRACLE LINUX9.0 では以下が確認点となります。
・BaseOS と AppStream の mirrorlist が コメント # になっていないか
・enabled=0 になっていないか
rootユーザの状態であるか(sudo が可能ならスキップ可)
パッケージのインストールや設定ファイルへの書き込みは、基本 rootユーザでないと操作ができない場合が多いです。
そのため、 su コマンド(引数はなし)で root になりましょう。(要 パスワード)
コンソールが [ユーザ名@ホスト名] $ → [root@ホスト名] # に変わったはずです。
実行したいコマンドの前に sudo をつけることにより、root権限で 同等の動作が可能になります。
インストール開始
では、以下のコマンドで Apache をインストールしましょう。
<実行例>
# yum install httpd
yum(dnf)のようなパッケージマネージャを使ったインストールでは、
httpd に依存する他のパッケージも一緒にインストールしてくれて便利ですね!
インストール後、/etc配下に httpd、/var配下に wwwというディレクトリが追加されたり、apacheというユーザ名が追加が自動で行われます。
なお、デフォルトではyum(dnf)コマンドは自動で最新バージョンのパッケージを取ってくるので、httpdのバージョンについては指定しなくても大丈夫です。
※古いバージョンにしたい場合は指定する必要がある
httpd を動かす
httpd を入れたままでは動きませんので、systemctl コマンドで httpd を開始しましょう。
実行時に /bin/systemctl start httpd.service にリダイレクトされます。
<実行例>
# systemctl start httpd
通信の許可(firewallを無効にしている場合はスキップ)
firewalld が activeな場合
以下のコマンドを実行し、firewalld が active になっている場合、
デフォルトでは webサーバのポートへの接続は許可されていないので、
firewall-cmd コマンドでポートを開放する必要があります。
以下のコマンドで現在の firewalld のルールを見ると右の画像のようになる
<実行例>
# firewall-cmd –list-all
Webサーバのポート番号とプロトコルは 80/TCP ですので、
以下の firewall-cmd コマンドで、ポートを開放しましょう。
<実行例>(zone は public を想定)
# firewall-cmd –add-port=80/tcp
もしくは
# firewall-cmd –add-service=http
これで準備は完了です。
Webページの確認
curl コマンドで確認する場合
curl コマンドはclient URLの略であり、URLを指定してデータを送受信を行うコマンドです。特にHTTP、HTTPS 等のプロトコルを使用して、Webサイト と通信する際に利用されます。
<実行例>
# curl http://<ipアドレス>
もしくは
# curl http://localhost
httpはポート80番に、httpsはポート443番に自動でアクセスするため、指定不要
telnet コマンドで確認する場合
telnet はリモートホストに接続し、そのホスト上のポートにアクセスするコマンドです。
telnet パッケージをインストールし、以下のようにホスト名(もしくはIPアドレス)とポート番号を指定します。
<実行例>
# telnet localhost 80
GET / HTTP/1.0 ★ENTERキーを押す
コマンドライン上での確認なので、curlコマンドと同じ出力結果となります。
ブラウザで確認する場合【要GUI環境】
ホーム画面の「アクティビティ」から Firefox を開き、新しいタブを開きます。
検索欄に以下のどちらかを入力すると、テストページを開くことができます。
http://localhost
http://<IPアドレス>
コメント