GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal phpMyAdmin dengan Nginx (LEMP) di Ubuntu 20.04 LTS

Tutorial ini akan menunjukkan cara menginstal phpMyAdmin dengan Nginx, MariaDB dan PHP7.4 (LEMP) di Ubuntu 20.04. phpMyAdmin adalah alat manajemen basis data berbasis web sumber terbuka dan gratis yang ditulis dalam PHP. Ini menyediakan antarmuka web grafis bagi pengguna untuk mengelola database MySQL atau MariaDB.

phpMyAdmin memungkinkan administrator untuk:

  • menelusuri database dan tabel;
  • membuat, menyalin, mengganti nama, mengubah, dan melepaskan basis data;
  • membuat, menyalin, mengganti nama, mengubah, dan melepaskan tabel;
  • melakukan pemeliharaan meja;
  • menambah, mengedit, dan melepaskan bidang;
  • eksekusi pernyataan SQL apa pun, bahkan beberapa kueri;
  • membuat, mengubah, dan melepaskan indeks;
  • memuat file teks ke dalam tabel;
  • membuat dan membaca dump tabel atau database;
  • mengekspor data ke format SQL, CSV, XML, Word, Excel, PDF, dan LaTeX;
  • mengatur beberapa server;
  • mengelola pengguna dan hak istimewa MySQL;
  • periksa pengaturan server dan informasi runtime dengan petunjuk konfigurasi;
  • periksa integritas referensial di tabel MyISAM;
  • buat kueri kompleks menggunakan Query-by-example (QBE), secara otomatis
  • menghubungkan tabel yang diperlukan;
  • membuat grafik PDF dari tata letak database;
  • menelusuri secara global dalam database atau subsetnya;
  • mengubah data yang disimpan ke dalam format apa pun menggunakan serangkaian fungsi yang telah ditentukan sebelumnya, seperti menampilkan BLOB-data sebagai gambar atau tautan unduhan;
  • mengelola tabel InnoDB dan kunci asing;

Prasyarat

Untuk mengikuti tutorial ini, Anda harus menjalankan OS Ubuntu 20.04 di komputer lokal Anda atau di server jauh.

Jika Anda mencari VPS (Virtual Private Server), maka Anda dapat mengklik tautan khusus ini untuk mendapatkan kredit gratis $100 di DigitalOcean. (Hanya untuk pengguna baru). Jika Anda sudah menjadi pengguna DigitalOcean, Anda dapat mengklik tautan khusus ini untuk mendapatkan kredit gratis senilai $50 di Vultr (hanya untuk pengguna baru).

Diasumsikan bahwa Anda telah menginstal LEMP stack di Ubuntu 20.04. Jika belum, silakan lihat tutorial berikut.

  • Cara Memasang LEMP stack (Nginx, MariaDB, PHP7.4) di Ubuntu 20.04

Setelah itu, mari kita mulai menginstal phpMyAdmin.

Langkah 1:Unduh dan Instal phpMyAdmin di Ubuntu 20.04

phpMyAdmin termasuk dalam repositori perangkat lunak Ubuntu 20.04, sehingga kita dapat menginstalnya dengan mudah dengan perintah berikut.

sudo apt update
sudo apt install phpmyadmin

Perintah di atas akan menginstal semua dependensi yang diperlukan termasuk ekstensi PHP7. Selama instalasi, ia akan menanyakan apakah Anda ingin menggunakan dbconfig-common untuk mengkonfigurasi database. Tekan tombol Tab untuk memilih Ya.

Ini juga akan membuat pengguna database baru bernama phpmyadmin . Berikan kata sandi kepada pengguna ini.

Selanjutnya, Anda akan diminta untuk memilih server web yang akan dikonfigurasi. Nginx tidak ada dalam daftar, jadi tekan tombol Tab dan tekan OK untuk melewati langkah ini.

Setelah selesai, database baru bernama phpmyadmin dibuat dan pengguna database phpmyadmin memiliki hak istimewa yang diperlukan untuk mengelola database ini. Jika Anda penasaran seperti saya, Anda dapat masuk ke MariaDB dan memeriksa hak istimewa apa phpmyadmin pengguna telah diberikan.

Anda dapat menggunakan perintah berikut untuk masuk ke server MariaDB.

sudo mysql -u root

Kemudian periksa hak istimewanya.

show grants for [email protected];

Keluaran:

Seperti yang Anda lihat, pengguna phpmyadmin memiliki semua hak istimewa pada database phpmyadmin . Sekarang Anda dapat keluar dengan menjalankan:

exit;

Langkah 2:Buat Blok Server Nginx untuk phpMyAdmin

Untuk dapat mengakses antarmuka web phpMyAdmin, kita perlu membuat blok server Nginx dengan menjalankan perintah berikut.

sudo nano /etc/nginx/conf.d/phpmyadmin.conf

Kami akan mengkonfigurasinya sehingga kami dapat mengakses phpMyAdmin melalui sub-domain. Rekatkan teks berikut ke dalam file. Ganti pma.example.com dengan sub-domain Anda yang sebenarnya dan jangan lupa untuk membuat catatan DNS A untuk itu.

server {
  listen 80;
  listen [::]:80;
  server_name pma.example.com;
  root /usr/share/phpmyadmin/;
  index index.php index.html index.htm index.nginx-debian.html;

  access_log /var/log/nginx/phpmyadmin_access.log;
  error_log /var/log/nginx/phpmyadmin_error.log;

  location / {
    try_files $uri $uri/ /index.php;
  }

  location ~ ^/(doc|sql|setup)/ {
    deny all;
  }

  location ~ \.php$ {
    fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    include snippets/fastcgi-php.conf;
  }

  location ~ /\.ht {
    deny all;
  }
}

File phpMyAdmin Anda ada di /usr/share/phpmyadmin/ direktori. Simpan dan tutup file. Kemudian uji konfigurasi Nginx.

sudo nginx -t

Jika pengujian berhasil, muat ulang Nginx agar perubahan diterapkan.

sudo systemctl reload nginx

Sekarang Anda seharusnya dapat mengakses antarmuka web phpMyAdmin melalui

pma.example.com

Langkah 3:Memasang Sertifikat TLS

Untuk mengamankan antarmuka web phpMyadmin, kita dapat menginstal sertifikat Let's Encrypt TLS gratis. Instal klien Let's Encrypt dari repositori perangkat lunak Ubuntu 20.04 seperti di bawah ini:

sudo apt install certbot python3-certbot-nginx

Python3-certbot-nginx adalah plugin Nginx untuk Certbot. Sekarang jalankan perintah berikut untuk mendapatkan dan menginstal sertifikat TLS.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp -d pma.example.com --email [email protected]

Dimana:

  • –nginx :Gunakan autentikator dan penginstal Nginx
  • –setuju-untuk :Setuju dengan persyaratan layanan Let's Encrypt
  • –mengalihkan :Terapkan HTTPS dengan pengalihan 301.
  • –hsts :Tambahkan header Strict-Transport-Security ke setiap respons HTTP.
  • –staple-ocsp :Mengaktifkan Stapel OCSP.
  • –harus ditempel :Menambahkan ekstensi OCSP Must Staple ke sertifikat.
  • -d flag diikuti oleh daftar nama domain, dipisahkan dengan koma. Anda dapat menambahkan hingga 100 nama domain.
  • –email :Email yang digunakan untuk pendaftaran dan kontak pemulihan.

Anda akan ditanya apakah Anda ingin menerima email dari EFF (Electronic Frontier Foundation). Setelah memilih Y atau T, sertifikat TLS Anda akan secara otomatis diperoleh dan dikonfigurasi untuk Anda, yang ditunjukkan oleh pesan di bawah ini.

Langkah 4:Uji Sertifikat TLS Anda

Buka ssllabs.com untuk menguji sertifikat dan konfigurasi TLS Anda. Anda harus mendapatkan A+ karena HSTS diaktifkan.

Langkah 5:Memecahkan Masalah Kesalahan Masuk phpMyAdmin

Jika Anda login dengan akun root MariaDB, Anda mungkin melihat kesalahan berikut.

 #1698 - Access denied for user 'root '@'localhost'

dan

mysqli_real_connect(): (HY000/1698): Access denied for user 'root '@'localhost'

Jika Anda login dengan pengguna phpmyadmin , Anda tidak akan melihat kesalahan di atas. Namun, pengguna phpmyadmin hanya dapat digunakan untuk mengelola phpmyadmin basis data. Penyebab kesalahan adalah bahwa secara default pengguna root MariDB diautentikasi melalui plugin unix_socket, alih-alih menggunakan mysql_native_password pengaya. Untuk mengatasi masalah ini, kita dapat membuat pengguna admin lain dan memberikan semua hak istimewa kepada pengguna admin baru.

Masuk ke server MariaDB dari baris perintah.

sudo mariadb -u root

Buat pengguna admin dengan otentikasi kata sandi.

create user [email protected] identified by 'your-chosen-password';

Berikan semua hak istimewa di semua database.

grant all privileges on *.* to [email protected] with grant option;

Hapus hak istimewa dan keluar;

flush privileges;

exit;

Sekarang Anda dapat masuk ke phpMyAdmin dengan akun admin dan mengelola semua basis data.

Perpanjangan Otomatis Sertifikat TLS

Untuk memperbarui sertifikat Let's Encrypt secara otomatis, cukup edit file crontab pengguna root.

sudo crontab -e

Kemudian tambahkan baris berikut di bagian bawah.

@daily certbot renew --quiet && systemctl reload nginx

Memuat ulang Nginx diperlukan untuk mengambil sertifikat baru ke klien.


Ubuntu
  1. Cara Menginstal phpMyAdmin dengan Nginx di Ubuntu 18.04

  2. Cara Menginstal Seafile dengan Nginx di Ubuntu 20.04 LTS

  3. Cara Menyebarkan Modsecurity dengan Nginx di Ubuntu 20.04 LTS

  1. Cara Menginstal Seafile dengan Nginx di Ubuntu 18.04 LTS

  2. Cara Menginstal GitBucket dengan Nginx di Ubuntu 18.04 LTS

  3. Cara menginstal osTicket dengan Nginx di Ubuntu 18.04 LTS

  1. Cara Menginstal GitBucket dengan Nginx di Ubuntu 20.04 LTS

  2. Cara menginstal TYPO3 8.1 dengan Nginx (LEMP) di Ubuntu 16.04

  3. Instal phpMyAdmin Dengan LEMP Stack Di Ubuntu 20.04 LTS