Cara menggunakan nginx php centos 7

Panduan lengkap cara install LEMP stack Nginx, MariaDB 10 dan PHP 7.2 di Linux CentOS 7 dengan paket-paket software terbaru serta optimasi Nginx web server. Pada tutorial ini saya sertakan bagaimana cara install Redis dan module PHP OPCache.

Diawali dengan menambahkan epel repo dan update system Linux

yum install epel-release
yum update -y

Catatan : sebelum dipubliksikan, tutorial ini sudah dites di Linux CentOS 7.2  dan berjalan dengan sempurna, jadi diharapkan teman-teman tidak menjumpai kendala mengikuti langkah-langkah berikut.

langkah 1 – Install MariaDB

MariaDB digadang-gadang performanya lebih bagus ketimbang MySQL, tapi sayangnya pada CentOS 7.2 versi MariaDB defaultnya masih 5.x, Jadi kita perlu menambahkan repositori Mariadb versi 10.

Buat file repo untuk MariaDB 10, menggunakan nano

nano /etc/yum.repos.d/MariaDB.repo

copy-paste teks berikut

[mariadb]
name = MariaDB
baseurl = https://yum.mariadb.org/10.2/centos7-amd64/
gpgkey = https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

Simpan, kemudian update

yum update

Baru jalankan perintah install mariadb

yum install mariadb-server -y

Setelah berhasil start dan aktifkan service mariadb

systemctl start mariadb.service
systemctl enable mariadb.service

Kemudian untuk meningkatkan keamanan instalasi MariaDB, dilanjut dengan menjalankan perintah berikut.

mysql_secure_installation

Jawablah pertanyaan-pertanyaan yang ada, berikut ini saya tandai dengan warna merah

Enter current password for root (enter for none): Tekan Enter
Set root password? [Y/n] y (kemudian ketik password yang diinginkan)
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y

Langkah 2 – Install PHP

Versi PHP pada Centos 7 aslinya masih 5.4.16, pada panduan ini kita menggantinya dengan menginstall versi 7.2 dengan menambahkan repo remi-php72.

yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

Selanjutnya install

yum update
1 dan enable 
yum update
2

yum install yum-utils -y && yum-config-manager --enable remi-php72

Jalankan perintah update

yum update

Baru setelahnya install PHP

nano /etc/yum.repos.d/MariaDB.repo
1

Jika butuh modul PHP lainnya, Anda bisa melihat ketersediaan modul dengan perintah

yum update
3

Edit konfigurasi

yum update
4 (saya sering lupa pada bagian ini, bisa jadi Anda juga, jadi setelah instalasi PHP selesai langsung saja edit
yum update
4)

nano /etc/yum.repos.d/MariaDB.repo
2

Cari baris berikut, sesuaikan

nano /etc/yum.repos.d/MariaDB.repo
3

Kita juga membutuhkan module untuk caching PHP script. Sebagai contoh saya memilih OPcache, OPcache meningkatkan kinerja PHP dengan menyimpan skrip precompiled bytecode dalam shared memori, sehingga PHP tidak perlu memuat dan mem-parsing skrip pada setiap request.

nano /etc/yum.repos.d/MariaDB.repo
4

Aktifkan php-fpm

nano /etc/yum.repos.d/MariaDB.repo
5

Install Redis

Anda bisa melewati langkah ini jika tidak ingin memakai Redis, langsung ke langkah 3

nano /etc/yum.repos.d/MariaDB.repo
6

Coba cek redis, jalankan perintah berikut

nano /etc/yum.repos.d/MariaDB.repo
7

Ketik ping dan Enter, outputnya seperti dibawah ini

nano /etc/yum.repos.d/MariaDB.repo
8

Berikutnya, jika situs Anda ber-platform WordPress, Redis menjadi pilihan yang bagus sebagai sistem cache untuk WordPress, jadi:

nano /etc/yum.repos.d/MariaDB.repo
9

Jangan lupa untu menginstall plugin Redis Object Cache, atau ikuti panduan cara install dan konfigurasi Redis

Langkah 3 – Install Nginx

Langsung saja jalankan satu baris perintah berikut untuk meng-install Nginx, start dan mengaktifkan Nginx saat booting.

[mariadb]
name = MariaDB
baseurl = https://yum.mariadb.org/10.2/centos7-amd64/
gpgkey = https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
0

Buat Nginx memakai unix socket php-fpm, edit konfigurasi php-fpm

[mariadb]
name = MariaDB
baseurl = https://yum.mariadb.org/10.2/centos7-amd64/
gpgkey = https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
1

Ubah value pada baris-baris berikut

[mariadb]
name = MariaDB
baseurl = https://yum.mariadb.org/10.2/centos7-amd64/
gpgkey = https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
2

Edit konfigurasi virtual host default Nginx

[mariadb]
name = MariaDB
baseurl = https://yum.mariadb.org/10.2/centos7-amd64/
gpgkey = https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
3

Hapus semua jika ada konten didalamnya, ganti dengan teks berikut

[mariadb]
name = MariaDB
baseurl = https://yum.mariadb.org/10.2/centos7-amd64/
gpgkey = https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
4

Buat file

yum update
6 di
yum update
7

[mariadb]
name = MariaDB
baseurl = https://yum.mariadb.org/10.2/centos7-amd64/
gpgkey = https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
5

Ubah owner dan group (nginx:nginx) dan chmod tiap folder (755) dan file (644)

[mariadb]
name = MariaDB
baseurl = https://yum.mariadb.org/10.2/centos7-amd64/
gpgkey = https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
6

Kemudian restart nginx dan php-fpm

[mariadb]
name = MariaDB
baseurl = https://yum.mariadb.org/10.2/centos7-amd64/
gpgkey = https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
7

Cek menggunakan browser, akses http://IP. Anda bisa mengetahui IP server anda dengan perintah

yum update
8

Langkah 4 – Troubleshooting

Jika IP server tidak bisa dibuka melalui browser, kemungkinan Firewall aktif, cek dengan perintah berikut