Webサーバーをインストールする

【連載コラム:Linuxを学ぼう(19)】
サーバーを扱う上で必須と言える技術が「Linux」。Linuxで動作させるサーバーとしては最もメジャーとも言える「WEBサーバー」のインストールについて解説します。

最終更新日:2023年10月05日

今回は、Webサーバーをインストールします。

WebサーバーはLinuxで動作させるサーバーとしては最もメジャーなものと言っても良いかと思います。Linuxディストリビューションは、パッケージを使って簡単にインストールができるようになっているので、その方法をきちんと理解しておきましょう。


インストールされているかを確認する

すでにWebサーバーがインストールされているかを確認します。インストール済みパッケージの一覧を表示するには、以下のdnfコマンドを実行します。

# dnf list --installed
※リストが多数表示される

--installedオプションを付けないと、インストール可能なパッケージすべてが表示されてしまうので、違いに注意が必要です。

結果が多数表示されるので、grepコマンドでhttpdの文字列がついたパッケージのみに絞り込みます。

# dnf list --installed | grep httpd
※何も表示されない

インストールされている場合にはいくつかの結果が表示されますが、インストールされていない場合には何も表示されません。念のため、インストールされていないパッケージも含めた結果も確認しておきます。

# dnf list | grep httpd
almalinux-logos-httpd.noarch                         90.5.1-1.1.el9                      appstream
httpd.aarch64                                        2.4.53-11.el9_2.5                   appstream
httpd-core.aarch64                                   2.4.53-11.el9_2.5                   appstream
httpd-devel.aarch64                                  2.4.53-11.el9_2.5                   appstream
httpd-filesystem.noarch                              2.4.53-11.el9_2.5                   appstream
httpd-manual.noarch                                  2.4.53-11.el9_2.5                   appstream
httpd-tools.aarch64                                  2.4.53-11.el9_2.5                   appstream
keycloak-httpd-client-install.noarch                 1.1-10.el9                          appstream
libmicrohttpd.aarch64                                1:0.9.72-4.el9                      appstream
python3-keycloak-httpd-client-install.noarch         1.1-10.el9                          appstream

リポジトリにはhttpdパッケージをはじめ、いくつかのパッケージが存在していることが確認できます。

インストールする

インストールされていないことが確認できたので、インストールを行います。インストールにはdnf installコマンドを実行します。

# dnf install httpd
Last metadata expiration check: 0:51:37 ago on Thu Aug 24 13:19:09 2023.
Dependencies resolved.
====================================================================================================================
 Package                           Architecture        Version                          Repository             Size
====================================================================================================================
Installing:
 httpd                             aarch64             2.4.53-11.el9_2.5                appstream              46 k
Installing dependencies:
 almalinux-logos-httpd             noarch              90.5.1-1.1.el9                   appstream              18 k
 apr                               aarch64             1.7.0-11.el9                     appstream             120 k
 apr-util                          aarch64             1.6.1-20.el9_2.1                 appstream              95 k
 apr-util-bdb                      aarch64             1.6.1-20.el9_2.1                 appstream              12 k
 httpd-core                        aarch64             2.4.53-11.el9_2.5                appstream             1.3 M
 httpd-filesystem                  noarch              2.4.53-11.el9_2.5                appstream              14 k
 httpd-tools                       aarch64             2.4.53-11.el9_2.5                appstream              80 k
 mailcap                           noarch              2.1.49-5.el9                     baseos                 32 k
Installing weak dependencies:
 apr-util-openssl                  aarch64             1.6.1-20.el9_2.1                 appstream              14 k
 mod_http2                         aarch64             1.15.19-4.el9_2.4                appstream             144 k
 mod_lua                           aarch64             2.4.53-11.el9_2.5                appstream              59 k

Transaction Summary
====================================================================================================================
Install  12 Packages

Total download size: 2.0 M
Installed size: 11 M
Is this ok [y/N]: y ※yと入力する

httpdパッケージ本体の他、依存関係のある必要なパッケージも一緒にインストールされます。

インストールされたものを確認する

インストール結果が以下の通りです。依存関係が自動的に解決されたため、12個のパッケージがインストールされました。

Installed:
  almalinux-logos-httpd-90.5.1-1.1.el9.noarch               apr-1.7.0-11.el9.aarch64
  apr-util-1.6.1-20.el9_2.1.aarch64                         apr-util-bdb-1.6.1-20.el9_2.1.aarch64
  apr-util-openssl-1.6.1-20.el9_2.1.aarch64                 httpd-2.4.53-11.el9_2.5.aarch64
  httpd-core-2.4.53-11.el9_2.5.aarch64                      httpd-filesystem-2.4.53-11.el9_2.5.noarch
  httpd-tools-2.4.53-11.el9_2.5.aarch64                     mailcap-2.1.49-5.el9.noarch
  mod_http2-1.15.19-4.el9_2.4.aarch64                       mod_lua-2.4.53-11.el9_2.5.aarch64

Complete!

パッケージを削除しようとすると?

パッケージを削除しようとすると、使用されていない依存関係にあるパッケージも削除されようとします。パッケージの削除はdnf eraseコマンドを実行します。

# dnf erase httpd
Dependencies resolved.
====================================================================================================================
 Package                           Architecture        Version                         Repository              Size
====================================================================================================================
Removing:
 httpd                             aarch64             2.4.53-11.el9_2.5               @appstream             154 k
Removing unused dependencies:
 almalinux-logos-httpd             noarch              90.5.1-1.1.el9                  @appstream              14 k
 apr                               aarch64             1.7.0-11.el9                    @appstream             297 k
 apr-util                          aarch64             1.6.1-20.el9_2.1                @appstream             223 k
 apr-util-bdb                      aarch64             1.6.1-20.el9_2.1                @appstream              67 k
 apr-util-openssl                  aarch64             1.6.1-20.el9_2.1                @appstream              67 k
 httpd-core                        aarch64             2.4.53-11.el9_2.5               @appstream             8.8 M
 httpd-filesystem                  noarch              2.4.53-11.el9_2.5               @appstream             400
 httpd-tools                       aarch64             2.4.53-11.el9_2.5               @appstream             441 k
 mailcap                           noarch              2.1.49-5.el9                    @baseos                 78 k
 mod_http2                         aarch64             1.15.19-4.el9_2.4               @appstream             409 k
 mod_lua                           aarch64             2.4.53-11.el9_2.5               @appstream             134 k

Transaction Summary
====================================================================================================================
Remove  12 Packages

Freed space: 11 M
Is this ok [y/N]: ※yを入力すると削除されます。ここでは削除は行いませんのでEnterキーを入力します。
Operation aborted.

dnfコマンドはインターネット接続が必要

dnfコマンドを使うと、簡単にパッケージがインストールできることが確認できました。ただし、dnfコマンドはデフォルトではインターネット上にあるパッケージのリポジトリを参照し、必要なパッケージをダウンロードしてきます。インターネットに接続していなかったり、プロキシーを経由しないといけない場合、適切な設定を行うなどの対応が必要になります。詳細はネットワークを管理している管理者に相談してください。


筆者紹介
宮原 徹 氏

宮原 徹 氏

株式会社びぎねっと

Linux標準教科書、Linuxサーバー構築標準教科書などの監修者。LinuCレベル1/レベル2 Version10.0の改訂作業にも協力。また、幅広いOSSに関する情報提供の場として「オープンソースカンファレンス(OSC)」の企画運営も。

バックナンバー

第21回:外部からWebサーバーにアクセスする

第20回:Webサーバーを動かす

第19回:Webサーバーをインストールする

第18回:典型的なネットワークトラブルについて理解する

第17回:ネットワークの状態確認を理解する

第16回:アクセス権に関わる様々なことについて理解を深める

第15回:ファイルのアクセス権を理解する

第14回:パッケージをアップデートする dnf編

第13回:PAMを理解する

第12回:グループとは何かを理解する

第11回:sudoコマンドについて理解する

第10回:suコマンドで特権ユーザーになる

第9回:ユーザー権限を理解する

第8回:SSHによるリモートログイン

第7回:Linuxインストール後にやること

第6回:Linuxイストールの実際

第5回:Linuxインストールの準備

第4回:Linux学習のためのネットワーク環境

第3回:学習環境を用意する

第2回:Linuxをどう学ぶのか

第1回:Linuxを学ぼう

ページトップへ