Windows 2012 R2 + IIS + MS SQL + PHPのインストール、構成、落とし穴

名前に示されているモンスターのインストールと設定の経験を急いで共有します!



残念ながら、そのような束は、検索エンジンでこのトピックで価値のあるものを見つけるほど人気が​​ありません。 でもを破片や破片に捕らえた。

この例では、学生の特典を使用します。 そのため、 Dreamsparkプログラムに従って、マイクロソフトのソフトウェアを可能な限り最新の状態にします。

だから、タスクを構成します。
1. MS SQL Server 2014をインストールします。
2.ロール「Webサーバー(IIS)」バージョン8をインストールします。
3. PHP 5.4.24をインストールします。
4.そしてもちろん、このすべてをWindows 2012 R2上で連携して動作させるために(もちろん、サーバーのインストールと準備は考慮しません)。

利用可能なドメイン:test.local

MS SQL Server 2014のインストールと構成
データベースを備えたサーバーが専用になるという事実によってのみ、この段階を複雑にすることにしました。 なぜなら ほとんどの場合、データベースが既に何かで「一杯」になっているときにIIS + PHPを「固定」する必要があり、さらに、リモートに配置されます。

サーバー名:sql.test.local

インストールは非常に原始的で、「次へ」をクリックします。 SQL Serverレプリケーションを除き、インスタンスのすべてのコンポーネントをインストールしました。 標準パスが示されています。
「bd」の独自の名前付きインスタンスが選択されます。



標準サービスアカウント。



「混合モード」が選択されています。 MSsql2014パスワードは 「sa」アカウントに 設定され、 現在のシステムユーザー追加されます。 ([現在のユーザーを追加]ボタンをクリックします。



そのように。 MS SQL Server 2014のインストールが完了しました。
これで、インストールにバンドルされているMicrosoft SQL Server Management Studioを使用してテストデータベースを作成できます。 この例では、データベース名は "test"です。 ( サーバー、接続、所有者など、画面上の一部のデータは、テストサイトの元のスクリーンショットが失われたため、画面上で意図的に消去されました )。



ここで、外部から(この例ではローカルネットワークから)現在のインスタンスに接続する機能をすぐに構成します。
これを行うには、SQL Server構成マネージャースナップインを開く必要があります。 [SQL Serverネットワークの構成-BDのプロトコル]に移動し、TCP / IPプロパティを開きます。 [IPアドレス]タブに移動し、ここで行う最も重要なことは、必要なIPアドレス(この例ではMS SQL 192.168.2.27のサーバーアドレス)にポート1433 (この例で使用されるデフォルトポート)を指定し、次を使用して接続を確立することです。このIPはアクティブです。 IPv6およびその他のアドレス-必要に応じて有効または無効にできます。 (重要はスクリーンショットに記載されています)。



設定を適用すると、通知が届きます。
その後、 SQL Serverサービスを選択する必要があります。 そして、 SQL Server(BD)を再起動します。



最終段階は残った。 ファイアウォールで適切なルールを 作成します つまり、 ポート1433での着信接続を許可します。このプロセスの詳細については、 msdnの元のマニュアルを参照してください

私の場合、ファイアウォールは単純にオフになっています。 ( アクションのガイドとして、どのような場合でもこのプラクティスはお勧めしません )。



MS SQLサーバーは、外部接続用にインストールおよび構成されています。

次に、標準サーバーWebサーバー(IIS)の役割をインストールします。

コンポーネントでは、反対にdawを追加します。.NETFramework 3.5の機能。これには.NET 2.0のバージョンが含まれます(PHPマネージャーをインストールするために必要です。これは少し下です)。

IIS自体のコンポーネントでは、すべてをデフォルトのままにしておけば十分です。

しかし、おそらく、最も重要なことです。 Microsooft Webプラットフォームをダウンロードしてインストールします
この素晴らしいツールは、多くの問題を解決するのに役立ちます。

インストールは原始的であるため、詳細には説明しません。

Webプラットフォームを起動すると、多くのコンポーネントをインストールできるようになります。 Webプラットフォームは、システムにインストールされているものに基づいて言語を自動的に選択します。 したがって、ロシア語の製品名があります。 異なるローカライズでWindowsをインストールしている場合-製品名が異なる場合があります!

製品に行き、必要なものを選択します。

PHP 5.4.9 (この記事の執筆時点では、PHP 5.6.0はPHP 5.5.11と同様にインストールに許容されていましたが、残念ながら、踊らなかったため、php-cgiで動作させることはできませんでした。この理由は、リストにドライバーがないことです。
この製品とともに、さらに2つが自動的に配信されます。
IISのPhPマネージャーは非常に便利で使いやすいです。 (.NET Framework 3.5 \ 2.0コンポーネントが必要なのは彼のためです)。
IISのSQL ServerのPhPバージョン5.4のMicrosoft 3.0ドライバー (バージョン5.5.11および5.6.0のWebプラットフォームで使用できないドライバー



これで、初期インストールの準備ができました。 それが判明したように-すべてが簡単で問題なしです。

これで、IISでPHPマネージャーを開き、そこで「Check phpinfo()」機能を選択できます。 本当に、とても便利です! ここでは、PHPの最適な構成に関する推奨事項が提供されます。さらに、PHP拡張機能をインストールまたは削除できます。



phpinfoを表示し、すべてが正常に機能することを確認したら、データベース接続をテストするテストスクリプトを作成できます。
サンドボックスの「未知の兵士」に感謝します。 このスクリプトを借りたのは彼の記事からでした。

<?php $serverName = "SQL\BD"; //        .  instance  port ,     $connectionInfo = array("UID" => "sa", "PWD" => "MSsql2014", "Database"=>"test"); //    , UID -  . PWD -        $conn = sqlsrv_connect( $serverName, $connectionInfo); if( $conn ) { echo "Connection established.\n"; } else { echo "Connection could not be established.\n"; die( print_r( sqlsrv_errors(), true)); } /* Close the connection. */ sqlsrv_close( $conn); ?> 


すべてがうまくいき、何も見逃しなかった場合、実行の結果は次のようになります。

接続が確立されました。

それ以外の場合、以下が表示されます。

接続を確立できませんでした。 そして、処理から生じるエラー。

何も忘れないでね そして、この記事が誰かに役立つなら嬉しいです!

使用したソース
Microsoft Webプラットフォーム
少しのMSDN
サンドボックス記事

Source: https://habr.com/ru/post/J237105/


All Articles