Menginstall Nginx, PHP 7, MariaDB di Debian 8 Jessie dan mengarahkan domain ke VPS NAT IPv4 (via IPv6 + Cloudflare) Bagian 1

Sebelum Tulisan Dimulai…
Sebelumnya saya sudah menuliskan bagaimana memanfaatkan VPS Nat-IPv4 untuk menjadi VPN. Nah, kan sayang tuh jika VPS yang kamu beli tidak dipakai untuk meng-online-kan website. Ada beberapa pertanyaan juga yang mampir di blog ini dan di email saya seperti: bagaimana cara mengarahkan domain ke VPS Nat-IPv4, bagaimana menginstall webserver di VPS Nat-IPv4, dan sebagainya. Di posting ini saya akan mencoba memberikan tutorial mengenai hal tsb.

Tulisan Sesudah Sebelum Tulisan Dimulai…
Sebagai catatan untuk posting kali ini saya memberikan tutorial memakai OS Linux Debian 8 (Jessie) 64bit minimal. Untuk tutorial memakai OS lain, insya Allah saya bahas di lain waktu.

  1. Seperti biasa, silakan ke aplikasi putty, lakukan koneksi ke VPS. Lalu masukkan username dan password kamu.
  2. Lakukan update dan upgrade OS kamu dengan mengetikkan perintah:
    apt-get update && apt-get upgrade

    apt-get update && apt-get upgrade

    apt-get update && apt-get upgrade

  3. Jika sudah, silakan ketikkan perintah untuk menginstall text editor di OS kamu, saya lebih suka memakai nano, jadi saya menginstall nano dengan mengetikkan perintah:
    apt-get install nano -y

    apt-get install nano -y

    apt-get install nano -y

  4. Jika sudah menginstal nano, silakan mengetikkan script di bawah untuk menginstal nginx:
    wget http://nginx.org/keys/nginx_signing.key
    apt-key add nginx_signing.key
    echo 'deb http://nginx.org/packages/debian/ jessie nginx' >> /etc/apt/sources.list
    echo 'deb-src http://nginx.org/packages/debian/ jessie nginx' >> /etc/apt/sources.list
    apt-get update && apt-get install nginx -y

    menginstal nginx

    menginstal nginx

  5. Lalu arahkan ke direktori /etc/nginx dengan perintah:
    cd /etc/nginx

    lalu edit berkas konfigurasi nginx dengan mengetikkan:

    nano nginx.conf

    Lalu ubah user jadi:

    user www-data;
    worker_processes 1;
    edit nginx.conf

    edit nginx.conf

    Untuk meningkatkan performa I/O, silakan access-log di-disable dengan memberi nilai access_log menjadi off, lalu tambahkan juga client_max_body_size 12m di bawahnya.

    access_log off;
    client_max_body_size 12m;
    edit nginx.conf

    edit nginx.conf

    Jika sudah, simpan nano dengan mengetikkan ctrl + x lalu tombol y.

  6. Lalu sekarang pindah ke folder conf.d dengan mengetikkan perintah:
    cd conf.d
  7. Buat sebuah nama baru di folder tsb dengan nama yang kalian suka, contohnya saya membuat nama: teswebsite.conf
    nano teswebsite.conf

    Lalu isi dengan perintah seperti berikut:

    server {
     listen [2400:fb80:0000:2215:e69a:e69a:e69a:e69b]:80 default ipv6only=on;
     listen [2400:fb80:0000:2215:e69a:e69a:e69a:e69b]:443;
    
     set $root_path '/usr/share/nginx/teswebsite';
     root $root_path;
     index index.php index.html index.htm;
    
     server_name teswebsite.limosin-creative.com www.teswebsite.limosin-creative.com;
    
     location / {
     try_files $uri $uri/ /index.php$is_args$args;
     }
    
    }
  8. catatan: IPv6 yang saya set di atas (2400:fb80:0000:2215:e69a:e69a:e69a:e69b), saya tambahkan di VPS control panel, saya contohkan control panel quadhost (i-83.net).
    Manage IPv6 di control panel quadhost

    Manage IPv6 di control panel quadhost

    Edit IPv6 Subnet

    Edit IPv6 Subnet

    Tambahkan IPv6 sesuai yang diinginkan

    Tambahkan IPv6 sesuai yang diinginkan

  9. Jika sudah lalu restart nginx dengan mengetikkan perintah:
    service nginx restart
  10. Lalu masuk ke Cloudflare, tambahkan domain kamu. Lalu arahkan ke menu DNS, arahkan domain atau subdomain ke ip yang sudah kalian set. Dalam contoh saya membuat subdomain teswebsite.limosin-creative.com.Untuk menambahkan IPv6 maka kalian harus menambahkan AAAA record.
    set AAAA record di DNS manajemen Cloudflare

    set AAAA record di DNS manajemen Cloudflare

    Pastikan logo Cloudflare berwarna jingga

    Pastikan logo Cloudflare berwarna jingga

  11. Selesai menyeting itu semua, silakan buat direktori sesuai dengan yang ada di berkas config yang pernah dibuat:
    mkdir /usr/share/nginx/teswebsite

    lalu buat berkas index.html ini dengan tulisan terserah kalian, saya sih buat “hello world” saja 😀

    nano /usr/share/nginx/teswebsite/index.html

    lalu simpan dengan mengetikkan “ctrl + x” lalu ketik “y”

  12. Dan, silakan cek domain/subdomain yang sudah diarahkan tadi.
    Tampilan domain/subdomain yang sudah kita buat

    Tampilan domain/subdomain yang sudah kita buat

    Jangan lupa jika ada perubahan di nginx (seperti mengubah berkas .conf nya), maka lakukan restart nginx dengan mengetikkan:

    service nginx restart

Tulisan Sesudah Tulisan…
Selesai bagian 1 di mana kita menginstal Nginx dan menghubungkan domain dengan bantuan Cloudflare, untuk bagian 2 kita akan menginstal PHP7 dan MariaDB agar website bisa menjalankan php dan database. Ditunggu ya, doakan semoga saya sempat memposting 😉

NB: tahukah kalian? di seting berkas .conf yang kita buat saya juga me-listen port 443, sehingga domain & subdomain kalian bisa diakses melalui protokol https (dengan SSL gratis dari Cloudflare tentunya).

Update 06/06/2016: Menginstall Nginx, PHP 7, MariaDB di Debian 8 Jessie dan mengarahkan domain ke VPS NAT IPv4 (via IPv6 + Cloudflare) Bagian 2