GNU/Linux >> Belajar Linux >  >> Cent OS

Cara Menginstal Let's Encrypt di CentOS 8 Dengan Nginx

Dalam tutorial ini, kami akan menjelaskan cara memasang sertifikat SSL Let's Encrypt gratis di VPS CentOS 8 dengan Nginx sebagai server web.

Let's Encrypt adalah otoritas sertifikat sumber terbuka dan nirlaba gratis yang menyediakan sertifikat SSL gratis untuk situs web untuk mengaktifkan enkripsi TLS. Ini dikembangkan oleh Internet Security Research Group (ISRG) dan dipercaya oleh semua browser utama. Ini digunakan untuk mengotomatiskan proses pembuatan sertifikat, validasi, penandatanganan, implementasi, dan pembaruan sertifikat untuk situs web yang aman.

Tujuan utama Let's Encrypt adalah untuk mempromosikan penggunaan SSL di seluruh web dan membuat koneksi terenkripsi di seluruh Internet, membuat semua orang lebih aman dalam prosesnya. Sertifikat hanya berlaku selama 90 hari, jadi Anda perlu memperbaruinya secara manual atau atau menyiapkan sistem perpanjangan otomatis, yang seharusnya diaktifkan secara default.

Saat ini, Let's encrypt mendukung penerbitan sertifikasi otomatis untuk Apache, Nginx, Plex, dan HAproxy, yang seharusnya mencakup hampir semua kasus penggunaan. Mari kita mulai dengan panduan penginstalan kami.

Prasyarat

  • Untuk tujuan tutorial ini, kami akan menggunakan VPS CentOS 8.
  • Akses root SSH penuh atau pengguna dengan hak sudo juga diperlukan. Semua VPS kami dilengkapi dengan akses root yang disertakan secara default tanpa biaya tambahan.
  • Nama domain yang valid diarahkan ke alamat IP VPS Anda.

Langkah 1:Masuk dan Perbarui Paket

Pertama, kita harus masuk ke server menggunakan SSH. Anda dapat melakukannya dengan memasukkan perintah ini:

ssh root@IP_Address -p Port_Number

Ingatlah untuk mengganti "root" dengan nama pengguna Anda jika Anda tidak menggunakan pengguna root. Ubah “IP_Address” dan “Port_Number” sesuai dengan alamat IP server Anda dan nomor port SSH. Nomor port SSH default adalah 22.

Setelah Anda masuk, Anda harus memperbarui semua paket Anda ke versi terbaru yang tersedia.

dnf update -y

Setelah pembaruan selesai, mulai ulang sistem Anda untuk menerapkan perubahan.

Langkah 2:Instal Nginx dan PHP

Pertama, instal server web Nginx dan PHP dengan menjalankan perintah berikut:

dnf install nginx php php-fpm php-cli -y

Setelah semua paket diinstal, jalankan layanan Nginx dan PHP-FPM dan aktifkan untuk memulai saat boot dengan perintah berikut:

systemctl start nginx
systemctl enable nginx
systemctl start php-fpm
systemctl enable php-fpm

Langkah 3:Konfigurasi PHP-FPM

Secara default, PHP-FPM dikonfigurasi untuk dijalankan sebagai pengguna dan grup Apache. Dalam tutorial ini, kita akan menggunakan server web Nginx. Ini berarti Anda perlu mengonfigurasi PHP-FPM untuk dijalankan sebagai pengguna dan grup Nginx.

Untuk melakukannya, edit file konfigurasi PHP-FPM:

nano /etc/php-fpm.d/www.conf

Ubah nilai pengguna dan grup dari apache ke nginx , seperti yang ditunjukkan di bawah ini:

user = nginx
group = nginx

Simpan dan tutup file setelah Anda selesai. Kemudian, restart layanan PHP-FPM untuk menerapkan perubahan:

systemctl restart php-fpm

Langkah 4:Buat Host Virtual Nginx

Sebelum memulai, buat situs web sampel untuk Nginx.

mkdir /var/www/html/yourdomain.com

Selanjutnya, buat contoh file PHP di dalam direktori situs web dan buka dengan editor teks pilihan Anda:

nano /var/www/html/yourdomain.com/index.php

Tambahkan baris berikut ke file:

<?php
phpinfo();
?>

Simpan dan tutup file tersebut, lalu setel kepemilikan situs web Anda menjadi nginx dengan perintah berikut:

chown -R nginx:nginx /var/www/html/yourdomain.com/

Selanjutnya, buat file konfigurasi virtual host Nginx baru yang akan melayani situs web Anda:

nano /etc/nginx/conf.d/yourdomain.com.conf

Tambahkan baris berikut:

server {
server_name yourdomain.com;
root /var/www/html/yourdomain.com;
location / {
index index.php;
}
access_log /var/log/nginx/yourdomain.access.log;
error_log /var/log/nginx/yourdomain.error.log;
location ~ \.php$ {
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
}

Pastikan Anda mengganti semua instance yourdomain dengan nama domain terdaftar Anda.

Simpan dan tutup file, lalu periksa file konfigurasi Nginx apakah ada kesalahan sintaks dengan perintah berikut:

nginx -t

Anda akan melihat output berikut:

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

Selanjutnya, restart layanan Nginx untuk menerapkan perubahan konfigurasi:

systemctl restart nginx

Server web Anda seharusnya sudah aktif dan berjalan.

Langkah 5:Instal Klien Certbot

Untuk membuat sertifikat Let's Encrypt untuk situs web Anda, Anda harus menginstal klien Certbot di sistem Anda.

Certbot adalah alat baris perintah yang digunakan untuk menyederhanakan proses untuk mendapatkan dan memperbarui sertifikat SSL Let's Encrypt untuk situs web Anda.

Secara default, paket Certbot tidak tersedia di repositori standar CentOS. Jadi, Anda perlu mengunduhnya dari situs web vendor.

Anda dapat mengunduh dan menginstalnya dengan perintah berikut:

wget https://dl.eff.org/certbot-auto
mv certbot-auto /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-auto

Setelah Certbot diinstal, jalankan perintah berikut untuk mendapatkan dan menginstal sertifikat SSL untuk situs web Anda:

certbot-auto --nginx -d yourdomain.com

Perintah di atas pertama-tama akan menginstal semua dependensi yang diperlukan di server Anda. Setelah terinstal, Anda akan diminta untuk memberikan alamat email dan menerima persyaratan layanan, seperti yang ditunjukkan di bawah ini:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
Enter email address (used for urgent renewal and security notices)
(Enter 'c' to cancel): [email protected]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A
- - - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: N

Ketik N jika Anda tidak ingin membagikan email Anda ke EFF, lalu tekan Enter untuk melanjutkan. Setelah sertifikat diinstal, Anda akan melihat output berikut:

Obtaining a new certificate
Performing the following challenges:
http-01 challenge for yourdomain.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/conf.d/yourdomain.com.conf
Redirecting all traffic on port 80 to ssl in /etc/nginx/conf.d/yourdomain.com.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://yourdomain.com
You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=yourdomain.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/yourdomain.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/yourdomain.com/privkey.pem
Your cert will expire on 2020-08-30. To obtain a new or tweaked
version of this certificate in the future, simply run certbot-auto
again with the "certonly" option. To non-interactively renew *all*
of your certificates, run "certbot-auto renew"
- Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
- 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
- We were unable to subscribe you the EFF mailing list because your
e-mail address appears to be invalid. You can try again later by
visiting https://act.eff.org.

Sekarang, situs web Anda diamankan dengan Let's Encrypt SSL. Anda dapat menguji sertifikat SSL Anda menggunakan alat online.

Langkah 6:Akses Situs Web Anda

Sekarang, buka browser web Anda dan akses situs web Anda dengan aman menggunakan URL https://yourdomain.com .

Anda akan melihat halaman berikut:

Pada halaman di atas, Anda seharusnya dapat melihat bahwa situs tersebut diamankan dengan benar, biasanya dengan ikon kunci hijau di tepi kiri bilah alamat.

Langkah 7:Siapkan Perpanjangan Otomatis

Sekarang setelah kami menginstal Let's Encrypt pada CentOS 8 VPS kami, kami harus memastikan bahwa sertifikat kami tetap diperbarui dan valid.

Secara default, sertifikat Let's Encrypt berlaku selama 90 hari. Disarankan untuk memperbarui sertifikat sebelum kedaluwarsa karena sertifikat yang kedaluwarsa akan memberikan peringatan keamanan kepada pengguna saat mereka mencoba mengunjungi situs web Anda.

Anda dapat menguji proses pembaruan secara manual dengan perintah berikut.

certbot-auto renew --dry-run

Perintah di atas akan secara otomatis memeriksa sertifikat yang saat ini diinstal dan mencoba memperbaruinya jika kurang dari 30 hari dari tanggal kedaluwarsa.

Anda juga dapat menambahkan cronjob untuk menjalankan perintah di atas secara otomatis dua kali sehari.

Untuk melakukannya, edit file crontab dengan perintah berikut:

crontab -e

Tambahkan baris berikut:

* */12 * * *   root /usr/local/bin/certbot-auto renew >/dev/null 2>&1

Anda selalu dapat mengubah interval cronjob ini jika dua kali sehari terlalu sering dengan menyesuaikan nilai di paling kiri.

Simpan dan tutup file. Sekarang sertifikat Anda akan diperbarui secara berkala. Selamat! Anda sekarang telah menginstal Let's Encrypt di server CentOS 8 Anda dengan Nginx.

Menyiapkan situs web dengan semua plugin dan fitur yang Anda butuhkan dapat menghabiskan banyak waktu dan upaya yang dapat Anda habiskan untuk menjalankan bisnis Anda. Jika Anda menggunakan salah satu layanan hosting CentOS 8 terkelola kami, kami akan melakukan semua pekerjaan kasar untuk Anda. Dari pemeliharaan server hingga permintaan penginstalan dan konfigurasi, kami mencakup semua yang Anda butuhkan untuk menjaga server Anda dalam kondisi terbaik, semuanya tanpa biaya tambahan.

Jika tutorial ini membantu Anda mengonfigurasi situs web Nginx Anda dengan SSL pada VPS CentOS 8 Anda, silakan pertimbangkan untuk meninggalkan komentar di bagian komentar kami, atau bagikan posting ini di media sosial dengan menggunakan pintasan berbagi kami. Terima kasih.


Cent OS
  1. Amankan Nginx dengan Lets Encrypt di CentOS 7

  2. Bagaimana Cara Menginstal Let's Encrypt (Certbot) di CentOS 8?

  3. Cara Menginstal Let's Encrypt di CentOS 8 Dengan Nginx

  1. Cara Menginstal WordPress dengan Nginx di CentOS 7

  2. Cara Instal phpMyAdmin dengan Nginx di CentOS 7

  3. Cara Menginstal SuiteCRM dengan Nginx di CentOS 7

  1. Cara Menginstal MediaWiki dengan Nginx di CentOS 7

  2. Cara Menginstal Laravel 5.x dengan Nginx dan PHP-FPM 7.1 di CentOS 7

  3. Cara Menginstal WordPress dengan Nginx dan Mengenkripsi SSL di CentOS 8