# 獨立安裝Apache、MySQL、PHP
## :memo:事前作業
請先自行安裝以下軟體:
1.[Apache](https://www.apachelounge.com/download/) 2.4.48
2.[MySQL](https://dev.mysql.com/downloads/installer/) 8.0.26
3.[PHP](https://www.php.net/downloads.php) 7.4.21
## 1.安裝Apache
首先,先將Apache下載好的壓縮檔解壓縮,將檔案裡面的apache24放到C槽。移完的路徑應為C:\Apache24。

接著打開系統內容的環境變數,將"C:\Apache24\bin"新增進去。

打開C:\Apache24\conf\httpd.conf,將第37行的路徑改成"C:\Apache24"。

第227行將前面的#字號刪除,並將後面的IP改成"127.0.0.1"。

以系統管理員打開命令提示字元,執行安裝命令。
安裝命令:"C:\Apache24\bin\httpd.exe" -k install -n apache
卸載命令:"C:\Apache24\bin\httpd.exe" -k uninstall -n apache

如果有跑出什麼錯誤資訊,就照著做吧!像這個問題就是要去安裝CVRUNTIME140.dll。


進入C:\Apache24\bin,執行"httpd -k install"

打開Windows的"服務",找到apache,點擊右鍵,選擇啟動。

打開瀏覽器,網址輸入"127.0.0.1",如果看到以下畫面,代表伺服器開啟成功了。

:::warning
如果httpd.conf有修改過,就要將apahce卸載後再重新安裝。
:::
## 2.安裝MySQL
在下載MySQL時,請選擇非web版的安裝檔,下載完後開始進行安裝。

這邊會列出一些需要安裝的套件,status如果是Manual的話,表示要自己安裝,如果MySQL Installer可以幫忙安裝的話,下方會有一個Execute,點選後就會自動安裝了。

這邊就是全部所需安裝的套件,點選Execute安裝。



這邊Config Type就看是要選擇哪一個,會根據你的設定去配置電腦資源給MySQL。



Service name可以自己取。

點選Execute。

點選Finish。

點選Next。

點選Finish。

點選Next。

輸入剛才的root密碼,點選Check後按Next。

點選Execute,完成後按Finish。

點選Next。

點選Finish。

接著會跳出MySQL workbence,然後就可以新增一個root連線的connections。

進去之後可以試著輸入"show database;",再點選上面的閃電執行,這樣下方就會跑出目前有的資料庫囉!

這樣就完成MySQL的安裝了!
## 3.安裝PHP
下載完php後,將解壓縮的檔案放在C槽內,路徑為C:/php。
將php資料夾裡的php.ini-development複製一份,並修改名稱為php.ini。
接著打開php.ini,找到";extension_dir = "ext"這行,將前面的分號刪除,將後面的路徑改為"C:\php-7.4.21\ext"。

打開C:\Apache24\conf\httpd.conf,在最下方輸入以下程式,記得php的路徑要改對。
```
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
LoadModule php7_module "C:/php-7.4.21/php7apache2_4.dll"
<IfModule php7_module>
PHPIniDir "C:/php-7.4.21"
AddType application/x-httpd-php .php .html
</IfModule>
```

輸入完後,可以打開命令提示字元,在C:/Apache24裡面執行"httpd -t",就可以知道httpd.conf有沒有語法錯誤的地方。
在C:\Apache24\htdocs裡新增一個index.php檔,裡面輸入以下程式碼。
```
<?php
phpinfo();
?>
```
在網址列輸入"localhost/index.php",如果看到以下畫面代表安裝成功。

## 參考資料
[win10下Apache安裝及設定](http://s6132563.blogspot.com/2019/03/apache.html)
[win10下PHP的安裝與設定](http://s6132563.blogspot.com/2019/03/win10php.html)