Proses administrasi database sebetulnya memang lebih aman jika menggunakan Console. Namun, untuk memenuhi tuntutan zaman sekarang, phpMyAdmin ini hadir sebagai solusi alternatif dengan mengabaikan sedikit keamanan namun dapat memberikan dampak yang lebih cepat dalam proses administrasi database.
Tentang phpMyAdmin
phpMyAdmin adalah perangkat lunak opensource yang ditulis dengan menggunakan PHP yang bertujuan untuk membuat proses administrasi database MySQL disajikan dalam bentuk website. Banyak sekali kegunaanya, mulai dari membuat database, membuat tabel, index dan relasi tabel, manipulasi data, membuat prosedur dan view, serta maintenance database.
Meskipun pada awalnya hanya bisa digunakan untuk MySQL, namun phpMyAdmin ini bisa kompatibel juga untuk MariaDB versi 5 dan 10. Ini karena MariaDB dibangun berdasarkan kode sumber yang sama dengan MySQL versi 5. Namun, untuk beberapa fungsi memang ada yang tidak ada di MariaDB begitu juga di MySQL. Hal ini bisa dilihat langsung di website resminya masing-masing.
Package PHP7 di Centos
Ada beberapa penyedia package di centos untuk PHP7. Kenapa PHP7 sampai saat ini (Agustus 2017) belum juga masuk kedalam repo resmi? Mungkin saja masih ada beberapa kecenderungan bugs yang memang belum diketahui untuk para pemilik repo masing-masing. Sejauh ini paket PHP7 untuk Centos sendiri ada 2 yang paling trend yaitu IUS – Inline with Upstream Stable dan WEBTATIC. Kedua paket ini akan menjadi halangan ketika install phpMyAdmin yang memang berasal dari package EPEL dengan php versi 5.
Cara install
Untuk menginstall phpMyAdmin di Centos 7 dengan backend PHP 7.x sebetulnya sama saja dengan sewaktu install biasa, untuk itu mari kita mulai dengan eksekusi perintah ini. Pastikan, sudah sebagai root dan sudah mengintall Epel release.
yum install phpmyadmin
Tunggu sampai prosesnya selesai dengan menekan y untuk konfirmasi. Jika muncul error, langsung saja untuk melihat errornya dimana dengan cara.
yum install phpmyadmin --skip-broken
Kemudian lihat errornya package mana saja yang bentrok, setelah itu cukup install saja
Kompatibilitas phpMyAdmin EPEL dengan PHP 7.x
Jika gagal ini sangatlah wajar, karena terjadi bentrokan antara beberapa dependency yang berbeda vesi harus diinstall. Setelah melihat errornya dengan –skip-broken tadi, hasilnya mungkin akan berbeda dengan apa yang dijelaskan disini. Adapun yang muncul error ketika kami coba yaitu:
- php-bcmath bentrok dengan php71w-bcmath
- php-tidy bentrok dengan php71w-tidy
Untuk menginstallnya cukup install paket yang dibutuhkan oleh phpmyadmin dengan paket yang sudah ada php71nya. Berikut ini adalah contoh kodenya.
yum install php71w-bcmath php71w-tidy
Kemudian setelah itu, baru install kembali phpmyadminnya.
yum install phpmyadmin
Tunggu beberapa saat, biasanya akan langsung terinstall jika packagenya sudah terpenuhi. Jika belum silakan diulangi lagi dengan menambahkan –skip-broken untuk melihat package yang konflik.
Membuat Virtual Host untuk phpMyAdmin
Sebetulnya ini adalah cara yang opsional, karena phpmyadmin bisa disimpan di subdirectory ataupun di domain yang lain. Namun, jika ingin lebih aman pastikan portnya juga dibedakan dari port biasa seperti port 80 (http) dan port 443 (https). Kali ini akan dipaparkan bagaimana cara membuat virtual host sederhana dengan port yang berbeda sehingga cukup sulit untuk ditebak-tebak. Untuk melihat tampilan hasil akhirnya bisa dilihat di gambar 1.
Untuk menyelesaikannya mari kita coba membuat virtual host di nginx. Kali ini pengaturan setiap virtual host diasumsikan ada dibawah /etc/nginx/conf.d/ jadi kita akan membuat file pma.conf dibawah directory tersebut.
Copy Paste Script Host
Berikut ini adalah contoh script virtual host untuk nginx yang akan disimpan di /etc/nginx/conf.d/pma.conf dengan contoh port 8088.
server { listen 8088; #ssl on; #ssl_certificate /etc/nginx/ssl/server.crt; #ssl_certificate_key /etc/nginx/ssl/server.key; server_name _; root /usr/share/phpMyAdmin/; index index.php; # set expiration of assets to MAX for caching location ~* \.(ico|css|js)(\?[0-9]+)?$ { expires max; log_not_found off; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_split_path_info ^(.+\.php)(.*)$; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }
Merubah hak akses
Secara default, phpMyAdmin diinstal di /usr/share/phpMyAdmin dengan demikian otomatis kepemilikan file dan hak akses file pun akan terhambat disini. Kalau tidak rapih, maka nginx akan mengeluarkan error. Untuk mengatasinya, kita harus merubah kepemilikan file ini kepada user nginx atau user yang ada dibawahnya. Kalau kami sering membuatnya berada di setiap user masing-masing, sehingga tidak ada satupun akses root yang akan terlibat dalam upload download file website. Adapun user yang digunakan dalam contoh kasus ini adalah ec2-user. Sehingga, kita akan merubah kepemilikan dan hak akses nginx diberikan kedalam folder phpMyAdmin. Untuk melakukannya cukup eksekusi perintah ini.
cd /usr/share/phpMyAdmin chown -vR ec2-user:ec2-user ./ chmod -vR 0775 ./ #menambahkan user nginx ke group ec2-user gpasswd -a nginx ec2-user #restart nginx service nginx restart
Clear Cache Browser
Setelah proses restart nginx selesai, kemudian coba dibuka dan ternyata malahan muncul blank tidak ada apa. Sangat direkomendasikan untuk menghapus cache browser yang digunakan. Jika menggunakan Chrome dan Windows, cukup tekan SHIFT + F5 bersamaan. Jika tidak berhasil, coba gunakan browser lain untuk mengeceknya.
Selesai
Sampai tahap ini, instalasi phpmyadmin sudah selesai. Untuk memeriksanya cukup buka IP ADDRESS ataupun domain yang sudah diarahkan kesana dengan menggunakan port yang sudah didefinisikan setelahnya seperti http://example.com:8088/.
Demikian. Semoga membantu.