‘環境’ カテゴリーのアーカイブ

Windows Azure SDK for PHP v3.0.0 BETA

2011年4月24日 日曜日

Windows AzureでPHPを利用してAzure Storageなどを利用するのにかかすことのできない、Windows Azure SDK for PHPのv3.0.0 BETAがリリースされました。

>> Windows Azure SDK for PHP v3.0.0 BETA released - Maarten Balliauw {blog}

>> ダウンロード

変更点は以下みたいです。(私のつたない英語の理解力ではまちがってるところもあるかと…ご指摘くださいm(__)m)

  • 変更:Azure TableのDateTime型の値が、Edm.DateTime型として扱えるようになりました。(今まではEdm.String型だったっぽい。)
  • 新機能:サービス管理APIが追加されました。(Microsoft_WindowsAzure_Management_*というクラスたちが追加になっています。)
  • 新機能:Table Storageにログを出力できるようになりました。(Microsoft_WindowsAzure_Log_*というクラスたちが追加になっています。)
  • セッションハンドラが更新されました。今まではセッションデータをTable Storageに持っていましたが、大きなデータは保持できませんでした。Table Storageで大きなセッションデータを保持できるようになりました。
  • Queue Storage clientにhasMessages()メソッドが追加されました。
  • いくつかのBug Fixとパフォーマンスの調整がされました。

Microsoft Web Platform Installer 2.0

2010年1月12日 火曜日

Microsoft Web Platform Installer(WebPI)は、IISとその拡張機能、PHPや.NET Framework、MySQLやSQL ServerなどといったWebプラットフォームや、オープンソースのWebアプリケーションを簡単にインストールするためのツールです。

2010/01/11時点でWebPIでインストールできるWebアプリケーションは以下です。

ここでは、Install Maniax 3のために、WebPIでWindows Server 2008 R2に全てのWebアプリケーションをまとめてインストールします。
Windows Server 2008 R2だけでなく、Windows Server 2008、Windows 7、Windows Vistaでも同じ手順になります。

  1. Microsoft Web Platform Installerのページからダウンロードします。
    Microsoft Web Platform Installer 2.0
  2. ダウンロードしたファイルを実行します。
    webpi02
  3. 「Webアプリケーション」を選択し、今回はコンテストのためになるべく多くのアプリケーションをインストールしたいので、Umbracoを以外のアプリケーションをチェックします。
    UmbracoはDocumentRootじゃないと動かない制限があるので、別途インストールします。
    webpi03
  4. インストールされるアプリケーションを確認します。
    なお、選択したWebアプリケーションに必要なコンポーネント(IISやIISの拡張機能、PHPや.NET Framework、MySQLやSQL Serverなど)も同時にインストールされます。
    webpi04
  5. SQL Serverを利用するアプリケーションをインストールする場合、SQL Serverの認証に関する設定をします。
    一部のアプリケーションはWindows統合認証に対応していません。その場合、混在モード認証にして、saユーザーのパスワードを入力します。
    webpi05
  6. MySQLを利用するアプリケーションをインストールする場合、MySQLのrootユーザーのパスワードを設定します。
    webpi06
  7. IISの利用するWebサイトと、アプリケーションごとに利用するディレクトリ名を入力します。
    Webサイトは、既にIISが動いている場合は、Webアプリケーションを構築するWebサイトを選択(あるいは新規作成)します。
    今までIISを利用していなかったのであれば、「Default Web Site」にします。
    WordPressが日本語版と英語版で同じディレクトリになっているので、ぶつからないように変更します。
    DocumentRootにインストールしたいアプリケーションは空欄にします。
    アプリケーションによって、サーバー名を変更してそのサイトのDocumentRootにインストールしたい場合は、Umbracoの手順を参考にしてください。
    webpi08
  8. ディレクトリ名を空欄にしたアプリケーションがある場合は、wwwrootにあるファイルを上書きする旨の確認が表示されます。
    webpi09
  9. ここからはWebアプリケーションの設定です。
    アプリケーションごとの設定は以下のリンク先に掲載します。

  10. インストールが完了しました。
    インストールされたアプリケーションを確認してください。

    • 私の環境ではResourceBlender.NETとGalleryのインストールが失敗しました。
      追々原因を探っていきたいと思います。
    • Subtextはページを表示するとエラーになってしまいました。
      これについても追々原因を探っていきたいと思います。
    • Sitefinity Community Editionは、DBとそのユーザーを自分で作る必要があります。
      SQL Serverの場合は「SQL Server 2008 データベースの作成」を、MySQLの場合は「MySQL データベースの作成」を参考にしていただければそれができますが、今回は時間が無いのでセットアップしていません。
  11. 引き続き、アプリケーションによっては設定を行って利用できるようになります。

以上

SQL Server 2008 データベースの作成

2009年5月14日 木曜日

WebアプリケーションのデータベースとしてSQL Server 2008を利用する場合、そのアプリケーション専用のデータベースを作成しておくと管理しやすいです。
レンタルの共有サーバーなどで、SQL Server 2008のデータベース数に制限がある場合は、仕方ないですが。

以下に、Microsoft SQL Server Management Studioを利用して、SQL Server 2008 Expressにデータベースを追加する手順を示します。

  1. SQL Server 2008 Expressのインストール
    当サイトの「SQL Server 2008 Express」を参照する。
  2. PHP on IISからSQL Server 2008を利用するための設定
    当サイトの「PHP on IISからSQL Serverを使う」を参照する。
  3. SQL Serverデータベースの作成
    1. Microsoft SQL Server Management Studioを起動する。
      [スタート]メニュー - [プログラム] - [Microsoft SQL Server 2008] - [SQL Server Management Studio]を選択して起動し、サーバーに接続する。
    2. 左側ツリーで[データベース]を右クリックし、「新しいデータベース...」を選択する。
      sql_server_newdb01
    3. 「新しいデータベース」画面で、「データベース名」を入力する。
      sql_server_newdb02
  4. IISユーザーをアプリケーションのデータベースにマッピングする。
    1. 左側ツリーで[セキュリティ] - [ログイン] - [NT AUTHORITY¥IUSR]をダブルクリックする。
      sql_server_newdb03
    2. ログインのプロパティ画面の左側で[ユーザー マッピング]ページを選択する。
      • 「このログインにマップされたユーザー」の一覧で、3-3で入力したデータベースを選択する。
      • 「{データベース名}のデータベース ロール メンバシップ」の一覧で、「db_owner」を選択する。

      sql_server_newdb04

以上

[参考書籍]

PHP on IISからSQL Serverを使う

2009年5月14日 木曜日

IIS上のPHPからSQL Server2008/2005にアクセスするには、以下の手順を踏む必要があります。

  1. Microsoft SQL Server Native Clientのインストール
    Microsoft SQL Server 2008 用 Future Packのダウンロードページの注意事項の一覧から、IISが稼動している環境にあったMicrosoft SQL Server 2008 Native Client(sqlncli*.msi)をダウンロードし、インストールする。
    ページ先頭にある、一括でのダウンロードなどでもかまわない。
  2. SQL Server Driver for PHPのインストール
    1. SQL Server Driver for PHP Version 1.1のダウンロードページから、ファイルをダウンロードする。
    2. ダウンロードしたファイルを適当なフォルダにファイルを展開する。
    3. 展開したファイルの内、以下のファイルをPHPのextension_dir(ex. C:¥php52¥ext)にコピーする。
      • php_sqlsrv_52_nts_vc6.dll
        (Non-thread-safeのPHP5.2を利用している場合)
      • php_sqlsrv_52_ts_vc6.dll
        (Thread-safeのPHP5.2を利用している場合)
      • php_sqlsrv_53_nts_vc9.dll
        (VC9バージョンでNon-thread-safeのPHP5.3を利用している場合)
      • php_sqlsrv_53_ts_vc9.dll
        (VC9バージョンでThread-safeのPHP5.3を利用している場合)
      • php_sqlsrv_53_nts_vc6.dll
        (VC6バージョンでNon-thread-safeのPHP5.3を利用している場合)
      • php_sqlsrv_53_ts_vc6.dll
        (VC6バージョンでThread-safeのPHP5.3を利用している場合)

      ※Non-thread-safeかThread-safeかは、PHPのフォルダにphp5.dllかphp5ts.dllのどちらがあるかで判断できる。

      • php5.dllがある場合、Non-thread-safe
      • php5ts.dllがある場合、Thread-safe

      ※VC9バージョンかVC6バージョンかは、%PHP_HOME%¥snapshot.txtに、「msvcr90.dll」という文字列が含まれるかどうかで判断できる。

      • msvcr90.dllが含まれる場合、VC9
      • msvcr90.dllが含まれない場合、VC6
  3. php.iniファイルの編集
    php.iniファイルにextensionとして、追加したファイルを指定する。
    ex.) extension=php_sqlsrv_53_ts_vc9.dll
    ※ファイル名を変更しても良い
  4. SQL Serverにログインの作成
    IISからWindows認証でログインできるよう、SQL Serverに「NT AUTHORITY¥IUSR」ログインを作成する。

    1. Microsoft SQL Server Management Studioを起動
      [スタート]メニュー - [プログラム] - [Microsoft SQL Server 2008] - [SQL Server Management Studio]を選択し、ログインする。
    2. 左側のツリーで「ログイン」を右クリックし、「新しいログイン...」を選択する。
      sql_server_login01
    3. 「ログイン」 - 新規作成画面で必要な情報を入力する。
      • 「全般」ページ
        ログイン名:NT AUTHORITY¥IUSR
        sql_server_login02
      • 「ユーザー マッピング」ページ
        「このログインにマップされたユーザー」の一覧で、PHPから利用したいデータベースを選択する。
        sql_server_login03

以上

参考)

[2009/08/19] SQL Server Driver for PHP 1.1 CTPのリリースに伴い、バージョンに合わせて内容を修正しました。
SQL Server Driver for PHP 1.0をご利用の場合は、Microsoft SQL Server 2005 用 Future PackのNative Clientをインストールしてください。

[参考書籍]

PHP – PEAR

2009年5月12日 火曜日

PEARはPHPを拡張するクラス・ライブラリです。

Webアプリケーションの中にはPEARのライブラリを利用するものもあります。

Windows環境でPEARライブラリを利用するための手順を以下に示します。

  1. コマンドプロンプトを起動する。
  2. PHPのディレクトリ(以降、%PHP_HOME%と記述する)に移動する。
    ※PHPのディレクトリがC:¥Program Files (x86)の下などだと、PEARライブラリの追加時などに「Invalid configuration directive」とのメッセージが出て正常に動作しない。
    「C:¥php」などが良い。
  3. go-pear.batコマンドを実行する。
    すべての入力に「Enter」キーだけを入力する。
  4. レジストリ登録
    Windowsエクスプローラで%PHP_HOME%¥PEAR_ENV.regをダブルクリックする。

引き続き、PEARライブラリの追加手順を示します。

  1. コマンドプロンプトでPHPのディレクトリに移動する。
  2. PEARのインストールコマンドを発行する。
    ex.)

    C:¥> pear install {パッケージ名}

以上

[参考書籍]

IIS アプリケーションフォルダに必要なアクセス許可

2009年5月2日 土曜日

Windows Server 2008上のIIS7.0でWebアプリケーションを公開する場合、そのアプリケーションフォルダに対して、最低でも以下のアクセス許可を与える必要がある。

  • IUSRグループ
    • フォルダ内容の一覧表示
      (perlやThread safeのPHPでは不要 ⇔ Non thread safeのPHPでは必要)
    • 読み取り
  • IIS_IUSRSグループ
    • 読み取り

アプリケーションの用件で、特定のファイルやディレクトリに対して書き込みが必要な場合、そのファイルやディレクトリに対して以下のアクセス許可を与える。

  • IIS_IUSRSグループ
    • 書き込み

セキュリティを向上するためには、他のユーザやグループに対しても、必要のない権限は与えないこと。

[参考書籍]

MySQL データベースの作成

2009年5月2日 土曜日

WebアプリケーションのデータベースとしてMySQLを利用する場合、そのアプリケーション専用のデータベースを作成しておくと管理しやすいです。
レンタルの共有サーバーなどで、MySQLのデータベース数に制限がある場合は、仕方ないですが。

以下に、phpMyAdminを利用して、MySQLにデータベースを追加する手順を示します。

  1. MySQLの管理者ユーザー(rootなど)でphpMyAdminにログインする。
  2. 上部のメニューで「特権」ページを選択し、「新しいユーザーを追加する」をクリックする。
    cubecart-db01
  3. phpAuctionデータベースを所有するデータベースユーザーの情報を入力し、ユーザー専用データベースで「同名のデータベースを作成してすべての特権を与える」を選択し、画面下の方の「実行する」をクリックする。
    ユーザー名 テキストフィールドの値を利用する Drupalデータベースを所有するユーザー名
    ex.)drupal
    ホスト ローカル localhost
    パスワード テキストフィールドの値を利用する パスワード(生成しても良い)

    drupal-db02

  4. 新しいユーザが追加されたことを確認する。

以上

[参考書籍]

SQL Server 2008 Express

2009年4月27日 月曜日

WebアプリケーションのデータベースというとMySQLやPostgreSQLなどのオープンソースデータベースが一般的ですが、Microsoft SQL Serverを利用することができるものもあります。
そのようなWebアプリケーションであればデータベースにSQL Serverを選択することで、可用性や耐障害性を強化することが可能です。

今回は、SQL Serverの無償版であるMicrosoft SQL Server 2008 ExpressをWindows Server 2008にインストールする手順を以下に示します。

  1. 事前に必要なソフトウェアのインストールと設定
    SQL Server 2008 Expressのインストールには、Windows Installer 4.5とWindows PowerShell 1.0が必要です。

    • Windows Installer 4.5のインストール
      ダウンロードページからインストールするWindowsの環境にあったインストーラをダウンロードしてインストールする。
      インストールするOSに対応するインストーラは、ダウンロードページの「注意事項」に記載されている。
      Windows Server 2008の場合は、

      • 32bit: Windows6.0-KB942288-v2-x86.msu
      • 64bit(x86_64):Windows6.0-KB942288-v2-x64.msu
      • Itanium:Windows6.0-KB942288-v2-ia64.msu
    • Windows PowerShellのインストール
      1. [スタート] - [管理ツール] - [サーバー マネージャ]を起動する。
      2. 左側ツリーで「機能」を選択する。
        右側の機能に表示される一覧に、「Windows PowerShell」が表示されている場合はインストール済み。
        そうでない場合は「機能の追加」をクリックする。
        powershell-setup01
      3. 「機能の選択」画面で「Windows PoserShell」を選択する。
        powershell-setup02
      4. 「インストール オプションの確認」画面でWindows PowerShellがインストールされることを確認し「インストール」する。
        powershell-setup03
      5. 「インストールの結果」画面で、インストールが正常に完了したことを確認する。
        powershell-setup04
      6. 「サーバー マネージャ」に戻り、Windows PowerShellが機能に含まれていることを確認する。
        powershell-setup05
    • SQL Server Database Engineサービスのアカウントを作成する。
      1. [スタート] - [管理ツール] - [サーバー マネージャ]を起動する。
      2. 左側ツリーの[構成] - [ローカル ユーザとグループ] - [ユーザー]を右クリックし、「新しいユーザー...」を選択する。
        sql_server_express-user01
      3. 「新しいユーザー」画面で、アカウント名とパスワードを入力し、「パスワードを無期限にする」にチェックをする。
        sql_server_express-user02
  2. SQL Server 2008 Expressのダウンロード
    Microsoft SQL Server 2008 Express with Advanced Servicesのダウンロードページより、インストール先のWindowsが32bitであれば「SQLEXPRADV_x86_JPN.exe」を、64bitであれば「SQLEXPRADV_x64_JPN.exe」をダウンロードする。
  3. ダウンロードしたファイルを実行すると、「SQL Server インストール センター」が起動する。
  4. システム構成をチェックする。
    1. 「システム構成チェッカー」をクリックする。
      sql_server_express-setup01
    2. 「セットアップ サポート ルール」画面で、失敗や警告が0になっていることを確認する。
      0じゃない場合は、「詳細の表示」ボタンをクリックして、失敗の原因を確認し、「合格」となっていない問題を解消する。
      sql_server_express-setup02
  5. 「SQL Server インストールセンター」画面に戻り、左側メニューの「インストール」をクリックする。
    sql_server_express-setup03
  6. 「SQL Server の新規スタンドアロン インストールまたは既存のインストールへの機能の追加」をクリックする。
    sql_server_express-setup04
  7. 「セットアップ サポート ルール」画面で、失敗や警告が0になっていることを確認する。
    (4-2.システム構成のチェックで確認済みのため、0になっているはず。)
    sql_server_express-setup02
  8. 「プロダクト キー」画面が表示されるが、SQL Server Expressでは入力の必要がないので、そのまま「次へ」をクリックする。
    sql_server_express-setup05
  9. 「ライセンス条項」画面で、「使用許諾契約書に同意する。」を選択する。
    sql_server_express-setup06
  10. 「セットアップ サポート ファイル」画面で、「インストール」をクリックし、インストールを実行する。
    sql_server_express-setup07
  11. 「セットアップ サポート ルール」画面で、問題となる失敗や警告が出ていないか確認する。
    「Windows ファイアウォール」が警告となる場合があるが、ここではそのまま進める。
    sql_server_express-setup08
  12. 「機能の選択」画面で、「データベース エンジン サービス」「管理ツール - 基本」「SQL クライアント接続 SDK」を選択する。
    sql_server_express-setup09
  13. 「インスタンスの構成」画面では、インスタンスの名前やIDなどを変更する必要がなければ、そのまま「次へ」をクリックする。
    sql_server_express-setup10
  14. 「必要なディスク領域」画面で、ディスク領域が不足していないことを確認する。
    sql_server_express-setup11
  15. 「サーバーの構成」画面で、SQL Server Database Engineサービスの「アカウント名」と「パスワード」に、前述(1-SQL Server Database Engineサービスのアカウントを作成する。)で作成したアカウントの情報を入力する。
    sql_server_express-setup12
  16. 「データベース エンジンの構成」画面で、SQL Server 管理者を指定する。
    SQL Serverの管理専用ユーザーを作成しても、既存のユーザーを指定しても良いだろう。
    sql_server_express-setup13
  17. 「エラーと使用状況レポート」画面で、エラー時などにMicrosoftに自動で送信する情報を指定する。
    これは、選択してもしなくても、どちらでもよい。
    sql_server_express-setup14
  18. 「インストール ルール」画面で、インストール処理がブロックされる原因がないか確認する。
    失敗や警告が0でない場合は、その問題を解消する。
    sql_server_express-setup15
  19. 「インストールの準備完了」画面で、設定を確認し、問題なければインストールする。
    sql_server_express-setup16
  20. 「インストールの進行状況」画面で、各機能のセットアップが成功していることを確認する。
    sql_server_express-setup17
  21. これで、SQL Server 2008 Expressのインストールは完了。
    sql_server_express-setup18
  22. IIS上のPHPからSQL Serverを利用する場合は、当サイトのPHP on IISからSQL Serverを使うに従って設定する。

以上

[参考書籍]

ディレクトリごとのPHPパラメータの変更(2)

2009年4月13日 月曜日

以前、Apacheの.htaccessでの設定に相当する、ディレクトリごとにPHPパラメータ(php.iniの設定)を変更をIIS7.0で実施する方法として、Windowsレジストリでの設定を紹介しましたが、任意の設定ファイルを指定する方法がわかったので紹介します。

なおここで書かれているのは、PHPをFastCGIで動作させている場合の設定方法です。
参考) PHPをFastCGIで動作させるためのIISの設定方法

  1. php.iniファイルの作成
    IISが読み込むことのできるフォルダに変更した設定ファイルを作成する。
    ファイル名はphp.iniである必要はない。
    ex.) C:¥WebApplications¥php_ini¥wordpress.ini
  2. Administration Pack for IIS7.0のインストール
    Administration Pack for IIS7.0をインストールしていない場合は、それをインストールする。
    ページ右上の「Install Now」をクリックしたくなるがこれは英語版である。日本語版をインストールするには、ページ右下のJapaneseをダウンロードする。
    ※IIS7.5ではOSに組み込まれているので、これのインストールは不要。
  3. FastCGIの設定をする。
    1. [スタート] - [管理ツール] - [インターネット インフォメーション サービス (IIS) マネージャ]を起動する。
    2. 左側ツリーで「コンピュータ名」を選択し、「FastCGIの設定 (FastCGI Settings)」をダブルクリックする。
      php-setup08
    3. 「FastCGIの設定 (FastCGI Settings)」画面で、右側操作エリアの「アプリケーションの追加 (Add Application)」をクリックする。
      php-ini02
    4. 「FastCGIアプリケーションの追加 (Add FastCGI Application)」画面で以下の設定をする。
      php-ini03
    5. 完全なパス
      (Full Path)
      php-cgi.exeのフルパスを記述する。
      ex.) C:¥Program Files (x86)¥php52¥php-cgi.exe
      引数
      (Arguments)
      php-cgi.exeに与えるコマンドラインオプションを記述する。
      -cで設定ファイルを指定することができる。
      ex.) -c C:¥WebApplications¥php_ini¥wordpress.ini
      Activity Timeout デフォルトで30秒になっており、インストールなどに失敗する場合は長めにするとよい。
    6. アプリケーションが追加される。
      php-ini04
  4. ディレクトリのハンドラマッピングの設定
    1. 左側のツリーで、作成した設定を適用するディレクトリを選択し、「ハンドラマッピング」をダブルクリックする。
      php-ini05
    2. PHPのマップをダブルクリックする。
      php-ini06
    3. モジュールマップの編集画面で、「実行可能ファイル(オプション)」を編集する。
      php-cgi.exeのフルパスの直後に、「|」(パイプ)と、(2)-(3)の引数(Arguments)に設定した値(-c {設定ファイルのフルパス})を記入し、全体を「″」(ダブルコート)で囲む。
      ex.) ″C:¥Program Files (x86)¥php52¥php-cgi.exe|-c C:¥WebApplications¥php_ini¥wordpress.ini″
      ※全体をダブルコート(″)で囲むのと、パイプ(|)の前後にスペースを空けないことがミソ。
      php-ini07
    4. モジュールマップの編集メッセージでは「いいえ」を選択する。
      php-ini08
  5. 動作確認
    1. 設定を変更したディレクトリにphpinfo.phpファイルを作成し、以下の一行を記述する。
      <?php phpinfo() ?>
    2. http://{あなたのURI}/{設定対象のディレクトリ}/phpinfo.phpにアクセスする。
      ex.) http://www.yourdomain.com/wordpress/phpinfo.php
      「Loaded Configuration File」の値が、指定したファイルになっていることを確認する。
      php-ini09
    3. 作成したphpinfo.phpファイルは忘れずに削除する。

以上

参考)  仮想ディレクトリ毎のPHP.INI設定 - Install Museum

[2009/08/19] Administration Pack日本語版のリリースに伴い、関係する内容を修正しました。

[参考書籍]

perlモジュールのインストールと確認(ppm)

2009年1月8日 木曜日

ActivePerlでは、perlモジュールのインストールにppmを利用することができる。

ppmはCPANに比べて、ソースからのmakeやコンパイルが不要なので手軽である。

  • ppmでperlモジュールをインストールする方法
    コマンドプロンプトで以下のコマンドを実行する。
    > ppm install {モジュール名}
    ex.)

    C:¥> ppm install Mail-Sendmail

    「Mail::Sendmail」モジュールをインストールする場合は、モジュール名に「Mail::Sendmail」と記述しても「Mail-Sendmail」と記述しても同じ。

  • ppmでperlモジュールがインストールされているかどうかを確認する方法
    コマンドプロンプトで以下のコマンドを実行する。
    > ppm list --matching {モジュール名}
    ex.)

    C:¥> ppm list --matching Mail-Sendmail

    「Mail::Sendmail」モジュールを確認する場合は、モジュール名に「Mail-Sendmail」と記述しなければならない。

以上

[参考書籍]