Instalasi LEMP pada Debian 8
Daftar Isi
Melanjutkan tutorial selanjutnya yang juga (mungkin) permintaan dari mas Niko. Kali ini tujuannya kita berhasil setting LEMP (Linux, Nginx, MariaDB dan PHP) pada Debian 8 Jessie. Batasan saya adalah sebisa mungkin menggunakan apa yang ada di repository defaultnya supaya tidak menambah rumit prosesnya dan kalau pas troubleshooting kedepannya tidak sulit juga. 🙂 Tapi kekurangannya yang digunakan bukanlah versi terbaru.
Persiapan awal
Seperti biasa, sebelum melakukan instalasi stacknya maka wajib kita perbarui semua paket aplikasi yang ada dalam Debian 8:
apt-get update && apt-get upgrade
Instalasi Nginx
Bukanlah hal yang sulit untuk menginstall Nginx di Debian 8, tinggal anda ketikkan perintah:
apt-get install nginx
Tapi jangan lupa untuk menghidupkan mesinnya:
systemctl start nginx
Dan menambahkannya dalam startup Linux, jadi setiap kali booting otomatis aktif juga:
systemctl enable nginx
Instalasi MySQL/MariaDB
Untuk menginstall MySQL Server tinggal eksekusi:
apt-get install mysql-server
Terus terang dibandingkan MySQL saya lebih suka MariaDB karena lebih aktif pengembangan softwarenya dan jangan khawatir karena ini masih kompatibel kok.
apt-get install mariadb-server mariadb-client
Ingat pilih salah satu saja apa database server yang dipasangkan. Selanjutnya anda wajib mengamankan instalasi database server ini, eksekusi saja:
mysql_secure_installation
Kemudian ikuti instruksinya.
Pastikan service MySQL/MariaDB akan aktif saat startup:
systemctl enable mysql
atau
systemctl enable mariadb
Instalasi PHP
Ini juga tidak kalah mudahnya, tinggal anda jalankan perintah berikut:
apt-get install php5 php5-fpm php5-mysql php5-opcache
Selesai sudah proses instalasi PHP 5 di Debian 8. Gampang kan? Haha. 😀
Dan jangan lupa tambahkan daemon PHP-FPM ikut hidup saat booting:
systemctl enable php-fpm
Konfigurasi PHP
Ini baru agak sulit tahapannya. Kita perlu menyetel PHP-FPM baru bisa digunakan oleh Nginx:
nano /etc/php5/fpm/php.ini
Kemudian cari dan hilangkan tanda titik koma (;) di awal kode dibawah:
cgi.fix_pathinfo=0
Akhirnya restart prosesnya:
systemctl restart php5-fpm
Konfigurasi Nginx
Target selanjutnya adalah agar Nginx bisa memproses file PHP, mari kita edit konfigurasi virtual hostnya dulu:
nano /etc/nginx/sites-available/default
Dan kemudian tambahkan kode berikut dalam blok server{}:
server {
listen 80;
server_name nama_domain.com;
root /var/www/html;
index index.php index.html index.htm index.nginx-debian.html;
location / {
try_files $uri $uri/ =404;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /var/www/html;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Setelah itu silahkan restart Nginx:
systemctl restart nginx
Setting Virtual Host Nginx
Kalau semua sudah selesai terus kita ngapain? Haha. 😀 Mudah kok, silahkan buat direktori untuk website yang akan dihosting, istilahnya sih virtual hosting:
mkdir /var/www/nama_domain.com
Upload file – filenya kesana ya. Misal ingin WordPress bisa mengikuti tutorial instalasinya di VPS sebelumnya.
Dan kemudian kita buat file konfigurasi baru yang nanti isinya adaptasi dari defaultnya:
cp /etc/nginx/sites-available/default /etc/nginx/sites-available/nama_domain.com
Dan isinya sesuaikan dengan situs anda.
Jangan lupa restart Nginx lagi setelahnya agar dikenali konfigurasi barunya. Selesai sudah. 🙂