Instalasi LEMP pada Debian 8
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.
Daftar Isi
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. 🙂
Oh iya mas, sebelumnya terima kasih sudah dibuatkan tutorialnya ^_^
Saya mau tanya mas, kenapa konfigurasi PHP nya kita ga setting
listen
nya jadiphp-fpm.sock
, seperti yang mas kasih caranya di https://servernesia.com/995/instalasi-lemp-centos-7/Terus, saya mau tanya lagi mas, saya kemaren nyoba install LEMP stack, tapi bukan pake php5, saya installnya PHP aja (jadi yg terinstal PHP 7.0), cuman waktu saya ganti use owner dan grup nya di
www.conf
dariwww-data
jadinginx
kenapa ga bisa ya mas?Terus satu lagi mas, biar
domain.com
otomatis direct kewww.domain.com
gimana ya mas? ngaturnya di vanity nameserver DO atau di VPS nya?Terima kasih mas. Aseli saya pemula mas.
Oh, cuma beda saluran sih mas kalau masalah
listen
. Yang defaultnya pakai port dan yang biasanya saya ganti ke socket. Katanya sih memiliki performa lebih baik, tapi baru terasa kalau trafiknya per hari sudah puluhan ribu. Dan memang saya belum merasakan perbedaan berarti untuk ini. Mungkin karena sudah pakai cache dari sisi Nginx dan PHP.Mas pakai tutorial yang mana untuk PHP 7.0-nya? Walau mudah tapi kalau alurnya beda dan distronya lain ya saya bingung juga mas. Oh ya, pesan errornya ada mas?
Pertama buat dulu
A
recordnyawww.domain.com
ke alamat IP VPS misal192.168.1.1
. Kemudian buatCNAME
recorddomain.com
menujuwww.domain.com
. Ini redirect dari sisi DNS, jadi web server tidak perlu memprosesnya.nice tp terlalu simple (kurang detail) >> gak cocok untuk nyubie seperti saya 😀
btw hatur nuwun ilmunya mas Chandra 🙂
Nah… itu saya butuh masukan butuh detailnya pada bagian mana mas. Dari sisi saya mungkin terlalu biasa jadi ada yang tidak terpikirkan untuk ditulis.
Silahkan diajukan mas kesulitannya dimana. 🙂
link install wordpress di lemp di debian 8 nya mana gan:D
boleh donk di share install wordpress+nginx di webuzo, coz sekarang webuzo yg free dah ga bisa install nginx 🙁 thanks.
Saya ada prosedur sendiri untuk install WordPress di VPS mas, tapi manual: https://servernesia.com/741/alur-instalasi-wordpress-vps/
tanya mas… sebelum menambahkan script ke block server harus punya domain dulu kah??? atau gimana???
Betul mas, kalau tidak tahu darimana domainnya sukses dihosting? 😀 Kan harus diarahkan (A record) ke alamat IP VPSnya.
trims… maaf banyak nanya… sudah sukses overAll… tetapi yang terbuka hanya homepage saja …. saya pakai CI mas… kenapa yaa??? trimakasih atas seluruh bantuan yang selama ini SUHU CHANDRA berikan… heeeee
CI = Code Igniter mas?
Kalau membuka url/link lain apa ada pesan/kode errornya?
iya gan… error 403 forbidden … nginx … gimana tuh
eh… 404 mas….
Di CI ada rewrite rule khususnya mas? Mungkin perlu ini untuk permalink semacamnya?
Trims Suhu…. ternyata masalah Case Sensitiv…. 4hari sya cari masalah log errornya….. sampek nangis gan….. sekarang tersenyum …. Trims yaaaa …. atas bantuannya …. Blog ini memang mantap….. 2 jempol untuk Abang Chandra….
Ahaha. Sep mas bisa solved. 🙂
Kalau boleh tahu solusi spesifiknya seperti apa ya? Cuma ganti huruf besar kecilnya? Apanya dan dimana? Konfigurasi Nginx atau CI?
Saya yang penasaran. 😀
di CI nya mas untuk controllers….. kalo d localhost windows… lancar jaya mas… di linux? sangat sensitive….
Mas. Klo mau sekalian tambahin phpmyadmin gmna ya ? sya udh nyari” dan coba, tapi gabisa phpmyadmin nya..
Mas pakai cara seperti apa? Tidak bisa itu seperti apa kondisinya?
Saya pernah bahas soal ini: https://servernesia.com/3111/cara-install-phpmyadmin-linux/