Catatan ini adalah lanjutan dari Install Web Server Nginx di Debian Jessie, secara default ketika ketika menginstall Nginx, masih belum bisa menangani script PHP, sedangkan saya membutuhkan PHP untuk membangun situs dengan CMS WordPress di Web Server Nginx.
Kenapa PHP7?
PHP7 yang dirilis pada Desember 2015, dibangun diatas Zend Engine dan dikembangkan oleh komunitas pengembang PHP. PHP7 juga dikenal memilik peningkatan kinerja sampai 2x lipat dari PHP5 serta dapat mengurangi resource memory.
Install PHP7 beserta PHP-FPM (PHP FastCGI Process Manager) di Debian Jessie
1. Add Repository Nginx
Karena PHP7 tidak tersedia di repository Debian 8, maka kita tambahkan repo dari dotdeb.org. Edit file sources.list yang berada di direktori /etc/apt/
root@whydnet:~# cd /etc/apt/
root@whydnet:/etc/apt# vi sources.list
Ketik i untuk mengubah file tersebut, lalu tambahkan 2 baris repo ini.
# dotdeb.repo
deb http://packages.dotdeb.org jessie all
deb-src http://packages.dotdeb.org jessie all
Jika sudah ditambahkan, silahkan keluar dan save dari editor vi dengan menekan tombol esc dan :wq untuk menyimpannya.
2. Fetch and Install the GnuPG key
Langkah selanjutnya adalah download, install GnuPG key dan update sistem.
root@whydnet:/etc/apt# wget https://www.dotdeb.org/dotdeb.gpg
root@whydnet:/etc/apt# apt-key add dotdeb.gpg
root@whydnet:/etc/apt# apt-get update
3. Install PHP7 & PHP-FPM
Setelah itu, install PHP7 dan PHP-FPM.
root@whydnet:/etc/apt# apt-get install php7.0-fpm php7.0-cli php7.0-curl php7.0-dev php7.0-zip php7.0-xml php7.0-mysql php7.0-opcache -y
4. Configure PHP-FPM on Nginx
Tambahkan listen = /run/php/php7.0-fpm.sock dan listen = 127.0.0.1:9000 baris 36-37.
root@whydnet:/etc/apt# vi /etc/php/7.0/fpm/pool.d/www.conf
The address on which to accept FastCGI requests.
Valid syntaxes are:
; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific IPv4 address on a specific port;
; '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific IPv6 address on a specific port;
; 'port' - to listen on a TCP socket to all addresses;
; (IPv6 and IPv4-mapped) on a specific port;
; '/path/to/unix/socket' - to listen on a unix socket.
; Note: This value is mandatory.
# Tambahkan dibaris 36 dan 37
listen = /run/php/php7.0-fpm.sock
listen = 127.0.0.1:9000
Jika sudah ditambahkan, silahkan keluar dan save dari editor vi dengan menekan tombol esc dan :wq untuk menyimpannya.
Lalu tambahkan script PHP kedalam server block/virtual host Nginx, di directory /etc/nginx/ dan server block/virtual host berada di /etc/nginx/sites-available/
Lalu tambahkan script PHP kedalam server block/virtual host Nginx, di directory /etc/nginx/ dan server block/virtual host berada di /etc/nginx/sites-available/
root@whydnet:/etc/apt# vi /etc/nginx/sites-available/default
# Tambahkan kedalam bagian server block
# Pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ \.php$ {
# Include snippets/fastcgi-php.conf;
try_files $uri =404;
# With php7-cgi standalone:
# fastcgi_pass 127.0.0.1:9000;
# With php7-fpm:
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
include fastcgi_params;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_hide_header X-Powered-By;
}
Jika sudah, silahkan keluar dan save dari editor vi dengan menekan tombol esc dan :wq untuk menyimpannya.
5. Start & Testing
Langkah selanjutnya adalah menjalankan service PHP7 dan membuat halaman info.php untuk menguji dan memastikan script PHP7 dan PHP-FPM di web server Nginx berjalan. Secara default penempatan file web di Nginx berada di directory /var/www/html
root@whydnet:/etc/apt# /etc/init.d/php7.0-fpm start
root@whydnet:/etc/apt# /etc/init.d/nginx restart
root@whydnet:/etc/apt# cd /var/www/html
root@whydnet:/var/www/html# vi info.php
Jika sudah, silahkan keluar dan save dari editor vi dengan menekan tombol esc dan :wq untuk menyimpannya.
Buka browser, lalu ketikan IP Address web server Nginx dengan /info.php, maka akan muncul gambar seperti dibawah ini.
Itu saja yang saya lakukan untuk install PHP7 & PHP-FPM di Debian 8 Jessie, mudah dan sederhana bukan?