# 安裝 phpMyAdmin

##### **1 透過 apt 安裝 phpMyAdmin**

Ubuntu Server 20.04 預設使用 phpMyAdmin 的版為 4.9.5，apt 安裝指令如下：

```shell
$ sudo apt install phpmyadmin php-mbstring php-zip php-gd php-json php-curl -y
```

##### **2 開始設定 phpMyAdmin**

第一次安裝時，會跳出以下的畫面，詢問是配合哪一個 Web 服務，預設為 apache2，請將滑鼠光標切換到 OK 並按下 Enter 鍵繼續。

[![image-1658926867149.png](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/scaled-1680-/image-1658926867149.png)](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/image-1658926867149.png)

接下來的畫面請選擇 Yes 並按 Enter 以安裝和設定資料庫。

[![image-1658927031875.png](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/scaled-1680-/image-1658927031875.png)](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/image-1658927031875.png)

接下來的畫面，MySQL application password 僅會在 phpMyAdmin 內部用於與資料庫(本例為 MariaDB )溝通時使用。可以將此留空，系統會自動生成密碼。只需按 ENTER 繼續。

[![image-1658927176790.png](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/scaled-1680-/image-1658927176790.png)](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/image-1658927176790.png)

<span style="color: #e03e2d;">**為了更安全的使用 phpmyadmin，建議在 apache2 的設定檔中，加入以下內容，指令如下：**</span>

```shell
$ sudo vim /etc/apache2/conf-available/phpmyadmin.conf
```

加入以下內容：

> \# Apache configuration for phpMyAdmin  
> Alias /phpMyAdmin /usr/share/phpmyadmin/  
> Alias /phpmyadmin /usr/share/phpmyadmin/
> 
> &lt;Directory /usr/share/phpmyadmin/&gt;  
>  AddDefaultCharset UTF-8
> 
>  &lt;IfModule mod\_authz\_core.c&gt;  
>  # Apache 2.4  
>  Require all granted  
>  &lt;/IfModule&gt;
> 
> &lt;/Directory&gt;

存檔之後，執行以下指令啟用 php mbstring 模組及 phpmyadmin 的設定檔，並重新啟動 apahce2。

```shell
$ sudo a2enconf phpmyadmin
$ sudo phpenmod mbstring
$ sudo systemctl restart apache2
```

在網址後面打 /phpmyadmin 或是 /phpMyAdmin 即可登入使用，最後即完成初步的安裝設定工作。

##### **3 建立 MySQL 使用者**

因為要透過 phpMyAdmin 來管理 MariaDB，在 Ubuntu Server 20.04 的環境中預設無法以 root 身份登入你的 MariaDB 伺服器，所以透過建立一個 MariaDB 使用者，即可透過 phpMyAdmin 來管理資料庫，指令如下：

先以指令，以 root 身份在本機登入 MariaDB：

```shell
$ sudo mysql -u root -p
```

輸入 root 密碼，登入後執行以下的幾個指令新增 MariaDB 用戶帳號。

```shell
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 58
Server version: 10.3.34-MariaDB-0ubuntu0.20.04.1 Ubuntu 20.04

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

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

MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO '用戶帳號(例：administrator)'@'localhost' IDENTIFIED BY '你預期要設定的密碼';
Query OK, 0 rows affected (0.001 sec)

MariaDB [(none)]> exit
Bye
```

跳出後即完成新增帳號的工作。

##### **4 登入 phpMyAdmin Web 界面**

登入的位置為：http://yourip/phpmyadmin，畫面如下：

[![image-1659065324560.png](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/scaled-1680-/image-1659065324560.png)](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/image-1659065324560.png)

不過因為我們搭配的是 PHP 8.1，應該要使用 phpMyAdmin 5.1 以上的版本(現為 4.9.5)，不過應該還是可以使用，可以暫時忽略 Notice 的訊息，如果覺得不安心，可以將 PHP 的版本降為 7.4 即可，登入的畫面如下。

[![image-1659065504134.png](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/scaled-1680-/image-1659065504134.png)](https://docs.ossii.com.tw/uploads/images/gallery/2022-07/image-1659065504134.png)

如此就完成 phpMyAdmin 的佈署了。

##### **5 建議設定**

因為 phpMyAdmin 管理工具不需要開放給一般人去使用，所以建議只需開放給特定 IP 來源編輯即可，利用修改 apache 的設定檔即可達到此目的，說明如下：

```shell
$ sudo vim /etc/apache2/conf-available/phpmyadmin.conf
```

修改裡面這行，把要開放的網路 IP 或是網路段寫進來即可(原來是：Require all granted)。

> &lt;IfModule mod\_authz\_core.c&gt;  
>  # Apache 2.4  
>  **Require ip 10.0.0.5 192.168.0.0/24**  
>  &lt;/IfModule&gt;

存檔後重新啟動 apache 伺服器。

```shell
$ sudo systemctl restart apache2
```

<span style="background-color: initial; text-align: right; white-space: nowrap;">若是從非允許的 IP 位置連入，就會看到以下的畫面。</span>

[![image-1654055190246.png](https://docs.ossii.com.tw/uploads/images/gallery/2022-06/scaled-1680-/image-1654055190246.png)](https://docs.ossii.com.tw/uploads/images/gallery/2022-06/image-1654055190246.png)