Webサーバーをインストールする
【連載コラム:Linuxを学ぼう(19)】
サーバーを扱う上で必須と言える技術が「Linux」。Linuxで動作させるサーバーとしては最もメジャーとも言える「WEBサーバー」のインストールについて解説します。
今回は、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サーバーをインストールする
第17回:ネットワークの状態確認を理解する
第15回:ファイルのアクセス権を理解する
第14回:パッケージをアップデートする dnf編
第13回:PAMを理解する
第12回:グループとは何かを理解する
第11回:sudoコマンドについて理解する
第10回:suコマンドで特権ユーザーになる
第9回:ユーザー権限を理解する
第8回:SSHによるリモートログイン
第6回:Linuxイストールの実際
第5回:Linuxインストールの準備
第3回:学習環境を用意する
第2回:Linuxをどう学ぶのか
第1回:Linuxを学ぼう