Tutorial Instalasi LEMP Stabil Terbaru di Semua Versi Ubuntu

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.

 

 

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.