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.

     

    Recent Articles

    [td_block_21]

    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!