# 10. Install dan Konfigurasi PHPMyAdmin dengan Nginx Web Server

### Install PHPMyAdmin Linux Ubuntu

login terlebih dahulu ke vps

[![Screenshot 2023-10-31 at 02.56.59.png](https://book.najamudinridha.com/uploads/images/gallery/2023-10/scaled-1680-/screenshot-2023-10-31-at-02-56-59.png)](https://book.najamudinridha.com/uploads/images/gallery/2023-10/screenshot-2023-10-31-at-02-56-59.png)

kemudian jalankan perintah `sudo apt install phpmyadmin` dan enter

[![Screenshot 2023-10-31 at 02.57.26.png](https://book.najamudinridha.com/uploads/images/gallery/2023-10/scaled-1680-/screenshot-2023-10-31-at-02-57-26.png)](https://book.najamudinridha.com/uploads/images/gallery/2023-10/screenshot-2023-10-31-at-02-57-26.png)

pada popup configure database for phpmyadmin with dbconfig-common pilih yes

[![Screenshot 2023-10-31 at 02.57.35.png](https://book.najamudinridha.com/uploads/images/gallery/2023-10/scaled-1680-/screenshot-2023-10-31-at-02-57-35.png)](https://book.najamudinridha.com/uploads/images/gallery/2023-10/screenshot-2023-10-31-at-02-57-35.png)

kemudian MySQL application password for phpmyadmin biarkan kosong dan klik tab kemudian pilih ok klik spasi

[![Screenshot 2023-10-31 at 02.57.45.png](https://book.najamudinridha.com/uploads/images/gallery/2023-10/scaled-1680-/screenshot-2023-10-31-at-02-57-45.png)](https://book.najamudinridha.com/uploads/images/gallery/2023-10/screenshot-2023-10-31-at-02-57-45.png)

pada web server to reconfigure automatically kosongkan saja klik tab dan ok

[![Screenshot 2023-10-31 at 02.57.58.png](https://book.najamudinridha.com/uploads/images/gallery/2023-10/scaled-1680-/screenshot-2023-10-31-at-02-57-58.png)](https://book.najamudinridha.com/uploads/images/gallery/2023-10/screenshot-2023-10-31-at-02-57-58.png)

jika terjadi error seperti ini, karena settingan password policy saat install mysql, klik oke terlebih dahulu

[![Screenshot 2023-10-31 at 02.58.08.png](https://book.najamudinridha.com/uploads/images/gallery/2023-10/scaled-1680-/screenshot-2023-10-31-at-02-58-08.png)](https://book.najamudinridha.com/uploads/images/gallery/2023-10/screenshot-2023-10-31-at-02-58-08.png)

dan pilih abort

[![Screenshot 2023-10-31 at 02.58.29.png](https://book.najamudinridha.com/uploads/images/gallery/2023-10/scaled-1680-/screenshot-2023-10-31-at-02-58-29.png)](https://book.najamudinridha.com/uploads/images/gallery/2023-10/screenshot-2023-10-31-at-02-58-29.png)

### Uninstall Component Validate Password

jika proses installasi phpmyadmin gagal seperti pada langkah sebelumnya, kita perlu uninstall validate password, login ke mysql dengan perintah `sudo mysql -uroot -p` kemudian jalankan perintah sql berikut :

```sql
UNINSTALL COMPONENT "file://component_validate_password";
```

[![Screenshot 2023-10-31 at 02.59.32.png](https://book.najamudinridha.com/uploads/images/gallery/2023-10/scaled-1680-/screenshot-2023-10-31-at-02-59-32.png)](https://book.najamudinridha.com/uploads/images/gallery/2023-10/screenshot-2023-10-31-at-02-59-32.png)

kemudian ketik perintah `exit` untuk keluar mysql

[![Screenshot 2023-10-31 at 03.00.35.png](https://book.najamudinridha.com/uploads/images/gallery/2023-10/scaled-1680-/screenshot-2023-10-31-at-03-00-35.png)](https://book.najamudinridha.com/uploads/images/gallery/2023-10/screenshot-2023-10-31-at-03-00-35.png)

setelah ini install kembali phpmyadmin seperti langkah diatas dengan perintah `sudo apt install phpmyadmin`

### Install Component Validate Password

setelah phpmyadmin terinstall, aktifkan kembali component\_validate\_password dengan login kembali ke mysql `sudo mysql -uroot -p` dan jalankan perintah berikut :

```sql
INSTALL COMPONENT "file://component_validate_password";
```

[![Screenshot 2023-10-31 at 03.00.35.png](https://book.najamudinridha.com/uploads/images/gallery/2023-10/scaled-1680-/I9dscreenshot-2023-10-31-at-03-00-35.png)](https://book.najamudinridha.com/uploads/images/gallery/2023-10/I9dscreenshot-2023-10-31-at-03-00-35.png)

### Install PHP 8.2 untuk PHPMyAdmin

Karena PHPMyAdmin melakukan install php 8.2 sebagai dependency, namun untuk apache, kita install php8.2-fpm untuk nginx dengan command berikut

```bash
sudo apt-get install php8.2 php8.2-cli php8.2-fpm php8.2-gd php8.2-common \
php8.2-curl php8.2-mbstring php8.2-mysql php8.2-xml php8.2-zip php8.2-bz2 \
php8.2-intl php8.2-gmp php8.2-apcu php8.2-imagick php8.2-memcached
```

[![Screenshot 2023-10-31 at 03.36.33.png](https://book.najamudinridha.com/uploads/images/gallery/2023-10/scaled-1680-/screenshot-2023-10-31-at-03-36-33.png)](https://book.najamudinridha.com/uploads/images/gallery/2023-10/screenshot-2023-10-31-at-03-36-33.png)

### Membuat Snippet PHPMyAdmin Nginx

setelah PHPMyAdmin Terinstall, kita buat snippets untuk phpmyadmin di nginx, jalankan perintah pindah directory `cd /etc/nginx` dan buat file dengan nano, untuk membuat file snippets nginx `sudo nano snippets/phpmyadmin.conf`

[![Screenshot 2023-10-31 at 03.03.47.png](https://book.najamudinridha.com/uploads/images/gallery/2023-10/scaled-1680-/screenshot-2023-10-31-at-03-03-47.png)](https://book.najamudinridha.com/uploads/images/gallery/2023-10/screenshot-2023-10-31-at-03-03-47.png)

pastekan snippet phpmyadmin berikut :

```nginx
location /phpmyadmin {
    root /usr/share/;
    index index.php index.html index.htm;
    location ~ ^/phpmyadmin/(.+\.php)$ {
        try_files $uri =404;
        root /usr/share/;
        fastcgi_pass unix:/run/php/php8.2-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include /etc/nginx/fastcgi_params;
    }

    location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
        root /usr/share/;
    }
}
```

[![Screenshot 2023-10-31 at 03.04.30.png](https://book.najamudinridha.com/uploads/images/gallery/2023-10/scaled-1680-/screenshot-2023-10-31-at-03-04-30.png)](https://book.najamudinridha.com/uploads/images/gallery/2023-10/screenshot-2023-10-31-at-03-04-30.png)

### Include Snippets di VirtualHost Nginx

setelah snippets dibuat, includekan snippets tersebut pada virtualhost yang diinginkan, misal di virtualhost idrive.id, jalankan perintah edit `sudo nano /etc/nginx/sites-available/idrive.id` kemudian tambahkan baris konfigurasi `include snippets/phpmyadmin.conf`

[![Screenshot 2023-10-31 at 03.05.37.png](https://book.najamudinridha.com/uploads/images/gallery/2023-10/scaled-1680-/screenshot-2023-10-31-at-03-05-37.png)](https://book.najamudinridha.com/uploads/images/gallery/2023-10/screenshot-2023-10-31-at-03-05-37.png)

simpan dan cek configurasi nginx `sudo nginx -t` dan restart dengan perintah `sudo service nginx restart`

[![Screenshot 2023-10-31 at 03.05.55.png](https://book.najamudinridha.com/uploads/images/gallery/2023-10/scaled-1680-/screenshot-2023-10-31-at-03-05-55.png)](https://book.najamudinridha.com/uploads/images/gallery/2023-10/screenshot-2023-10-31-at-03-05-55.png)

### Login dengan PHPMyAdmin

setelah snippets ditambahkan, coba akses domain dengan subdirectory phpmyadmin `https://idrive.id/phpmyadmin`

[![Screenshot 2023-10-31 at 03.09.01.png](https://book.najamudinridha.com/uploads/images/gallery/2023-10/scaled-1680-/screenshot-2023-10-31-at-03-09-01.png)](https://book.najamudinridha.com/uploads/images/gallery/2023-10/screenshot-2023-10-31-at-03-09-01.png)

Test login dengan username dan password mysql

[![Screenshot 2023-10-31 at 03.22.43.png](https://book.najamudinridha.com/uploads/images/gallery/2023-10/scaled-1680-/screenshot-2023-10-31-at-03-22-43.png)](https://book.najamudinridha.com/uploads/images/gallery/2023-10/screenshot-2023-10-31-at-03-22-43.png)

<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" frameborder="0" src="https://www.youtube.com/embed/OYvjpwgPhVk?si=mclmWc5mU_OA1h7b" style="width: 100%; aspect-ratio: 16/10;" title="YouTube video player"></iframe>