How to install Nginx, PHP, MySQL5.6, PhpMyAdmin in CentOS7

Pada tulisan ini saya ingin sharing tentang “how to” yaitu How to install Nginx, PHP, MySQL5.6, PhpMyAdmin in CentOS7 atau  bagaimana cara install Nginx, Php, MySQL, PhpMyAdmin di Centos 7. Tulisan ini bisa dijadikan panduan dasar bagi anda yang melakukan pemesanan layanan VPS KVM Indonesia dengan layanan unmanaged dan ingin menjadikan vps nya sebagai webserver.

Pertama kita akan menginstall Nginx. Caranya:

$ yum install nginx

jika muncul pesan:

No package nginx available.

maka install dulu epel-release di server dengan cara:

$ yum install epel-release

lalu, baru jalankan ulang perintah install nginx nya:

$ yum install nginx

Jika sudah, jalankan dan enable service nginx agar ketika server reboot nginx start secara otomatis:

$ systemctl enable nginx
$ systemctl start nginx

lalu coba jalankan perintah dibawah ini untuk melihat status service nginx dan pastikan pada bagian Active: adalah active (running) atau biasanya ditandai dengan highlight warna hijau jika sudah running:

$ systemctl status nginx
```bash
● nginx.service - The nginx HTTP and reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
   Active: active (running) since Wed 2021-01-13 23:38:51 EST; 1s ago
  Process: 9339 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
  Process: 9336 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
  Process: 9334 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
 Main PID: 9341 (nginx)

lalu untuk memastikan nya lagi, akses di browser misal http://192.168.84.100 maka seharusnya tampil default page Nginx. Pastikan port 80 tidak blok ya, karena secara default nginx akan running pada port 80.

Install PHP 7.2

Selanjutnya adalah install php-fpm7.2. Caranya:

$ yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
$ yum install yum-utils
$ yum-config-manager --enable remi-php72
$ yum install php-fpm php-opcache php-cli php-gd php-curl php-mysql

tunggu dan nikmati proses instalasinya sampai selesai. Jika sudah selesai, jalankan dan enable service php nya:

$ systemctl enable php-fpm
$ systemctl start php-fpm

cek status service php dengan perintah systemctl status php-fpm pastikan statusnya running pada bagian Active:

belum selesai, kita konfigurasi php-fpm agar dipegang oleh Nginx karena default nya running dengan Apache. Caranya:

$ vi /etc/php-fpm.d/www.conf

lalu ubah yang awalnya seperti ini:

;user = apache
;group = apache
;listen.owner = nobody
;listen.group = nobody
;listen = 127.0.0.1:9000

menjadi:

user = nginx
group = nginx
listen.owner = nginx
listen.group = nginx
listen = /run/php-fpm/www.sock

simpan dan restart service php-fpm nya:

$ systemctl restart php-fpm

pastikan tidak ada error dan status php-fpm running dengan baik.

Install MySQL 5.6

Next, kita install MySQL, caranya:

$ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
$ rpm -ivh mysql-community-release-el7-5.noarch.rpm

lalu coba kita cek apakah mysql-community repo sudah ada di yum.repos.d:

$ ls -l /etc/yum.repos.d/mysql-community*
/etc/yum.repos.d/mysql-community.repo
/etc/yum.repos.d/mysql-community-source.repo

jika sudah, lanjut install MySQL:

$ yum install mysql-server

tunggu hingga selesai. Jika sudah, jalankan dan enable service mysql:

$ systemctl enable mysql
$ systemctl start mysql

cek status mysql nya dan pastikan running systemctl status mysql.

Install PhpMyAdmin

Install Nginx, PHP, dan MySQL sudah. Terakhir kita install PhpMyAdmin sehingga proses management database MySQL bisa lebih mudah langsung melalui GUI.

Jalankan perintah dibawah ini untuk install PhpMyAdmin:

$ yum install phpmyadmin

tunggu sampai selesai. Jika sudah, jalankan perintah:

chgrp -R nginx /etc/phpMyAdmin

secara default, folder source code PhpMyAdmin berada pada direktori /usr/share/phpMyAdmin/

Ok, instalasi PhpMyAdmin sudah selesai. Selanjutnya kita buat virtualhosts pada nginx supaya PhpMyAdmin bisa diakses melalui http.

Konfigurasi VirtualHosts Nginx untuk PhpMyAdmin

Pertama, masuk ke direktori nginx:

$ cd /etc/nginx/

pada direktori nginx tersebut, akan ada banyak file jika kita lists.

Lalu, kita buat folder baru untuk menyimpan virtualhosts yang akan kita buat, disini saya pisahkan ke folder vhosts walaupun default nya sudah ter-include yaitu di folder conf.d. Terus kenapa harus buat folder baru vhosts? lebih ke kebiasaan saja :D. Ok, buat folder vhosts nya, pastikan masih di dalam direktori /etc/nginx.

$ mkdir vhosts

jika sudah, edit file nginx.conf, lalu dibawah tulisan:

include /etc/nginx/conf.d/*.conf;

tambahkan include /etc/nginx/vhosts/*.conf; jadi kira-kira seperti ini:

include /etc/nginx/conf.d/*.conf;
include /etc/nginx/vhosts/*.conf;

Jika sudah, masuk ke direktori vhosts yang tadi kita buat dan buat file vhosts baru misal dengan nama 000-default-hosts.conf:

$ cd vhosts
$ touch 000-default-hosts.conf

kemudian edit file 000-default-hosts.conf tersebut dan tambahkan server block dibawah ini:

server {
    listen 80 default_server;
    server_name _;

    location /phpMyAdmin {
        root /usr/share/;
        index index.php index.html index.htm;
        location ~ ^/phpMyAdmin/(.+\.php)$ {
               try_files $uri =404;
               root /usr/share/;
               fastcgi_pass unix:/run/php-fpm/www.sock;
               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/;
       }
}

}

simpan kemudian restart nginx nya, pastikan tidak ada error, kita bisa test dahulu konfigurasi nginx dengan perintah:

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

pastikan syntax is ok. Baru kita restart nginx nya jika syntax sudah ok:

$ systemctl restart nginx

Ok, konfigurasi sudah selesai semua. Waktunya testing. Silakan akses alamat http://localhost/phpMyAdmin , jika sukses maka akan tampil halaman login phpMyAdmin. Sesuikan http://localhost dengan alamat webserver teman-teman, misal kalau pake IP http://192.168.84.100/phpMyAdmin.