「ユーザー追加、スマホからやっといて!」に応える技術。
こんにちは!「LINUX工房」管理人の「リナックス先生」です。
前回は、FreeRADIUSとMariaDB(MySQL)を連携させ、大量のユーザーをデータベースで管理する方法を学びました。
でも、正直に言いましょう。
「毎回SQLコマンドを打つの、面倒くさくないですか?」
ユーザー追加のたびに黒い画面を開いて INSERT INTO... と入力するのは、エンジニアにとっては苦でなくても、引き継ぎを受けた後任者や、非エンジニアの上司には不可能です。
先生、図星です!
SQL文法を間違えてエラーになることもあるし、今のユーザー一覧を見るだけでも SELECT 文を打つのが手間です。
Wi-Fiの管理画面みたいに、ブラウザからポチポチ操作できる画面はないんですか?
あるわよ、コウ君。
それが「daloRADIUS(ダロラディウス)」よ。
これを使えば、ユーザーの追加・削除はもちろん、誰がいつ接続したかというグラフィカルなログ確認まで、全てWebブラウザ上で完結するの。
今回は、この強力なGUIツールをインストールして、運用を劇的に楽にしましょう!
本記事では、Webサーバー(Apache/PHP)の構築から始め、daloRADIUSのインストール、データベースの拡張設定、そして実際の画面操作までをステップバイステップで解説します。
🔐 FreeRADIUS完全攻略講座(バックナンバー)
※本記事は、第3回の「DB連携」が完了していることを前提としています。
- 【第1回】RADIUSサーバーとは?仕組みの完全図解とインストール
- 【第2回】基本設定とユーザー追加(clients.conf/users)&接続テスト
- 【第3回】脱・テキスト管理!MariaDB(MySQL)との連携設定
- 【第4回】Web GUIで楽々管理!daloRADIUSの導入と設定
- 【第5回】Wi-Fi認証の鉄板!EAP-PEAP認証と電子証明書の作成
- 【第6回】セキュリティ極限強化!Google Authenticatorによる多要素認証
- 【第7回】「誰がいつ繋いだ?」ログ管理とアカウンティングの極意
- 【第8回】トラブルシューティングと冗長化(Failover)構成
第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-pear や php-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)
- 左メニューの [Management] をクリック。
- [Users] -> [New User] をクリック。
- Username: 追加したいユーザー名を入力(例:
webuser01)。 - Password: パスワードを入力。
- Password Type:
Cleartext-Passwordを選択(これ重要!)。 - [Apply] ボタンをクリック。
これだけでユーザー追加完了です!
DBに自動的にINSERTされ、即座にWi-Fi接続などに使えるようになります。
2. ユーザー一覧の確認 (List Users)
- [Management] -> [Users] -> [List Users] をクリック。
- 登録されているユーザーがズラリと表示されます。
- 右側の「Edit」や「Delete」アイコンから、編集や削除もワンクリックです。
3. 接続ログの確認 (Accounting)
「誰がいつ繋いだか」を確認する機能です。
- [Reporting] -> [Accounting] -> [Generic] をクリック。
- 条件を指定して検索すると、接続履歴(Start Time, Stop Time, Upload/Download量など)が表示されます。
4. NAS(ルーター)の追加
clients.conf を編集しなくても、ここからルーターを追加できます。
(※ただし、第3回の設定で read_clients = yes を有効にしている必要があります)
- [Management] -> [Nas] -> [New Nas] をクリック。
- IP Address: ルーターのIP。
- Secret: 共有シークレット。
- Short Name: 管理名。
- Type:
otherを選択。 - [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」で自分専用環境
サーバー知識を年収に
「ITエンジニア転職」


コメント