業務用エアコン関連の技術情報、エラーコード、環境問題対策に関する別サイト「エアコンの安全な修理・適切なフロン回収」

AlmaLinux9.7 : WEBサーバー(Apache)、Digest認証

1.Apache2のインストールとバーチャルホスト設定

1.1 Apache2インストール

①httpdをインストール

1.2 Apache の設定

①httpd.conf ファイルを編集

編集内容

●91行目 : 管理者アドレス指定
ServerAdmin [Email Address]
●100行目あたりServerName の変更
「#ServerName www.example.com:80」の下に「ServerName ドメイン名」を追加
●149行目 : 変更 (Indexes は削除)
Options FollowSymLinks
●156行目 : 変更
AllowOverride All
●169行目 : ディレクトリ名のみでアクセスできるファイル名
「index.php index.cgi」を追加する
●最終行に追記
ServerTokens Prod

②Firewalld を有効にしている場合は HTTP サービスの許可が必要。HTTP は [80/TCP] を使用します

③Apache の自動起動設定

表示内容

● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; preset: disabled)
Active: active (running) since Wed 2025-12-31 16:12:02 JST; 23s ago
Docs: man:httpd.service(8)
Main PID: 130329 (httpd)
Status: "Total requests: 0; Idle/Busy workers 100/0;Requests/sec: 0; Bytes served/sec: 0 B/sec"
Tasks: 177 (limit: 22891)
Memory: 14.0M (peak: 14.3M)
CPU: 88ms
CGroup: /system.slice/httpd.service
├─130329 /usr/sbin/httpd -DFOREGROUND
├─130330 /usr/sbin/httpd -DFOREGROUND
├─130331 /usr/sbin/httpd -DFOREGROUND
├─130332 /usr/sbin/httpd -DFOREGROUND
└─130333 /usr/sbin/httpd -DFOREGROUND

Dec 31 16:12:02 Lepard systemd[1]: Starting The Apache HTTP Server…
Dec 31 16:12:02 Lepard systemd[1]: Started The Apache HTTP Server.
Dec 31 16:12:02 Lepard httpd[130329]: Server configured, listening on: port 80

④動作確認
http://[サーバーIPアドレス] にアクセスすると下記のようにAlmaLinux Test Page が表示されればOK

⑤Welcomeページを非表示にし、Test Pageとして新規にindex.htmlファイルを作成し、apacheの動作確認

ウェルカムページをリネームする

HTML テストページを作成

http://[サーバーIPアドレス] にアクセスすると下記のようにTest Page が表示されればOK

1.3 バーチャルホストの設定

バーチャルホストで運用するドメイン名 [FQDN] を、ドキュメントルート[/var/www/html/[FQDN]] ディレクトリに割り当てて設定します

ドキュメントディレクトリーの作成

Apacheの再起動

2. CGIスクリプトの利用確認

①CGIの利用可確認

②テストスクリプトを作成し、作動確認

3. PHPのインストールと設定

3.1.PHP8インストール

①インストール

②バージョン確認

Php8.4をインストールする場合はRemi リポジトリが必要になるので、導入していない方はインストールします。

PHP をいったん停止します。

PHP 8.4 のインストール

php-fpm の設定

③Apache の再起動
PHP インストール後は、Apache  を再起動すればデフォルトで PHP-FPM (FPM : FastCGI Process Manager) が呼び出され、httpd の起動と連動して php-fpm サービスも起動されます

④PHP の動作確認
下記のファイルを作成

ブラウザでhttp://[ドメイン名]/test.phpにアクセスすると下記のような画面が表示されればOK

4. Apache2でDigest認証を行う

http の認証認定方式として有名なBasic 認証は認証情報を平文で送信するので、パケット盗聴されるとID とパスワードが漏洩する危険があります。
一方、Digest 認証は認証情報を暗号化して送信するので、情報漏えいの心配がほとんどありません。Digest 認証はBasic 認証を強化した認証認定方式と言えます。

4.1 Digest認証のパスワードファイルを作成

realmと呼ばれる認証領域を指定する。このrealmが同じディレクトリは認証済みとしてアクセスできるようにするためのものです。
今回は例として、realmは"DigestAuth"で、"secretuser"と言うユーザー及びパスワードファイル".digestauth"を作成する。下記のコマンドを実行すると"secretuser"のパスワードを求められるので入力する。

確認する

上記の通り、secretuserと暗号化されたパスワードが作成されています

4.2 Apacheの設定ファイル編集

Digest認証をかけるディレクトリを指定する。(今回はsecretディレクトリーを指定する)

最後尾に下記追加

Digest認証をかけるディレクトリを作成する

Digest認証を有効にして再起動する

ブラウザでhttp://[FQDN]/secretにアクセスすると「ユーザー名」「パスワード」求める画面が出る

タイトルとURLをコピーしました