Cara Install Linux Nginx MySQL dan PHP LEMP di Centos 6 – Jika anda sering memperhatikan postingan-postingan saya, anda pasti tahu bahwa saya jarang membahas distro Centos. Bukan karena saya membenci centos, tapi karena saya malah keasyikan menggunakan Ubuntu dan Debian.
Linux, Nginx, MySQL dan PHP (LEMP) stack adalah paket instalasi yang biasanya digunakan untuk keperluan pembuatan dan pengelolaan sebuah website statis. Semua aplikasi tersebut sangat erat berkaitan, sehingga biasa disatukan dengan singkatan LEMP atau LNMP. Selain LEMP, anda juga bisa menggunakan LAMP (Linux Apache MySQL dan PHP) untuk digunakan dalam fungsi yang sama.
Persiapan :
Sebelum melakukan instalasi LEMP di VPS Centos 6 anda, harap anda pastikan :
- Tidak terdapat web server lain seperti apache (httpd) di VPS anda. Jika sudah ada, silahkan anda hapus atau ganti port terlebih dahulu. (Silahkan lihat artikel : cara mengganti port apache httpd centos).
Berikut adalah cara install Linux Nginx MySQL dan PHP / LEMP di Centos 6 :
- Update Centos anda terlebih dahulu melalui command :
sudo yum update
- Silahkan install epel terlebih dahulu. (Jika anda melewatkan tahapan yang satu ini, anda tidak akan bisa melanjutkan ke proses instalasi Nginx) :32 bit :
su -c 'rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm'
64 bit :
su -c 'rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm'
Nginx
- Saatnya install Nginx. Silahkan berikan perintah ini :
sudo yum install nginx
- Start service Nginx :
sudo /etc/init.d/nginx start
- Auto start nginx setelah VPS restart:
sudo chkconfig nginx on
- Cek apakah Nginx sudah berhasil terinstall dengan baik atau belum melalui browser. Silahkan anda ketikan IP Server anda disana dan seharusnya anda mendapatkan tampilan halaman seperti berikut ini :
Berikut ini adalah informasi lokasi file dan direktori default nginx Centos :
Direktori default dokumen root : /usr/share/nginx/html
Default file konfigurasi nginx : /etc/nginx/nginx.conf
Default direktori virtual host (server block) nginx : /etc/nginx/conf.d/
Default file konfigurasi virtual host nginx : /etc/nginx/conf.d/default.conf
MySQL
- Install MySQL :
sudo yum install mysql-server
- Restart MySQL :
sudo /etc/init.d/mysqld restart
- Auto start MySQL :
sudo chkconfig mysqld on
- Rubah konfigurasi default MySQL termasuk password dan user anonymous. (Saat diminta password pertama kali silahkan enter selanjutnya anda ketikan password baru dan jika ada pertanyaan konfirmasi silahkan jawab saja semuanya dengan “y”).
sudo /usr/bin/mysql_secure_installation
PHP
- Install PHP melalui command :
sudo yum install php-fpm php-cli php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-magickwand php-magpierss php-mbstring php-mcrypt php-mssql php-shout php-snmp php-soap php-tidy
- Buka file /etc/php.ini (gunakan editor pilihan anda) dan gantilah baris :
cgi.fix_pathinfo=1
dengan
cgi.fix_pathinfo=0
Proses instalasi LEMP di VPS Centos 6 sudah selesai. Selanjutnya anda tinggal melakukan konfigurasi sesuai kebutuhan anda. Dalam artikel ini saya akan membuat halaman php.info sebagai bukti bahwa PHP sudah berhasil terinstall dan siap untuk digunakan. Namun sebelum itu, saya akan mengedit konfigurasi pada Nginx dan php terlebih dahulu.
Konfigurasi Nginx :
Edit file /etc/nginx/nginx.conf :
nano /etc/nginx/nginx.conf
Ikuti cara optimasi web server nginx yang saya tulis di artikel cara optimasi nginx web server di VPS linux.
Konfigurasi PHP-FPM
- Selanjutnya silahkan buka file konfigurasi php-fpm :
nano /etc/php-fpm.d/www.conf
Gantilah tulisan apache dengan nginx yang terdapat di user dan group (gunakan mode CTRL+W untuk mempercepat pencarian) :
[...] ; Unix user/group of processes ; Note: The user is mandatory. If the group is not set, the default user's group ; will be used. ; RPM: apache Choosed to be able to access some dir as httpd user = nginx ; RPM: Keep a group allowed to write in log dir. group = nginx [...]
Save dengan CTRL+X, Y.
- Restart php-fpm :
sudo service php-fpm restart
- Auto start php-fpm :
sudo chkconfig php-fpm on
Membuat Halaman php.info
- Masuk ke direktori virtual host nginx /etc/nginx/conf.d/:
cd /etc/nginx/conf.d/
- Buat file konfigurasi virtual host baru dengan menggunakan editor yang biasa anda gunakan. Saya akan membuat file baru bernama phptest.conf dengan menggunakan nano editor :
nano phptest.conf
- Masukkan contoh baris berikut kedalam file tersebut :
server { listen 80; # listen port yang digunakan server_name localhost; # Server name disesuaikan misal (www.dedeerik.ga) atau IP VPS (128.12.123.12) location / { root /usr/share/nginx/html; # Document root, silahkan sesuaikan. index index.php index.html index.htm; } location ~ \.php$ { root /usr/share/nginx/html; # Document root, silahkan sesuaikan. fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
Simpan dengan CTRL+X, Y.
- Buat file php baru :
cd
nano /usr/share/nginx/html/info.php
Masukkan baris-baris berikut ini :
<?php phpinfo(); ?>
Jangan lupa simpan sebelum keluar dari file tersebut.
- Restart Nginx :
sudo service nginx restart
- Buka browser dan ketikan IP/info.php atau domain.com/info.php. Tampilannya akan seperti gambar berikut ini :