「sudo apt-get install apache2」
上記のコマンドでは、最新版のApacheをインストールできません。
Ubuntu 20.04において、何も工夫しなければ。
最新バージョンのApacheをインストールするのは、一工夫が必要です。
この記事では、その一工夫をわかりやすく説明しています。
本記事の内容
- OS標準のApache
- aptコマンドによる最新版Apacheのインストール
- インストールしたApacheの動作確認
それでは、上記に沿って解説していきます。
OS標準のApache
UbuntuやDebianには、公式のリポジトリが存在しています。
aptコマンドで簡単にインストールできるのは、その公式リポジトリがあるからです。
その公式リポジトリには、 Apacheが登録されています。
一般的に利用されるモノは、公式リポジトリに登録されているということです。
そんな便利な公式リポジトリですが、デメリットもあります。
OS毎にそれぞれのバージョンが固定されています。
時間の経過とともに、ソフトウェアのバージョンが古くなるのです。
UbuntuとApacheのバージョン対応関係は、以下。
OS | Apache | リリース日 |
Ubuntu 18.04 LTS | 2.4.29 | 2017/10/23 |
Ubuntu 20.04 LTS | 2.4.41 | 2019/08/14 |
Ubuntu 21.04 | 2.4.46 | 2020/08/07 |
LTS版は、Ubuntu 20.04が最新です。
そして、Ubuntu 20.04の場合、2.4.41がOS標準のApacheのバージョンとなります。
Apache 2.4.41は、約2年前のバージョンです。
ちなみに最新は、Apache 2.4.46となります。
そもそも、Apacheの更新頻度は高くないようですね。
そうだとすると、できる限りで最新バージョンのApacheを利用したくなります。
一つ一つのバージョンアップには、それだけ意味があると言えからです。
上記より、OS標準のソフトウェアには良い面も悪い面もあるということです。
以上、OS標準のApacheについての説明でした。
次は、aptコマンドで最新版Apacheをインストールする方法を説明します。
aptコマンドによる最新版Apacheのインストール
まずは、Ubuntu 20.04のOS標準であるApacheのパッケージを確認しましょう。
$ sudo apt show apache2 Package: apache2 Version: 2.4.41-4ubuntu3.1 Priority: optional Section: web Origin: Ubuntu Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> Original-Maintainer: Debian Apache Maintainers <debian-apache@lists.debian.org> Bugs: https://bugs.launchpad.net/ubuntu/+filebug Installed-Size: 541 kB Provides: httpd, httpd-cgi Pre-Depends: dpkg (>= 1.17.14) Depends: apache2-bin (= 2.4.41-4ubuntu3.1), apache2-data (= 2.4.41-4ubuntu3.1), apache2-utils (= 2.4.41-4ubuntu3.1), lsb-base, mime-support, perl:any, procps Recommends: ssl-cert Suggests: apache2-doc, apache2-suexec-pristine | apache2-suexec-custom, www-browser, ufw Conflicts: apache2.2-bin, apache2.2-common Breaks: libapache2-mod-proxy-uwsgi (<< 2.4.33) Replaces: apache2.2-bin, apache2.2-common, libapache2-mod-proxy-uwsgi (<< 2.4.33) Homepage: https://httpd.apache.org/ Task: lamp-server Download-Size: 95.5 kB APT-Manual-Installed: no APT-Sources: http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages Description: Apache HTTP サーバ Apache HTTP Server Project は、標準準拠のオープンソースソフトウェアとして、 安全で、効率的で、拡張性のある HTTP サーバを構築することを目的としています。 その成果は、インターネットで長い間ナンバーワンの web サーバとなっています。 . このパッケージをインストールすれば、設定ファイル、init スクリプト、 補助スクリプトを含むすべてをインストールできます。 N: 追加レコードが 1 件あります。表示するには '-a' スイッチを付けてください。
確かに、OS標準となるApache 2.4.41ですね。
このバージョンではなく、最新であるApache 2.4.46をインストールしたいわけです。
そこで、インストール対象となるパッケージを変更(更新)します。
その処理を行うのが、次のコマンドです。
$ sudo add-apt-repository ppa:ondrej/apache2
上記を実行すると、次のように表示されます。
This branch follows latest Apache2 packages as maintained by the Debian Apache2 team with couple of compatibility patches on top. It also includes some widely used Apache 2 modules (if you need some other feel free to send me a request). IMPORTANT: The <foo>-backports is now required on older Ubuntu releases. BUGS&FEATURES: This PPA now has a issue tracker: https://deb.sury.org/#bug-reporting PLEASE READ: If you like my work and want to give me a little motivation, please consider donating: https://deb.sury.org/#donate More info: https://launchpad.net/~ondrej/+archive/ubuntu/apache2 Press [ENTER] to continue or Ctrl-c to cancel adding it.
「ppa:ondrej/apache2」に関する説明です。
「Enter」を押して、処理を進めます。
取得:1 http://security.ubuntu.com/ubuntu focal-security InRelease [114 kB] ヒット:2 http://archive.ubuntu.com/ubuntu focal InRelease 取得:3 http://ppa.launchpad.net/ondrej/apache2/ubuntu focal InRelease [23.8 kB] 取得:4 http://archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB] ヒット:5 http://ppa.launchpad.net/ondrej/php/ubuntu focal InRelease 取得:6 http://archive.ubuntu.com/ubuntu focal-backports InRelease [101 kB] 取得:7 http://ppa.launchpad.net/ondrej/apache2/ubuntu focal/main amd64 Packages [4,664 B] 取得:8 http://ppa.launchpad.net/ondrej/apache2/ubuntu focal/main Translation-en [3,252 B] 360 kB を 2秒 で取得しました (170 kB/s) パッケージリストを読み込んでいます... 完了
aptが管理できるパッケージリストが更新されました。
そこに最新版のApacheが存在しているはずです。
再度、パッケージを確認します。
$ sudo apt show apache2 Package: apache2 Version: 2.4.46-4+deb.sury.org+1+ubuntu20.04.1+deb.sury.org+5 Priority: optional Section: httpd Maintainer: Debian Apache Maintainers <debian-apache@lists.debian.org> Installed-Size: 522 kB Provides: httpd, httpd-cgi Depends: apache2-bin (= 2.4.46-4+deb.sury.org+1+ubuntu20.04.1+deb.sury.org+5), apache2-data (= 2.4.46-4+deb.sury.org+1+ubuntu20.04.1+deb.sury.org+5), apache2-utils (= 2.4.46-4+deb.sury.org+1+ubuntu20.04.1+deb.sury.org+5), lsb-base, mime-support, perl:any, procps Recommends: ssl-cert Suggests: apache2-doc, apache2-suexec-pristine | apache2-suexec-custom, www-browser Conflicts: apache2.2-bin, apache2.2-common Breaks: libapache2-mod-proxy-uwsgi (<< 2.4.33) Replaces: apache2.2-bin, apache2.2-common, libapache2-mod-proxy-uwsgi (<< 2.4.33) Download-Size: 162 kB APT-Sources: http://ppa.launchpad.net/ondrej/apache2/ubuntu focal/main amd64 Packages Description: Apache HTTP サーバ Apache HTTP Server Project は、標準準拠のオープンソースソフトウェアとして、 安全で、効率的で、拡張性のある HTTP サーバを構築することを目的としています。 その成果は、インターネットで長い間ナンバーワンの web サーバとなっています。 . このパッケージをインストールすれば、設定ファイル、init スクリプト、 補助スクリプトを含むすべてをインストールできます。 N: 追加レコードが 2 件あります。表示するには '-a' スイッチを付けてください。
Versionが、「2.4.41」から「2.4.46」へ変更していることが確認できます。
では、インストールを行います。
その前に、パッケージリストの更新は欠かないでおきましょう。
$ sudo apt-get update $ sudo apt-get install apache2
上記を実行すると、以下の確認が行われます。
パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 以下のパッケージが自動でインストールされましたが、もう必要とされていません: liblua5.2-0 これを削除するには 'sudo apt autoremove' を利用してください。 以下の追加パッケージがインストールされます: apache2-bin apache2-data apache2-utils libapr1 liblua5.3-0 提案パッケージ: apache2-doc apache2-suexec-pristine | apache2-suexec-custom www-browser 以下のパッケージが新たにインストールされます: liblua5.3-0 以下のパッケージはアップグレードされます: apache2 apache2-bin apache2-data apache2-utils libapr1 アップグレード: 5 個、新規インストール: 1 個、削除: 0 個、保留: 136 個。 1,955 kB のアーカイブを取得する必要があります。 この操作後に追加で 544 kB のディスク容量が消費されます。 続行しますか? [Y/n]
「Y」を入力して、Enter。
インストールには、少しだけ時間がかかります。
以上、aptコマンドによる最新版Apache 2.4.46のインストールを説明しました。
最後は、Apache 2.4.46の動作確認を行います。
インストールしたApacheの動作確認
動作確認は、次のコマンドで行います。
$ sudo systemctl status apache2 ● apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2021-06-01 11:40:25 JST; 3min 40s ago Docs: https://httpd.apache.org/docs/2.4/ Main PID: 5401 (apache2) Tasks: 6 (limit: 9514) Memory: 10.1M CGroup: /system.slice/apache2.service ├─5401 /usr/sbin/apache2 -k start ├─5404 /usr/sbin/apache2 -k start ├─5405 /usr/sbin/apache2 -k start ├─5406 /usr/sbin/apache2 -k start ├─5407 /usr/sbin/apache2 -k start └─5408 /usr/sbin/apache2 -k start 6月 01 11:40:25 ubuntu-focal systemd[1]: Starting The Apache HTTP Server... 6月 01 11:40:25 ubuntu-focal apachectl[5400]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message 6月 01 11:40:25 ubuntu-focal systemd[1]: Started The Apache HTTP Server.
「Active: active (running)」と表示されています。
Apacheが起動していることを確認できます。
次は、インストールされたApacheのバージョンを確認しましょう。
$ apache2ctl -v Server version: Apache/2.4.46 (Ubuntu) Server built: 2021-03-13T15:08:41
最新バージョンとなるApache 2.4.46ですね。
これでコンソールでの確認はOK。
最後は、ブラウザで画面を確認しましょう。
私の環境なら、以下のURLで確認できます。
「http://192.168.33.60」
上記URLの数字部分は、ApacheをインストールしたサーバーのIPアドレスです。
したがって、みなさんの環境に合わせてIPアドレス部分は変更してください。
そして、上記URLにアクセスすると次の画面が表示されます。
この画面が見ることができれば、Apacheの動作確認としては問題ありません。
画面が見れない場合
上記の画面が見れないという場合は、ポート80の開放状況を確認してください。
$ sudo ufw status | grep '80'
何も表示されないなら、「80」は未開放という状況になります。
なお、「ufw」コマンドが動かない場合は、次の記事をご覧ください。
「ufw」コマンドが動くなら、次のコマンドを実行します。
$ sudo ufw allow 80
開放されたかどうか確認しましょう。
$ sudo ufw status | grep '80' 80 ALLOW Anywhere 80 (v6) ALLOW Anywhere (v6)
ポートが、開放されていることを確認できます。
再度、「http://192.168.33.60」にアクセスします。
以上、インストールしたApacheの動作確認についてに説明でした。