猫と水槽

ペットの猫と熱帯魚のブログ

スポンサーサイト

--年--月--日 --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

--年--月--日 --:-- トラックバック(-) コメント(-)

Apache2.4(Windows版x64)にWindowsドメイン認証を利用して、シングルサインインを実装する

2013年11月24日 13:33

今回のWebサーバー再構築では前回までの記事のとおり、2013/11/15現在の最新版をインストールしましたが、過去に作成したPerlスクリプトが動作しなかったりと、毎度おなじみの嵌ってはネット検索の繰り返しです。

その中で、今回Crypt::PasswdMD5のモジュール呼び出し失敗のログはモジュールの追加で回避できたものの、そもそも何で社内イントラ内部なのにわざわざ認証していたかと考えた時、単にオペレータを認識したかっただけだと言う2年前の妥協点に遡り、今回はドメイン認証を利用したシングルサインインを実装することにしました。

ネット検索のフレーズとして「Apache2.4 ドメイン認証」で検索するとなかなか目的の情報にヒットせず、「Apache ドメイン認証」で検索した、Windows上のApache httpdでドメイン認証を使うの記事を参考にさせていただき、http://sourceforge.net/projects/mod-auth-sspi/からmod_auth_sspiをダウンロードして設定したのですが、Aapcheが起動しなくなり、起動時のエラーを元にまたまたネット検索のはじまりはじまり・・・
Last Updateは 2013-05-01 となっているものの、しっかりとmod_auth_sspi - Apache 2.x SSPI authentication module which let Apache 2.x users authenticate against Win32 domains.と書いてあるし、実際に解凍したモジュールの更新日は2006/05/17でした。

それならば、64bit版があれば動作するのでは!?と「mod_auth_sspi 64bit」で検索して、Index of /package/kmx/mod_auth_sspi/x64に置いてある、mod_auth_sspi.soとsspipkgs.exeを使ってみると、やはりApacheが起動しない!!しかもログさえ更新されないので何が問題なのかすら分からない

それからは、英文の掲示板やらを翻訳しながら四苦八苦してやっと成功したので、同じ苦労をする人が減るように記事に残します

結論はmod_auth_sspiでは無く、mod_authnz_sspiを使え!!

Apache Hausに置いてあるmod_authnz_sspi-0.1.0a1-2.4.x-x64-r2.zipをダウンロードして解凍する。[版数はその時点の最新版を使用]

②解凍したフォルダ内のApache/binにあるsspipkgs.exeをサーバーのApache24/bin配下へコピー

③解凍したフォルダ内のApache/moduleにあるmod_authnz_sspi.soをサーバーのApache24/module配下へコピー

④Apache24/confのhttpd.confに以下の記述を追加。[場所は最終行でも可能]


<IfModule !mod_authnz_sspi.c>
LoadModule authnz_sspi_module modules/mod_authnz_sspi.so ⇐ モジュール読み込みの記述は添付されているmod_auth_sspi.confでは LoadModule sspi_auth_module modules/mod_authnz_sspi.so と記載されているが、そのままではエラーとなるので、コピペした場合は必ず書き換える
</IfModule>
#
# Configuration for mod_auth_sspi
<IfModule mod_authnz_sspi.c>
<Location />
AuthName "A Protected Place"
AuthType SSPI
SSPIOmitDomain on ⇐ 私の環境ではドメインユーザIDだけが必要だったのでオプションを追記
SSPIAuth On
SSPIAuthoritative On
SSPIOfferBasic On
# SSPIBasicPreferred
# SSPIUsernameCase lower
require valid-sspi-user
</Location>
</IfModule>
# End of mod_authnz_sspi.


以上で、ドメインにログインしているユーザは認証無しで開き、ドメインにログインしていないユーザがアクセスすると認証画面が表示するWebサーバーが構築できました。

新しいバージョンで構築しようとすると、日本語のサイトがなかなかヒットしないので、このメモがお役に立てると幸いです。

ちなみに、この答えはApache LoungeのWill there be a mod_auth_sspi for 2.4?の掲示板の中段以降のPosted: Tue 25 Sep '12 14:54の記事からたどり着きました

スポンサーサイト

2013年11月24日 13:33 トラックバック(0) コメント(0)

ムサシ旅立ち

2013年11月18日 05:29

2013/11/18 am04:30
家族全員に看取られて旅立ちました。
若かっただけに癌の進行が早く、発病が発覚してから約1ヶ月の闘病生活でした。

2013年11月18日 05:29 トラックバック(0) コメント(5)

phpMyAdmin-4.0.9-all-languagesのインストール

2013年11月16日 12:25

phpMyAdminの日本語ミラーサイト からWindows用の最新版をダウンロード。

2013/11/15現在の最新版は phpMyAdmin-4.0.9-all-languages.zip (日付: 2013-11-04, サイズ: 8.2 MB) でした。

ダウンロードしたZIPファイルを解凍すると phpMyAdmin-4.0.9-all-languages と言う長ったらしいフォルダができていますので、phpMyAdminなど適当な短めの長さのファイル名に変更します。

その後、このフォルダごと適当な場所に設置するのですが、Apacheのルートディレクトリに直接設置するのは危険なので、Apacheのhttpd.confなどでAlias設定することをお勧めします。

設定がおわったら、http://hogehoge.com/****/index.php でphpMyAdminが起動するはずです。
もちろんhogehoge.comはドメイン名、****は先ほどのAliasで設定した名称です。

ここで、良くあるエラーと言えば
真っ赤な帯とともに表示される、phpMyAdmin - Error だと思いますが、MySQL拡張の設定漏れが大半で、php-5.5.6-Win32-VC11-x64のインストールのページに紹介しているphp.iniの設定で回避できるはずです。

2013年11月16日 12:25 トラックバック(0) コメント(0)

ActivePerl-5.16.3.1603-MSWin32-x64-296746のインストール

2013年11月16日 12:21

ActiveState のダウンロードページより Windows(64-bit, x64) の最新版をダウンロードしてインストールしました。

2013/11/15時点での最新版は Version 5.16.3.1603 となっており、インストラー付きの ActivePerl-5.16.3.1603-MSWin32-x64-296746.msi がダウンロードされました。

画面遷移も今までと特に変わったところも無くインストールされ、今回のApache2.4.6の64bit VC11版でも動作することは確認できましたが・・・過去に作成し、Apache2.4.xの32bit VC9版で動作していたCGIが動作しません!!

Apacheのログを見るとDBIやCrypt::PasswdMD5など様々なモジュールの呼び出しに失敗しており、1年前の悪夢が蘇ってきました

この続きは来週更新予定です!!

2013年11月16日 12:21 トラックバック(0) コメント(0)

php-5.5.6-Win32-VC11-x64のインストール

2013年11月16日 11:57

待ちに待った64bit版のPHPがリリースされたので早速使ってみることにしました。

なんせ、1年前にWindows2008R2配下でPerl,php,mysqlを動作させようとして苦戦した結果、phpが32bit版しか無く、これを動作させようとするとApacheまで32bit版にしないと動作しなかったのです。

やり方がまずかった可能性は高いのですが、ネット検索しまくっても解決できず断念してました。

今回はApacheの64bit + phpの64bit の組み合わせで動作することに期待して、早速 PHP For Windowsのダウンロードページ から VC11 x64 Thread Safe (2013-Nov-13 20:57:47) をダウンロードしました。

毎度のことですが、PHP For Windowsのダウンロードページでは「 Non Thread Safe 」版と「 Thread Safe 」版がありますのでご注意を!!

勿論、今回使用するApacheも2.4.6-win64-VC11ですから、phpも迷わず・・・てか、間違ったら動作しない!?はずなので  VC11 x64 Thread Safe の方をダウンロードします。

当たり前ですが、Non Thread Safe版をダウンロードしても phpApache2_4.dll などが入ってませんから

ダウンロードした php-5.5.6-Win32-VC11-x64.zip ファイルを解凍し、展開されたすべてのファイルをC:ドライブ直下のphp64と言うフォルダーに設置します。⇒ まっ、何でも良いのですが、従来の32bit版ではphpと言うフォルダーに設置していたので明示的に64を付けて C:/php64/ にしました(笑)

次に、php.iniファイルの設定例について書きますが、昨日現在でまだ完全に設定できていないので、随時更新します。⇒ php.ini ディレクティブのリストを参考にしました。

C:/php64/php.ini-development をコピーしてphp.iniと名前を変更し、エディターなどで開きます。


673行
  post_max_size = 8M
個人的にphpmyadminなどでデータのアップロードやダウンロードをすることが多いので容量を変更
  post_max_size = 20M

693行
  ;default_charset = "UTF-8"
mysqlのDBも含めて、CGI,HTML類もUTF-8に統一しているので、コメントアウトして有効化する
  default_charset = "UTF-8"

720行
  doc_root =
IIS以外のWebサーバーのもとでCGIとしてPHPを実行する際には、 doc_rootを指定するべきですとなっているので入れておこう!!
  doc_root = "c:\Apache24\htdocs"

731行
  ; extension_dir = "ext"
動的にロード可能な拡張モジュールを置くディレクトリを 指定します。フォルダ名を変更していなければ・・
  extension_dir = "c:\php64\ext"

805行
  upload_max_filesize = 2M
673行ど同様に容量を増やしておきます。
  upload_max_filesize = 20M

867行~898行
  ここが、まだ設定途中なんで、随時更新します。
  現時点では
876行 ;ension=php_gd2.dll
883行 ;extension=php_mbstring.dll
885行 ;extension=php_mysql.dll
886行 ;extension=php_mysqli.dll
  を有効化しましたが、phpMyAdminなどとのセッティング中です。
  ension=php_gd2.dll
  extension=php_mbstring.dll
  extension=php_mysql.dll
  extension=php_mysqli.dll

1736行~1769行

1736行 ;mbstring.language = Japanese
1742行 ;mbstring.internal_encoding = UTF-8
1746行 ;mbstring.http_input = UTF-8
1751行 ;mbstring.http_output = pass
1764行 ;mbstring.detect_order = auto
1769行 ;mbstring.substitute_character = none
  [mbstring]関連の設定で、コメントアウトを外して有効化し、一部内容を設定しました。
  mbstring.language = Japanese
  mbstring.internal_encoding = UTF-8
  mbstring.http_input = pass
  mbstring.http_output = pass
  mbstring.detect_order = UTF-8,SJIS,EUC-JP,JIS,ASCII
  mbstring.substitute_character = none

以上の設定でとりあえず Apache2.4.6 VC11 と php-5.5.6 VC11 の組み合わせで動作することはできました。

2013年11月16日 11:57 トラックバック(0) コメント(0)

Apache 2.4.6 Win64を使ってみる

2013年11月16日 11:45

まずは、Apacheをインストールしないと話が進まないので、Apache Loungeより httpd-2.4.6-win64-VC11.zip(15 Jul '13) をダウンロードします。IISファンの方はスルーしてください(笑)

私がやりたかったのは、やっと出た64bit版PHPをインストール^^ php-5.5.6-Win32-VC11-x64 に書いたように、新しくリリースされたPHP5.5.6の64bit版を試したかったので Apache 2.4.6 Win64も 同様に VC11 の方をダウンロードしました。

また、このページの中段以降に Apache 2.4 Modules VC11 が用意されており、赤丸がついている modules-2.4-win64-VC11.zip (5 Oct '13) もついでにダウンロードします。
このZipにはその下に表示している複数のモジュールがすべて含まれます。

先頭の注意書きにもあるようにVC11を動作させるためには、Visual Studio 2012がインストールされている必要があり、未インストールのマシンへは Visual C +のVisual Studio 2012 +再頒布可能パッケージがインストールされていることが条件 となりますので Visual C +のVisual Studio 2012 +再頒布可能パッケージ もダウンロードします。

以上3つのファイルをダウンロードしました。
httpd-2.4.6-win64-VC11
modules-2.4-win64-VC11
Visual Studio 2012 更新プログラム 4 の Visual C++ 再頒布可能パッケージ


Apache Loungeよりダウンロードしたhttpd-2.4.6-win64-VC11.zipファイルを解凍し、Apache24というフォルダーとファイルができますので、C:ドライブ直下にフォルダごと置いてください。

modules-2.4-win64-VC11については、必要なモジュールのみを先ほど設置したApache24の中のmodulesフォルダ内へ、*******.soを移します。
各モジュールの設定方法などは、それぞれのフォルダにあるReadMe.txtに書かれていますが、WindowsまたはLinuxのビルドの手順など、そのほとんどはgoogleに公開されていて、URLが記載されているだけです。

但し、最低限言えるのは、使用するモジュールはデフォルトで入っているものも含め、必ずApacheのcongifの設定で有効化が必要です。

Visual C +のVisual Studio 2012 +再頒布可能パッケージにつていも、exeファイルを実行し、画面にしたがってインストールするだけです。

では、ここからは、configファイルの設定例を記載します。
上記説明と同じサイトから入手したzipファイルを解凍したApache 2.4 binariesに添付されているconfigファイルでの設定例となりますので、行数などは参考程度にお考えください。

C:/Apache24/conf/httpd.conf をエディターなどで開きます。


176行
  #LoadModule 関連の最終行などにphp5_moduleの記載を追加
  LoadModule php5_module "c:/php64/php5apache2_4.dll" ⇒ 注意php64などのパスは自分の環境に合わせてください。

208行
  ServerAdmin admin@example.com
自分のメルアドなどサーバー管理者のアドレスへ変更
  ServerAdmin heboadmin@hogehoge.com

217行
  #ServerName www.example.com:80
サーバー名や場合によっては使用するポートを指定します。
  ServerName www.hogehoge.com

255行
  Options Indexes FollowSymLinks
私の場合、DocumentRootでもphpなどを動作させたいのでExecCGIを追記するのと、万が一index.****が存在しない場合にファイル一覧が表示するのを防止するため、Indexesオプションを消す。
  Options FollowSymLinks ExecCGI

275行
  DirectoryIndex index.html
cgiやphpを追記
  DirectoryIndex index.html index.cgi index.pl index.php

413行
  #AddHandler cgi-script .cgi
CGIを有効化
  AddHandler cgi-script .cgi .pl

425行付近
  
からの間にPHPのMIMEタイプを追加(ちなみに、httpd.conf内であればどこに書いても一応動作するのですが・・・)
  AddType application/x-httpd-php .php
  AddType application/x-httpd-php-source .phps
  

530行
  このファイルの最終行に、phpの設定ファイルphp.iniの設置場所を指定する
  PHPInidir "C:/php64" ⇒ 注意php64などのパスは自分の環境に合わせてください。

  


以上で上書き保存します。

以前はWindowsで動作させる場合は、php.iniやphp5.dllはC:\windows もしくは C:\winntの直下に置かないといけないとか制約があったようですが、PHP 5.2.0 以降では、PHP のバージョンごとに別の場所の php.ini を使用することができます。

私の場合はphp-5.5.6-Win32-VC11-x64のインストールで解凍したファイルをC:ドライブ直下のphp64と言うフォルダーに展開したのでC:/php64としています。

2013年11月16日 11:45 トラックバック(0) コメント(0)

やっと出た64bit版PHPをインストール^^ php-5.5.6-Win32-VC11-x64

2013年11月16日 10:55

えーーー、最近テンション下がりっぱなしの記事が続いていたので、このブログにはふさわしく無いネタを連続投稿します!!

と言うのも、前回は約1年前Apache2.4でSession Cache is not configured [hint: SSLSessionCache]ではまった話しを、続けてもう一つの嵌った話し Fatal error: Class 'ArrayObject' not found in List.class.php on line 15.を投稿したところ、更新回数もタジタジのこのブログに、検索エンジンからの訪問者が絶えないことから、何かお役に立ててるような!?錯覚があります。

で、1年ぶりに社内のサーバーの一部を仮想サーバーへ引っ越す作業をしてたら、64bit版のPHP VC11 x64 Thread Safe (2013-Nov-13 20:57:47) が出てたので、1年前はphp5.4 win32(windows.php.net)が動作しないがために、OSはWindows 2008R2にもかかわらず仕方なくApacheもhttpd-2.4.3-win32-VC9.zipを使っていましたが、今回64bit版のPHPを試してApacheの64bitで動作させようと実験しました。


今回のテスト環境は以下のとおりです。
記事が長くなるので、ここから先は下の各リンクで手順を記載します。


Visual Studio 2012 更新プログラム 4 の Visual C++ 再頒布可能パッケージ
httpd-2.4.6-win64-VC11
modules-2.4-win64-VC11


php-5.5.6-Win32-VC11-x64
ActivePerl-5.16.3.1603-MSWin32-x64-296746

mysql-5.6.14-winx64
phpMyAdmin-4.0.9-all-languages

2013年11月16日 10:55 トラックバック(0) コメント(0)

ペット用酸素ハウスをレンタルしました

2013年11月10日 15:59

うちが一番落ち着く様子だったので、退院させて連れ帰ったのですが、呼吸が苦しそうだから・・・と、火曜日に再入院。

病院の酸素補填のケージに預ける日々が続いていたところ獣医さんからペット用酸素ハウスを紹介されました。

先生がネット検索とかで調べてくれたようで、テルコム社のホームページから久留米市の代理店へ連絡して昨日からレンタルを開始し、今日からムサシを帰宅させることができました。

2013111001.jpg


ゲージの上にはゲージ内の温度が見れる温度計がついています。

2013111002.jpg


こちらがコンプレッサーとかが動作している本体です。音はちょっと大きいですが、うちは水槽クーラーの音で慣れてるので我慢できる範囲内です。

2013111003.jpg



少しでも落ち着く場所で生活させたいのは飼い主共通の願いだと思い、ブログでも紹介してみようと記事にしました。

2013年11月10日 15:59 トラックバック(0) コメント(2)

ガンバレ!! ムサシ

2013年11月03日 10:35

悪性のリンパ腫の疑いが高いとの診断で、10/28に1回目の抗がん剤を投与して頂き経過観察となっていましたが、その後全く食べ物を口にしなくなり、毎日点滴と注射のための通院が続いています。

先週までは、カリカリの固形の餌も食べていたのですが、ますます衰弱しているようで昨日も念のため入院しましたが、酸素濃度を高めた部屋でも動き回ることが無くなったとのことで本日、帰宅させました。

家に着くと、ヨタヨタしながらも自分のお気に入りの場所へ移動しては横たわり、リビングの隅においてある水も自分で飲みにいきます。

やはり家が一番安心するみたいなので、そっと見守りながら治療を続けます。

元気な頃のムサシの写真や動画を振り返りながら、お気に入りの写真などを掲載したいと思います。
同じような辛い生活をしているペットの飼い主様にも元気になっていただけるような写真で、2011年09月23日にスライドショーにして「いつもいっしょ^^」というタイトルで掲載したときのものです。

F1000334.jpg


こんなあくびをもう一度見たいなぁー

2013年11月03日 10:35 トラックバック(0) コメント(0)

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。