XAMPP可攜式(Portable XAMPP)如何安裝?

 XAMPP是一個把Apache網頁伺服器與PHPPerlMariaDB集合在一起的安裝包,允許使用者可以在自己的電腦上輕易的建立網頁伺服器。缺點是Apache/PHP/Perl/MariaDB這些的版本未必都是最新版,並且要自行更新會有些微難度。不過,如果對於版本沒有太大要求情況下,使用XAMPP這類整合的套件是比較省事的選擇。

但是在使用時如果你希望可以把XAMPP安裝在USB儲存上,讓他變成可攜式版本,就不能用一般的安裝方式。並且要注意,使用的USB最好是3.0以上,不然在執行上會明顯緩慢。


如何安裝可攜式XAMPP (Portable XAMPP)?


簡單來說,安裝可攜式XAMPP方式是 :

(1)下載 XAMPP 可攜式版本。
(2) 解壓縮檔案。
(3) 執行 setup_xampp.bat。
(4) 執行 xampp-control.exe。

細節說明如下 .....


步驟一 : 下載可攜式XAMPP

到XAMPP一般的下載處 : https://www.apachefriends.org/zh_tw/download.html

但是不是下載一般版本,而是如下圖,點選「更多下載」


然後去尋找適合你的可攜式版本,如下圖 : 



步驟二 :   解壓縮後執行 setup_xampp.bat

我就選擇xampp-portable-windows-x64-8.2.0-0-VS16.zip,下載後解壓縮就可以看到xampp目錄。裡面有檔案 setup_xampp.bat,以及 xampp-control.exe。




如果你直接執行 xampp-control.exe,開啟Apache或是MySQL,會看到如下情況 :


你必須先執行 setup_xampp.bat ,如下圖 :



步驟三 :   執行 xampp-control.exe

然後再執行 xampp-control.exe ,並且執行時可能會出現以下情況 (因為xampp不是從微軟商店下載的) ,只需要點選「仍要安裝」即可。


啟動Apache,可能會被防火牆擋住,如下圖 :



啟動MySQL,可能會被防火牆擋住,如下圖 :


只需要點選「允許存取」即可。

然後就可以看到XAMPP控制面板如下圖,按下Start後,相關的Ports已經可以正常開啟 :


這樣子,可攜式XAMPP就安裝完成了。

你可以看到MySQL、MariaDB預設的Port是3306,Apache的Port是80 (http)、443 (https)。


步驟四 :  如果有任何移動XAMPP目錄,需要再次執行setup_xampp.bat

但是有個問題要注意,就是當你移動XAMPP到另外目錄或是更換磁碟代號,就可能再次發生無法執行的畫面,這時只需要再次執行 setup_xampp.bat ,選擇(1) 即可,如下圖 :



開始使用可攜式XAMPP : 修改root密碼

MySQL、MariaDB預設的管理者帳號是 root,其預設密碼是空白。
MySQL、MariaDB預設的資料庫管理程式是PhpMyAdmin。

當我們成功啟用XAMPP的資料庫後,點選MySQL的Admin按鈕就會直接進入PhpMyAdmin資料庫管理介面如下 :



因為目前root的密碼為空,且phpMyAdmin目前設定為不需要登入,所以直接進入管理介面。

如果我們要設定密碼,並且在進入phpMyAdmin時需要登入帳號密碼,應該怎麼做呢?


步驟一 :  到XAMPP的phpMyAdmin目錄下,修改config.inc.php

找到這個設定
$cfg['Servers'][$i]['auth_type'] = 'config'; 

改為以下
$cfg['Servers'][$i]['auth_type'] = 'http'; 

說明 : auth_type有三種方式,各為config、http、cookie,config就是把帳密寫在設定檔上,http就是登入時跳出登入畫面,cookie就是以程式的方式登入。

步驟二 : 以command line的方式進入MySQL,修改密碼

可以點選XAMPP控制台的Shell,或是滑鼠點在Windows的開始,按滑鼠右鍵並選擇執行,如下 :



再輸入cmd,按下確定,如下 :



接著就會出現指令模式,使用 cd (change directory) 指令切換到MySQL的執行目錄下,然後登入MySQL。

指令如下 :

cd \xampp
(切換到xampp目錄)

cd mysql\bin
(再切換到 mysql\bin目錄)

mysql -u root -p
(以root帳號登入)



再以指令更改密碼
set password for 'root'@'localhost' = password('123456');

(假設密碼為 123456 )




這時候你再進入phpMyAdmin,會出現如下畫面 : 


就可以使用帳密登入phpMyAdmin了。如果要把密碼再改回空白,只需要再一次設定密碼即可 : set password for 'root'@'localhost' = password('');

另外一個方式,就是修改config.inc.php時,把這個設定
$cfg['Servers'][$i]['auth_type'] = 'config'; 

改為以下
$cfg['Servers'][$i]['auth_type'] = 'cookie';

並修改 
$cfg['blowfish_secret'] = '秘密字串';


以上的秘密字串需要至少32碼,可以使用工具來產生

例如我產生的秘密字串為 '%kY2N(Pwue&WNf=.O#t-\7xncs/6m*Nc'

這樣在登入時就會呈現如下畫面,但是前提是瀏覽軟體要開啟cookie,不過大多瀏覽軟體的設定,都不會刻意關閉cookie,所以登入應該都不會有問題。



把root的空白密碼,加上密碼的第二種方式

你也可以在啟動MySQL服務下,使用XAMPP的Shell,然後在Shell內輸入 : 

mysqladmin -u root password

然後輸入密碼,按下Enter,並再次確認密碼,再按下Enter,這樣root的密碼就更新了。





如果我忘了MySQL的root密碼,該怎麼辦呢?


步驟一 : 先停止MySQL服務。

步驟二 : 修改My.ini

按下XAMPP控制面板上的config,編輯my.ini

把 key_buffer 改為 key_buffer_size (如果已經是就不用改)

在[mysqld]下加上一行

skip-grant-tables

步驟三 : 啟動MySQL服務。

步驟四 : 執行下列指令 

mysql -u root 

FLUSH PRIVILEGES;

如果你的資料庫是 MySQL 5.7.6 或是 MariaDB 10.1.20 更新的版本,則使用以下方式

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; 

如果你的資料庫是 MySQL 5.7.5 或是 MariaDB 10.1.20 更舊的版本,則使用以下方式

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password');

步驟五 : 最後修改 My.ini 並重新啟動MySQL服務。

把 My.ini 的 skip-grant-tables 這行刪除並儲存, 重新啟動MySQL服務即可。

張貼留言

0 留言