Cara install phpMyAdmin di Centos 7 Nginx PHP 7.x

Kali ini akan dipaparkan bagaimana cara install phpMyAdmin di Centos sehingga dapat memudahkan proses administrasi MySQL melalui website.
3034  
       

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.

Gambar 1

Gambar 1 Hasil install phpMyAdmin dengan menggunakan port yang berbeda

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.

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>