忍者ブログ

ブランクがあるインフラエンジニアの備忘録

サーバ構築のメモ

簡単なWebサーバーを構築

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

簡単なWebサーバーを構築

 前稿の手順を基に試しに簡単なWebサーバーを構成してみましょう。
  おさらいで手順を列挙すると以下の様になります。
①新規マシンにOSをインストール。
②IPアドレス、ホスト名などの初期設定。
③ソフトウェア・ミドルウェアのインストール。
④ソフトウェア・ミドルウェアの設定。
⑤④付属のツールで設定値のチェック。
⑥サービスの起動。
⑦ファイアウォール・SELinuxなどセキュリティの制限解除。
⑧サーバー側から動作確認。
⑨クライアントマシンから動作確認。
◇本稿の構成。
〇Webサーバー
・ホスト名:web1.stream.server
・アドレス:192.168.128.100/24
・DNS:192.168.128.1
・ゲートウェイ:192.168.128.1
〇クライアント
・ホスト名:client
・アドレス:192.168.128.110/24
・DNS:192.168.128.1
・ゲートウェイ:192.168.128.1
◇手順に沿ってWebサーバーを構築。
①新規マシンにOSをインストール。
②IPアドレス、ホスト名などの初期設定。
 上記サーバーの仮想マシンを準備する事が手順①②に当たります。
 ①②の具体的な方法は「CentOS Stream9のインストール及び初期設定」の章をご覧ください。
・追加設定
 それぞれのマシンのhostsファイルにWebサーバーのホスト名を追記します。
[root@client ~]# vi /etc/hosts
192.168.128.100 web.stream.server
③ソフトウェア・ミドルウェアのインストール。
 Webサーバー機のマシンに以下のコマンドでhttpdのインストールを行います。
[root@web1 ~]# dnf install -y httpd
CentOS Stream 9 - BaseOS                        1.8 kB/s | 4.3 kB     00:02
CentOS Stream 9 - BaseOS                        444 kB/s | 5.6 MB     00:12
CentOS Stream 9 - AppStream                     7.0 kB/s | 4.4 kB     00:00
CentOS Stream 9 - AppStream                     648 kB/s |  14 MB     00:21
CentOS Stream 9 - Extras packages                10 kB/s | 5.4 kB     00:00
依存関係が解決しました。
================================================================================
 パッケージ              Arch        バージョン            リポジトリー   サイズ
================================================================================
インストール:
 httpd                   x86_64      2.4.53-1.el9          appstream      1.5 M
依存関係のインストール:
 apr                     x86_64      1.7.0-11.el9          appstream      123 k
 apr-util                x86_64      1.6.1-20.el9          appstream       95 k
 apr-util-bdb            x86_64      1.6.1-20.el9          appstream       14 k
 centos-logos-httpd      noarch      90.4-1.el9            appstream      252 k
 httpd-filesystem        noarch      2.4.53-1.el9          appstream       15 k
 httpd-tools             x86_64      2.4.53-1.el9          appstream       84 k
弱い依存関係のインストール:
 apr-util-openssl        x86_64      1.6.1-20.el9          appstream       16 k
 mod_http2               x86_64      1.15.19-2.el9         appstream      150 k
 mod_lua                 x86_64      2.4.53-1.el9          appstream       62 k
トランザクションの概要
================================================================================
インストール  10 パッケージ
(略)
インストール済み:
  apr-1.7.0-11.el9.x86_64                apr-util-1.6.1-20.el9.x86_64
  apr-util-bdb-1.6.1-20.el9.x86_64       apr-util-openssl-1.6.1-20.el9.x86_64
  centos-logos-httpd-90.4-1.el9.noarch   httpd-2.4.53-1.el9.x86_64
  httpd-filesystem-2.4.53-1.el9.noarch   httpd-tools-2.4.53-1.el9.x86_64
  mod_http2-1.15.19-2.el9.x86_64         mod_lua-2.4.53-1.el9.x86_64
完了しました!
 
 インストールが終了すると上記の様なメッセージが表示されます。
④ソフトウェア・ミドルウェアの設定。
 引き続き、Apacheの設定ファイルを設定します。
 下記を参考に構成を確認及び変更してください。
[root@web1 ~]# cp -p /etc/httpd/conf/httpd.conf{,.org} ←先ずはオリジナルの設定ファイルをコピーして保存します。
 次は設定ファイルを確認と修正を行います。
 #はコメントアウトと言い、設定項目で#が付いている行は無視されるので、#のついた行を有効化するには行頭の#を外します。
[root@web1 ~]# vi /etc/httpd/conf/httpd.conf #下記の項目を修正、確認。
ServerRoot "/etc/httpd"
Listen 80
DocumentRoot "/var/www/html"
#ServerName www.example.com:80 #←を下記の行の内容に変更。
ServerName web1.stream.server #を外してサーバー名を左記に変更。
    DirectoryIndex index.html
AddDefaultCharset UTF-8
 上記設定に変更後、wq!で上書き保存し、viの編集モードを終了させます。
 続いて、テスト用のindex.htmlファイルを作成してみます。
 以下の行はブラウザでは改行している様に見えますが、改行せず一行でコマンドを入力してください。
[root@web1 ~]# echo -n 'This is Web Server Test Page on ' > /var/www/html/index.html
 ホスト名をidex.htmlファイルに追記します。
[root@web1 ~]# hostname >> /var/www/html/index.html
 index.htmlの記載を確認します。
[root@web1 ~]# cat /var/www/html/index.html
This is Web Server Test Page on web1.stream.server
 本稿のWebサーバーの設定は上記で出来ました。続いて設定の簡易的なチェックを行います。
⑤④付属のツールで設定値のチェック。
 Apacheの場合は apachectl configtestというツールを使用します。
[root@web1 ~]# apachectl configtest
Syntax OK
 取り敢えず上記メッセージが表示された場合、Apacheの構文は間違えていないハズです。
⑥サービスの起動。
 Apacheの場合は以下のコマンドでサービスを起動します。
[root@web1 ~]# systemctl start httpd
 以下のコマンドでhttpdサービスが起動している事を確認します。
[root@web1 ~]# systemctl status httpd
● httpd.service - The Apache HTTP Server
     Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor pr>
     Active: active (running) since Thu 2022-06-09 23:48:30 JST; 7s ago
(略)
 Active:active(running)と表示されていればサービスは正常に稼働しています。
 これは次のコマンドでも確認出来ます。
[root@web1 ~]# systemctl is-active httpd
active
 ですが、トラブルが発生した際はsystemctl status コマンドだとログが表示されるので、慣れればそちらを使った方が良いかも知れません。
 サービスが正常に動作可能である事を確認後、起動時にhttpdサービスが自動的に起動する様に設定を行います。
[root@web1 ~]# systemctl enable httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
 httpdサービスが自動起動行われているか確認します。結果がenabledであれば自動起動が行われます。
[root@web1 ~]# systemctl is-enabled httpd
enabled
 これでサーバー起動時には自動的にhttpdサービスが起動する様になりました。
⑦ファイアウォール・SELinuxなどセキュリティの制限解除。
 ファイアウォールの設定解除は以下のコマンドで行います。
[root@web1 ~]# firewall-cmd --add-service=http --permanent
success
 なお、規定でhttpdがSELinuxで許可をされている項目は以下になります。
[root@web1 ~]# getsebool -a | grep httpd | grep 'on$'
httpd_builtin_scripting --> on
httpd_enable_cgi --> on
 以下のコマンドでhttpd がホームディレクトリーを読み取ることを許可します。
[root@web1 ~]# setsebool -P httpd_enable_homedirs on
[root@web1 ~]# getsebool -a | grep httpd | grep 'on$'
httpd_builtin_scripting --> on
httpd_enable_cgi --> on
httpd_enable_homedirs --> on   ←この行が追加される事を確認。
⑧サーバー側から動作確認。
 続いては作成したWebページへアクセス可能か検証を行う為に、Webサーバーの仮想マシン上のGUIからWebブラウザ(Firefox)を立ち上げ、URLに以下のアドレスを入力します。
http://web1.stream.server
 上記URLにアクセスし、「This is Web Server Test Page on web1.stream.server」と表示されれば成功です。
⑨クライアントマシンから動作確認。
 クライアントマシンでも⑧と同じ方法でhttp://web1.stream.serverにアクセスします。
 こちらも「This is Web Server Test Page on web1.stream.server」と表示されれば成功です。
 以上、簡単にですが実際にWebサーバーを構築して動作確認を行ってみました。
 今回の設定は最低限しか行っていない為、単純でしたが、基本的な手順はどの種類のサーバーでも大体共通しています。
PR

コメント

プロフィール

HN:
のらくら
性別:
非公開
自己紹介:
介護と自身の手術でブランクが出来たインフラエンジニアの学習メモ。VirtualBOXで仮想サーバーを建て、GNS3でCiscoルーター&スイッチによるネットワークのエミュレーションもしています。GNS3ネットワーク内に仮想サーバーと連携させて、実際のネットワーク環境におけるサーバーをシミュレートする他、LinuC level3 300の対策もしています。

P R