More

    Cara Install SSL Let’s Encrypt di Tengine

    Cara Install SSL di Tengine – Tutorial ini merupakan lanjutan dari tutorial sebelumnya yaitu Cara Install Tengine, PHP, MySQL, WordPress di Ubuntu 20.04. Jadi, jika anda belum membaca artikel tersebut, sebaiknya baca terlebih dahulu. Karena, tutorial yang akan saya buat kali ini ada hubungannya dengan tutorial sebelumnya.

    Untuk cara install ssl di tengine memang caranya sedikit rumit. Karena installer certbot let’s encrypt belum mendukung untuk software tengine. Oleh karena itu, disini kita akan melakukan installasi SSL Let’s Encrypt secara manual.

    Jadi, step by step nya adalah sebagai berikut:

    • Install Certbot
    • Generate cert manual
    • Verifikasi domain
    • Setup konfigurasi virtualHost tengine

    Cara Install SSL Let’s Encrypt di Tengine

    Install Certbot

    snap install core; sudo snap refresh core
    snap install --classic certbot
    ln -s /snap/bin/certbot /usr/bin/certbot

    Untuk lets encrypt sendiri belum mendukun auto-installer untuk tengine. Jadi, kita akan generate ssl sertificate secara manual. Ganti email dan domain sesuai domain anda.

    certbot certonly --manual --agree-tos -m fikry.dome10@gmail.com -d dev.tutorialpedia.net

    Apabila muncul TOS (Terms of Agreement) klik Y

    Berikutnya, kita diwajibkan untuk memverifikasi kepemilikan domain. Mohon perhatikan gambar ini baik-baik.

    cara install ssl

    buat folder acme di root direktori domain anda. Sesuaikan root direktori domain anda pada contoh ini saya meletakkan root direktori website di /usr/local/nginx/html

    mkdir -p /usr/local/nginx/html/.well-known/acme-challenge/

    lalu buat file sesuai dengan caption “ini nama file” pada gambar diatas.

    touch /usr/local/nginx/html/.well-known/acme-challenge/IK3-RcPyi3a6SffERLrEIPTN3ISsDbLYLzAt6dZv8AU

    Masukkan kode verifikasinya ke file tersebut.

    echo 'IK3-RcPyi3a6SffERLrEIPTN3ISsDbLYLzAt6dZv8AU.xvsatngufzf7O2jSUIBpAg6NKLzkhWGWsjn358kY1MY' > /usr/local/nginx/html/.well-known/acme-challenge/IK3-RcPyi3a6SffERLrEIPTN3ISsDbLYLzAt6dZv8AU

    Jika sudah, klik Continue

    cara install ssl

    Jika berhasil maka ssl akan ke generate di /etc/letsencrypt/live/{namadomain}.

    cara install ssl

    Berhubung kita melakukan generate ssl secara manual, Jadi kita harus melakukan konfigurasi virtual host tenginenya secara manual.

    Karena tutorial ini adalah tutorial dari artikel sebelumnya, jadi saya menggunakan sample virtual host artikel sebelumnya.

    Virtual Host tengine tanpa SSL

    user www-data;
    worker_processes  1;
    
    events {
        worker_connections  1024;
    }
    
    
    http {
        include       mime.types;
        default_type  application/octet-stream;
        sendfile        on;
        keepalive_timeout  65;
    
        gzip  on;
    
        server {
            listen       80;
            root   /usr/local/nginx/html/; #lokasi file website anda
            server_name  dev.tutorialpedia.net; #nama domain anda
            index  index.html index.htm index.php;
    
            location / {
                try_files $uri $uri/ /index.php?$args;
            }
    
            #konfigurasi PHP
            location ~ \.php$ {
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
            fastcgi_cache_valid 200 60m;
            }
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
    
        }
    
    }
    

    Untuk mengaktifkan SSL letakkan kode berikut di server block

            listen       443 ssl;
            server_name  tengine.tutorialpedia.net;
    
            ssl_certificate  /etc/letsencrypt/live/dev.tutorialpedia.net/cert.$
            ssl_certificate_key /etc/letsencrypt/live/dev.tutorialpedia.net/pr$
            ssl_protocols       SSLv3 TLSv1 TLSv1.1 TLSv1.2;
            ssl_ciphers         HIGH:!aNULL:!MD5;
    
    server {
        if ($host = dev.tutorialpedia.net) {
            return 301 https://$host$request_uri;
        } # managed by Certbot
    
    
            server_name  dev.tutorialpedia.net;
        return 404;

    Final Result

    user www-data;
    worker_processes  1;
    
    events {
        worker_connections  1024;
    }
    
    
    http {
        include       mime.types;
        default_type  application/octet-stream;
        sendfile        on;
        keepalive_timeout  65;
    
        gzip  on;
    
        server {
            listen       443 ssl;
            root   /usr/local/nginx/html/; #lokasi file website anda
            server_name  dev.tutorialpedia.net; #nama domain anda
            ssl_certificate  /etc/letsencrypt/live/dev.tutorialpedia.net/cert.pem;
            ssl_certificate_key /etc/letsencrypt/live/dev.tutorialpedia.net/privkey.pem;
            ssl_protocols       SSLv3 TLSv1 TLSv1.1 TLSv1.2;
            ssl_ciphers         HIGH:!aNULL:!MD5;
            index  index.html index.htm index.php;
    
            location / {
                try_files $uri $uri/ /index.php?$args;
            }
    
            #konfigurasi PHP
            location ~ \.php$ {
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
            fastcgi_cache_valid 200 60m;
            }
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
    
    
            }
    
    server {
        if ($host = dev.tutorialpedia.net) {
            return 301 https://$host$request_uri;
        } # managed by Certbot
    
    
            server_name  dev.tutorialpedia.net;
            listen 80;
       return 404;
        }
    }

    Sebelum apply configuration, sebaiknya test terlebih dahulu konfigurasi yang sudah dibuat tadi.

    nginx -t

    Jika succesful Reload konfigurasi tengine

    nginx -s reload

    Sekarang coba akses halaman website anda, Pada contoh artikel ini saya coba di dev.tutorialpedia.net, Maka hasilnya seperti berikut:

    Protokol website anda sudah menjadi HTTPS.

     

    Free $100
    Deal

    Daftar menggunakan link di pojok kanan atas, minimal top up $25 usd. Maka dalam waktu 30 hari setelah registrasi anda akan mendapatkan credit $100 gratis dari vultr untuk mencoba layanan mereka.

    More Less
    Doesn't expire

    Recent Articles

    membuat fungsi terbilang

    Cara Membuat Fungsi Terbilang Pada Open Office

    0
    Pada artikel kali ini, saya akan mengajarkan bagaimana Cara Membuat Fungsi Terbilang Pada Open Office. Ada beberapa cara yang bisa anda gunakan untuk membuat fungsi...
    pengenalan templates

    Tutorial Django Bahasa Indonesia #6: Pengenalan Templates

    0
    Pada artikel sebelumnya kita sudah belajar mengenai routing di django #5 . Dimana, pada tutorial tersebut kita sudah bagaimana cara menampilkan "Hello World" pada...

    Tutorial Django Bahasa Indonesia #5: URL Routing Django

    0
    Pada tutorial kali ini, kita akan membahas tentang URL routing yang ada di django. URL Routing ini berfungsi untuk mengalihkan halaman, dari satu halaman...
    membuat app django

    Tutorial Django Bahasa Indonesia #4: Membuat App Django

    0
    Pada artikel sebelumnya kita telah mengenal apa itu django dan bagaimana cara membuat project pertama dengan django. Pada bagian ke #4 ini saya akan...

    Tutorial Django Bahasa Indonesia #3: Membuat Project Django

    0
    Pada tutorial django bagian #3 ini, kita akan belajar bagaimana cara membuat project baru dengan django. Tak hanya itu, kita juga akan belajar bagaimana...

    Related Articles

    Leave A Reply

    Please enter your comment!
    Please enter your name here

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

    Dapatkan konten terbaik dari kami!