Nginx adalah server web sumber terbuka dan gratis, juga dapat digunakan sebagai proxy terbalik , Penyeimbang beban HTTP , Tembolok HTTP dan proxy email . Nginx tersedia untuk semua sistem operasi mirip Unix dan dirilis di bawah lisensi mirip BSD.
Dalam tutorial kita akan mempelajari cara menginstal Ngnix versi terbaru di Ubuntu 18.04 LTS dan Server Debian 9,
Instalasi Nginx di Ubuntu 18.04 LTS / Debian 9
Langkah-langkah penginstalan Nginx pada OS Ubuntu 18.04 dan Debian 9 identik, jalankan perintah di bawah satu demi satu dari terminal,
[email protected]:~$ sudo apt update [email protected]:~$ sudo apt install nginx -y
Mulai &aktifkan layanan Nginx
Jalankan perintah di bawah ini untuk memulai dan mengaktifkan layanan nginx,
[email protected]:~$ sudo systemctl start nginx [email protected]:~$ sudo systemctl enable nginx Synchronizing state of nginx.service with SysV service script with /lib/systemd/systemd-sysv-install. Executing: /lib/systemd/systemd-sysv-install enable nginx [email protected]:~$
Gunakan perintah di bawah ini untuk memverifikasi status layanan ngnix,
[email protected]:~$ sudo systemctl status nginx [email protected]:~$ sudo systemctl is-active nginx
Output dari perintah di atas akan menjadi seperti di bawah ini,
Izinkan Port Nginx ( 80 &443) di firewall OS
Jika firewall OS diaktifkan dan dikonfigurasi pada Ubuntu 18.04 dan Server Debian 9 Anda, jalankan perintah ufw di bawah ini untuk mengizinkan port 80 dan 443,
[email protected]:~$ sudo ufw allow 80/tcp Rules updated Rules updated (v6) [email protected]:~$ sudo ufw allow 443/tcp Rules updated Rules updated (v6) [email protected]:~$
Sekarang Verifikasi aturan menggunakan perintah di bawah ini,
[email protected]:~$ sudo ufw status numbered Status: active To Action From -- ------ ---- [ 1] 80/tcp ALLOW IN Anywhere [ 2] 443/tcp ALLOW IN Anywhere [ 3] 22/tcp ALLOW IN Anywhere [ 4] 80/tcp (v6) ALLOW IN Anywhere (v6) [ 5] 443/tcp (v6) ALLOW IN Anywhere (v6) [ 6] 22/tcp (v6) ALLOW IN Anywhere (v6) [email protected]:~$
Setelah Anda selesai dengan perubahan di atas, mari verifikasi Halaman Selamat Datang Nginx!!!
Buka browser Web Anda, ketik:http://{Your-Server-IP-Address}
Blok Server / Host Virtual di Nginx
Di Apache Web Server kami memiliki konsep host virtual di mana kami dapat menentukan detail beberapa situs web, sama halnya di Nginx kami memiliki blok Server yang berarti blok untuk setiap situs web, mari kita lihat ke blok server default (/etc/nginx/sites -tersedia/default ) dan kemudian kita akan membuat blok server situs kita sendiri,
[email protected]:~$ sudo vi /etc/nginx/sites-available/default
Tentukan Blok Server Kustom Anda
Anggap saja saya ingin membuat blok server khusus untuk Server web www.linuxtechi.lan,
Buat root dokumen menggunakan perintah di bawah ini,
[email protected]:~$ sudo mkdir /var/www/linuxtechi
Buat index.html di bawah root dokumen Server Web,
[email protected]:~$ sudo vi /var/www/linuxtechi/index.html <!DOCTYPE html> <html> <head> <title>Welcome to LinuxTechi</title> </head> <body> <h1>Welcome to LinuxTechi</h1> <p>LinuxTechi Test Page running on NGINX Web Server - Ubuntu 18.04</p> </body> </html>
Sekarang buat blok server Anda dengan membuat file “linuxtechi.lan ” dengan konten berikut di bawah folder /etc/nginx/sites-available
[email protected]:~$ sudo vi /etc/nginx/sites-available/linuxtechi.lan server { listen 80; root /var/www/linuxtechi; index index.html; server_name www.linuxtechi.lan; }
Untuk mengaktifkan blok server yang dibuat di atas, buat tautan simbolis dari “/etc/nginx/sites-available/linuxtechi.lan ” menjadi “/etc/nginx/sites-enabled ”
[email protected]:~$ sudo ln -s /etc/nginx/sites-available/linuxtechi.lan /etc/nginx/sites-enabled
Sekarang restart layanan nginx Anda menggunakan perintah di bawah ini,
[email protected]:~$ sudo systemctl restart nginx
Catatan: Jika Anda tidak memiliki server DNS maka Anda harus menambahkan entri di bawah ini dalam file host dari mesin klien Anda,
192.168.0.107 www.linuxtechi.lan
Sekarang akses server web Anda melalui url :http://{Web-Server-Name}
Dalam kasus saya, urlnya adalah http://www.linuxtechi.lan
Aktifkan Sertifikat SSL untuk Server NGINX Anda
Sampai sekarang web server nginx kita berjalan pada port 80 yang tidak aman, untuk membuat web server aman maka kita perlu menginstal sertifikat ssl. Anda bisa mendapatkan sertifikat SSL dari sumber terpercaya atau Anda juga bisa menggunakan sertifikat yang ditandatangani sendiri yang dihasilkan melalui perintah openssl.
Dalam tutorial ini saya membuat sertifikat untuk server web saya menggunakan perintah openssl,
[email protected]:~$ sudo openssl req -x509 -days 703 -sha256 -newkey rsa:2048 -nodes -keyout /etc/ssl/private/linuxtechi.key -out /etc/ssl/certs/linuxtechi-cert.pem [sudo] password for pkumar: Generating a 2048 bit RSA private key ........................................................................ writing new private key to '/etc/ssl/private/linuxtechi.key' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:IN State or Province Name (full name) [Some-State]:Delhi Locality Name (eg, city) []:Delhi Organization Name (eg, company) [Internet Widgits Pty Ltd]:LinuxTechi Organizational Unit Name (eg, section) []:IT Common Name (e.g. server FQDN or YOUR name) []:www.linuxtechi.lan Email Address []:[email protected] [email protected]:~$
Perintah di atas telah menghasilkan kunci pribadi dengan “linuxtechi.key ” dan sertifikat dengan nama “linuxtechi-cert.pem “, sertifikat ini akan berlaku untuk dua tahun ke depan.
Sekarang perbarui blok server Anda, tambahkan kunci dan lokasi sertifikat dan ubah port server web dari 80 menjadi 443,
[email protected]:~$ sudo vi /etc/nginx/sites-available/linuxtechi.lan server { listen 443 ssl; root /var/www/linuxtechi; index index.html; server_name www.linuxtechi.lan; ssl_certificate /etc/ssl/certs/linuxtechi-cert.pem; ssl_certificate_key /etc/ssl/private/linuxtechi.key; }
Mulai ulang layanan nginx menggunakan perintah berikut,
[email protected]:~$ sudo systemctl restart nginx [email protected]:~$
Akses Server Web Anda pada protokol https seperti,
https://www.linuxtechi.lan
Catatan: Karena kami telah menginstal sertifikat yang ditandatangani sendiri, kami harus terlebih dahulu memeriksa / mengklik “Tambah Pengecualian” dan kemudian “Konfirmasi Pengecualian Keamanan” saat mengakses server web di https.
Ini menegaskan bahwa kami telah berhasil mengaktifkan sertifikat yang ditandatangani sendiri di server Web Nginx kami dan mengakhiri artikel, jika Anda menyukai artikel, silakan bagikan umpan balik dan komentar Anda di bagian komentar di bawah.