標籤: phpMyAdmin

更改phpMyAdmin在Apache託管的預設port

Linux、Mac應用程式

有時為了安全起見,我們希望將phpMyAdmin這種存取資料庫的窗口不要使用網頁伺服器常用的port 80

這樣有個好處,就是能在server前面的防火牆建立filter rule讓該port只有特定ip能存取

 

為了達成目的,我們修改ports.conf讓Apache除了監聽port 80,也監聽準備拿來放phpMyAdmin的port 81

用自己熟悉的編輯器打開/etc/apache2/ports.conf,在Listen 80下面再加一行

Listen 81

 

存檔,切換目錄到/etc/apache2/sites-available/下新增phpmyadmin.conf

把連到port 81時要對應到哪個資料夾的規則寫在裡面

<VirtualHost *:81>
    DocumentRoot /usr/share/phpmyadmin/
</VirtualHost>

Docker Compose File (Apache+PHP+MariaDB+phpMyAdmin)

Docker

備份一下在自己電腦測試網頁用的Docker Compose

(Apache2 + PHP 7.2 + MariaDB 10 + phpMyAdmin)

version: '3.1'

services:

  mariadb:
    container_name: mariadb10
    image: mariadb
    restart: unless-stopped
    ports:
      - 3006:3006
    environment:
      - MYSQL_ALLOW_EMPTY_PASSWORD=1
    volumes:
      - /Users/AndyWu/Documents/Docker/mysql:/var/lib/mysql
    networks:
      my_network:
        ipv4_address: "192.168.250.2"

  apache2:
    container_name: apache2
    image: mobingi/ubuntu-apache2-php7:7.2
    restart: unless-stopped
    ports:
      - 80:80
    volumes:
      - /Users/AndyWu/Documents/Docker/apache2+php7.2:/var/www/html
    networks:
      my_network:
        ipv4_address: "192.168.250.3"
    depends_on:
      - mariadb

  phpmyadmin:
    container_name: phpmyadmin
    image: phpmyadmin/phpmyadmin
    restart: unless-stopped
    ports:
      - 81:80
    environment:
      - PMA_ARBITRARY=1
      - PMA_HOST=192.168.250.2
      - PMA_PORTS=3006
    networks:
      my_network:
        ipv4_address: "192.168.250.4"
    depends_on:
      - mariadb

networks:
  my_network:
    driver: bridge
    ipam:
      config:
        - subnet: "192.168.250.0/24"

Terminal安裝phpMyAdmin

Linux、Mac應用程式

對於剛接觸資料庫,對資料庫還沒什麼概念的人

在第一次接觸MariaDB(MySQL)等預設沒提供那麼圖形化、直覺化的管理程式

只靠terminal下指令的方式通常操作會感到卡卡的(我!!!)

還好有phpMyAdmin這樣的package,讓不熟悉資料庫的人能在初期快速建立對資料庫的認識