Install PHP on Ubuntu 18.04

·

4 min read

Setelah server diinstall Nginx dan MySQL untuk menyimpan dan mengelola data Anda. Namun, Anda masih belum memiliki apa pun yang dapat menghasilkan konten dinamis. Di sinilah PHP berperan. Karena Nginx tidak mengandung pemrosesan PHP asli seperti beberapa server web lainnya, Anda perlu menginstal php-fpm.

Proses Install

Install modul php-fpm bersama dengan paket tambahan lainnya seperti php-mysql, yang akan memungkinkan PHP untuk berkomunikasi dengan database. Instalasi akan menarik file inti PHP yang diperlukan. Lakukan ini dengan mengetik:

sudo apt install php-fpm php-mysql

Sekarang server anda telah menginstal semua komponen LEMP yang diperlukan, tetapi masih perlu mengkonfigurasi beberapa perubahan untuk memberi tahu Nginx agar menggunakan prosesor PHP untuk konten dinamis. Ini dilakukan pada level blok server (blok server mirip dengan host virtual Apache). Untuk melakukannya, buka file konfigurasi blok server baru di dalam direktori /etc/nginx/sites-available/. Dalam contoh ini, file konfigurasi blok server baru bernama alim-aj, Anda dapat memberi nama apa pun yang Anda inginkan:

sudo nano /etc/nginx/sites-available/alim-aj

Dengan mengedit file konfigurasi blok server baru, daripada mengedit file default, Anda akan dapat dengan mudah mengembalikan konfigurasi default jika diperlukan. Tambahkan kode berikut, yang diambil dan sedikit dimodifikasi dari file konfigurasi blok server default, ke file konfigurasi blok server baru:

server {
        listen 80;
        root /var/www/alim-aj;
        index index.php index.html index.htm index.nginx-debian.html;
        server_name alim.my.id;

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

        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
        }

        location ~ /\.ht {
                deny all;
        }
}

Berikut ini fungsi dari masing-masing kode diatas:

  • listen — Menentukan port apa yang akan didengarkan Nginx. Dalam hal ini, ia akan mendengarkan pada port 80, port default untuk HTTP.
  • root — Menentukan root dokumen tempat file yang ditampilkan oleh situs web disimpan.
  • index — Mengonfigurasi Nginx untuk memprioritaskan file penyajian bernama index.php saat file indeks diminta, jika tersedia.
  • server_name — Menentukan kode mana yang harus digunakan untuk permintaan tertentu ke server Anda. Arahkan ini ke nama domain server Anda atau alamat IP publik.
  • location / — Blok lokasi pertama menyertakan direktif try_files, yang memeriksa keberadaan file yang cocok dengan permintaan URI. Jika Nginx tidak dapat menemukan file yang sesuai, itu akan mengembalikan kesalahan 404.
  • location ~ \.php$ — Kodelokasi ini menangani pemrosesan PHP yang sebenarnya dengan mengarahkan Nginx ke file konfigurasi fastcgi-php.conf dan file php7.2-fpm.sock, yang menyatakan soket apa yang terkait dengan php-fpm.
  • location ~ /\.ht — Kode lokasi terakhir berhubungan dengan file .htaccess, yang tidak diproses oleh Nginx. Dengan menambahkan direktif tolak semua, jika ada file .htaccess yang menemukan jalannya ke root dokumen, mereka tidak akan ditampilkan kepada pengunjung.

Setelah menambahkan kode diatas, simpan dan tutup file. Aktifkan kode baru Anda dengan membuat tautan dari file konfigurasi server baru Anda (di direktori /etc/nginx/sites-available/) ke direktori /etc/nginx/sites-enabled/:

sudo ln -s /etc/nginx/sites-available/alim-aj /etc/nginx/sites-enabled/

Untuk melakukan perubahan setelah konfigurasi lakukan Restart Nginx

sudo systemctl reload nginx

Proses instalasi dan konfigurasi LEMP telah selesai. Namun, anda harus memastikan bahwa semua komponen dapat saling berkomunikasi satu sama lain.

Buat sebuah File PHP untuk Test Konfigurasi

Buat sebuah file PHP untuk mengecek apakah konfigurasi Nginx dapat memproses kode PHP, untuk melakukan ini gunakan editor teks Anda untuk membuat file PHP bernama info.php di root dokumen Anda, disini kami menggunakan nama folder masmasit, silakan disesuaikan:

sudo nano /var/www/alim-aj/info.php

Masukkan baris kode berikut ke dalam file baru. Ini adalah kode PHP yang valid yang akan mengembalikan informasi tentang server:

<?php
phpinfo();

Setelah selesai, simpan dan tutup file. Sekarang, Anda dapat mengunjungi halaman ini di browser web dengan mengunjungi nama domain server atau alamat IP publik diikuti oleh /info.php:

http://domain_or_IP/info.php

Anda akan melihat halaman web yang telah dibuat oleh PHP dengan informasi tentang server:

3.PNG Jika Anda melihat halaman seperti gambar diatas, Anda telah berhasil menyiapkan PHP dengan Nginx.

Setelah memverifikasi bahwa Nginx merender halaman dengan benar, yang terbaik adalah menghapus file yang Anda buat karena sebenarnya dapat memberikan beberapa petunjuk kepada pengguna yang tidak sah tentang konfigurasi Anda yang dapat membantu mereka mencoba masuk. Anda selalu dapat membuat ulang file ini jika Anda membutuhkannya nanti.

sudo rm /var/www/html/info.php

selesai.

Kesimpulan

LEMP adalah platform yang kuat yang memungkinkan Anda mengatur dan melayani hampir semua situs web atau aplikasi dari server Anda.

Ada sejumlah langkah selanjutnya yang bisa Anda ambil dari sini. Misalnya, Anda harus memastikan bahwa koneksi ke server Anda aman. Untuk tujuan ini, Anda dapat mengamankan instalasi Nginx Anda dengan Let's Encrypt. Dengan mengikuti panduan ini, Anda akan memperoleh sertifikat TLS/SSL gratis untuk server Anda, yang memungkinkan server menyajikan konten melalui HTTPS.