WAMP Server 安裝

      在〈WAMP Server 安裝〉中尚無留言

建議

本篇的目的, 是在Windows之下架設Apache+MySQL+PHP。

但在開始之前,有一良心的建議 : WAMP其實爛爛的,尤其是當多人連線進來時,常造成Apache無法連線成功,且效能非常的差。再加上Windows版的MySQL,當儲存的資料很大時(超過500萬筆資料),也常會啟動失敗。所以並不適合用於公司的網站。

若真的沒有多餘的電腦安裝Linux時,建議在Windows裏加開VMWare,然後於VM中架設LAMP,效能佳且穩定。

Linux一直是初學者的痛,所以只好撰寫此篇教學一下,日後若有基礎,一定要改成LAMP。

架站的誤解

架設網站是許多人覺的遙不可及的事,需要一台電腦24小時開著,需要大量的頻寬,需要煩雜的設定。就以上的煩腦一一解說。

1. 北極熊不是你殺的 :

一台電腦24小時開著,平時都會進入 idle 的狀態, 耗電量不過超過50瓦。一度電是1000瓦/小時。一天24 小時共耗電 50*24/1000=1.2度。
一個月的電費 : 一度電以5元計算,一個月約1.2度*30天*5元=180元
電腦開開關關,開機時的突波,易造成電腦的損壞,放著不關,反而活的更久。

北極熊絕對不是因為你用電腦殺掉的,因為你也花不起那麼多錢啦。

2. 頻寬夠不夠

家裏一般都使用 100M/40M的頻寬,其實都夠好幾個人同時玩遊戲了。

現在電信公司一直在推手機 5G 上網,極速可以達到 1G bit。本人試用了一個月,其實最快只能達到500M,是有比較快啦,但我也想不出有什麼東西需要那麼快?

再請問一下,如果非要升級到 5G 的話,那麼為什麼家裏的網路線不用申級到1000M??

3. 複雜的設定

設定很複雜這倒是真的,這也是本篇出現的原因,教你一步一步完成。

Web Server種類

網站架設,初步分為二種,一種是IIS,一種是Apache。

IIS : 由微軟推出,使用多執行緒處理多人連線,所以非常不穩定且易當機, 安全性又差。不過台灣因資訊非常落後,大都用此方式架站,由其是政府部門。

Apache : 使用多行程處理多人連線,系統穩定,安全性極佳,但設定較為煩雜。國外大都使用這種方式架站。

架設網頁伺服器最終極的目標,就是在Linux下安裝Apache、MySQL、PHP,簡稱為LAMP。但Linux的門檻對初學者而言太高了,所以可以改成 WAMP(Windows/Apache/MySQL/PHP)。

本篇以 WampServer 套件作為說明,此套件比較穩定。而市面上亦有其他套件如 AppServer,XAMPP等,穩定度不是很好,不建議使用。

作業系統

請注意, WAMP自 3.2.3 開始, 僅能安裝在Win10, 不支援Win7作業系統.

安裝先期作業

Visual C++套件

Win10更新後,並不需安裝Visual C++套件,請跳過此段。

早期 WampServer 的版本可以在 Win7 安裝,但需先安裝 Visual C++套件。WampServer 使用 Visual c++ redistributable packs 編譯,並需要有這些套件才能執行。如果 Win7 沒有 VC 這些套件,就會出現如MSVCR120.dll,VCRUNTIME140.dll之類的錯誤。

假如系統有安裝Visual Studio 2017/2019的話,這些套件都已安裝完成,所以不會出現上面的錯誤。

但如果沒安裝Visual Studio的話, 請先到如下網站 http://wampserver.aviatechno.net/ 下載最下方的 All VC Redistribuable Packages (x86_x64) (32 & 64bits),下載完解開後,一個一個安裝即可。

底下的程式,可檢查系統欠缺什麼軟体
http://wampserver.aviatechno.net/files/tools/check_vcredist.exe

NotePad++編輯器安裝

安裝WampServer後,需作一些設定,建議先安裝 notepad++ 來取代記事本。而在製作網頁時,也需使用瀏覽器進行預覽測試,建議使用Chrome。

WampServer 安裝包安裝

請先到 http://www.wampserver.com/en/ 下載WampServer安裝程式,目前最新版本為 3.2.6

wamp_4

wamp_5

安裝時會詢問要安裝的軟体,一切按照預設,只有MySQL需變更版本,請改選 MySQL 8.0.27的版本。

然後一直按下一步,直到詢問是否使用其他瀏覽器,點選 yes,再選取
C:\Program Files\Google\Chrome\Application\chrome.exe。

然後會詢問是否使用其他的編輯器,也是選 yes,再選 C:\Program Fiels\Notepad++\notepad++.exe

啟動Wamp

安裝完後, 點選桌面的WampServer64二下, 即可開始運作, 並於工作列右下角就會出現WAMP的圖示,

wamp_3

Apache 網頁目錄設定

在右下角綠色圖示按左鍵/apache/httpd.conf,搜詢DocumentRoot,修改如下,
並將+Indexes刪除,然後加入 Require all granted。

DocumentRoot "d:/server/web"
<Directory "d:/server/web/">
    #Options +Indexes +FollowSymLinks +Multiviews
    Options +FollowSymLinks +Multiviews
    AllowOverride all
    #Require local
    Require all granted
</Directory>

apache/httpd-vhosts.conf修改成如下

<VirtualHost *:80>
    ServerName localhost
    ServerAlias localhost
    DocumentRoot "d:/server/web"
    <Directory "d:/server/web/">
        #Options +Indexes +Includes +FollowSymLinks +MultiViews
        Options +FollowSymLinks +MultiViews
        AllowOverride All
        #Require local
        Require all granted
    </Directory>
</VirtualHost>

上述的路徑 “d:/server/web”,也可以寫成 “d:\server\web”,是我們撰寫網頁的根目錄,所以需使用檔案總管手動建立此路徑。

“\” 是 Windows 的路徑分隔符號,”/” 則是 Linux 的路徑分隔符號。因 Apache 是以 Linux 為設計基礎,所以習慣上都使用”/”。

改好儲存後。點選右下角綠色圖示,選擇 restart all services。

測試

致於 PHP 到底有沒有真的成功運作呢? 請於 d:\server\web 之下,編寫 info.php檔案,內容如下

<?php
    phpinfo();
?>

儲存後,打開瀏覽器,網址輸入 http://localhost/info.php,如果有看到如下畫面,表示PHP成功執行了。

wamp_2

環境變數path

等會需使用到 mysql 指令,使用前需先設定系統環境變數 path, 請於 path 新增如下路徑

C:\wamp64\bin\mysql\mysql8.0.27\bin;.................

更新MySQL版本

Wampserver 所使用的MySQL版本,通常比官網發行的版本還要低。到2022年6月止,MySQL官網已發佈 8.0.29的版本,但WampServer還在使用8.0.27。MySQL 8.0.29 是歷史上的一大變革,與8.0.27有著很大的差異,所以建議安裝 8.0.29。

如果要安裝 8.0.29,首先要將WampServer的MySQL 3306 port給讓出來。請由右下角綠色圖示點選 MySQL/my.ini,將文件檔裏面三個 3306的數字,全改成 3308。儲存後,再執行 start all services。然後再請參照 MySQL8.0安裝及環境 此篇文章,安裝最新的8.0.29版本。當然如果要使用wamp預設的mysql,則不用變更。

[client]
#port=3306
port=3308
socket=/tmp/mysql.sock
......
[wampmysqld64]
;skip-grant-tables
;shared-memory=on
default_authentication_plugin=mysql_native_password
#port=3306
port=3308
socket=/tmp/mysql.sock
......
[mysqld]
default_authentication_plugin=mysql_native_password
#port=3306
port=3308

Default DBMS None警告

上述將 MySQL 改成 3308 後,WAMP 會出現找不到預設 3306 的資料庫警告。此時需將 c:\wamp64下的 wampmanager.conf 打開,然後將 mysqlDefaultPort 及 mysqlPortUsed 全改為 3308

mysqlDefaultPort = "3308"
mysqlPortUsed = "3308"

儲存後,將 wamp 退出(Exit) 再重新執行即可。請注意,Restart all Service 無效喔。

開機自動啟動Apache/MySQL 服務程式

重新開機後,WAMP 並不會自動啟動,需登入系統後按下桌面的 wampserver64 管理程式才會啟動Service。所以如果希望電腦開機完成後就自動啟動Apache/MySQL Service,請先使用系統管理者身分進入DOS,然後執行如下指令。

sc config wampapache64 start= auto
sc config wampmysqld64 start= auto
如此就可以把服務設定為開機自動啟動,特別注意 start=(空格)auto

開機自動啟動管理程式

若要於登入系統後就執行桌面的wampserver64管理程式,需複製其捷徑貼於 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup

不過WAMP一經設定完成後,日後也不太需要此管理程式了,所以這步驟可以省略。

資料庫備份

假設MySQL裏面有一個 wordpress 資料庫,將其備份的方法如下

mysqldump -u 帳號 -p --routines wordpress > wordpress_20000610.sql

資料庫還原

備份的檔案 wordpress_20220610.sql, 可以使用下面指令還原到資料庫中。

mysql -u 帳號 -p --default-character-set=utf8 wordpress < wordpress_20220610.sql

但如果在Linux備份,然後在Windows下還原,有可能會報ERROR 1064(42000)的語法錯誤。這其中的一個原因是匯出的預設編碼跟匯入的預設編碼不一樣所致。此時就要加入 –default-character-set=utf8 (最好在mysqldump 時也一併加入)

如果要還原的資料庫相當大就會出現連線逾時的錯誤,必需更改如下設定

[wampmysqld64]
max_allowed_packet = 5000000M

登入資料庫

如果使用 WampServer 所附加的 mysql 8.0.27版本,預設登入的帳號為 root,而且不用密碼。所以在開始撰寫網頁前,需手動新增帳號及權限,請在DOS命令模式下輸入

mysql -u root

root登入, 不用密碼, 但僅能在本機登入, 登入後再新增帳號及權限

mysql> use mysql;
Database changed
mysql> create user 'thomas'@'%' identified by '123456';
Query OK, 0 rows affected (0.03 sec)

mysql> grant all privileges on *.* to 'thomas'@'%';
Query OK, 0 rows affected (0.03 sec)
mysql>exit;

exit登出資料庫後, 再使用新帳號登入測試. 請依如下監色的指令測試看看

C:\Users\student>mysql -u thomas -p
Enter password: ******
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.21 MySQL Community Server - GPL

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.08 sec)

mysql>

加速啟動

將http.conf啟動如下二個設定

EnableMMAP on
EnableSendfile on

將php.ini啟動如下設定

realpath_cache_size= 4m

設定好重新啟動apache

phpMyAdmin

資料庫操作, 有些人喜愛用 phpmyadmin, 但這個網頁版的軟体實在難用到靠北. 建議使用Workbench來操作 https://dev.mysql.com/downloads/workbench/

若堅持使用phpmyadmin的話, 看如下說明. 若使用workbench的人請跳過
連線 http://localhost/phpmyadmin , 第一次登入帳號為root, 密碼為空白.

wamp2

登出

phpmyadmin沒有登出的選項, 可以將 wamp64\apps\phpmyadmin4.6.4\config.inc.php裏面的
$cfg[‘Servers’][$i][‘auth_type’] = ‘cookie’; 改為如下
$cfg[‘Servers’][$i][‘auth_type’] = ‘http’;

修改密碼

進入 使用者帳號/選取root的編輯權限, 再選取修改密碼。注意 root 預設僅能使用localhost 登入

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *