1. 程式人生 > >【阿里雲】WindowsServer2012 配置 Apache+php 環境,通過防火牆開啟8080埠

【阿里雲】WindowsServer2012 配置 Apache+php 環境,通過防火牆開啟8080埠

配置說明:

         雲服務商:阿里雲

         伺服器os:WindowsServer2012(64bit)

         目標:配置Apache2.4+php5.5環境

備註:

         由於我租用了阿里雲RDS資料庫所以這裡就不介紹安裝MySQL了。

         因為阿里雲 WindowsServer2012是 64bit 所以本文中下載的資源位64位,如果你用的是32bit,就對應下載32位的資源

一:下載資源

       2.下載Apache httpd-2.4.9-win64-VC11.zip     (32位 網址相同)   由於自2.2後Apache官網不再更新win版本,因此提供的地址是:http://www.apachelounge.com/download/#tc_qz_original=1440365482

       3.下載php    php-5.5.10   http://windows.php.net/download/#tc_qz_original=1440365482  選擇執行緒安全版本  VC11 x64 Thread Safe

二:安裝配置

      A.安裝 VC11 vcredist_x64.exe

      B.安裝配置php

          1.將php 解壓到自定義目錄下,我這裡選擇和預設目錄一樣: C:/php55

          2.將C:\php55和C:\php55\ext加入環境變數PATH中

          3.將C:\php55\php.ini-production 複製一份,並重命名為php.ini

          4.開啟幾個常用php擴充套件,用記事本開啟C:\php55\php.ini

             修改 721行 將; extension_dir = "ext" => extension_dir = "ext" (去掉extension前面的分號)

             修改 873行 將;extension=php_mbstring.dll => extension=php_mbstring.dll(去掉extension前面的分號,這是php多位元組字串擴充套件)

             修改 875行 將;extension=php_mysql.dll => extension=php_mysql.dll(去掉extension前面的分號)


             修改 876行 將;extension=php_mysqli.dll => extension=php_mysqli.dll(去掉extension前面的分號)

          5.在 cmd中輸入  php -v 驗證是否安裝成功

      C.安裝配置Apache

            1.將Apache 解壓到自定義目錄下,我這裡選擇和預設目錄一樣: C:/Apache24

          2.開啟C:\apache24\conf\httpd.conf (推薦使用Notepad++ 可以看到行號)

            說明:由於預設的IIS伺服器使用80埠,因此我令Apache使用8080埠,後面會講WindowsServer2012如何開啟8080埠

            修改 37行 ServerRoot "c:/Apache24" => ServerRoot "c:/Apache24"(這裡輸入的是你解壓apache安裝包的位置)

            修改 58行 Listen 80 => Listen 8080


            修改 217行 #ServerName www.example.com:80 => ServerName www.example.com:8080 (去掉前面的#,同時設定埠號8080)

            
            修改 241行 DocumentRoot "c:/Apache24/htdocs" => 
DocumentRoot "d:/WebSites" (這個目錄即為Apache伺服器的虛擬根目錄,可以自己設定)

修改 242行<Directory "c:/Apache24/htdocs"> =><Directory "d:/WebSites">(與241保持一致)

            修改 262行AllowOverride None=>  AllowOverride All

            修改 267-269行

                             Require all granted
                             Order Deny,Allow
                             Allow from all

        
            修改 275行 DirectoryIndex index.html => DirectoryIndex index.html index.php index.htm (我們添加了index.php index.htm)

 
            修改 358行 ScriptAlias /cgi-bin/ "c:/Apache24/cgi-bin/"  => ScriptAlias /cgi-bin/ "c:/Apache24/cgi-bin/" (依然一樣不用改) 

 
            修改 374行 <Directory "c:/Apache24/cgi-bin"> => <Directory "c:/Apache24/cgi-bin"> (依然一樣不用改) 

            在C:\Apache24\conf\httpd.conf 最後一行新增

                          LoadModule php5_module "c:/php55/php5apache2_4.dll"   (這裡與你下載的包有關)
                          AddType application/x-httpd-php .php  .html  .htm    (注意.php  .html  .htm之間的空格)
                          PHPIniDir "c:/php55"      (與自己的php安裝目錄一致)

           3.安裝

              開啟cmd,注意WindowsServer2012中的PowerShell與cmd還是有區別的,快捷鍵win+X 選擇開啟cmd

              進入c:\Apache24\bin\  (你的Apache安裝目錄) 

              執行 httpd -k install(用PowerShell 無法執行這個命令)

          4. 進入c:\Apache24\bin\  (你的Apache安裝目錄) 

               雙擊執行 ApacheMonitor.exe

          不出意外,這時右下角已經有Apache的圖示了,在自己的伺服器雲主機上從瀏覽器 訪問 localhost:8080 以及 IP:8080 都可以發現成功了。

          可能錯誤分析:

          1. 右下角Apache面板顯示 no services installed。說明Apache沒有安裝成功。

          2. 伺服器上鍵入 localhost:8080 以及 ip:8080 無法顯示。說明httpd.conf 配置錯誤

          3. 伺服器上可以通過ip:8080 訪問 外網不能訪問。說明8080埠沒有開放。你可以在cmd裡面利用 netstat -ano檢視埠開啟情況。

          但是通過外網來訪問伺服器 IP:8080 去發現無法連線。這是因為預設的8080埠沒有開啟。步驟如下:

阿里雲WindowsServer2012開啟8080埠方法:

1.進入控制面板 選擇防火牆,選擇高階設定

2. 左側選擇入站規則,右側點選新建規則

3. 選擇 埠

4. 選擇TCP 下面特定埠填寫8080

5. 允許連線

6.

7. 完成

這時通過外網 就可以以 IP:8080 方式訪問Apache伺服器了。