GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Install phpMyAdmin Terbaru dengan LEMP di Ubuntu 20.04

phpMyAdmin adalah alat administrasi sumber terbuka dan gratis yang ditulis dalam PHP digunakan untuk mengelola server database MySQL dan MariaDB dari antarmuka Web . Sebagian besar pengembang lebih suka menggunakan phpMyAdmin untuk berinteraksi dengan server database karena kemudahan penggunaan dan editor SQL tingkat lanjut, membuatnya mudah untuk membangun dan menguji kueri SQL yang kompleks.

Dalam tutorial berikut, Anda akan mempelajari cara menginstal LEMP dan phpMyAdmin dari sumber di Ubuntu 20.04.

Prasyarat

  • OS yang Disarankan: Ubuntu 20.04 – opsional (Ubuntu 21.04 dan Linux Mint 20)
  • Akun pengguna: Akun pengguna dengan sudo atau akses root.
  • Diperlukan: Nginx, MariaDB dan PHP (LEMP)

Memperbarui Sistem Operasi

Pertama, sebelum apa pun, perbarui Ubuntu . Anda sistem operasi untuk memastikan semua paket yang ada mutakhir:

sudo apt update && sudo apt upgrade -y

Nginx untuk phpMyAdmin

Tambahkan PPA Khusus untuk Nginx Terbaru

Mengingat Anda menyiapkan phpMyAdmin dengan Nginx, Anda perlu menginstal aplikasi web. Saat ini, metode terbaik untuk sebagian besar adalah menggunakan PPA oleh Ondřej Surý yang terkenal, yang memelihara versi Nginx dan Stabil dan terus diperbarui.

Pertama, tambahkan PPA stabil atau arus utama sebagai berikut:

Nginx Stabil:

sudo add-apt-repository ppa:ondrej/nginx-stable -y && sudo apt update

Saluran Utama Nginx (Disarankan):

sudo add-apt-repository ppa:ondrej/nginx-mainline -y && sudo apt update

Instal Nginx

Setelah menginstal Nginx PPA stabil atau arus utama, gunakan perintah berikut untuk menginstal Nginx:

sudo apt install nginx-core nginx-common nginx nginx-full

MariaDB untuk phpMyAdmin

Instal MariaDB untuk Ubuntu 20.04

Pertama, Anda perlu menginstal MariaDB untuk membuat database dan nama pengguna sebagai berikut:

sudo apt install mariadb-server

Catatan, ini adalah versi yang lebih lama, dengan penginstalan default adalah versi 10.3. Silakan kunjungi tutorial kami jika Anda lebih suka menginstal versi MariaDB yang lebih baru, seperti 10.5 dan 10.6.

Selanjutnya, jalankan skrip keamanan jika Anda menginstal baru untuk pertama kalinya dengan perintah berikut:

sudo mysql_secure_installation

Selanjutnya, ikuti di bawah ini:

  • Menyetel sandi untuk root akun.
  • Menghapus akun root yang dapat diakses dari luar host lokal.
  • Menghapus akun pengguna anonim.
  • Menghapus database pengujian, yang secara default dapat diakses oleh pengguna anonim.

Perhatikan, Anda menggunakan (Y) untuk menghapus semuanya.

Buat Database phpMyAdmin dan Nama Pengguna

Pertama, buka MariaDB dan buat database baru untuk phpMyAdmin:

sudo mysql -u root

Selanjutnya, buat database di terminal MariaDB:

CREATE DATABASE phpmyadmindb;

Sekarang Anda perlu membuat pengguna dan memberikan izin sebagai berikut:

GRANT ALL ON phpmyadmindb.* TO phpmyadminuser@localhost IDENTIFIED BY 'password here change';

Untuk menyelesaikan, siram hak istimewa dan keluar dengan kode berikut:

FLUSH PRIVILEGES;
QUIT;

PHP untuk phpMyAdmin

Tambahkan PPA Khusus untuk PHP Terbaru

Mirip dengan instalasi Nginx kami, disarankan untuk menambahkan PPA oleh Ondřej Surý, pengelola PHP untuk Debian. PPA khusus memiliki semua versi terbaru 7.4, 8.0, dan 8.1 terbaru yang masuk.

Tambahkan PPA menggunakan perintah berikut:

sudo apt install software-properties-common && sudo add-apt-repository ppa:ondrej/php -y

Instal PHP untuk Ubuntu 20.04

Sekarang, Anda dapat menginstal PHP 7.4 atau PHP 8.0. Karena PHP masih lebih baru dan mungkin memiliki lebih banyak bug dengan phpMyAdmin, disarankan untuk menginstal PHP 7.4 untuk saat ini. Untuk mencapai ini, gunakan perintah terminal berikut untuk menginstal paket yang diperlukan:

sudo apt install php7.4-fpm php7.4-mbstring php7.4-bcmath php7.4-xml php7.4-mysql php7.4-common php7.4-gd php7.4-mcrypt php7.4-cli php7.4-curl php7.4-zip php7.4-gd

Instal phpMyAdmin di Ubuntu 20.04

Secara default, repositori Ubuntu 20.04 dilengkapi dengan phpMyAdmin dan dependensi yang diperlukan. Namun, sering kali dengan rilis Ubuntu LTS, versi dan build jauh di belakang apa yang saat ini tersedia dari sumbernya. Jadi sebagai tujuan panduan ini, Anda akan mengunduh dari sumbernya sebagai berikut:

Unduh phpMyAdmin Versi Sumber Terbaru

Untuk memulainya, kunjungi halaman unduhan phpMyAdmin untuk menemukan versi terbaru saat ini. Pada saat tutorial ini, versi 5.1.1 adalah yang terbaru.

Jalankan kode berikut untuk mengunduh semua bahasa versi terbaru secara otomatis:

DATA="$(wget https://www.phpmyadmin.net/home_page/version.txt -q -O-)"
URL="$(echo $DATA | cut -d ' ' -f 3)"
VERSION="$(echo $DATA | cut -d ' ' -f 1)"
wget https://files.phpmyadmin.net/phpMyAdmin/${VERSION}/phpMyAdmin-${VERSION}-all-languages.tar.gz

Jika Anda ingin mengunduh versi bahasa Inggris, ganti baris akhir dengan yang berikut:

wget https://files.phpmyadmin.net/phpMyAdmin/${VERSION}/phpMyAdmin-${VERSION}-english.tar.gz

Selanjutnya, ekstrak arsip menggunakan perintah berikut:

tar xvf phpMyAdmin-${VERSION}-all-languages.tar.gz

Konfigurasi phpMyAdmin Secara Manual

Anda perlu memindahkan direktori yang diekstrak dan subdirektorinya ke /usr/share lokasi direktori tempat phpMyAdmin mengharapkan untuk menemukan file konfigurasinya secara default. Untuk melakukannya, gunakan perintah berikut:

sudo mv phpMyAdmin-*/ /usr/share/phpmyadmin

Secara default, phpMyAdmin tidak disertai dengan TMP direktori saat menginstal dari sumber, dan Anda perlu membuatnya secara manual:

sudo mkdir -p /var/lib/phpmyadmin/tmp

Tetapkan izin yang benar untuk pengguna www-data dengan direktori phpMyAdmin:

sudo chown -R www-data:www-data /var/lib/phpmyadmin

Di direktori phpMyAdmin, file contoh konfigurasi default disertakan. Anda perlu mengganti nama file ini untuk phpMyAdmin untuk mengenali konfigurasi. Namun, untuk pencadangan, Anda akan menggunakan CP perintah untuk membuat salinan dan menyimpan default sebagai cadangan jika ada kesalahan yang dibuat di lokasi /etc/usr/phpmyadmin/ direktori .

Salin config.sample.inc.php ke config.inc.php dengan perintah berikut:

sudo cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php

Selanjutnya, buka file ini menggunakan editor teks pilihan Anda. Untuk tutorial, editor teks nano digunakan:

sudo nano /usr/share/phpmyadmin/config.inc.php

phpMyAdmin menggunakan sandi Blowfish. Gulir ke bawah ke baris yang dimulai dengan $cfg['blowfish_secret'] .

Garis-garisnya akan terlihat seperti misalnya:

$cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

Anda perlu menetapkan string 32 karakter acak di antara tanda kutip tunggal. Cara termudah untuk mencapai ini adalah menggunakan program pwgen . Untuk memasang pwgen, gunakan perintah terminal berikut:

sudo apt install pwgen

Setelah terinstal, jalankan perintah berikut:

pwgen -s 32 1

Anda kemudian akan mendapatkan 32 karakter acak untuk rahasia blowfish, contoh output:

Contoh menambahkan sandi ke file konfigurasi (Jangan disalin):

$cfg['blowfish_secret'] = 'kQVwa2yLI6FxA3LN6E7YcW3WgtTKTZ2j'

Pengaturan default lainnya akan berfungsi untuk sebagian besar pengguna. Jika server Anda terletak di server lain yang terletak di jaringan Anda, cari dan ubah baris $cfg[‘Servers’][$i][‘host’] = dengan alamat IP pribadi. Contoh di bawah ini:

$cfg['Servers'][$i]['host'] = '192.168.55.101';

Buat Blok Server Nginx untuk phpMyAdmin

Untuk mengakses antarmuka web phpMyAdmin, Anda perlu membuat blok server Nginx. Sangat disarankan untuk memisahkan ini, dan pada sub-domain, Anda dapat memberi nama apa pun yang Anda suka untuk membantu keamanan dan serangan brute force.

Pertama, buat dan buka blok server Anda menggunakan editor teks nano sebagai berikut:

sudo nano /etc/nginx/sites-available/phpmyadmin.conf

Selanjutnya, Anda dapat menempelkan teks di bawah ini ke dalam file. Catatan, Anda harus mengganti URL domain dengan milik Anda sendiri:

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;
  }
}

Jika Anda adalah satu-satunya yang mengakses ini dari alamat IP statis, Anda dapat menambahkan kode berikut di atas entri lokasi pertama. Contohnya di bawah ini:

  allow <your ip address>;
  deny all; 

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

Ini secara alami akan memblokir siapa pun yang mengunjungi halaman dengan kesalahan 403 kecuali diizinkan oleh alamat IP Anda. Ini, secara alami, dapat menghentikan semua serangan brutal di jalurnya, tetapi mungkin tidak layak untuk beberapa penyiapan.


Sekarang simpan menggunakan (CTRL+O) dan keluar dengan (CTRL+X) .

Uji blok server Nginx Anda dengan menjalankan perintah dry run:

sudo nginx -t

Jika Anda tidak memiliki kesalahan, Anda akan mendapatkan output berikut:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Sekarang restart layanan Nginx Anda agar perubahan diterapkan:

sudo systemctl restart nginx

Mengakses UI Web phpMyAdmin

Untuk mengakses Antarmuka Web, buka Browser Internet pilihan Anda dan ketik pma.example.com dengan (contoh) domain Anda. Anda harus masuk ke layar login phpMyAdmin sebagai berikut:

Masuk menggunakan nama pengguna dan kata sandi MariaDB yang Anda atur awalnya di awal tutorial. Anda kemudian akan masuk ke layar utama.

Instal Sertifikat TLS

Untuk lebih mengamankan antarmuka web phpMyAdmin, secara opsional Anda dapat menginstal Sertifikat Let's Encrypt TLS gratis dari repositori default Ubuntu .

Jalankan perintah berikut di terminal Ubuntu Anda:

sudo apt install certbot python3-certbot-nginx

Sekarang jalankan perintah berikut untuk mendapatkan dan menginstal sertifikat TLS untuk Nginx dan phpMyAdmin:

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --must-staple -d pma.example.com --email your-email-address

Selama pemasangan sertifikat, Anda akan mendapatkan pemberitahuan untuk menerima email dari EFF(Electronic Frontier Foundation) . Pilih Y atau N maka sertifikat TLS Anda akan otomatis diinstal dan dikonfigurasi untuk Anda.

Itu saja, dan Anda telah menginstal SSL di area phpMyAdmin Anda. Pastikan untuk menguji dengan menggunakan uji SSL gratis seperti DigiCert atau SSL Labs.


Ubuntu
  1. Cara Menginstal phpMyAdmin dengan Nginx di Ubuntu 18.04

  2. Cara Menginstal Joomla dengan Apache di Ubuntu 18.04

  3. Cara Menginstal phpMyAdmin di Ubuntu

  1. Cara Menginstal WordPress 5.x Dengan Nginx Di Ubuntu 18.04 / Ubuntu 16.04

  2. Cara menginstal phpMyAdmin dengan tumpukan LAMP di Ubuntu

  3. Cara menginstal ElastAlert dengan Elasticsearch di Ubuntu

  1. Cara Menginstal NextCloud di Ubuntu 20.04 dengan Apache

  2. Cara Menginstal WordPress dengan Nginx di Ubuntu

  3. Cara Menginstal Lighttpd dengan PHP di Ubuntu 20.04