GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal Let's Encrypt SSL Dengan Nginx di Ubuntu 16.04 LTS

Dalam tutorial ini, kami akan menunjukkan kepada Anda cara menginstal Let's Encrypt SSL dengan Nginx di Ubuntu 16.04 LTS. Bagi Anda yang tidak tahu, LetsEncrypt adalah otoritas sertifikat terbuka gratis (CA ) yang menyediakan sertifikat gratis untuk situs web dan layanan lainnya. Layanan ini, didukung oleh Electronic Frontier Foundation, Mozilla, Cisco Systems, dan Akamai. Sayangnya, sertifikat LetsEncrypt.org saat ini memiliki masa pakai 3 bulan. Ini berarti Anda harus perbarui sertifikat Anda setiap tiga bulan untuk saat ini.

Artikel ini mengasumsikan Anda memiliki setidaknya pengetahuan dasar tentang Linux, tahu cara menggunakan shell, dan yang terpenting, Anda meng-host situs Anda di VPS Anda sendiri. Instalasi cukup sederhana dan mengasumsikan Anda sedang berjalan di akun root, jika tidak, Anda mungkin perlu menambahkan 'sudo ' ke perintah untuk mendapatkan hak akses root. Saya akan menunjukkan langkah-langkah instalasi Let's Encrypt SSL dengan Nginx di server Ubuntu 16.04 LTS (Xenial Xerus).

Prasyarat

  • Server yang menjalankan salah satu sistem operasi berikut:Ubuntu 16.04 LTS (Xenial Xerus).
  • Sebaiknya Anda menggunakan penginstalan OS baru untuk mencegah potensi masalah.
  • Akses SSH ke server (atau cukup buka Terminal jika Anda menggunakan desktop).
  • Seorang non-root sudo user atau akses ke root user . Kami merekomendasikan untuk bertindak sebagai non-root sudo user , namun, karena Anda dapat membahayakan sistem jika tidak berhati-hati saat bertindak sebagai root.

Instal Let's Encrypt SSL Dengan Nginx di Ubuntu 16.04 LTS

Langkah 1. Pertama, pastikan semua paket sistem Anda mutakhir dengan menjalankan apt-get berikut perintah di terminal.

sudo apt-get update
sudo apt-get upgrade

Langkah 2. Menginstal Let's Encrypt SSL di Ubuntu 16.04.

Langkah pertama adalah menginstal certbot, klien perangkat lunak yang akan mengotomatiskan hampir semua proses:

add-apt-repository ppa:certbot/certbot
apt-get update
apt-get install certbot

Anda juga harus menginstal dan menjalankan Nginx. Tentu saja, jika Anda menambahkan sertifikat ke host web yang dikonfigurasi sebelumnya, ini sudah diinstal:

apt-get install nginx
systemctl start nginx

Langkah pertama untuk menginstal mari kita mengenkripsi SSL di Ubuntu Linux adalah menambahkan konfigurasi sederhana di dalam konfigurasi blok server Nginx Anda. Tambahkan baris ini ke konfigurasi blok server Anda:

location ~ /.well-known {
  allow all;
  }

Simpan dan keluar untuk menerapkan perubahan:

### nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Mulai ulang Nginx:

systemctl restart nginx

Mendapatkan sertifikat dengan Certbot:

Jalankan perintah seperti yang Anda lihat di bawah, ganti “idroot.us” dengan nama domain asli Anda dan /var/www/idroot.us dengan jalur webroot asli Anda:

certbot certonly -a webroot --webroot-path=/var/www/idroot.us -d idroot.us -d www.idroot.us

Hasil:

[[email protected]:~]certbot certonly -a webroot --webroot-path=/var/www/idroot.us -d idroot.us -d www.idroot.us
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for idroot.us
Using the webroot path /var/www/html for all unmatched domains.
Waiting for verification...
Cleaning up challenges
Generating key (2048 bits): /etc/letsencrypt/keys/0001_key-certbot.pem
Creating CSR: /etc/letsencrypt/csr/0001_csr-certbot.pem
IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at
   /etc/letsencrypt/live/idroot.us/fullchain.pem. Your cert
   will expire on 2017-07-16. To obtain a new or tweaked version of
   this certificate in the future, simply run certbot again. To
   non-interactively renew *all* of your certificates, run "certbot
   renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le
[[email protected]:~]

Langkah 3. Konfigurasikan SSL/TLS di server web NGINX.

Pertama, edit file blok server yang Anda tentukan selama konfigurasi melalui Certbot dan tambahkan tiga arahan berikut:

listen 443 ssl http2;
ssl_certificate /etc/letsencrypt/live/idroot.us/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/idroot.us/privkey.pem;

Konfigurasi blok server Nginx lengkap mungkin terlihat seperti ini:

server {
     listen 80;
     server_name idroot.us www.idroot.us;
     rewrite ^(.*) https://idroot.us$1 permanent;
}
server {
     access_log off;
     log_not_found off;
     error_log  logs/idroot.us-error_log warn;

    server_name  idroot.us; 
    root   /var/www/idroot.us;
    index  index.php index.html index.htm;

    listen 443 ssl http2;
    ssl_certificate /etc/letsencrypt/live/idroot.us/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/idroot.us/privkey.pem;

  ## Stuff required by certbot
     location ~ /.well-known {
     allow all;
     }

  ## SSL
   ssl_session_cache shared:SSL:20m;
   ssl_session_timeout 10m;

   ssl_prefer_server_ciphers On;
   ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
   ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS;

   ssl_stapling on;
   ssl_stapling_verify on;
   resolver 8.8.8.8 8.8.4.4 valid=300s;
   resolver_timeout 10s;

   access_log /var/www/idroot.us/logs/access.log;
   error_log /var/www/idroot.us/logs/error.log;

   # php-script handler
   location ~ \.php$ {
      fastcgi_index index.php;
      fastcgi_pass 127.0.0.1:9000;       fastcgi_read_timeout 150;
      root    /var/www/idroid.us/public_html;
      fastcgi_param SCRIPT_FILENAME /var/www/idroot.us$fastcgi_script_name;
      include /etc/nginx/fastcgi_params;
   }
 location  ~ /\.ht {
               deny  all;
           }
    }

Simpan dan tutup file setelah Anda selesai.

Langkah 5. Siapkan Let's Encrypt SSL Auto-Renewal.

Kami akan menambahkan cronjob untuk menjalankan perintah pembaruan setiap minggu, jalankan perintah ini:

export VISUAL=nano; crontab -e

Tempel baris berikut:

01 1 * * 0 /usr/bin/certbot renew >> /var/log/ssl-renew.log 
06 1 * * 0 /usr/bin/systemctl nginx reload

Simpan dan Keluar dari tabel crontab.

Ini akan membuat tugas cron baru yang akan dieksekusi setiap hari Minggu pukul 01 pagi, dan kemudian akan memuat ulang server web Nginx untuk menerapkan perubahan. Outputnya adalah login ke /var/log/ssl-renew.log file untuk analisis lebih lanjut jika diperlukan.

Selamat! Anda telah berhasil menginstal Let's Encrypt. Terima kasih telah menggunakan tutorial ini untuk menginstal Let's Encrypt SSL pada sistem Ubuntu 16.04 LTS. Untuk bantuan tambahan atau informasi berguna, kami sarankan Anda memeriksa Let's Encrypt resmi situs web.


Ubuntu
  1. Cara Menginstal Nextcloud dengan Nginx dan Lets Encrypt SSL di Ubuntu 20.04 LTS

  2. Cara Menyebarkan Modsecurity dengan Nginx di Ubuntu 20.04 LTS

  3. Cara Menginstal Let's Encrypt SSL di Ubuntu 18.04 dengan Nginx

  1. Cara Menginstal Magento 2 dengan Nginx dan Mengenkripsi SSL di Ubuntu 20.04 LTS

  2. Cara Menginstal Seafile dengan Nginx di Ubuntu 20.04 LTS

  3. Cara Menginstal Seafile dengan Nginx di Ubuntu 18.04 LTS

  1. Cara Menginstal GitBucket dengan Nginx di Ubuntu 18.04 LTS

  2. Cara menginstal osTicket dengan Nginx di Ubuntu 18.04 LTS

  3. Cara Menginstal X-Cart dengan Nginx dan Mengenkripsi SSL di Ubuntu 18.04 LTS