Perhatian!! Harus dibaca sampai selesai jika ingin menginstal
Di luar sana (baca:google) banyak sekali tutorial instalasi LEMP (Linux, Nginx, MariaDB, PHP-FPM) Stack untuk ubuntu sebagai webserver, dari versi 8 sampai versi 16. Tapi yang jadi masalah adalah ribet, padahal harusnya gampang banget, dan cuma butuh waktu 30 sampai 60 menit dalam proses instalasinya (tergantung dari koneksi internet). Masalah lainnya adalah versi LEMP yang disediakan tutorial-tutorial itu versi lawas. Memang sih versi lawas itu kadang lebih stabil, tetapi di versi baru pasti ada kelebihannya dari segi performa misalnya, seperti PHP 7.2 yang terbaru ketika saya menulis artikel ini lebih cepat performanya dibanding dengan HHVM (hasil riset kinsta).
Yaudah gausah banyak cingcong langsung saja ya kita masuk ke tutorialnya.
1. Alat yang diperlukan
Alat yang diperlukan adalah nano, wget. Semua tools telah ada di ubuntu jadi langsung eksekusi saja.
2. Tahap Pemeriksaan
Perlu ada tahap persiapan, cek hostname & hostname FQDN dulu melalui nano agar bisa langsung mengedit apabila FQDN belum diatur. Hal ini perlu dilakukan untuk webserver agar mencegah hal-hal yang tidak diinginkan.
nano /etc/host
jika format hasilnya seperti dibawah, berarti sudah benar. (Formatnya saja)
127.0.0.1 localhost 127.0.1.1 ubuntu # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters 123.456.7.89 abcd.domainmu.tld abcd # ganti 123.456.7.89 dengan IP-mu # ganti subdomain abcd sesuai nama yang kamu suka # ganti domainmu.tld dengan domain yang telah kamu beli/punya
Nah, kalian bisa copas hasilnya lalu ganti hal-hal yang perlu diganti seperti di keterangan “# ganti blablabla”.
Kemudian lari ke /etc/hostname. isinya harus sesuai dengan subdomain yang telah kalian pilih, disini saya mencontohkan abcd.domainmu.tld, maka jika /etc/hostname berisi abcd saja tidak perlu diubah-ubah lagi, jika hasilnya berbeda, maka ganti dengan subdomainmu.
nano /etc/hostname
hasilnya
abcd
berarti sudah benar, simpan dengan ctrl + x.
lalu reboot
reboot
3. Instalasi Nginx Stabil Terbaru
Untuk menginstal Nginx versi terbaru maka harus menambahkan repositori nginx dulu seperti yang tercantum di website nginx.
Disini saya akan memberikan cara cepatnya, mau pakai manual juga boleh
echo "deb http://nginx.org/packages/ubuntu/ `lsb_release -cs` nginx" >> /etc/apt/sources.list echo "deb-src http://nginx.org/packages/ubuntu/ `lsb_release -cs` nginx" >> /etc/apt/sources.list
Inti dari command diatas adalah menambahkan repositori nginx ke /etc/apt/sources.list untuk berbagai versi ubuntu. `lsb_release -cs` berfungsi meng-generate otomatis codename ubuntu yang diperlukan.
Lalu setelah itu beri otorisasi, dan install
curl http://nginx.org/keys/nginx_signing.key | sudo apt-key add - sudo apt-get update sudo apt-get install nginx
4. Instalasi MariaDB terbaru
Seperti nginx, kita perlu menambahkan repositori mariadb dulu, lewat official website mariadb juga bisa, tinggal pilih versi ubuntu, dan pilih lokasi server.
Pertama install software properties dulu dan key otorisasinya (tidak semua sama, saya sarankan lewat web official maria db saja)
sudo apt-get install python-software-properties sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
lalu tambahkan repositorinya
echo "# MariaDB" >> /etc/apt/sources.list echo "deb [arch=amd64,i386] http://ftp.hosteurope.de/mirror/mariadb.org/repo/10.2/ubuntu `lsb_release -cs` main" >> /etc/apt/sources.list echo "deb-src http://ftp.hosteurope.de/mirror/mariadb.org/repo/10.2/ubuntu `lsb_release -cs` main" >> /etc/apt/sources.list
lalu install
apt-get update apt-get install mariadb-server
5. Install PHP terbaru
Prosesnya sama seperti sebelumnya, tambahkan repositori dari luar dulu.
sudo apt-get install python-software-properties sudo add-apt-repository ppa:ondrej/php
lalu install
sudo apt-get update sudo apt-get install -y php7.2 php7.2-fpm
Kalau butuh modul lainnya bisa pakai command
sudo apt-get install php7.2-*
ganti * dengan nama modul
6. Konfigurasi PHP-FPM
Edit konfigurasi php nya agar file php bisa dibuka dengan benar
nano /etc/php/7.2/fpm/php.ini
lalu cari ;cgi.fix_pathinfo=1
hilangkan titik koma (;) dan ganti menjadi cgi.fix_pathinfo=0
Lalu simpan.
Nah selanjutnya, karena defaultnya php-fpm ini settingannya untuk apache, jadi kita harus ubah dulu www.conf-nya
nano /etc/php/7.2/fpm/pool.d/www.conf
lalu cari user group dan socket-nya
user = www-data group = www-data ... ... ... ... listen.owner = www-data listen.group = www-data ;listen.mode = 0666
ganti www-data menjadi nginx, karena disini kita menggunakan nginx
user = nginx group = nginx ... ... ... ... listen.owner = nginx listen.group = nginx ;listen.mode = 0666
lalu restart php-fpm
systemctl restart php7.2-fpm
7. Konfigurasi virtual host nginx
buka default.conf, biasanya sudah ada isinya
sudo nano /etc/nginx/conf.d/default.conf
lalu hapus semua, dan gantikan dengan konfigurasi di bawah
server { listen 80; root /usr/share/nginx/html; #ubah html menjadi nama folder websitemu index index.php index.html index.htm; server_name 123.4.56.7; #ganti 123.4.56.7 dengan alamat ip servermu atau domainmu location / { try_files $uri $uri/ /index.html; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ .php$ { try_files $uri =404; fastcgi_pass unix:/run/php/php7.2-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
lalu restart
systemctl restart nginx
7. Tes file php
Tahap terakhir, tes apakah file php bisa terbaca atau tidak.
nano /usr/share/nginx/html/info.php
lalu isi dengan
<?php phpinfo(); ?>
kalau yang keluar php info seperti di bawah berarti berhasil
Selamat!! Kamu berhasil install LEMP di ubuntu-mu.
Tapi ada tambahannya, kalau kamu mau menambahkan domain, maka ada tahapan tambahan
8. Menambahkan website/domain
Untuk menambahkan domain di server kita, maka kita perlu buat direktori websitenya dulu, biar gampang buat di direktori /usr/share/nginx/
mkdir /usr/share/nginx/domainmu.tld
ganti nama domainmu.tld
dengan domainmu terus isi file apa aja deh terserah kamu, misalnya mau buat blog pakai wordpress, yaudah upload wordpress di sana.
Terus belom selesai, perlu nambahin file konfigurasi untuk website itu
nano /etc/nginx/conf.d/domainmu.conf
terus isi aja seperti file default.conf tinggal ubah bagian server_name 123.4.5.6
dan root /usr/share/nginx/html
ganti html dengan nama folder websitemu. Selesai.
Selamat!! Sudah selesai. Secara umum tutorialnya seperti ini, tapi terkadang ada yang sedikit berbeda tergantung dari vpsnya. Cara ini yang saya gunakan untuk server website ini.
Akhir kata, semoga bermanfaat.. Kalau ada yang salah tolong beritahu saya salahnya dimana via komentar. Terima kasih.