Cara install Nginx PHP-FPM MySQL PHP 7 (LEMP) di CentOS 7

0

Langkahnya sebagai berikut.

Instalasi Nginx

1. Install dulu EPEL Release

yum -y install epel-release

2. Install Nginx

yum -y install nginx

3. Jalankan Nginx

systemctl start nginx
systemctl enable nginx

4. Cek apakah sudah aktif

systemctl status nginx

5. Mengecek versi Nginx

nginx -v

Buka browser apakah ada test page yang ditampilkan, dengan mengetik http://IP_ADDRESS atau http://HOSTNAME

7. Jika tidak menampilkan apapun atau layar blank bisa jadi port 80 terblokir, buka dengan menjalankan perintah berikut ini.

iptables -I INPUT -p tcp --dport 80 -j ACCEPT

Instalasi PHP

1. Install packages yg dibutuhkan

yum -y install php php-fpm php-gd php-xml php-mbstring

2. Edit file konfigurasi dari php-fm

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

3. Cari lalu ganti baris berikut ini

listen = 127.0.0.1:9000

menjadi

listen = /var/run/php-fpm/php-fpm.sock

4. Selanjutnya hapus tanda comment atau titik-koma dari baris berikut

;listen.owner = nobody
;listen.group = nobody

menjadi

listen.owner = nobody
listen.group = nobody

5. Ganti value dari baris berikut ini

user = apache
group = apache

menjadi

user = nginx
group = nginx

6. Simpan semua perubahan diatas, dengan menekan terlebih dulu tombol Esc lalu ketik :q dan akhiri dengan menekan Enter

7. Selesaikan proses instalasi dengan menjalankan PHP-FPM

systemctl start php-fpm
systemctl enable php-fpm

Instalasi PHP 7x (opsional)

1. Tambahkan repositori remi dalam Centos lewat perintah

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

2. Aktifkan package PHP 7x dengan perintah berikut

yum -y install yum-utils
yum-config-manager --enable remi-php71

3. Kemudian install packages yang dibutuhkan, jangan lupakan php-fpm

yum -y install php-fpm php-cli php-mbstring php-opcache php-curl php-gd

4. Selanjutnya cek status apakah sudah terinstall dengan benar

systemctl status php7.2-fpm

Instalasi MariaDB

Jalankan perintah berikut untuk melakukan instalasi MariaDB.

apt install -y mariadb-server

Untuk mengecek apakah MariaDB sudah berjalan dengan normal, cek dengan perintah berikut.

systemctl status mariadb
● mariadb.service - MariaDB 10.1.44 database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
   Active: active (running)
     Docs: man:mysqld(8)
           https://mariadb.com/kb/en/library/systemd/
 Main PID: 1975 (mysqld)
   Status: "Taking your SQL requests now..."
    Tasks: 27 (limit: 658)
   CGroup: /system.slice/mariadb.service
           └─1975 /usr/sbin/mysqld

Selanjutnya jalankan perintah berikut untuk mengamankan instalasi MariaDB.

mysql_secure_installation

Lalu jawablah semua pertanyaan yang muncul dengan konfigurasi berikut.

Enter current password for root (enter for none): isi_password
Change the root password? [Y/n] n
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

Konfigurasi Virtual Host Nginx

1. Buat direktori baru, ganti example.com dengan domain milik Anda

mkdir -p /var/www/html/example.com

2. Hapus konfigurasi file standar nginx dengan perintah berikut

rm -f /etc/nginx/sites-enabled/default

3. Buat sebuah file baru di direktori /etc/nginx/conf.d dengan perintah berikut

vi /etc/nginx/conf.d/example.com.conf

4. Salin semua baris dibawah ini, lalu ganti example.com dan www.example.com dengan nama domain yang digunakan untuk VM tersebut.

// Konfigurasi untuk PHP 7x
server { 
    listen 80 default_server;
    listen [::]:80 default_server;

    server_name example.com www.example.com; 
    root /var/www/html/example.com; 
    index index.php; 

    location / { 
        try_files $uri $uri/ =404; 
    } 

    location ~* \.php$ { 
        fastcgi_pass unix:/run/php/php7.2-fpm.sock; 
        include fastcgi_params; 
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
        fastcgi_param SCRIPT_NAME $fastcgi_script_name; 
    }  
}

Sedangkan untuk PHP 5 konfigurasinya sebagai berikut.

// Konfigurasi untuk PHP 5x
server {
  listen 80;
  server_name www.example.com example.com;
  root /var/www/html/example.com;
  index index.php index.html index.htm;
  location / {
    try_files $uri $uri/ /index.php$query_string;
  }
  error_page 404 /404.html;
  error_page 500 502 503 504 /50x.html;
  location = /50x.html {
    root /var/www/html/example.com;
  }
  location ~ \.php$ {
    try_files $uri =404;
    fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
  }
}

5. Simpan perubahan diatas, dengan menekan terlebih dulu tombol Esc lalu ketik :q dan akhiri dengan menekan Enter.

6. Reload nginx dengan perintah

systemctl reload nginx
systemctl restart php-fpm

7. Untuk membuktikan PHP 7x sudah jalan, buat sebuah file baru di direktori standar nginx yang ada di /var/www/html/example.com/ dengan perintah berikut.

vi /var/www/html/example.com/info.php

8. Salin baris dibawah ini kedalam file tersebut.

<?php phpinfo(); ?>

9. Simpan perubahan diatas, dengan menekan terlebih dulu tombol Esc lalu ketik :q dan akhiri dengan menekan Enter.

10. Akses file itu lewat browser dengan mengetik http://IP_ADDRESS/info.php atau http://SERVERNAME/info.php

11. Jika sudah muncul halaman info konfigurasi PHP, lakukan penghapusan terhadap file tersebut semata-mata karena alasan keamanan.

rm /var/www/html/example.com/info.php

0
Leave a Reply