memorandums

日々の生活で問題解決したこと、知ってよかったことなどを自分が思い出すために記録しています。

WordPressをApache+ActiveDirectoryで認証つきにした

学科の求人情報を公開するページを慣れたWordPressで作っていました。昨年秋から就職委員を仰せつかったためです。

もう少し詳しく書きますと、大学としての求人情報サイトは当然あるのですが、封筒入りで到着した紙の求人票は掲示することになります。掲示とあわせて事務の方でスキャンしたPDFをゼミ指導教員に送ってくれるのですが、これまではこれをメールで担当学生に配布していました。これを学科分をまとめて就職委員が公開しようという趣旨です。

求人情報サイトといっても受信したメールの本文と添付されたPDFファイルをドラッグ&ドロップしてコンテンツを作るだけなので時間はあまりかかりませんでした。

Googleサーチなどにひっかかってもあまりいいものではないでしょうから、一応、Apacheで認証を設定しました。ただ、唯一のIDってのもあまりよろしくないような気がしました。幸いなことに電算センターの更新でID情報がActiveDirectoryで連携していますので、それを利用することにしました。サイトを昨日から作り始めて、本日はその設定でつぶれました。。。とりあえずあれこれ調べて動くようになりました。

詳しい情報は書けませんが参考にしたサイトなど備忘録までメモしておきます。

 

Apacheの設定

こちらのサイトを参考にさせてもらいました。英語ですが。。。この設定で動きました。日本語でも関連するエントリーがいろいろあるのですが動かないものもいくつかありました。

最初、WordPressのディレクトリ内に.htaccessを設定したのですが、定義が散在しないようにこのページにある通りにLocationで指定しました。ちなみにWebサーバーはRHELです。ADサーバーは確かWindows Server 2008だったと思います。

経験がなかったので試行錯誤で時間がかかりましたが、このページの内容を記述するには認証したいユーザの識別名を知る必要があります。今回の場合はWebサーバーとADサーバーが別サーバーだったためファイアーウォールの設定なども必要になりました。その上でWebサーバーからADサーバーにアクセスして検索できるかldapsearchで確認しました。識別名の指定もあわせて確認ですね。

次に、LDAPバインド用のユーザーが必要であることがわかりまして、自分のIDを流用しようかとも思いましたがパスワードを明記しなければならないので、見よう見まねでADサーバーの管理ツールでユーザを作成しました。作成したユーザの識別名を調べるにはコマンドプロンプトでdsqueryというldapsearchのようなコマンドが利用できました。使い方はこちらを参考にしました。

最後に困ったのが。。。学生と教員が別々のouで定義されているため、AuthLDAPURL にどうやって複数のouを定義すればいいのかわからず。。。これで1時間くらい悩みました。このようなエントリーもあったのですができず。。。結局、ここは解決できずouを指定しない方法で逃げました。恐らく、絞り込まない分、検索が遅いのでしょうね。。。とりあえずアクセスする人数も頻度もそれほど高くないのでいいのかな。。。と。

とりあえず今、作業が終わって頭にあることを書きました。これを読んでも直接の解決にはならないでしょうね。とりあえず自分用のメモでした。

よし、帰ろう!明日から出張。