【FreeRADIUS講座 第4回】黒い画面はもう卒業!Web GUI「daloRADIUS」でユーザー管理を視覚化せよ

「ユーザー追加、スマホからやっといて!」に応える技術。

こんにちは!「LINUX工房」管理人の「リナックス先生」です。
前回は、FreeRADIUSとMariaDB(MySQL)を連携させ、大量のユーザーをデータベースで管理する方法を学びました。

でも、正直に言いましょう。
「毎回SQLコマンドを打つの、面倒くさくないですか?」
ユーザー追加のたびに黒い画面を開いて INSERT INTO... と入力するのは、エンジニアにとっては苦でなくても、引き継ぎを受けた後任者や、非エンジニアの上司には不可能です。

コウ君

先生、図星です!
SQL文法を間違えてエラーになることもあるし、今のユーザー一覧を見るだけでも SELECT 文を打つのが手間です。
Wi-Fiの管理画面みたいに、ブラウザからポチポチ操作できる画面はないんですか?

リナックス先生

あるわよ、コウ君。
それが「daloRADIUS(ダロラディウス)」よ。
これを使えば、ユーザーの追加・削除はもちろん、誰がいつ接続したかというグラフィカルなログ確認まで、全てWebブラウザ上で完結するの。
今回は、この強力なGUIツールをインストールして、運用を劇的に楽にしましょう!

本記事では、Webサーバー(Apache/PHP)の構築から始め、daloRADIUSのインストール、データベースの拡張設定、そして実際の画面操作までをステップバイステップで解説します。

🔐 FreeRADIUS完全攻略講座(バックナンバー)

※本記事は、第3回の「DB連携」が完了していることを前提としています。


第1章:daloRADIUSとは?仕組みを理解する

daloRADIUSは、FreeRADIUSそのものを操作するツールではありません。
正しくは、「FreeRADIUSが参照しているデータベース(MariaDB)を操作するWebアプリ」です。

  • FreeRADIUSは、DBを見て認証を行います。
  • daloRADIUSは、DBにデータを書き込みます。
  • 両者は「データベース」という共通の場所を通じて連携しています。

つまり、daloRADIUSでユーザーを追加すれば、即座にFreeRADIUSでもそのユーザーが有効になります。
再起動などは一切不要です。


第2章:WebサーバーとPHP環境の構築

daloRADIUSはPHPで書かれたWebアプリケーションです。
まずはAlmaLinux 9上でWebサーバー(Apache)とPHP環境を整えます。

1. 必要パッケージのインストール

daloRADIUSを動かすために必要なパッケージ群をインストールします。
特に php-pearphp-mysqlnd が重要です。

sudo dnf install httpd php php-cli php-common php-mysqlnd php-gd php-mbstring php-xml php-pear git wget -y

2. PEARライブラリの導入

daloRADIUSは、少し古い「PEAR::DB」というライブラリを使用しています。
これはDNFコマンドでは入らないため、pear コマンドを使って追加インストールします。

sudo pear install DB

※「WARNING」が出ることがありますが、install ok と表示されれば問題ありません。

3. Webサーバーの起動と設定

# 起動と自動起動
sudo systemctl start httpd
sudo systemctl enable httpd

# ファイアウォールでHTTP(80番)を開放
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --reload

第3章:daloRADIUSのインストール

公式のGitHubリポジトリからソースコードをダウンロードして配置します。

1. ソースコードのダウンロード

Web公開ディレクトリ(/var/www/html/)に配置します。

cd /var/www/html
sudo git clone https://github.com/lirantal/daloradius.git

2. 権限の設定

Apacheがファイルを読み書きできるように、所有権を変更します。

sudo chown -R apache:apache /var/www/html/daloradius
sudo chmod 664 /var/www/html/daloradius/library/daloradius.conf.php

第4章:データベースの拡張(テーブル追加)

ここが最大の難所です。
第3回ですでに「radius」データベースとテーブル(radcheckなど)を作成しましたが、daloRADIUSはそれに加えて「管理画面用の独自テーブル」を必要とします。

1. SQLファイルの場所を確認

daloRADIUSのソースコード内に、必要なSQLファイルが同梱されています。
/var/www/html/daloradius/contrib/db/ ディレクトリを確認してください。

今回は、既存のFreeRADIUS用テーブルはそのままに、daloRADIUS用のテーブルだけを追加します。
使用するファイルは mysql-daloradius.sql です。

2. テーブルのインポート

# radiusデータベースに追加テーブルを流し込む
mysql -u radius -p radius < /var/www/html/daloradius/contrib/db/mysql-daloradius.sql
# パスワード入力 (radpass)

3. 確認

DBに入って確認してみましょう。

mysql -u radius -p -e "USE radius; SHOW TABLES;"

operators(管理者情報)や userinfo(ユーザーの詳細情報)といったテーブルが増えていれば成功です。


第5章:daloRADIUSの設定とログイン

Web画面にアクセスする前に、daloRADIUS自身にDBへの接続情報を教えてあげます。

1. 設定ファイルの編集

sudo nano /var/www/html/daloradius/library/daloradius.conf.php

以下の箇所を探し、第3回で設定したDB情報を入力します。

$configValues['CONFIG_DB_HOST'] = 'localhost';
$configValues['CONFIG_DB_PORT'] = '3306';
$configValues['CONFIG_DB_USER'] = 'radius';   // DBユーザー名
$configValues['CONFIG_DB_PASS'] = 'radpass';  // DBパスワード
$configValues['CONFIG_DB_NAME'] = 'radius';   // DB名

2. ブラウザからアクセス

PCのブラウザを開き、以下のURLにアクセスしてください。

http://(サーバーIP)/daloradius/

青いログイン画面が表示されましたか?
初期IDとパスワードは以下の通りです。

  • Username: administrator
  • Password: radius

⚠️ セキュリティ警告
初期パスワードのまま運用するのは極めて危険です。
ログイン後、必ず [Config] -> [Operators] メニューからパスワードを変更してください。


第6章:daloRADIUSの使い方(実践編)

無事にログインできたら、実際に使ってみましょう。
英語のインターフェースですが、使う機能は限られています。

1. ユーザーの追加 (New User)

  1. 左メニューの [Management] をクリック。
  2. [Users] -> [New User] をクリック。
  3. Username: 追加したいユーザー名を入力(例: webuser01)。
  4. Password: パスワードを入力。
  5. Password Type: Cleartext-Password を選択(これ重要!)。
  6. [Apply] ボタンをクリック。

これだけでユーザー追加完了です!
DBに自動的にINSERTされ、即座にWi-Fi接続などに使えるようになります。

2. ユーザー一覧の確認 (List Users)

  1. [Management] -> [Users] -> [List Users] をクリック。
  2. 登録されているユーザーがズラリと表示されます。
  3. 右側の「Edit」や「Delete」アイコンから、編集や削除もワンクリックです。

3. 接続ログの確認 (Accounting)

「誰がいつ繋いだか」を確認する機能です。

  1. [Reporting] -> [Accounting] -> [Generic] をクリック。
  2. 条件を指定して検索すると、接続履歴(Start Time, Stop Time, Upload/Download量など)が表示されます。

4. NAS(ルーター)の追加

clients.conf を編集しなくても、ここからルーターを追加できます。
(※ただし、第3回の設定で read_clients = yes を有効にしている必要があります)

  1. [Management] -> [Nas] -> [New Nas] をクリック。
  2. IP Address: ルーターのIP。
  3. Secret: 共有シークレット。
  4. Short Name: 管理名。
  5. Type: other を選択。
  6. [Apply] をクリック。

第7章:トラブルシューティング Q&A

Q1. 画面が真っ白になる / "HTTP ERROR 500"

原因: PHPのエラーが発生しています。
対策: /var/log/httpd/error_log を確認してください。
よくあるのが「PEAR::DBが見つからない」というエラーです。第2章の pear install DB を忘れていないか確認してください。

Q2. "Database connection error" と表示される

原因: daloradius.conf.php の設定ミス。
対策: ユーザー名、パスワード、DB名が正しいか再確認してください。
また、SELinuxがhttpdからのDB接続をブロックしている可能性もあります。
sudo setsebool -P httpd_can_network_connect_db 1 を試してみてください。

Q3. ユーザーを追加したのに認証できない

原因: Password Type の選択ミス。
対策: ユーザー追加時に Cleartext-Password 以外(MD5など)を選んでいませんか?
FreeRADIUSの標準設定ではCleartext-Passwordを期待しているため、これ以外だと認証に失敗することがあります。


まとめ:運用管理の近代化完了!

お疲れ様でした!
これで、黒い画面とはおさらばです。
daloRADIUSを使えば、外出先からタブレットでユーザーを追加したり、障害時にログをスマホで確認したりすることも可能です。

今回の重要ポイント:

  • daloRADIUSはDBを操作するWebアプリである。
  • Apache + PHP + PEAR::DB の環境が必要。
  • FreeRADIUS用テーブルに、daloRADIUS用テーブルを追加インポートする。
  • ユーザー追加時は Cleartext-Password を選ぶ。

さて、ここまでは「IDとパスワード」による認証の話でした。
しかし、ID/パスワードは流出のリスクがあります。
より強固なセキュリティ、例えば「電子証明書が入った端末しか接続させない」ようにするにはどうすればいいでしょうか?

次回、第5回は「Wi-Fi認証の鉄板!EAP-PEAP認証と電子証明書の作成」です。
いよいよRADIUSの真骨頂、エンタープライズWi-Fiの構築に入ります。
証明書を使った最強のセキュリティ環境を構築しましょう。お楽しみに!

▼ エンジニアとしてのキャリアを加速させる ▼

Web管理画面を構築
「VPS」で自分専用環境

おすすめVPSを見る

サーバー知識を年収に
「ITエンジニア転職」

転職エージェントを見る

コメント