Cara Install phpMyAdmin Dengan Nginx di CentOS 7

Cara Install phpMyAdmin Dengan Nginx di CentOS 7

Bagi sebagian orang mengelola database lebih nyaman menggunakan GUI (Graphic User Interface) daripada CLI (Command Line Interface). Di Linux sendiri sebenarnya sudah tersedia phpMyAdmin, namun perlu di-install terpisah dari MySQL Database. Pada artikel ini kami akan membahas mengenai cara install phpMyAdmin dengan Nginx di CentOS 7.

PHPMyAdmin

Penjelasan sekilas tentang apa itu phpMyAdmin, phpMyAdmin adalah sebuah software gratis berbasis scripting language PHP yang bertujuan untuk memudahkan kita mengelola database MySQL.

phpMyAdmin juga mendukung beberapa operasional Database seperti MariaDB, MySQL dan Drizzle, sehingga kamu bisa mengelola database, columns, tables, indexes, users, dan masih banyak lagi fitur yang dapat kamu kelola. Di saat yang sama, kamu juga bisa meng-execute SQL statement apapun dari phpMyAdmin secara langsung.

Persiapan

Sebelum memulai proses instalasi, ada beberapa hal yang perlu disiapkan:

  • VPS dengan OS CentOS 7.
  • Domain yang sudah diarahkan ke IP VPS.
  • Root akses.
  • Point
  • Update Server
  • Install Packages
  • Install Firewall
  • Install Nginx Web Server
  • Install PHP 7.2
  • Install PHP-FPM
  • Install Database Server
  • Install phpMyAdmin
  • Config phpMyAdmin
  • Testing

Cara Install phpMyAdmin Dengan Nginx di CentOS 7

Update Server

Login sebagai root ke server dan update server dengan perintah berikut:
$ yum update -y
$ reboot

Install Packages

Install beberapa packages yang dibutuhkan CentOS 7.
$ yum install wget nano perl zip unzip -y

Install Firewall

Sebelum memulainya, perlu instalasi Firewall supaya lebih secure. Pada Firewall ini menggunakan CSF (ConfigServer Security & Firewall). Instalasinya dengan perintah di bawah ini:

$ cd /usr/src
$ wget https://download.configserver.com/csf.tgz
$ tar -xzf csf.tgz
$ cd csf/
$ sh install.sh

Pada konfigurasi CSF rubah “make TESTING=’1’ menjadi 0”.
$ nano /etc/csf/csf.conf

Kemudian tambahkan port 9000 pada TCP_Out dan TCP_In untuk keperluan phpMyAdmin.

Kemudian restart CSF supaya reload konfigurasi yang ter-update.
$ csf -r

Install Nginx WebServer

Karena di artikel ini tentang Nginx, maka perlu install Nginx WebServer dengan perintah di bawah ini.
$ yum install nginx -y

Cek versi nginx yang kamu gunakan:
$ nginx -v
nginx version: nginx/1.16.1

Versi yang kami install saat ini 1.16.1, mungkin akan ada perbedaan dengan yang kamu install nantinya, tergantung pada update terbaru versi nginx-nya.

Start dan enable on-boot nginx:
$ systemctl start nginx
$ systemctl enable nginx

Install PHP 7.2

Untuk PHP nya, kami menggunakan versi 7.2, install php 7.2 beserta beberapa extension yang dibutuhkan. Sebelum instal PHP 7.2, perlu enable Repo Remi terlebih dahulu.

$ yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
$ yum install yum-utils -y
$ yum update -y

$ yum install php72-php-gd php72-php-json php72-php-mbstring php72-php-mysqlnd php72-php-xml php72-php-xmlrpc php72-php-opcache -y

Install PHP-FPM

PHP-FPM (FastCGI Process Manager) adalah alternatif untuk implementasi FastCGI untuk bahasa pemrograman PHP. PHP-FPM juga merupakan interpreter PHP yang terpisah dari web server, sehingga setiap request atas script PHP yang masuk ke web server akan diteruskan atau di forward ke FastCGI melalui socket koneksi TCP/IP. Untuk instalasi PHP-FPM seperti perintah di bawah ini.
$ yum install php-fpm -y

Start dan enable on-boot php-fpm:
$ systemctl start php-fpm
$ systemctl enable php-fpm

Cek status php-fpm sudah aktif atau belum:
$ systemctl status php-fpm

● php-fpm.service - The PHP FastCGI Process Manager
Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; enabled; vendor preset: disabled)
Active: active (running) since Tue 2020-11-17 16:32:52 UTC; 18min ago
Main PID: 6922 (php-fpm)
Status: "Processes active: 0, idle: 5, Requests: 32, slow: 0, Traffic: 0req/sec"
CGroup: /system.slice/php-fpm.service
├─6922 php-fpm: master process (/etc/php-fpm.conf)
├─6924 php-fpm: pool www
├─6925 php-fpm: pool www
├─6926 php-fpm: pool www
├─6927 php-fpm: pool www
└─6928 php-fpm: pool www

Restart php-fpm:
$ systemctl restart php-fpm

Install Database Server

Untuk database server, kami menggunakan MariaDB, karena MariaDB paling up-to-date dan kompatibel saat ini.
$ yum install mariadb-server mariadb -y

Start dan enable on-boot untuk MariaDB services dan kemudian lakukan secure installation
$ systemctl enable mariadb
$ systemctl start mariadb

$ mysql_secure_installation

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!

Remove anonymous users? [Y/n] y
... Success!

Disallow root login remotely? [Y/n] y
... Success!

Remove test database and access to it? [Y/n] y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!

Reload privilege tables now? [Y/n] y
... Success!

Cleaning up...

All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

Pada current password for root langsung enter saja, kemudian pada set root password pilih Y. Kemudian selanjutnya pilih Y semua sampai proses secure selesai.

Cek status MariaDB sudah aktif atau belum:
$ systemctl status mariadb

● mariadb.service - MariaDB database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
Active: active (running) since Tue 2020-11-17 17:21:53 UTC; 24s ago
Process: 9625 ExecStartPost=/usr/libexec/mariadb-wait-ready $MAINPID (code=exited, status=0/SUCCESS)
Process: 9542 ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n (code=exited, status=0/SUCCESS)
Main PID: 9624 (mysqld_safe)

Install phpMyAdmin

Instalasi phpMyAdmin ada 2 cara, yang pertama langsung menggunakan YUM package manager yaitu dari official CentOS atau wget packages dari website resmi phpMyAdmin. Untuk instalasi phpMyAdmin pada artikel ini, kami menggunakan cara pertama; yaitu install melalui YUM package manager.
$ yum install phpmyadmin -y

Config phpMyAdmin

Setelah selesai instalasi phpMyAdmin, maka perlu buat konfigurasi virtual host untuk phpMyAdmin pada Nginx. Karena virtual host harus dibuat secara manual, tidak otomatis.

Buat directory snippets:
$ mkdir -p /etc/nginx/snippets

Buat file phpMyAdmin.conf
$ nano /etc/nginx/snippets/phpMyAdmin.conf

Pastekan script di bawah ini ke file konfigurasi di atas.

location /phpMyAdmin {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/phpMyAdmin/(.+\.php)$ {
try_files $uri =404;
root /usr/share/;
fastcgi_pass 127.0.0.1:9000;
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/;
}
}
location /phpmyadmin {
rewrite ^/* /phpMyAdmin last;
}

Tambahkan include snippets/phpMyAdmin.conf pada virtual host domain kamu.
$ nano /etc/nginx/conf.d/vps201.dewiweb.net

server {

# . . .code

#phpMyAdmin
include snippets/phpMyAdmin.conf;

# . . . code

}

Ditengah-tengah code lainnya, tambahkan include snippets/phpMyAdmin.conf.

Jika sudah save dan exit.

Cek konfigurasi yang dilakukan apakah ada syntax error atau tidak:

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

Reload nginx:
$ systemctl reload nginx

Buat directory session untuk keperluan session phpMyAdmin:
$ mkdir -p /var/lib/php/session/
$ chown -R nginx:nginx /var/lib/php/session/
$ chmod 777 /var/lib/php/session/

Testing

Jika sudah, akses domain/phpMyAdmin maka akan terlihat halaman login seperti di bawah ini.

testing - cara install phpmyAdmin dengan nginx di centos7

Username gunakan root.

Sedangkan untuk Password gunakan saat kamu melakukan secure installation Mariadb sebelumnya.

Maka hasilnya akan seperti di bawah ini.

testing - cara install phpmyadmin dengan nginx di centOS 7

Kesimpulan

phpMyAdmin memang sangat perlu digunakan untuk kamu yang belum terbiasa dengan CLI, selain karena gui nya user-friendly, fitur-fiturnya juga lengkap.

Demikian artikel ini, jangan sungkan untuk meninggalkan ide-ide topik yang ingin kamu baca di blog Dewaweb. Semoga artikel ini membantu!